仅与LDA一起获取主题条款

时间:2017-07-08 06:40:34

标签: python-3.x gensim lda

我在语料库中应用了gensim包中的LDA,我得到了每个术语的概率。我的问题是我如何只得到没有概率的条款。 这是我的代码:

K = ldamodel.num_topics
t = 0
topicWordProbMat = ldamodel.print_topics(K)
for  topic_dist in topicWordProbMat:
    print('Topic #',t,topic_dist)
    t = t + 1

输出示例如下:

Topic # 0 '0.181*things + 0.181*amazon + 0.181*good
Topic # 1 '0.031*nokia + 0.031*microsoft + 0.031*apple  

我希望如此:

Topic # 0 things amazon good
Topic # 1 nokia microsoft apple

任何想法如何?提前致谢

1 个答案:

答案 0 :(得分:1)

Gensim内置了show_topic方法,该方法将为每个主题显示n个最可能的单词。以下内容将每个主题中的前10个单词作为带有键值对的dict返回。

topn_words = {'Topic_' + str(i): [word for word, prob in lda.show_topic(i, topn=10)] for i in range(0, lda.num_topics)}

类似的问题:How to generate word clouds from LDA models in Python?