优秀的文本分类模型必须经得住真实数据集的验证,因而分类器必须在通用的数据集上进行测试。用于文本分类的数据集一般称为语料库。
语料库指经科学取样和加工的大规模电子文本库。借助计算机分析工具,研究者可开展相关的语言理论及应用研究。语料库中存放的是在语言的实际使用中真实出现过的语言材料;语料库是以电子计算机为载体承载语言知识的基础资源;真实语料需要经过加工(分析和处理),才能成为有用的资源。
数据集
机器学习是一个认识事物、获取知识的过程。其任务是把现有的对客观事物的认识与理解进行选择、提取、组织与分类。通过对大量的真实文本的学习来发现和探索自然语言的各种事实与规律。机器学习的所获取的知识对象一般称为数据集。自然语言处理领域的数据集一般称为语料库。语料库的建设已经经历了半个多世纪的发展历程。从最早的上世纪六十年代初的布朗语料库和七十年代初的LOB语料库,一直发展到美国计算机语言协会ACL/DCI语料库的建设。语料库语言学目前已经成为自然语言处理领域的热门科研课题。
文本分类的主流模型是基于统计学建立,统计机器学习模型的基础就是要有统计来源或素材,因此语料库在文本分类研究中的地位非常关键。分类器的实现需要建立在一个已经人工标注好的训练数据集上,训练集质量的优劣对文本分类的性能有着决定性的意义。语料库不仅能够为分类器提供机器学习的素材,而且可以评测分类器的分类性能,指导优化分类效果。
用于文本分类的语料库一般分为平衡语料库和非平衡语料库。语料库中每一个类的文本数相等或大致相等一般称为平衡语料库,而每个类别下文本数不相等的语料库称为非平衡语料库。两种语料库对文本分类的研究都有重要的意义。
英文语料
a) 20_Newsgroups 数据集:卡内基梅隆大学的Lang于1995年收集并整理的包含19997篇文档约平均分布在20个类别中的Usenet新闻组语料。Newsgroups已经成为文本分类及聚类中常用的数据集。麻省理工学院(MIT)的 Jason Rennie 对其作了必要的处理,形成 Newsgroups-18828。原始 Newsgroups 属于平衡语料库。
b) Reuters-21578 数据集:路透社人工汇集和分类形成,共包含路透社1987年的21578篇新闻稿,一般作为英文文件分类领域的基准语料库。该语料库为非平衡语料库。
c) OHSUMED 数据集:由 William Hersh 等人共同收集并整理,文档来源于医药信息数据库MEDLINE10,收集从1987 至1991 年270个医药类期刊的标题和(或)摘要,共含有348566篇文档。
中文语料
a) TanCorpV1.0 数据集:中国科学院计算技术研究所谭松波收集整理。该语料库分为两层,第一层12个类别,第二层60个类别,共包含文本14150篇。该语料库每个类包含文本数差异较大,为典型的非平衡语料库。
b) 搜狗实验室数据集:经过编辑手工整理与分类的新闻语料,新闻来源于搜狐新闻网站。搜狗实验室根据需求不同整理了多个版本。一般常用的是SogouC.reduced.20061127语料库,分为9个大类别,每类包含1990篇文档,共包含17910篇文档。另外完整版SogouC语料库共有10个类,每类包含8000篇文档,共包含80000篇文档。该语料库为平衡语料库。
c) 复旦大学数据集:由复旦大学计算机信息与技术系国际数据库中心自然语言处理小组李荣陆提供,分为20个类别,包含9833篇测试文档和9804篇训练文档。另外,还提供了一个小规模语料库,分为10个类别,共2816篇文档。该语料库属于非平衡语料库。
评估指标
人们根据不同的文本分类应用背景提出了多种评估分类系统性能的标准。常用的评估标准:召回率(Recall)、准确率(Precision)、F1-评测值(F1-measure)、微平均(Micro-average)和宏平均(Macro-average)。另外一些使用较少的评估方法包括平衡点(break-even point)、11点平均正确率(11-point average precision)等。本文中所涉及到的“精度”(Accuracy)一般指广义精度,可以代表召回率、精确率、F1-评测值(简记:F1值)、微平均和宏平均等评价指标。
假设一个文本分类系统针对类别ci 的分类标注结果统计如表所示:
![](https://img-blog.csdnimg.cn/20181106193354146.png)
或者用等价的集合描述如图所示:
![](https://img-blog.csdnimg.cn/2018110619344969.png)
图左侧椭圆表示实际测试集类别标注,右侧椭圆是经过分类器分类后标注的分类结果。上图与表的中符号的意义如下:
1) a表示正确地标注测试集文本为类别ci 的文本数量;
2) b表示错误地标注测试集文本为类别ci 的文本数量;
3) c表示错误地排除测试集文本在类别ci 之外的文本数量;
4) d表示正确地排除测试集文本在类别ci 之外的文本数量。
召回率与准确率
a) 分类器在类别ci 上的召回率(又称查全率)定义如式:
![](https://img-blog.csdnimg.cn/20181106193830355.png)
b) 分类器在类别ci 上的准确率(又称查准率)定义如式:
![](/qrcode.jpg)
![](https://img-blog.csdnimg.cn/20181106193844272.png)
F1-评测值
c) 分类器在类别ci 上的F1值定义如式:
![](https://img-blog.csdnimg.cn/20181106193857332.png)
召回率和准确率分别从两个方面考察分类器的分类性能。召回率过高可能导致准确率过低,反之亦然。所以综合考虑分类结果召回率和准确率的平衡,采用F1-评测值比较合理。
微平均与宏平均
文本分类系统的分类结果,每个类对应都有一个召回率和准确率,它们评价的是单个类别上的分类精度。因此,可以通过这些单个类别的精度评价整个分类系统的整体性能。
微平均从分类器的整体角度考虑,不考虑分类体系的小类别上的分类精度。它是利用被正确分类标注的文本总数aall ,被错误分类标注的文本总数ball ,以及应当被正确分类标注而实际上却被错误地排除的文本总数call 分别替换上式中的a、b、c得到的微平均召回率、微平均准确率和微平均F1值。 微平均本质讲是一项考察分类器整体能够正确分类标注多少文本。如果每一篇文本必须属于一个类别的话,则有下式成立:
![](https://img-blog.csdnimg.cn/20181106194450561.png)
那么微平均召回率、微平均准确率与微平均F1值相等。所以微平均F1值计算如下式所示:
![](https://img-blog.csdnimg.cn/20181106194501114.png)
宏平均是从分类器小类别的整体考虑,首先计算出每一类别的召回率与准确率,然后对召回率与准确率分别取算术平均得到的宏平均召回率与宏平均准确率。最后根据宏平均召回率与宏平均准确率计算宏平均F1值。
a) 宏平均召回率
其计算式如下所示:
![](https://img-blog.csdnimg.cn/20181106194514577.png)
其中 recalli 为类别ci 的准确率,P 为分类体系类别数目。
b) 宏平均准确率
其计算式如下所示:
![](https://img-blog.csdnimg.cn/20181106194907164.png)
其中 precisioni 为类别ci 的召回率,P 为分类体系类别数目。
c) 宏平均F1值
其计算式如下所示:
![](https://img-blog.csdnimg.cn/20181106194927952.png)
宏平均考察分类器对不同类别的处理能力。尤其在非平衡数据集上,宏平均能够更好地衡量分类器处理小样本类别的分类能力。换句话说,微平均从文本分类标注正确总数角度衡量分类精度,宏平均是从每一类别文本标注正确的角度衡量分类精度。
混淆矩阵
混淆矩阵(Confusion Matrix):在文本分类中,使用混淆矩阵显示分类测试标注的统计情况,是一种可视化结果统计显示工具。其形式如表所示:
![](https://img-blog.csdnimg.cn/20181106195309479.png)
表2中第一行代表实际测试的数据集类别,每一类代表对应第一类实际类别被分类的情况。例如对应类别ci 的表1中的c值与b值分别如下式所示:
![](https://img-blog.csdnimg.cn/20181106195515549.png)
表2中对角线上的值就是每一个类正确分类的文本数(表1中的a)。
参考文献:
[1] Sebastiani,F. Machine learning in automated text categorization [J]. ACM Comput. Surv. 34(1): 1-47.
[2] 靖红芳,王斌,杨雅辉,徐燕.基于类别分布的特征选择框架[J].计算机研究与发展,46(9):1586-1593.
[3] Tan,S. B.,Cheng,X. Q.,Ghanem,M. M.,Wang,B.,Xu,H. B. A novel refinement approach for text categorization [C]. In: ACM CIKM
[4] 苏金树,张博锋,徐昕. 基于机器学习的文本分类技术研究进展[J].软件学报,17(9):1848~1859.
[5] Joachims,T. A probabilistic analysis of the Rocchio algorithm with TFIDF for text categorization [C]. In: Proc. of the ICML’97:143-151.
[6] 谭松波,王月粉.中文文本分类语料库-TanCorpV1.0 .
[7] Kim,H. J.,Shrestha,J.,Kim,H. N.,et al. User action based adaptive learning with weighted Bayesian classification for filtering spam mail [J]. Lecture Notes in Artificial Intelligence,43(4):790-798.
[8] 中国科学院计算技术研究所自然语言处理研究组. 文本分类评测大纲.