Python Gensim:如何使用LDA模型计算文档相似度?

我有一个训练有素的LDA模型,我想从训练了我的模型的语料库中计算出两个文档之间的相似性得分。在研究了所有Gensim教程和功能之后,我仍然无法解决。有人可以给我提示吗?谢谢!

回答:

不知道这是否有帮助,但是当使用实际文档作为查询时,我设法在文档匹配和相似性方面获得了成功的结果。

dictionary = corpora.Dictionary.load('dictionary.dict')

corpus = corpora.MmCorpus("corpus.mm")

lda = models.LdaModel.load("model.lda") #result from running online lda (training)

index = similarities.MatrixSimilarity(lda[corpus])

index.save("simIndex.index")

docname = "docs/the_doc.txt"

doc = open(docname, 'r').read()

vec_bow = dictionary.doc2bow(doc.lower().split())

vec_lda = lda[vec_bow]

sims = index[vec_lda]

sims = sorted(enumerate(sims), key=lambda item: -item[1])

print sims

语料库中所有文档与用作查询的文档之间的相似性得分将是每个sim卡的第二个索引。

以上是 Python Gensim:如何使用LDA模型计算文档相似度? 的全部内容, 来源链接: utcz.com/qa/416689.html

回到顶部