【问题标题】:Truncate LDA topics截断 LDA 主题
【发布时间】:2021-09-12 15:55:41
【问题描述】:

我正在训练一个 LDA 模型。虽然我获得了可以很好解释的主题(基于最热门的词),但特定文档往往会大量加载非常“通用”的主题而不是专门的主题——即使文档中最常见的词是专门的。

例如,我有一份房地产报告作为文档。频率最高的词是“rent”、“reit”、“growth”。现在,我有一个“专业”主题,最热门的词就是这三个。但是,专业主题的加载率为 9%,32% 的主题是非常分散且热门词比较常见的主题。

如何增加“专业”主题的权重?是否可以截断主题,使我只包含前 10 个单词并将零概率分配给其他任何内容?这样做是否可取?

我正在使用gensim 包。谢谢!

【问题讨论】:

    标签: nlp gensim lda


    【解决方案1】:

    您似乎希望对主题进行非常精确的控制,这看起来更像是使用一组提前选择的质心进行聚类,而不是 LDA,LDA 通常不是很确定,因此是可控的。

    使用 LDA 努力实现目标的方法之一是从文档中过滤掉更多的单词(与使用停用词相同)。然后,进入其中一个主题的“相当常见”的词不再掩盖 LDA 模型创建过程,并且您会得到更清晰的主题描述(希望如此)。

    【讨论】:

      【解决方案2】:

      删除最常用的词是主题建模中预处理的常见做法。因为主题通常是从最常用的词中生成的,但通常这些词的信息量不是很大。您还可以删除最常用的词作为后处理步骤(请参阅Pulling Out the Stops: Rethinking Stopword Removal for Topic Models

      关于更稀疏的词主题分布,您可以使用非负矩阵分解 (NMF) 代替 LDA。如果你调整稀疏参数,你可以获得更多的主题比例。你可以使用scikit-learn NMF's implementation

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-19
        • 2017-02-19
        • 2012-03-25
        • 1970-01-01
        • 2020-08-14
        • 1970-01-01
        • 2021-05-12
        • 2019-06-09
        相关资源
        最近更新 更多