簡體   English   中英

如何從Gensim的自定義輸入單詞詞典到矢量獲取相似單詞

[英]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.MatrixSimilaritysimilarities.docsim ,我會建議看文檔和示例。

另外,為了避免一堆陷阱:是否有特定的原因需要您自己對向量進行平均(甚至是對它們進行平均)? 您不需要這樣做(gensim有一些更復雜的方法,可以為您實現文檔到矢量的映射,例如models.doc2vec ),並且可能會丟失有價值的信息。

暫無
暫無

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

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