一个应用的特例。
1.4.1文本组织与管理
以科学论文为例,本文1.1节曾经提到,80年代仅科学论文一项每天就产生1.3万-1.4万篇,科学文献平均年增长率为13%,有些学科每10年翻一番,某些尖端学科2-3年翻一番。从这些统计数据可以得出,到目前为止,科技论文每天约产生4万-5万篇,如果进行人工分类,那么如此庞大的数据量必将使得各领域的科学家付出巨大的劳动。另外,科技论文对实时性的要求也很高,研究人员需要了解到本学科最新的研究现状,这就要求论文库能够及时动态更新。所有这些情况都使得人工组织文本越来越成为不可能,此时就需要使用自动文本分类技术。文本分类使得有序地按类别存储海量文件并及时作出更新成为可能。
另外,Internet已经成为人们生活中必不可少的一部分,人们已经习惯了坐在电脑前了解自己感兴趣的知识。各大门户网站如新浪、雅虎、搜狐等都建有各自的层次化分类体系,对网页根据其内容进行分类,读者只需按类别层层找下去就可以浏览到各种信息。目前各网站的分类都需要人工干预,如果采用自动文本分类技术,无疑将大大改善分类效率。
文本分类在数字化图书馆[48]、专利分类[49]、新闻文章自动归档和会议文章自动分组等方面都有成功应用。
1.4.2信息检索
毫无疑问,信息检索(Information Retrieval)工具可以根据查询词返回相关信息,有效帮助了人们查找相关知识,如Goole、Baidu、Yahoo、Excite等搜索引擎。但是,所有的搜索引擎都存在着相同的一个问题,返回结果并没有如用户期望的那样排列,并且包含了大量用户不感兴趣的网页,用户必须通过阅读这些网页滤除无用信息,这就降低了查询效率。在信息检索领域引入文本分类技术,由用户选择查询类别,或者由搜索引擎给出分类存放的搜索结果,都可以提高查询效率,方便用户使用。
另外,针对信息资源库中各个不同类别,还可以建立各类别的专用搜索引擎,直接供仅对某个专题感兴趣的人使用。
1.4.3冗余文档过滤
信息检索不仅包含了大部分用户不感兴趣的类别,还包含了大量相同或相似的网页,在搜索结果较少时更是如此。这些相同或相似的网页称为冗余文档,相同网页是指除了链接地址不同,内容完全相同的网页;相似文档是指内容只有少许不同的网页。虽然各大搜索引擎都号称对相同和相似网页进行了过滤,但在搜索结果中包含大量相同或相似网页的情况还是经常出现。利用文本分类技术对网页计算相似度,超过指定阈值的网页即可认为是冗余文档,在数据库中只保存一份。
Narayanan Shivakumar等对24,000,000个网页进行统计分析,发现有18%的网页有一个重复网页,5%的网页有10到100个重复网页,经过冗余检测后,可以把存储空间压缩22%[50]。
为了提高检测效率,计算网页相似度之前,可以先对抓取到的网页进行预分类,然后再根据网页类别仅仅在该类别进行检测,这样不仅可以大大减少检测时间和计算复杂度。
1.4.4信息过滤
信息过滤(Information Filtering)是指根据用户对信息的需求,对产生或到来的信息流进行动态地分类,保留对用户有用的信息,屏蔽无用信息。信息过滤与信息检索如同一面硬币的两面[51]:信息检索关心的是如何从信息源中找到符合用户需求的信息,可以形容为“人找信息”,用户为主动方,称之为“拉”(pull);信息过滤关心的是过滤系统如何把信息发送给感兴趣的用户,可以形容为“信息找人”,信息发布方为主动方,称之为“推”(push)。
信息过滤的一个典型应用如新闻推送服务,信息发布方为某个新闻社,用户为某种报纸[5,52]。在这个例子中,过滤系统应该屏蔽掉所有用户不感兴趣的文档,例如对于体育报纸,应该屏蔽所有与运动无关的文档。因此信息过滤可以看作是一个单标号分类问题,把所有到来的文本分为两个互不相交的类别:相关文档和无关文档。另外,过滤系统还可以进一步对相关文本按照各个主题进行分类,方便用户阅读。在上一个例子中,与运动有关的文本还可以进一步按照运动类别分类。同样,垃圾邮件过滤系统也可以丢弃垃圾邮件[53],并对非垃圾邮件根据用
户兴趣进行分类。
过滤系统既可以安装在信息的发送端,此时系统基于信息内容仅发送给对该信息感兴趣的用户;也可以安装在信息的接收端,此时系统负责阻断用户不感兴趣的信息。对于前一种情况,系统需要为每个用户建立一个档案[54],而在后一种情况下,系统只需建立一个用户档案。
文档过滤(Document Filtering)可以追溯到上世纪60年代有选择的信息分发技术(selective dissemination of information),当今数字信息的爆炸更加促进了这类技术的发展,如基于内容的垃圾邮件过滤、新闻组订阅等[5]。
1.4.5词义辨析
词义辨析(Word Sense Disambiguation)是指根据多义词所处上下文环境判断该词此时含义的活动[5]。例如,英文英文单词“bank”至少有两个不同含义,在“the Bank of England”中为“银行”,在“the bank of river Thames”中为“河岸”,在“I borrowed some money from the bank”中“bank”的含义就需要借助词义辨析来确定。把单词所处上下文看作文本,把单词的各种不同含义看作不同类别,那么词义辨析问题就可以转化为一个文本分类问题。显然,词义辨析属于单标号分类任务。
词义辨析只是解决自然语言歧义性时常见难题中的一个例子,也是计算语言学中最重要的一个难题。还有很多机器翻译中的其他问题,比如基于上下文的拼写校对(Context-sensitive spelling correction)[57]、介词短语连接(Prepositional Phrase Attachment)[58]、词性标注(Part-of-speech Tagging)[59,60]等,也都可以通过借助文本文类技术来解决。
第二章 文本分类的性能评估
2.1引言
由于自动文本分类技术在文本处理领域具有关键性作用和广泛的应用前景,因此得到了众多学者的高度重视。随着人工智能、机器学习、模式识别和统计理论等领域技术的快速发展,涌现出了越来越多的文本分类方法。但是,这些分类方法的性能如何,以及如何客观评估和比较这些分类方法,就成为了选择分类方法时无法忽视的问题。
分类器的评估是一个非常复杂的问题,目前还没有一个可以从理论上对单个分类器进行评估或对不同分类器进行比较的方法。由于难以从理论上对分类器进行客观公正的评估,文本分类领域沿用了信息检索领域的评估办法,从仿真的实验结果来评估分类器的性能。已有很多学者使用实验的方法对分类器进行了比较,并且研究者在说明某种分类算法的性能时也是用数据来表示。
分类器的性能评估有两个重要的作用,客观比较不同分类器仅仅是其中的一个方面,另一个重要作用是在训练过程中指导分类器的生成。如图1.1中所示那样,分类器评估是训练过程中必不可少的一个模块,分类器的构建需要根据评估结果调整各参数,以使分类器性能达到最优。
如同任何一个其他领域的科学实验,文本分类的实验结果也受很多客观因素的影响,比如:实验数据集的选定、文本的表示模型、特征选择的方法、分类算法的确定、各参数的选定、评估指标的确定以及实验数据的分析与处理等。显然,不同分类器只有在诸多客观因素均一致的情形下才具有可比性。许多学者基于Reuters、20_Newgroups、OHSUMED等标准数据集对一些分类算法进行了比较,结果就具有较高的可信度[29,81]。另外,由于分类器对数据集的严重依赖性,依靠仿真实验得出的任何一种评估结果都只能作为一定的参考,在不同数据集上同一种分类方法可能会表现出截然不同的性能。
由此可见,文本分类的性能评估是文本分类领域的一个重要课题,针对不同的目的,评估侧重点也应有所不同。
2.2文本分类器的性能评估指标
从实验方面来看,文本分类器的性能主要表现在两个方面:效率和效果。所谓效率指的是分类器训练和分类的时间;所谓效果指的是分类器做出正确决定的能力。具体到评估指标上,效率的评估指标是时间,即分类器训练的时间及单篇文本分类的时间;而效果的评估指标并不唯一,有多种类型,下面将重点进行讨论。在目前的文本分类应用中,主要关心的是分类效果的度量,所以本文也将主要讨论分类效果的评估,本文其余部分若未特别指出,文本分类性能评估均指分类效果的评估。
文本分类有多个性能评估指标,常用的有查全率(Recall, r)、查准率(Precision, p)、正确率(Accuracy, acc)、错误率(Error, err)以及查全率与查准率的综合评价值
F?、11-点平均(Eleven-point average, 11-Ave)和平衡点(Breakeven point, BEP)等。
下面针对单标号分类器给出这些指标的定义及计算方法。
?假设一个单标号文本分类器?、测试文本集合D?{d1,...,dM}和预先定义的类别集合C?{c1,...,cN},D中每篇文档只属于一个类别,C中各类别两两之间互
?不相交。分别由专家和分类器?来对全部测试文本判断类别,那么可建立如下的邻接表:
表2-1 多类分类器列联表
c1 专家判别 c1 a11 … … … … … … cj … … … … … … cN a1N a1j 分类器判别 … ci … ai1 … aij … aiN … cN … aN1 … aNj … aNN 在表2-1中,aij的含义如下:
?aii,i?jaij?? (2-1)
a,i?j?ij其中,aii表示原本属于类别ci并被分类器正确判断为ci的文档数目,aij表