如何解决LDA:主题模型 gensim 给出了相同的主题集
为什么我在 gensim lda 模型中得到相同的主题 # 词集?我使用了这些参数。我检查了我的语料库中没有重复的文档。
lda_model = gensim.models.ldamodel.LdaModel(corpus=MY_CORPUS,id2word=WORD_AND_ID,num_topics=4,minimum_probability=minimum_probability,random_state=100,update_every=1,chunksize=100,passes=10,alpha='auto',# symmetric,asymmetric
per_word_topics=True)
结果
[
(0,'0.004*lily + 0.01*rose + 0.00*jasmine'),(1,'0.005*geometry + 0.07*algebra + 0.01*calculation'),(2,'0.003*painting + 0.001*brush + 0.01*colors'),(3,'0.005*geometry + 0.07*algebra + 0.01*calculation')
]
注意:主题#1 和#3 是相同的。
解决方法
每个主题可能包含大量不同权重的词。当一个主题被显示时(例如使用 lda_model.show_topics()
),你只会得到几个权重最大的词。这并不意味着剩余词汇之间的主题之间没有差异。
您可以控制显示单词的数量来检查剩余的权重:
show_topics(num_topics=4,num_words=10,log=False,formatted=True)
并更改 num_words
参数以包含更多字词。
现在,还有一种可能:
- 主题的数量应该不同(例如 3 个),
- 或更小
minimum_probability
(您使用的值是多少?), - 或大于
passes
的数量, -
chunksize
更小, - 语料库更大(大小是多少?)或去除停用词(您这样做了吗?)。
我鼓励您尝试使用这些参数的不同值,以检查是否有任何组合效果更好。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。