Skip to main content
 首页 » 编程设计

python之如何在 gensim 的 LDA 模型中获取主题编号

2025年05月04日19findumars

我在 text_corpus 上使用 gensim 训练了 LDA 模型。

>lda_model = gensim.models.ldamodel.LdaModel(text_corpus, 10) 

现在如果必须推断一个新的文本文档 text_sparse_vector 我必须这样做

>lda_model[text_sparse_vector] 
[(0, 0.036479568280206563), (3, 0.053828073308160099), (7, 0.021936618544365804), (11, 0.017499953446152686), (15, 0.010153090454090822), (16, 0.35967516223499041), (19, 0.098570351997275749), (26, 0.068550060242800928), (27, 0.08371562828754453), (28, 0.14110945630261607), (29, 0.089938130046832571)] 

但是我如何获得每个相应主题的词分布。例如,我如何知道主题编号 16 的前 20 个单词?

gensim.models.ldamodel.LdaModel 类具有名为 show_topics(topics=10, topn=10, log=False, formatted=True) 的方法,但正如文档所述,它显示随机选择的主题列表。

有没有一种方法可以链接或打印我可以将推断的主题编号映射到单词分布?

请您参考如下方法:

lda.print_topic(x, topn=20)  

将为您提供主题 x 的前 20 个特征