【问题标题】:How can I get unique words per each topic LDA?如何获得每个主题 LDA 的唯一词?
【发布时间】:2020-04-23 09:57:03
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: python gensim word lda


    【解决方案1】:

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

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

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

    在 doc1 中,python 一词与 snakeforestliving 共同出现,这可能使该词很有可能出现在一个主题中,比如说,关于biology强>.

    在 doc2 中,python 一词与 languageprogrammerdata 共同出现,在这种情况下,它们会将这个词与关于计算机科学的主题相关联。

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

    【讨论】:

      【解决方案2】:

      组合到一个主题中的单词并不意味着它们在语义上相似(从 word2vec 映射的空间距离低)。它们只是更频繁地同时发生。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-09
        • 2022-08-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-27
        • 2017-08-06
        • 2017-08-08
        相关资源
        最近更新 更多