Rasa NLU:置信度分数计算
Rasa NLU: Confidence Score Computation
我试图了解 rasa nlu(ver-0.12.3) 输出的置信度分数实际上是什么以及它们是如何计算的。
我一直在使用 tensorflow 嵌入进行意图分类任务。一旦我的模型经过训练并且我解析了 new/test 数据,我就会收到一个置信度分数以及每个可能的意图。但我几乎不知道这个置信度分数究竟代表什么。
如文档中所述,它不代表概率。经过对结果的一些观察,这似乎是一个多类型的评估,即对于单个文本输入,我可以获得具有高置信度分数的多个意图。
快速查看code后,我认为它是在“embedding_intent_classifier.py”文件中的“_tf_sim”函数中计算的(下面的相关代码段)
有人可以 confirm/clarify 了解它是如何工作的或者这里的置信度分数到底意味着什么吗?
def _tf_sim(self, a, b):
"""Define similarity"""
if self.similarity_type == 'cosine':
a = tf.nn.l2_normalize(a, -1)
b = tf.nn.l2_normalize(b, -1)
if self.similarity_type == 'cosine' or self.similarity_type == 'inner':
sim = tf.reduce_sum(tf.expand_dims(a, 1) * b, -1)
# similarity between intent embeddings
sim_emb = tf.reduce_sum(b[:, 0:1, :] * b[:, 1:, :], -1)
return sim, sim_emb
else:
raise ValueError("Wrong similarity type {}, "
"should be 'cosine' or 'inner'"
"".format(self.similarity_type))
意图分类器 intent_classifier_tensorflow_embedding
(docs) is an approach based on the StarSpace paper 来自 Facebook。
在这种方法中,意图示例及其标签都嵌入到相同的多维 space 中。所以意图特征向量,和这句话的标签分别乘以一个权重矩阵,映射到一个n维的space。在训练期间调整这两个权重矩阵,使映射的意图向量与其标签的映射向量相似,并尽可能不同于其他标签。因此,使用 cosine similarity 来衡量相似度。如果向量指向同一方向,则此相似度为 1
,对于其他角度 < 1
。
我试图了解 rasa nlu(ver-0.12.3) 输出的置信度分数实际上是什么以及它们是如何计算的。
我一直在使用 tensorflow 嵌入进行意图分类任务。一旦我的模型经过训练并且我解析了 new/test 数据,我就会收到一个置信度分数以及每个可能的意图。但我几乎不知道这个置信度分数究竟代表什么。
如文档中所述,它不代表概率。经过对结果的一些观察,这似乎是一个多类型的评估,即对于单个文本输入,我可以获得具有高置信度分数的多个意图。
快速查看code后,我认为它是在“embedding_intent_classifier.py”文件中的“_tf_sim”函数中计算的(下面的相关代码段)
有人可以 confirm/clarify 了解它是如何工作的或者这里的置信度分数到底意味着什么吗?
def _tf_sim(self, a, b):
"""Define similarity"""
if self.similarity_type == 'cosine':
a = tf.nn.l2_normalize(a, -1)
b = tf.nn.l2_normalize(b, -1)
if self.similarity_type == 'cosine' or self.similarity_type == 'inner':
sim = tf.reduce_sum(tf.expand_dims(a, 1) * b, -1)
# similarity between intent embeddings
sim_emb = tf.reduce_sum(b[:, 0:1, :] * b[:, 1:, :], -1)
return sim, sim_emb
else:
raise ValueError("Wrong similarity type {}, "
"should be 'cosine' or 'inner'"
"".format(self.similarity_type))
意图分类器 intent_classifier_tensorflow_embedding
(docs) is an approach based on the StarSpace paper 来自 Facebook。
在这种方法中,意图示例及其标签都嵌入到相同的多维 space 中。所以意图特征向量,和这句话的标签分别乘以一个权重矩阵,映射到一个n维的space。在训练期间调整这两个权重矩阵,使映射的意图向量与其标签的映射向量相似,并尽可能不同于其他标签。因此,使用 cosine similarity 来衡量相似度。如果向量指向同一方向,则此相似度为 1
,对于其他角度 < 1
。