2017-07-08 82 views
0

我从gensim软件包的语料库上应用了LDA,并且我得到了每个术语的概率。我的问题是我如何得到没有概率的条款。 这里是我的代码:只有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 

任何想法如何?在此先感谢

回答

0

Gensim有一个show_topic方法内置,其中将显示每个主题n最可能的单词。以下将以键值对的形式返回每个主题中的前10个单词。

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?