如何在 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]])
它应该会显示所有内容。
我能够使用 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]])
它应该会显示所有内容。