自动文本分类方法研究述评,本文主要内容关键词为:述评论文,文本论文,方法论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
中图分类号:(G354文献标识码:A文章编号:1007-7634(2008)03-0469-07
1 引言
文本分类(Text Categorization/Text Classification,TC)是指在给定分类体系下,根据文本内容(自动)确定文本类别的过程[1]。20世纪90年代以前,占主导地位的文本分类方法一直是基于知识工程的分类方法,即由专业人员手工进行分类。目前在国内也已经开始对中文文本分类方法进行研究,相比于英文文本分类,中文文本分类的一个重要的差别在于预处理阶段:中文文本的读取需要分词,不像英文文本的单词那样有空格来区分。从简单的查词典的方法,到后来的基于统计语言模型的分词方法,中文分词的技术已趋于成熟。并在信息检索、Web文档自动分类、数字图书馆、自动文摘、分类新闻组、文本过滤、单词语义辨析以及文档的组织和管理等多个领域得到了初步的应用。尽管机器学习理论对于文本分类方法的研究起了不可低估的作用,在这之前文本分类方法的研究曾一度处于低潮,但是文本分类的实际应用和它自身的固有的特性给机器学习方法提出了新的挑战,这使得自动文本分类方法的研究仍是信息处理领域一个开放的、重要的研究方向。
到目前为止,已经研究出的经典文本分类方法主要包括:Rocchio方法、决策树方法、贝叶斯分类、K近邻算法和支持向量机等分类方法。近年来,随着人工智能、机器学习、模式识别和数据挖掘等领域的不断发展,促使文本分类方法得到了长足的发展。
2 经典文本分类方法
2.1 Rocchio方法—相似度计算方法
Rocchio[2]是情报检索领域最经典的算法。在算法中,首先为每一个类C建立一个原型向量(即训练集中C类的所有样本的平均向量),然后通过计算文档向量D与每一个原型向量的距离来给D分类。可以通过点积或者Jaccard近似来计算这个距离。这种方法学习速度非常快。
2.2 NaveBayes(NB)——贝叶斯方法
朴素贝叶斯分类器是以贝叶斯定理为理论基础的一种在已知先验概率与条件概率的情况下得到后验概率的模式分类方法,用这种方法可以确定一个给定样本属于一个特定类的概率。目前基于朴素贝叶斯方法的分类器被认为是一个简单、有效而且在实际应用中很成功的分类器。在文本分类领域,贝叶斯定理可以表述如下:
上述公式表示在给定文档的条件下,属于类别的概率(称为后验概率)。所以对文档分类的问题就转化为计算p(/)的值,使p(/)取得最大值的那个类别就是所属的类别。
2.3 K-NN方法——K-近邻方法
K-NN方法是一种基于实例的文本分类方法。首先,对于一个待分类文本,计算它与训练样本集中每个文本的文本相似度,根据文本相似度找出可k个最相似的训练文本。这最相似的k个文本按其和待分类文本的相似度高低对类别予以加权平均,从而预测待分类文本的类别。其中最重要的是参数K的选择,k过小,不能充分体现待分类文本的特点;而k过大,会造成噪声增加而导致分类效果降低。
K-近邻算法(K-NN)的新发展:K-NN是一种有效的分类方法,但是它有两个最大的缺陷:第一,由于要存储所有的训练实例,所以对大规模数据集进行分类是低效的;第二,K-NN分类的效果在很大程度上依赖于k值选择的好坏。Gongde Guo和Hui Wang等人[3-4]针对K-NN的两个缺陷,提出了一种新颖的KNN类型的分类方法,称为基于KNN模型的分类方法。新方法构造数据集的KNN模型,以此代替原数据集作为分类的基础,而且新方法中k值根据不同的数据集自动选择,这样减少了对k值的依赖,提高了分类速度和精确度。实验证明,基于KNN模型的方法在分类精确度上与C5.0和标准的K-NN相当。文献[4]还将这种基于KNN模型的方法成功用于文本分类。另外,针对K-NN方法的第一个缺陷,Nong Ye and Xiangyang Li将聚类方法和经典的K-NN方法结合起来,提出了一种新颖的分类方法,称为CCA-S[5]。CCA-S能够处理大规模数据集,可伸缩性好,并且支持增量式学习。但CCA-S只能处理连续属性,而且只针对类别为两类的分类问题。如何扩展CCA-S,以使其能够处理多类别的问题,还有待进一步研究。文献[6]将遗传算法和KNN-Fuzzy方法[7]结合起来,用遗传算法来寻找最优的k值,从而优化KNN-Fuzzy方法,提高了分类精确度。文献[8]基于模糊粗集理论提出了一种新的KNN分类方法,与传统的NN和fuzzy NN相比,新方法有更高的预测精度。
2.4 SVM——支持向量机
支持向量机(Support Vector Machines:SVM)理论,由Vapnik在1995年提出[9],并用于解决二分类模式识别问题。它基于结构风险最小化原则,在向量空间中找到一个决策面(decision surface),这个面能“最好”地分割两个分类中的数据点。
目前,比较有效的SVM实现方法包括Joachims的SVMlight系统[10-11]和Platt的序列最小优化算法[12]。
随着人们对文本分类的深入,不断有许多新方法涌现,如基于潜在语义结构的文本分类模型[13],基于模糊-粗糙集的文本分类方法[14]。但要从根本上解决文本分类中所固有的一些问题,还需加强研究的力度,找到更先进的理论和方法。
支持向量机(SVM)方法的新发展:SVM是进行分类、聚类和时间序列分析的有效数据挖掘工具。但是,由于SVM的训练时间会随着数据集的增大而增加,所以在处理大规模数据集时,SVM往往需要较长的训练时间。而实际的数据挖掘应用往往包含了数以百万计的数据,这使得SVM很难发挥作用。针对这个问题,文献[15-16]用选择性采样或者主动学习方法来训练SVM,它的基本思想是从整个训练数据集中选择一小部分最有代表性的数据来最大化学习效果。与主动学习思想类似的方法还有随机采样[17-18]。这两种方法都需要对数据集进行多遍扫描。与主动学习和随机采样不同,文献[19]将层次聚类用于SVM,以加快SVM对大规模数据的处理速度。文中所提出的新方法称为Clustering-Based SVM(CB-SVM),CB-SVM用一个层次微聚类(hierarchical micro2clustering)算法对整个数据集进行单遍扫描,为SVM提供带有整个数据集统计概要信息的高质量样本。CB-SVM对于大规模数据集有很好的伸缩性,而且有较高的分类精确度。另外,为了解决实际应用中数据集大小动态变化的问题,Fung G.和Mangasarian O.L[20]提出了增量式SVM,新提出的方法用于二分类问题。文献[21]在文献[20]的基础上,提出了一种有效的基于内存的增量算法,以支持多分类问题。
2.5 DecisionTree——决策树方法
决策树方法是从训练集中自动归纳出分类树。在应用于文本分类时,决策树算法基于一种信息增益标准来选择具有信息的词,然后根据文本中出现的词的组合判断类别归属。
3 文本分类方法研究的新进展
3.1 多分类器融合(fusion)的方法
实际应用的复杂性和数据的多样性往往使得单一的分类方法不够有效。因此学者们对多种分类方法的融合(fusion)进行了广泛的研究,取得了一系列研究成果。纵观文献中的研究,可以大致将多分类器的融合技术分为以下几类:投票机制(voting)、行为知识空间方法(Behavior-Knowledge Space BKS)、证据理论(Dempster-Shafer theory)、贝叶斯方法和遗传编程(genetic programming GP)。采用投票机制的方法主要有装袋(bagging[22])和推进(boosting[23])。近两年来,学者们对bagging和boosting进行了深入的研究和发展:Buhlmann P.和Yu B[24]对bagging进行了深入的分析;Hothorn T.and Lausen B.在文献[25-26]中将bagging用于决策树,并在文献[27]中对bagging进行了发展,提出了Double-bagging,采用boot strap aggregation来融合分类器。而Schwenk和Bengio则将boosting用于神经网络,提出了AdaBoost方法[28],从而提高了神经网络的预测精度。Peter Buhlmann和BinYu提出了boosting的一个新变种L2Boost,[29]L2Boost计算简单,且性能可与其他基于boosting的方法相媲美。文献[30]采用BKS进行分类器融合。文献[31]用证据理论将4个不同的分类方法(SVM,KNN,KNN Model-based approach和Rocchio)结合起来,形成融合的分类器。用贝叶斯方法进行分类器融合有两种情况:一种是有独立性假设的贝叶斯方法[32],另一种是没有独立性假设的贝叶斯方法[33-34]。文献[33]把用K阶依赖(korder dependency)表示的离散概率分布的最优近似用于多分类器的融合,用1阶依赖和2阶依赖发现最优近似。文献[34]对2阶依赖方法进行了扩展,用3阶依赖近似离散概率分布和多分类器融合。文章还通过实验证明了这种基于依赖的贝叶斯方法比基于BKS的方法性能好。Langdon等人对基于遗传编程的分类器融合技术进行了一系列的研究[35-39],其中文[35-37]主要研究了同类型分类器的融合(比如多个神经网络分类器的融合)。文献[36]用遗传编程来融合多个神经网络分类器,提高了预测精度;文献[37]则进一步证明了基于遗传编程融合多个神经网络的方法比AdaBoost方法性能更高。文献[38-39]主要研究了不同类型的分类器的融合(比如将神经网络和决策树进行融合)。
3.2 基于模糊-粗糙集的文本分类模型
文本分类过程中由于同义词、多义词、近义词的存在导致许多类并不能完全划分开来,造成类之间的边界模糊。此外交叉学科的发展,使得类之间出现重叠,于是造成许多文本信息并非绝对属于某个类。这两种情况均会导致分类有偏差,针对上述情形,文献[40]提出利用粗糙-模糊集理论结合KNN方法来处理在文本分类问题中出现的这些偏差。模糊-粗糙集[13,41],理论有机的结合了模糊集理论与粗糙集理论在处理不确定信息方面的能力。粗糙集理论体现了由于属性不足引起集合中对象间的不可区分性,即由于知识的粒度而导致的粗糙性;而模糊集理论则对集合中子类边界的不清晰定义进行了模型化,反映了由于类别之间的重叠体现出的隶属边界的模糊性。它们处理的是两种不同类别的模糊和不确定性。将两者结合起来的模糊-粗糙集理论能更好地处理不完全知识。
3.3 基于群的分类方法(swarm-based approaches)
这种方法可以看作是进化计算的一个新的分支,它模拟了生物界中蚁群、鱼群和鸟群在觅食或者逃避敌人时的行为。纵观文献中对基于群的分类方法的研究,我们将这种方法分为两类:一类是蚁群算法或者蚁群优化(Ant Colony Optimization ACO),另一类称为Particle Swarm Optimisers(PSO)。
用蚁群优化来进行分类规则挖掘的算法称为Ant-Miner[42-43],Ant-Miner是将数据挖掘的概念和原理与生物界中蚁群的行为结合起来形成的新算法。文献[42-43]通过试验比较了Ant-Miner与著名的分类算法CN2[44],结果证明在预测精度方面Ant-Miner可与CN2相媲美,而Ant-Miner发现的规则比CN2发现的规则简洁。Ant-Miner3[45]对Ant-Miner进行了改进,它的预测精度高于Ant-Miner。PSO是进化计算的一个新的分支,它模拟了鱼群或鸟群的行为。PSO将群中的个体称为Particles,整个群称为swarm。在优化领域,PSO可以与遗传算法相媲美。文献[46]将PSO用于分类,文章对Discrete PSO(DPSO)[47]、Linear Decreasing Weight PSO(LDWPSO)[48]和Constricted PSO(CPSO)[49]进行了比较,并选取CPSO作为挖掘分类规则的工具。文献[50]对CPSO进行了改进,并和遗传算法(GA)以及C4.5算法进行了比较,试验结果表明,在预测精度和运行速度方面PSO方法都占优势。
对ACO或者PSO在数据挖掘中应用的研究仍处于早期阶段,要将这些方法用到实际的大规模数据挖掘中还需要做大量的研究工作。
3.4 基于RBF网络的文本分类模型
基于RBF网络的文本分类模型把监督方法和非监督方法相结合,通过两层映射关系对文本进行分类,首先利用非监督聚类方法根据文本本身的相似性聚出若干个簇,使得每个簇内部的相似性尽可能高而簇之间的相似性尽可能低,并由此产生第一层映射关系,即文本到簇的映射,然后通过监督学习方法构造出第二层映射关系,即簇集到目标类集合的映射[51]。然后为每一个簇定义一个相应的径向基函数(Radial Basis Function,RBF),并确定这些基函数的中心和宽度,利用这些径向基函数的线形组合来拟合训练文本,利用矩阵运算得到线性组合中的权值,在计算权值时,为了避免产生过度拟合的现象,采用了岭回归技术,即在代价函数中加入包含适当正规化参数的权值惩罚项,从而保证网络输出函数具有一定的平滑度。
3.5 潜在语义分类模型
潜在语义索引方法,已经被证明是对传统的向量空间技术的一种改良,可以达到消除词之间的相关性,化简文档向量的目的[52-54],然而LSI在降低维数的同时也会丢失一些关键信息。LSI基于文档的词信息来构建语义空间,得到的特征空间会保留原始文档矩阵中最主要的全局信息。但在某些情况下,一些对特定类别的正确分类非常重要的特征,因为放在全局下考虑显得不重要,而在维数约减的过程中被滤掉;该情况对稀有类别尤为明显。事实上也是,稀有类中出现的词很可能是整个文档集中的稀有词,那么被滤掉的可能性就很大了。而如果这样,稀有类的分类性能就肯定会受到影响。针对上述问题,在扩展LSI模型的基础上,文献[55]提出了一种新的文本分类模型:潜在语义分类模型(Latent Semantic Classification:LSC)[55-56]。与LSI模型类似,文献[55]希望从原始文档空间中得到一个语义空间;然而不同的是,通过第二类潜在变量的加入,把训练集文档的类别信息引入到了语义空间中。也就是在尽量保留训练集文档的词信息的同时,通过对词信息和类别信息联合建模,把词和类别之间的关联考虑进来。这样,就可以得到比LSI模型的语义空间更适合文本分类的语义空间。
除了以上所归纳的几种新的方法之外,还有基于粒度计算的分类方法、基于投影寻踪回归的文本模型及一些正处于探索阶段的新方法。粒度计算是人工智能领域中新兴起的一个研究方向,是目前人们关注的热点之一。粒度计算是模糊信息粒度理论、粗糙集理论和区间计算理论的超集,是粒度数学的子集,它像一把大伞覆盖了所有有关粒度的理论、方法论、技术和工具的研究[57],基于投影寻踪回归的文本模型[58-60],基于投影寻踪回归的文本分类模型的思想是:将文本表示为向量形式,然后将此高维数据投影到低维子空间上,并寻找出最能反映原高维数据的结构和特征的投影方向,然后将文本投影到这些方向,并用岭函数进行拟合,通过反复选取最优投影方向,增加岭函数有限项个数的方法使高维数据降低维数,最后采用普通的文本分类算法进行分类。
4 文本分类方法研究存在的问题
分词是影响文本分类的重要因素之一,分词的速度和准确率与最终的分类结果密切相关。尤其是Web上不断出现新词汇,对分词理论的创新和词典的构造都提出了较高的要求。由于中文文本分类起步晚和中文不同于英文的特性,目前中文Web文本分类还没有标准的开放的文本测试集,各研究者大多使用自己建立的文本集进行训练和测试,其分类结果没有可比性,不利于交流和提高。将自然语言理解和处理技术、语义Web概念、Agent技术和机器翻译等技术应用于Web文本分类中,进一步解决中文文本分类的难点,提高文本分类的智能化水平。目前存在多种成熟的文本分类算法,大部分分类系统都是应用某一种分类算法,分类性能受到制约。
5 结语
通过以上分析,我们可以看出文本分类方法存在以下几种发展趋势:一是新分类方法不断涌现,比如基于群的分类方法和基于粒度计算的分类方法。新分类方法出现得益于人工智能、机器学习、进化计算和粒度计算等领域中新技术的涌现和发展。二是传统分类方法的进一步发展,比如支持向量机的不断改进和KNN方法的发展。传统分类方法的发展主要利用了机器学习、进化计算、数据挖掘、模糊集和粗糙集等理论中的原理和方法。三是根据实际问题需要,有针对性地综合众多领域的技术,以提高分类的性能。
虽然文本分类方法还存在着这样那样的问题,但随着人工智能、机器学习、数据挖掘、进化计算、模糊集和粗糙集等领域的发展,分类方法将向着更加高级、更加综合化和更加多样化的方向发展。
标签:自然语言处理论文; 分类器论文; 文本分类论文; 贝叶斯分类器论文; 语义分析论文; svm算法论文; 文本分析论文; 监督学习论文; 贝叶斯论文; kNN论文;