我是一个相对新手,在潜在狄利克雷分配领域。 我能够按照维基百科教程生成LDA模型,并能够使用自己的文档生成LDA模型。 现在,我的下一步是尝试了解如何使用先前生成的模型来对未见过的文档进行分类。 我正在使用"lda_wiki_model"进行保存。
id2word =gensim.corpora.Dictionary.load_from_text('ptwiki_wordids.txt.bz2')
mm = gensim.corpora.MmCorpus('ptwiki_tfidf.mm')
lda = gensim.models.ldamodel.LdaModel(corpus=mm, id2word=id2word, num_topics=100, update_every=1, chunksize=10000, passes=1)
lda.save('lda_wiki_model.lda')
我正在使用以下代码加载相同的模型:
new_lda = gensim.models.LdaModel.load(path + 'lda_wiki_model.lda') #carrega o modelo
我有一个名为"new_doc.txt"的文件,我将我的文档转换成了id<->词汇字典,并将这个分词后的文档转换成了"文档-词项矩阵"
但是当我运行new_topics = new_lda[corpus]
时,我收到了一个'gensim.interfaces.TransformedCorpus object at 0x7f0ecfa69d50'的对象
我该如何从中提取主题呢?
我已经尝试过
`lsa = models.LdaModel(new_topics, id2word=dictionary, num_topics=1, passes=2)
corpus_lda = lsa[new_topics]
print(lsa.print_topics(num_topics=1, num_words=7)
and
print(corpus_lda.print_topics(num_topics=1, num_words=7
)
但是它返回的主题与我的新文档无关。 我错过了什么吗?我理解错了什么吗?
**如果使用以上创建的词典和语料库运行新模型,则会收到正确的主题,我的问题是:如何重复使用我的模型?重新使用wiki_model是正确的方法吗?
谢谢。