且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2023-02-27 08:56:32

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

Don't know if this'll help but, I managed to attain successful results on document matching and similarities when using the actual document as a query.

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卡中sim卡的第二个索引.

Your similarity score between all documents residing in the corpus and the document that was used as a query will be the second index of every sim for sims.