Spacy相似度函数

时间:2018-04-17 11:58:53

标签: python similarity spacy

我正在尝试使用Spacy Library来判断句子的相似性,我想了解它是如何工作的??

他们的文件不清楚:

  

默认情况下,spaCy使用平均向量算法   预训练的矢量(如果可用)(例如en_core_web_lg模型)。如果   不是,使用了doc.tensor属性,该属性由   标记器,解析器和实体识别器。这是en_core_web_sm的方法   模型提供了相似之处。通常是基于.tensor的相似之处   将更具结构性,而单词矢量相似性将是   更热门。您还可以自定义.similarity()方法   提供您自己的相似功能,可以使用   监督技术。

我发现了这个问题:How does the .similiarity method works?说它使用了单词嵌入,但在我的实现中我没有“en_core_web_lg模型”但我有en_core_web_sm,所以这样计算相似度是多少“标记器,解析器和实体识别器”?

1 个答案:

答案 0 :(得分:0)

仔细阅读文档,我认为您可以找到要搜索的内容。

首先,一个doc对象包含许多令牌。 doc的向量是令牌向量的平均值。

现在,什么是令牌的矢量?如果使用mdlg模型,这意味着,token.vec给你标记向量,这实际上是一个手套矢量。如果您使用的是sm模型,然后将文件说,该载体包含结构信息。这意味着具有相同PoS标签和相似DEP行为的令牌将具有比其他令牌更高的相似性分数,即使它们的语义完全不同。

如果您不打算以此为语义,那么一般的评论是不要对sm模型使用相似性方法,因为您很可能会得到不准确的结果。