我在语料库中应用了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
任何想法如何?提前致谢
答案 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?