2017-07-08 2 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には、トピックごとにn個の最も可能性の高い単語が表示されるshow_topicメソッドが組み込まれています。以下は、各トピックの上位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?

関連する問題