在文本分类中,我们有一份文档的描述d和一组固定的类$C = {c_1,c_2,...,c_J } $,其中d属于X,X代表文档空间。类C也称为类别或标签。通常情况下,文档空间X是一些高维空间类型,并且这些类是根据应用程序的需要而人为定义的。给定一个训练集D包含标记文档<d, c>,<d, c>属于X x C。例如,我们可以将只有一句话(Beijing joins the World Trade Organization)的文档和标签China表示为:
<d,c>=<Beijing joins the World Trade Organization, China>
使用学习方法或学习算法,我们希望学习将文档映射到类的分类器或分类函数$ \ gamma $:
$\gamma :X\rightarrow C $
这种类型的学习被称为监督学习,因为定义类和给训练文本添加标签的人担任指导学习过程的教师。我们用$ \ Gamma $表示监督式学习方法,并写作$ \ Gamma(D)= \ gamma $。学习方法$ \ Gamma $将训练集$ \ D $作为输入并返回习得的分类函数$ \ gamma $。
大多数用于学习方法$ \ Gamma $的名称也用于分类器$ \ gamma $。当我们说“朴素贝叶斯是稳健的”时,我们谈论的是朴素贝叶斯(NB)学习方法$ \Gamma$,这意味着它可以应用于许多不同的学习问题,并且不太可能会训练出非常失败的分类器。但是当我们说“朴素贝叶斯的错误率为20%”时,我们是在描述一个实验,其中一个特定的NB分类器$ \ gamma $(由NB学习方法生成)在应用程序中的错误率为20%。
下图显示了Reuters-RCV1集合中的文本分类示例。有六个班(英国,中国,...,体育),每个班有三个训练文本。我们为每个文档的内容显示一些助记词。训练集为每个类提供了一些典型示例,以便我们可以学习分类函数$ \ gamma $。一旦我们训练好了$ \ gamma $,我们可以将其应用于测试集(或测试数据),例如,新文档(first private Chinese airline)的班级未知。分类函数将新文档分配给类$ \ gamma(d)= $ China,这是正确的。
我们在文本分类方面的目标是在测试数据或新数据方面具有高度的准确性——在训练集上很容易实现高精度(例如,我们可以简单地记住标签),但一般而言,训练集的高准确性并不意味着分类器在应用程序中的新数据上运行良好。
另外,当我们使用训练集来学习测试数据的分类器时,我们假设训练数据和测试数据是相似的或来自相同的分布。
[图片及描述来源:Manning, C. D.; Raghavan, P. and Schütze, H.(2008).Introduction to Information Retrieval, Cambridge University Press.]
发展历史
描述
最早期的文本分类依据人工规则,随后转向了通过统计算法来实现,如Naive Bayes Classifier和Support Vector Machine(SVM)。1998年Andrew McCallum,Kamal Nigam对都做出了朴素贝叶斯假设的贝叶斯网络(Bayesian Network)和多项式模型(multinomial model)之间的差异和细节进行了描述,并在五个文本语料库上的对其分类性能进行了比较。结果显示贝叶斯网络在词汇量小的情况下表现良好,但多项式模型通常在更大的词汇量下表现更好。
Thorsten Joachims应当是较早探讨了使用支持向量机(SVM)从例子中学习文本分类器的学者之一。他分析了使用文本数据进行学习的特定属性,并确定了SVM适用于此任务的原因。2001年Simon Tong, Daphne Koller提出SVM像大多数机器学习算法一样,通常使用预先分类的随机选择的训练集来应用。在很多情况下,我们也可以选择使用基于池的主动学习(pool-based active learning)。这样学习者不需要随机选择的训练集,而是可以访问未标记实例池,并可以为其中一些实例请求标签。他们引入了一种用支持向量机执行主动学习的新算法,即用于选择接下来请求哪些实例的算法。
2000年Tom Mitchell等学者证明了学习文本分类器的准确性可以通过将大量未标记文档与少量的带标签培训文档混合在一起来提高。由于在许多文本分类问题中,获取培训标签的成本很高,而大量未标记的文档却很容易获得,这是一个非常重要的发现。他们还提出了一种基于期望最大化(EM)和朴素贝叶斯分类器相结合的标记和无标签文档学习算法。使用来自三种不同真实世界任务的文本获得的实验结果表明,使用未标记的数据可将分类错误减少多达30%。2003年George Forman基于从路透社,TREC,OHSUMED等网站抓取的数据集上进行了十二个特征选择(feature selection)算法(例如信息增益)的实证比较,衡量标准有F值(F-measure),精确度和召回。
近年来,随着深度学习的流行,卷积神经网络(CNN)也被用于文本分类上。2014年Yoon Kim进行了一系列关于CNN的实验,这些卷积神经网络在预先训练的单词向量的基础上进行训练,以进行句子级分类任务。一个简单的只需少量超参数调整和静态向量的CNN,就可以在多个基准测试中取得出色的结果。他们讨论的CNN模型改进了7个任务中的4个任务的现有技术水平,其中包括情感分析和问题分类。
主要事件
A | B | C | |
1 | 年份 | 事件 | 相关论文/Reference |
2 | 1998 | Andrew McCallum,Kamal Nigam对都做出了朴素贝叶斯假设的贝叶斯网络(Bayesian Network)和多项式模型(multinomial model)之间的差异和细节进行了描述,并在五个文本语料库上的对其分类性能进行了比较 | McCallum,A.; Nigam, K. (1998).A Comparison of Event Models for Naive Bayes Text Classification. AAAI. |
3 | 1998 | Thorsten Joachims探讨了使用支持向量机(SVM)从例子中学习文本分类器 | Joachims, T. (1998).Text categorization with Support Vector Machines: Learning with many relevant features. ECML. pp 137-142. |
4 | 2000 | Tom Mitchell等学者证明了学习文本分类器的准确性可以通过将大量未标记文档与少量的带标签培训文档混合在一起来提高 | Nigam, K.; Mccallum, A. K.; Thrun, S.; Mitchell, T. (2000).Text Classification from Labeled and Unlabeled Documents using EM. Machine Learning.39(2–3): 103–134. |
5 | 2001 | Simon Tong, Daphne Koller引入了一种用支持向量机执行主动学习的新算法 | Tong, S.; Koller, D. (2001).Support Vector Machine Active Learning with Applications to Text Classification. 2:45-66. |
6 | 2003 | George Forman基于从路透社,TREC,OHSUMED等网站抓取的数据集上进行了十二个特征选择(feature selection)算法(例如信息增益)的实证比较,衡量标准有F值(F-measure),精确度和召回 | Forman, G. (2003).An Extensive Empirical Study of Feature Selection Metrics for Text Classification. JMLR. 3:1289-1305. |
7 | 2014 | Yoon Kim进行了一系列关于CNN的实验,这些卷积神经网络在预先训练的单词向量的基础上进行训练,以进行句子级分类任务 | Kim, Y. (2014). Convolutional Neural Networks for Sentence Classification.arXiv:1408.5882. |
发展分析
瓶颈
由于数据标注成本昂贵,而训练分类器又往往需要大量数据,目前标注瓶颈是文本分类中比较大的问题;另外,文本到数值的转换过程和特征提取是文本分类的另一难点。
未来发展方向
如上文提到的标注问题,因此无监督学习是目前的一个研究方向,以摆脱算法训练对数据的依赖。在文本到数值的转换上,如word2vec等工具试图在无监督学习的基础上,生成可以使语义上相似的单词在映射空间内距离也很近的向量,也是一个重要的研究方向。
By Yuanyuan Li