SpaCy中的.similarity方法如何计算?


13

如果这是正确的堆栈站点,则不能确定,但​​是可以。

.similiarity方法如何工作?

哇,太棒了!它的tfidf模型可能更容易,但是只有一行代码的w2v?

在他的 关于spaCy和 razhribernik的10行教程中,向我们展示了可以在令牌,发送,词块和文档上运行的.similarity方法。

之后nlp = spacy.load('en')doc = nlp(raw_text) 我们可以在令牌和块之间进行.likeness查询。但是,此.similarity方法在后台计算了什么?

SpaCy已经非常简单.vector,可以根据GloVe模型的训练来计算w2v向量(a .tfidf.fasttextmethod会有多酷?)。

模型是简单地计算这两个w2v,.vector,向量之间的余弦相似度还是比较其他矩阵?具体细节在文档中不清楚; 任何帮助表示赞赏!


1
“ .tfidf或.fasttext方法有多酷?” 该文档提供了用FastText替换GloVe向量的示例。将它们组合在一起可能并不完全相同。Github
卡尔·G

Answers:


12

找出答案,总之,是的:

链接到源代码

return numpy.dot(self.vector, other.vector) / (self.vector_norm * other.vector_norm)

这看起来像是它计算余弦相似度的公式,向量似乎是由SpaCy创建的.vector,据文献称,SpaCy 是从GloVe的w2v模型中训练出来的。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.