2017-05-24 76 views
0

我已經使用LDA模型(使用Gensim)基於特定文檔實現了查找類似文檔。接下來我想要做的是如果我有多個文檔,那麼如何根據提供的多個文檔獲取類似的文檔作爲輸入。如何使用多個查詢計算文檔相似度?

我實現了LDA使用此link

示例代碼單查詢 -

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 

現在,如果我有另外一個文檔,然後如何實現它。

回答

0

您可以使用lda.update(corpus_new)來更新現有LDA模型和其他文檔。

欲瞭解更多詳情 - https://radimrehurek.com/gensim/models/ldamodel.html

+0

我要求評估多個文件。不是更新。 – abhishek

+0

@abhishek請你詳細說明一下你的疑問,如果你有多個文檔,並且你想一次性提供它們,那麼你可以使用generator生成輸入流。在培訓模型後必須添加文檔時使用更新。請參閱上面的答案中提供的鏈接。希望能幫助到你 –

相關問題