[英]How to get similar words from a custom input dictionary of word to vectors in gensim
我正在研究文檔相似性問題。 對於每個文檔,我(從預訓練的單詞嵌入模型中)檢索每個單詞的向量,並將它們取平均值以得到文檔向量。 我最終得到了一個字典(例如,my_dict),該字典將集合中的每個文檔映射到其向量。
我想將此字典提供給gensim,對於每個文檔,請在“ my_dict”中獲取更接近它的其他文檔。 我該怎么辦?
您可能需要考慮改述您的問題(從標題開始,您正在尋找單詞相似性,從我收集的描述中您希望獲得文檔相似性),並在描述中添加更多細節。 沒有關於您想要的東西和嘗試過的東西的詳細信息,很難幫助您實現想要的東西,因為您可能想做很多不同的事情。 話雖這么說,我想我可以為您提供一般幫助,即使您不知道gensim想要做什么。 gensim非常強大,並提供許多不同的功能。
假設您的字典已經是gensim格式,則可以像這樣加載它:
from gensim import corpora
dictionary = corpora.Dictionary.load('my_dict.dict')
在那里-現在您可以將其與gensim結合使用,並根據您的心願進行分析和建模。 對於單詞之間的相似性,您可以使用諸如gensim.word2vec.most_similar('word_one', 'word_two')
等預制函數。
有關與經過訓練的LDA模型的文檔相似性,請參見此stackoverflow問題 。
有關更詳細的說明,請參閱此gensim教程 , 該教程使用余弦相似度作為文檔之間相似度的度量。
gensim有一堆預制功能不需要LDA,例如gensim.similarities.MatrixSimilarity
從similarities.docsim ,我會建議看文檔和示例。
另外,為了避免一堆陷阱:是否有特定的原因需要您自己對向量進行平均(甚至是對它們進行平均)? 您不需要這樣做(gensim有一些更復雜的方法,可以為您實現文檔到矢量的映射,例如models.doc2vec
),並且可能會丟失有價值的信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.