python - 如何获得每个主题 LDA 的唯一词?
问题描述
我正在尝试为每个主题获取独特的单词。
我正在使用 gensim,这是帮助我生成模型的行
ldamodel = gensim.models.ldamodel.LdaModel(corpus, num_topics=2, id2word = dictionary)
但是我在两个不同的主题中重复了单词,我希望每个主题有不同的单词
解决方案
您不能在 LDA 中按主题强制单词唯一性,因为每个主题都是词汇表中所有单词的分布。此分布测量单词在主题内同时出现的概率。因此,没有任何东西可以确保一个词不会在不同的上下文中与不同的词同时出现,这将导致词在不同的主题中表示。
让我们通过考虑这两个文档来举个例子:
- doc1:蟒蛇是一条生活在森林里的美丽蛇。
- doc2:Python 是程序员和数据科学家使用的一门漂亮的语言。
在 doc1 中,这个词与python
共同出现snake
,这可能使这个词很有可能出现在一个主题中,比如说,关于生物学。forest
living
在 doc2 中,单词python
与 共同出现language
,programmer
并且data
在这种情况下,它将将该单词与有关计算机科学的主题相关联。
你最终能做的,就是寻找话题中概率最高的词,以达到你想要的效果。
推荐阅读
- jquery - 如何同时运行两个带有链接的 Jquery 动画?
- css - 为什么以下背景图像代码不起作用?
- pandas - 如何在 Glue 中合并多个镶木地板文件
- html - HTML:并排放置 DIV 内容而不重叠
- excel - 任务标记为完成时如何停止代码发送电子邮件?
- algorithm - 如何设计算法来分配重叠集的成员,以便根据特定标准对它们进行排序
- xamarin.forms - 在圆形按钮内完全显示长文本
- node.js - Steam Web API 在我的共享主机上通过 Node.js
- android - 数据从服务器加载但未添加到 arraylist
- java - 满足等于条件时如何替换行而不丢失文本文件中的其他行?