否定句相似度值是什么意思?

问题描述

我是使用 Google Universal Sentence 编码器的新手,对我得到的一些结果有疑问。

以前,我们将 Encoder 2 与 Javascript 一起使用,但从未见过负的句子相似度值。但是,我现在在 Python 中使用 Encoder 4,有些句子相似度值为负。例如,这对句子对“Get the fact”就是如此。和“嗨,弗兰克,我是鲍勃。”

我正在计算语义文本相似度如下。 (这是基于 https://www.tensorflow.org/hub/tutorials/semantic_similarity_with_tf_hub_universal_encoder 的 Encoder 4 tensorflow hub 教程)

a = "Get the facts."
b = "Hi Frank,it's Bob."     
model = hub.load(MODEL_DIRECTORY)
embeddings = model([a,b])
results = numpy.inner(embeddings,embeddings)
similarity = results[0,1]

我得到的值为 -0.036280043。

我是否正确计算了语义文本相似度?相似度值的范围是多少?负值有什么特殊意义吗?

解决方法

这里,相似度的范围是[-1,1]。在这种情况下,“1”意味着它们具有完全相同的语义,而“-1”意味着它们具有完全相反的语义。因此,可以根据这两个极值点来解释范围内的其他值。