【问题标题】:Labeled LDA + Guided LDA topic modelling标记 LDA + 引导 LDA 主题建模
【发布时间】:2019-09-20 02:22:21
【问题描述】:

我对机器学习、NLP 和 LDA 都很陌生,所以我不确定我是否完全正确地解决了我的问题;但我正在尝试使用已知主题和多个主题选择进行无监督主题建模。 基于Topic modelling, but with known topics?

我可以用每个主题标记我的每个文档,并且我的无监督集有效地变成了有监督的(LLDA 是一种有监督的技术)。

阅读此paper 我遇到了一些其他潜在问题 - 首先,我的数据按类别和子类别进行组织。根据论文,LLDA 在文本之间具有显着的语义区别时更有效——对于我相对接近的子类别,我不会特别有这种区别。此外,该论文指出,LLDA 并非设计为多标签分类器。

我希望通过包含 GuidedLDA 的引导部分来弥补这些弱点(我还没有读过这方面的论文,但我确实读过 https://medium.freecodecamp.org/how-we-changed-unsupervised-lda-to-semi-supervised-guidedlda-e36a95f3a164 )。

那么是否有任何算法(我假设对 LLDA 进行了修改,但我在这方面的阅读也不是很好)允许人们使用某种形式的直觉来帮助具有已知主题类的无监督主题模型选择多个主题?

至于为什么我不只使用 Guided LDA - 我正计划对其进行测试,看看它的表现如何(与 LLDA 一起)。但它也不是为多个标签设计的。

如果重要的话,请稍加注意 - 我实际上是在使用文档和文字来存储我的数据,我已经阅读了有关 LDA 与其他数据类型一起使用的信息。

进一步说明 - 我在 Python 方面有相当多的经验,虽然我听说有一个很好的主题建模工具,叫做 Mallet,我可能会探索但还没有研究(也许它有这方面的东西?)

【问题讨论】:

    标签: python machine-learning nlp lda topic-modeling


    【解决方案1】:

    正如您所说,您将尝试引导式 LDA,您可以通过以下方式获得多个标签:

    有一种分布叫做 theta 分布,或者当我们想要获取文档的主题时,引导式 LDA 的输出将是一个数组,其中包含每个文档的每个主题的概率。我们通常取概率最高的主题。可能你可以根据你的问题设置一个阈值,选择概率大于那个的主题。

    这将帮助您解决多标签问题的无监督引导主题建模。

    【讨论】:

    • 我本来打算做类似这样的事情,但我已经读到一些多类主题模型做的其他事情刚刚超过阈值;比如注意到某些类别是相互关联的。所以我想知道是否还有类似的东西?
    【解决方案2】:

    因为您有一组已知主题,所以使用受监督的 LDA/LLDA 是有意义的。如果您使用无监督 LDA 并用已知主题标记所有文档,它会找到给定文档之间的关联,但它们可能与给定主题不相关。

    我一直在使用 mallet 和 python 创建有监督的 LDA。 Gensim 有一个 Mallet 的 LDA 类的包装器,但是我在使用 python 的子进程通过命令行使用 mallet 时运气更好。我使用 David Mimno 的 post 作为起点。

    一个文档可以有多个标签,LDA 的美妙之处在于它几乎就像一个模糊关联最近邻算法。子类别对于 lda 来说应该不是问题,因为文档可以关联到父主题和子主题,并且它们不需要均匀分布。它非常像一个多标签分类器。

    如果您真的想使用无监督分类器来处理文档,我建议您使用 RNN,即循环神经网络。它对于文本/文档处理特别有用,因为它会查找数据序列的关联。

    【讨论】:

    • 我没有标记数据。我只知道我的主题是什么(即我知道他们希望主题是“太空、体育和其他”......但我没有 X 文章是太空文章。因此我相信有监督的 LDA 不起作用。跨度>
    猜你喜欢
    • 2012-07-26
    • 2019-06-09
    • 2016-02-27
    • 1970-01-01
    • 1970-01-01
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多