LDA(Latent Dirichlet Allocation)如何从 `gensim` 推断新数据?

How does LDA (Latent Dirichlet Allocation) inference from `gensim` work for a new data?

我正在使用 gensim 训练我的 ldamodel,并使用这样的测试语料库进行预测 ldamodel[doc_term_matrix_test],它工作得很好,但我不明白预测的实际情况使用经过训练的模型完成(ldamodel[doc_term_matrix_test] 在做什么)。

这是代码:

dictionary2 = corpora.Dictionary(test)
dictionary = corpora.Dictionary(train)
dictionary.merge_with(dictionary2)
doc_term_matrix2 = [dictionary.doc2bow(doc) for doc in test]
doc_term_matrix = [dictionary.doc2bow(doc) for doc in train]
Lda = gensim.models.ldamodel.LdaModel
ldamodel = Lda(doc_term_matrix, num_topics=2, id2word = 
dictionary,random_state=100, iterations=50, passes=1)
topics = sorted(ldamodel[doc_term_matrix2],
                key=lambda 
                x:x[1],
                reverse=True)

引用自gensim docs about ldamodel

This module allows both LDA model estimation from a training corpus and inference of topic distribution on new, unseen documents.

很明显,您的代码所做的不完全是 "prediction" 而是推理。也就是说,您经过训练的 LDA 模型会为每个测试文档 T 生成 T.

的主题分布估计