首页 > 解决方案 > 如何获得每个主题 LDA 的唯一词?

问题描述

我正在尝试为每个主题获取独特的单词。

我正在使用 gensim,这是帮助我生成模型的行

ldamodel = gensim.models.ldamodel.LdaModel(corpus, num_topics=2, id2word = dictionary)

但是我在两个不同的主题中重复了单词,我希望每个主题有不同的单词

标签: pythongensimwordlda

解决方案


您不能在 LDA 中按主题强制单词唯一性,因为每个主题都是词汇表中所有单词的分布。此分布测量单词在主题内同时出现的概率。因此,没有任何东西可以确保一个词不会在不同的上下文中与不同的词同时出现,这将导致词在不同的主题中表示。

让我们通过考虑这两个文档来举个例子:

  • doc1:蟒蛇是一条生活在森林里的美丽蛇。
  • doc2:Python 是程序员和数据科学家使用的一门漂亮的语言。

在 doc1 中,这个词与python共同出现snake,这可能使这个词很有可能出现在一个主题中,比如说,关于生物学forestliving

在 doc2 中,单词python与 共同出现languageprogrammer并且data在这种情况下,它将将该单词与有关计算机科学的主题相关联。

你最终能做的,就是寻找话题中概率最高的词,以达到你想要的效果。


推荐阅读