簡體   English   中英

python手套相似度量計算

[英]python glove similarity measure calculation

我試圖理解python-glove如何計算most-similar術語。

它是否使用余弦相似度?

例子來自python-glove github https://github.com/maciejkula/glove-python/tree/master/glove 在此輸入圖像描述

我知道從gensim的word2vec, most_similar方法使用余弦距離計算相似性。
在此輸入圖像描述

關於這一點, 項目網站有點不清楚:

兩個單詞向量之間的歐幾里德距離(或余弦相似度)提供了用於測量相應單詞的語言或語義相似性的有效方法。

歐幾里德距離與余弦相似度不同。 它聽起來要么運作得很好,但它沒有指定使用哪個。

但是,我們可以觀察您正在查看的回購來源

dst = (np.dot(self.word_vectors, word_vec)
       / np.linalg.norm(self.word_vectors, axis=1)
       / np.linalg.norm(word_vec))

它使用余弦相似性。

在手套項目網站上,這是相當清晰的解釋。 http://www-nlp.stanford.edu/projects/glove/

為了以定量方式捕獲區分男人和女人所需的細微差別,模型必須將多於一個數字與單詞對相關聯。 對於放大的判別數集合的自然且簡單的候選者是兩個單詞向量之間的向量差異。 GloVe的設計是為了使這種矢量差異盡可能地捕獲兩個單詞並置所指定的含義。

要閱讀有關此背后數學的更多信息,請查看網站中的“模型概述”部分

是的,它使用余弦相似性。

文中提到:...通過首先對詞匯表中的每個特征進行歸一化然后計算余弦相似度,從單詞向量中獲得相似性得分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM