如何为每个主题LDA获得唯一的单词?

时间:2019-09-02 17:11:25

标签: python gensim word lda

我正在尝试为每个主题赋予独特的用语。

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

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

但是我在两个不同的主题中重复了一些单词,我希望每个主题都使用不同的单词

2 个答案:

答案 0 :(得分:1)

您不能在LDA中按主题强制单词唯一性,因为每个主题都是词汇表中所有单词的分布。这种分布衡量单词在一个主题内同时出现的可能性。因此,没有什么可以确保一个单词不会在不同的上下文中与不同的单词同时出现,从而导致出现在不同主题中的单词。

让我们以考虑以下两个文件为例:

  • doc1:蟒蛇是生活在森林中的美丽蛇。
  • doc2:Python是程序员和数据科学家使用的精美语言。

在doc1中,单词pythonsnakeforestliving同时出现,这可能使该单词很可能出现在主题中,例如,有关生物学

在doc2中,单词pythonlanguageprogrammerdata同时出现,在这种情况下,它将把这个单词与关于计算机科学

您最终可以做的就是寻找主题中概率最高的单词,以实现所需的目的。

答案 1 :(得分:0)

被分组为一个主题的词并不意味着它们在语义上相似(从word2vec映射的空间中的低距离)。它们只是更常见。