文本分类和主题模型有什么区别?


20

我知道机器学习中聚类和分类之间的区别,但是我不理解文本分类和文档主题建模之间的区别。我可以对文档使用主题建模来识别主题吗?我可以使用分类方法对这些文档中的文本进行分类吗?

Answers:


28

文字分类

我给您一堆文件,每个文件都贴有标签。我想请您了解为什么您认为文档的内容已根据其文字被赋予了这些标签。然后,我给您提供新文件,并询问您认为每个文件的标签应该是什么。标签对我有意义,不一定对您有意义。

主题建模

我给你一堆没有标签的文件。我请您通过识别每个文档都“关于”的主题来解释文档为何具有其用语。您通过告诉我每个文档中有多少个主题来告诉我这些主题,然后我决定主题“意味着”什么(如果有的话)。

您必须通过“确定一个主题”或“对文本进行分类”来澄清自己。


10

但是我不知道文本分类和文档中的主题模型有什么区别

Text Classification是监督学习的一种形式,因此可能的类的集合是事先已知/定义,并且不会改变。

Topic Modeling是无监督学习的一种形式(类似于聚类),因此可能的主题集是先验未知的。它们被定义为生成主题模型的一部分。使用非确定性算法(如LDA),每次运行算法时都会遇到不同的主题。

Text classification通常涉及互斥类-将它们视为存储桶。
但这不是必须的:给定正确类型的标记输入数据,您可以设置一系列非互斥的二进制分类器。

Topic modeling通常不是互斥的:同一文档的概率分布可以分布在许多主题上。此外,还有分层主题建模方法。

还可以在以后使用文档的主题模型来标识一个主题吗?可以使用分类对文档中的文本进行分类吗?

如果您要询问是否可以通过主题建模算法获取分配给一个主题的所有文档,然后将分类器应用于该集合,那么可以,您当然可以。

不过,我不确定这是否有意义:至少,您需要为主题概率分布选择一个阈值,在该阈值之上您将在文档集中添加文档(通常为0.05-0.1)。

您能否详细说明用例?

顺便说一句,这里有一个很棒的主题教程,使用Java的MALLET库提供主题建模主题建模和MALLET入门


4

主题模型通常是无监督的。也有“监督话题模型”。但是即使这样,他们仍然试图在一个类中主题进行建模。

例如,您可能有一个“足球”课,但该课程中可能有与特定比赛或球队有关的主题。

主题面临的挑战是它们会随着时间而变化;考虑上面的比赛示例。这样的话题可能出现,然后消失。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.