如何在 LDA 中更改默认 number_words

how to change default number_words in LDA

我能够使用 gensim 从 LDA 模型中提取主题。当我打印主题时,它默认显示 10 个单词的主题。我想在一个中显示 15 个单词 topic.i 试图更改它但我仍然得到 10 个单词 topic.how 我可以更改此默认行为吗?

代码如下:

for n, topic in model.show_topics(num_topics=-1, num_words=15,formatted=False):
                topic = [word for word, _ in topic]
                cm = CoherenceModel(topics=[topic], texts=documents, dictionary=dictionary, window_size=10)
                coherence_values[n] = cm.get_coherence()
            top_topics = sorted(coherence_values.items(), key=operator.itemgetter(1), reverse=True)
            result.append((model, top_topics))

并打印主题:

pprint([lm.show_topic(topicid) for topicid, c_v in top_topics[:8]])

我认为问题出在 show_topic 函数中。您正在为该主题找到更多单词但没有显示它们,因为 show_topic 有一个可选变量 topn 用于检索最重要的单词。默认值为 10,因此将 print 语句中的代码更改为

pprint([lm.show_topic(topicid, topn=15) for topicid, c_v in top_topics[:8]])

它应该会显示所有内容。