【发布时间】:2020-04-23 09:57:03
【问题描述】:
我正在尝试为每个主题获取唯一的单词。
我正在使用 gensim,这是帮助我生成模型的行
ldamodel = gensim.models.ldamodel.LdaModel(corpus, num_topics=2, id2word = dictionary)
但是我在两个不同的主题中重复了单词,我希望每个主题有不同的单词
【问题讨论】:
我正在尝试为每个主题获取唯一的单词。
我正在使用 gensim,这是帮助我生成模型的行
ldamodel = gensim.models.ldamodel.LdaModel(corpus, num_topics=2, id2word = dictionary)
但是我在两个不同的主题中重复了单词,我希望每个主题有不同的单词
【问题讨论】:
您不能在 LDA 中按主题强制单词唯一性,因为每个主题都是词汇表中所有单词的分布。此分布测量单词在主题内同时出现的概率。因此,没有什么可以确保一个词不会在不同的上下文中与不同的词同时出现,这会导致词在不同的主题中表示。
让我们通过考虑这两个文档来举个例子:
在 doc1 中,python 一词与 snake、forest 和 living 共同出现,这可能使该词很有可能出现在一个主题中,比如说,关于biology强>.
在 doc2 中,python 一词与 language、programmer 和 data 共同出现,在这种情况下,它们会将这个词与关于计算机科学的主题相关联。
你最终能做的,就是寻找话题中概率最高的词,以达到你想要的效果。
【讨论】:
组合到一个主题中的单词并不意味着它们在语义上相似(从 word2vec 映射的空间距离低)。它们只是更频繁地同时发生。
【讨论】: