标记的LDA +指导的LDA主题建模

时间:2019-02-21 19:26:47

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

我对机器学习,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进行了修改,但是我在这一领域的阅读也不是很好),该算法允许人们使用某种形式的直觉来帮助具有已知主题类的无监督主题模型选择多个主题?

关于为什么我不只是使用引导式LDA的原因-我正计划对其进行测试,看看它的性能如何(与LLDA一同使用)。但是它也不是为多个标签而设计的。

请注意一点点-我实际上是在使用文档和文字作为数据,我已经了解到LDA与其他数据类型一起使用。

更多说明-尽管我听说过有一个不错的主题建模工具,名为Mallet,但我有很多经验,但我可能会探索但还没有研究(也许它对此有帮助吗?)< / p>

2 个答案:

答案 0 :(得分:0)

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

有一个称为theta分布的分布,或者当我们想要获取文档的主题时,引导的LDA的输出将是一个数组,该数组具有每个文档每个主题的概率。通常我们会选择最高概率的主题。也许您可以根据自己的问题设置阈值,然后选择概率更大的主题。

这将帮助您解决带有多个标签的无人指导的主题建模问题。

答案 1 :(得分:0)

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

我一直在用槌和python创建受监督的LDA。 Gensim为Mallet的LDA类提供了一个包装器,但是我最好还是通过命令行使用python的子进程来使用Mallet。我以David Mimno的post作为起点。

您可以为一个文档使用多个标签,LDA的优点在于它几乎像模糊关联最近邻居算法一样。子类别对于lda来说应该不是问题,因为文档可以与父主题和子主题相关联,并且它们不必均匀分布。因此,它是一个多标签分类器。

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