如何在gensim中从单词的自定义输入字典中获取类似的单词

问题描述 投票:0回答:1

我正在研究文档相似性问题。对于每个文档,我检索每个单词的向量(来自预先训练的单词嵌入模型)并对它们求平均值以获得文档向量。我最终得到了一个字典(例如,my_dict),它将我的集合中的每个文档映射到它的向量。

我想将这个词典提供给gensim和每个文档,让“my_dict”中的其他文档更接近它。我怎么能这样做?

python gensim cosine-similarity
1个回答
1
投票

您可能需要考虑重新描述您的问题(从标题中,您正在寻找单词相似度,从我收集的描述中您想要文档相似性)并在说明中添加更多细节。如果没有关于你想要什么和你尝试过什么的更详细信息,很难帮助你实现你想要的东西,因为你可能想做一大堆不同的事情。话虽这么说,我想我可以帮助你一般,即使不知道你想做什么gensim。 gensim非常强大,并提供许多不同的功能。

假设您的字典已经是gensim格式,您可以像这样加载它:

from gensim import corpora
dictionary = corpora.Dictionary.load('my_dict.dict')

在那里 - 现在你可以将它与gensim一起使用,并根据你的心愿运行分析和模型。对于单词之间的相似性,您可以使用gensim.word2vec.most_similar('word_one', 'word_two')等预先制作的功能。

对于与训练有素的LDA模型的文档相似性,请参阅this stackoverflow question

有关更详细的说明,请参阅qazxsw poi,它使用余弦相似度作为文档之间相似性的度量。

gensim有一堆预制功能,不需要LDA,例如来自this gensim tutorialgensim.similarities.MatrixSimilarity,我建议查看文档和示例。

此外,为了避免一堆陷阱:是否有一个特定的理由自己平均向量(或甚至平均它们)?你不需要这样做(gensim有一些更复杂的方法可以实现文件到矢量的映射,比如similarities.docsim),并且可能会丢失有价值的信息。

© www.soinside.com 2019 - 2024. All rights reserved.