如何做一类文本分类?

机器算法验证 分类 文本挖掘 朴素贝叶斯 二进制数据
2022-02-02 17:42:12

我必须处理文本分类问题。网络爬虫爬取某个域的网页,对于每个网页,我想知道它是否只属于一个特定的类。也就是说,如果我称这个类为Positive,每个爬取的网页要么属于Positive类,要么属于Non-Positive

我已经有大量针对Positive类的网页训练集。但是如何为非阳性类创建一个尽可能具有代表性的训练集呢?我的意思是,我基本上可以使用该课程的所有内容。我可以只收集一些绝对不属于Positive类的任意页面吗?我确信文本分类算法(我更喜欢使用朴素贝叶斯算法)的性能很大程度上取决于我为类Non-Positive选择的网页。

那我该怎么办?有人可以给我一个建议吗?非常感谢你!

4个回答

Spy EM 算法正好解决了这个问题

S-EM 是一种文本学习或分类系统,它从一组正样本和未标记样本(无负样本)中学习。它基于“间谍”技术、朴素贝叶斯和 EM 算法。

基本思想是将你的正集与一大堆随机抓取的文档结合起来。您最初将所有爬网文档视为负类,并在该集合上学习一个朴素贝叶斯分类器。现在,其中一些爬网文档实际上是肯定的,您可以保守地重新标记得分高于最低得分的真阳性文档的任何文档。然后你迭代这个过程,直到它稳定。

这是一篇关于一类分类的好论文:

  • 税收,DM:一类分类 - 在没有反例的情况下进行概念学习,博士论文,代尔夫特理工大学,2001 年。(pdf

本文介绍了支持向量数据描述(SVDD)方法,它是一类支持向量机,它在数据周围找到一个最小超球面,而不是一个分离数据的超平面。

论文还回顾了其他一类分类器。

良好的训练需要能够提供对各个类别概率的良好估计的数据。每个分类问题至少涉及两个类别。在您的情况下,第二类是不在积极类中的任何人。要使用贝叶斯或任何其他好的方法形成一个好的决策边界,最好使用从类中随机选择的尽可能多的训练数据。如果您进行非随机选择,您可能会得到一个不能真正代表类条件密度/分布形状的样本,并且可能导致决策边界的选择不佳。

我同意迈克尔的观点。

关于你关于随机选择的问题;是的:您必须从“正面”的互补集中随机选择。如果有任何混淆,您的“阳性”可能没有完全定义为“纯阳性”,如果我可以使用该短语,那么您也可以尝试至少某种匹配的阳性定义,以便您将控制那些可能对“阳性”定义产生一些污染的变量。在这种情况下,您还必须在“非积极”方面相应地匹配相同的变量。