文本分类方法比较研究
来源:用户上传
作者: 李 鑫 张黎烁
摘 要:随着Internet的不断发展,电子文本信息急剧增加,如何有效地组织和管理这些海量信息,并且能够快速准确地获得用户所需要的信息是当今信息科学技术领域的一大挑战,对电子文本进行有效管理的方法之一就是文本分类。文本分类是一项重要的智能信息处理技术,在信息过滤、信息检索、文本数据库和数字图书馆等方面极具应用价值。本文仅介绍贝叶斯、KNN和支持向量机等三种常用的分类方法,并进行了对比实验,,对这三种分类方法进行分析和比较。
关键词:文本分类;贝叶斯;KNN;支持向量机
中图分类号:TP391.1 文献标识码:A
Text Classification Comparison Research
LI Xin, ZHANG Li-shuo
(Henan academy of engineering,Henan Zhengzhou 451191)
Key words: Text classification;NaiveBayes(NB) K-nearestneighbor(KNN);Support vector machines(SVM)
二十世纪九十年代以来,随着Internet的不断发展和日益普及,世界已经进入到一个高速增长的信息时代。Internet容纳了海量的各种类型的原始信息,这些信息大部分是非结构化或半结构化的电子文本信息,如何在浩若烟海的文本中快速找到最有效的信息始终是信息处理的一大目标。文本自动分类是一个有效的解决办法,它能够处理大量的文本,可以较大程度解决信息紊乱的现状,方便用户准确地定位所需要的信息。文本分类是根据给定文本的内容,将其判别为事先确定的若干个文本类别中的某一类或者某几类的过程[1]。
1 文本分类技术概述
中文文本分类所涉及的关键技术主要有中文文本预处理技术、中文文本表示模型、特征选择、文本分类的评价方法等。文本分类流程图见图1。
(1)数据准备和预处理阶段
收集训练集和测试集,对文本进行预处理。文档分类首先需要解决的问题是训练文本集的选择,训练文本集的选择是否合适对文本分类的性能有较大影响。它应该能够广泛地代表分类系统所要处理的客观存在的各个文本类中的文本。一般而言,训练文本集应是经人工分类的语料库,目前在文本信息处理过程中,普遍认为选取词作为特征项要优于字和词组,如何有效地进行分词是文本预处理的重点。
(2)文本特征选择阶段
文本特征选择是对文本进行特征提取,即样本处于一个高维空间中,通过映射(或变换)的方法可以用低维空间来表示样本,再从一组特征中挑选出一些最有效的特征以达到降低空间维数的目的。
(3)训练阶段
训练阶段,即要按照一定的算法从己经标注的训练样本中取预期的分类机制。训练过程主要有文本预处理模块、特征选择模块、权重计算模块、分类器构造模块。
(4)选择分类方法阶段
用什么方法建立从文本特征到文本类别的映射关系,这是文本分类的核心问题。常用的文本分类方法主要包括基于K 最近邻(KNN)、贝叶斯、支持向量机(SVM)等分类算法。
(5)测试文本分类
选用训练文本表示模型的文本特征和同样的数学形式组织这些特征来表征新文本,并根据不同的分类方法将测试文本映射到各个类别,得到新文本最大可能所属的类别,将新文本分配到该类别,并根据一定的性能评测函数对结果进行评测,重新学习、评测,直到达到最佳。
2 文本分类算法
文本分类的方法大部分来自于模式分类,基本上可以分为三大类:第一种是词匹配法,第二种是基于知识工程的方法,第三种是统计学习法[2]。
基于统计的方法是一种经验主义方法,其优势在于它的全部知识是通过对大规模语料库分析得到的,可以取得很好的一致性和非常高的覆盖率,对语言处理提供了比较客观的数据依据和可靠的质量保证。下面对几个比较典型的分类算法进行具体的介绍:
(1)贝叶斯分类算法
贝叶斯(NB)算法是基于贝叶斯全概率公式的一种分类算法。贝叶斯全概率公式的定义如公式(3-1)所示[3]:
P(A|B)=(3-1)
给定一个类c以及文档d(a1,a2,…,an),其中ai表示文档中出现的第i个特征项,n为文档中出现的特征项的总数。根据全概率公式,可以得到公式(3-2):
P(c|d)==(3-2)
其中:P(c|d)表示文档d属于类别c的概率;P(c)表示待分类的文档所处的领域中,文档属于这个类的概率。在具体的计算时,可以分别用训练集中属于这个类的文档所占的比例代替;P(ai|c)表示在类别c中特征项ai出现的概率。
(2)KNN分类算法
直观地理解,所谓的K近邻,就是考察和待分类文本最相似的K篇文本,据这K篇文本的类别来判断待分类文本的类别值。相似值的判断可以使用欧拉距离,或是余弦相似度等,而最相似的K篇文本按其和待分类文本的相似度高低对类别值予以加权平均,从而预测待分类文本的类别值。(下转第63页)(上接第44页)在K近邻分类器中,一个重要的参数是K值的选择,K值选择过小,不能充分体现待分类文本的特点,而如果K值选择过大,则与待分类文本实际上并不相似的一些文本亦被包含进来,造成噪声增加而导致分类效果的降低,目前,K值的取值没有很好的方法,一般采用先定一个初始值,然后根据实验测试的结果进行调整。
(3)支持向量机分类算法
支持向量机(SVM)是统计学习理论的新发展,1995 年由 Cortes &Vapnik首先提出[4]。目前国内外对支持向量机的研究处于发展阶段,不断有新的方法被提出。SVM算法是建立在结构风险最小化原理基础之上,发展成为一种新型的结构化学习方法。它能很好地解决有限数量样本的高维模型构造问题,而且所构造的模型具有很好的预测性能。它被成功的应用于手写文字识别和文本自动分类等很多领域。
3 实验结果及分析
实验中采用的分类语料分为12个类,其中训练文档20000篇、测试文档100篇。分别进行了贝叶斯分类、KNN、支持向量机三组实验。分类比较结果见表1。
实验结果表明,从准确率上来看,K最近邻方法要明显比其他两种方法。从综合分类率上看,贝叶斯方法和支持向量机方法在分类效果上差别不大。但上述结论不是绝对的,实验所用的分类语料,其规模和所涉及的领域偏小。因此,有必要增加训练语料库的规模,扩充完善训练语料库的题材和内容,使得统计数据更加接近真实语料。还有相似度阈值的取值,并没有一个统一的标准,只能靠实验结果的反馈来进行调整决定。基于以上问题在以后的研究过程进一步改进,以提高分类性能。
参考文献:
[1]俞士汶.计算语言学概论[M].商务印书馆,2003.
[2]冯是聪.中文网页自动分类技术研究及其在搜索引擎中的应用[D].北京大学博士研究生学位论文,2003.
[3]Sebastinai Fabrizio.A tutorial on Automated text categorization.
[4]Cortes C,Vapnlk V.Support Vector networks.Machine learning.1995,20:273-295.
转载注明来源:https://www.xzbu.com/8/view-46101.htm