2017-03-09 96 views
0

我是python的新手。我想要做的是通过控制台读取2个参数。加载计算的LDA模型并打印每个主题最常用的词

  1. 参数:使用gensim训练的LDA模型的路径。
  2. 参数:我想获取的每个主题中最常见单词的数量。

现在我想打印所有主题每个主题最常用词的数量。现在我的问题是如何获得所有的主题。

这是我到目前为止有:

import sys, getopt 
import gensim 

def main(argv): 
    input_file = argv[0] #LDA Path 
    number_of_words = argv[1] #Number of most common word per topic 

    ldamodel = gensim.models.ldamodel.LdaModel.load(input_file, mmap=None) #load model 
    ldamodel.print_topic(?, number_of_words) 



if __name__ == "__main__": 
    main(sys.argv[1:]) 

Gensim doc

感谢

+0

ldamodel.print_topic(10,topn = 5)<=使用此代码打印模型中10个主题的前5个常用单词。对?但为什么只看10个主题.. –

回答

0

get_topic_terms你想要做什么。我认为主题的数量存储在num_topics变量中,可通过ldamodel.num_topics访问。

+0

get_term_topics(word_id,minimum_probability =无) 返回词汇中特定单词的最有可能的主题。 –

+0

你应该看'get_topic_terms',而不是'get_term_topics' – PinkFluffyUnicorn

+0

那你能纠正两条线吗? ldamodel = gensim.models.ldamodel.LdaModel.load(input_file,mmap = None)#load model ldamodel.print_topic(?, number_of_words) –