如何在 doc2vec 中找到文档中最相似的术语/单词?

pan*_*jha 0 python cluster-analysis gensim word2vec doc2vec

我已经应用 Doc2vec 将文档转换为向量。之后,我在聚类中使用向量并找出与每个集群的质心最近/最相似的 5 个文档。现在我需要找到这些文档中最主要或最重要的术语,以便我可以弄清楚每个集群的特征。我的问题是有什么方法可以找出 Doc2vec 中文档的最主导或最相似的术语/单词。我正在使用 python 的 gensim 包来实现 Doc2vec

goj*_*omo 5

@TrnKh 的回答很好,但在使用Doc2Vec.

一些 gensim Doc2Vec 训练模式——默认的 PV-DM ( dm=1) 或 PV-DBOW 添加了词训练 ( dm=0, dbow_words=1) 将 doc-vectors 和 word-vectors训练到相同的坐标空间中,并且在某种程度上这意味着 doc-vectors 是近相关的词向量,反之亦然。

因此,您可以获取单个文档的向量,或您合成的平均/质心向量,并将其提供给模型以查找most_similar()单词。(要清楚这是一个原始向量,而不是向量键列表,您应该使用most_similar()指定positive示例的显式列表的形式。)

例如:

docvec = d2v_model.docvecs['doc77145']  # assuming such a doc-tag exists
similar_words = d2v_model.most_similar(positive=[docvec])
print(similar_words)
Run Code Online (Sandbox Code Playgroud)