Natural-Language

SpaCy 中的 .similarity 方法是如何計算的?

  • September 21, 2017

不確定這是否是正確的堆棧站點,但這裡有。

.similiarity 方法是如何工作的?

哇 spaCy 很棒!它的 tfidf 模型可能更簡單,但 w2v 只需要一行代碼?!

在他 關於 spaCy 的10 行教程中,andrazhribernik向我們展示了可以在令牌、發送、單詞塊和文檔上運行的 .similarity 方法。

之後nlp = spacy.load('en')doc = nlp(raw_text) 我們可以在令牌和塊之間進行 .similarity 查詢。.similarity但是,這種方法在幕後計算的是什麼?

SpaCy 已經有了非常簡單的.vector,它計算從 GloVe 模型訓練的 w2v 向量(一個.tfidf.fasttext方法有多酷?)。

該模型是簡單地計算這兩個 w2v、.vector、向量之間的餘弦相似度還是比較其他一些矩陣?文檔中的細節不清楚;任何幫助表示讚賞!

找到了答案,簡而言之,是的:

鏈接到源代碼

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

這看起來像是計算餘弦相似度的公式,並且向量似乎是用 SpaCy 創建的.vector,文檔說它是從 GloVe 的 w2v 模型訓練的。

引用自:https://stats.stackexchange.com/questions/304217

comments powered by Disqus