繁体   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