文本分类中的特征提取和分类算法综述摘要:文本分类是信息检索和过滤过程中的一项关键技术,其任务是对未知类别的文档进行自动处理,判别它们所属于的预定义类别集合中的类别。
本文主要对文本分类中所涉及的特征选择和分类算法进行了论述,并通过实验的方法进行了深入的研究。
采用kNN和Naive Bayes分类算法对已有的经典征选择方法的性能作了测试,并将分类结果进行对比,使用查全率、查准率、F1值等多项评估指标对实验结果进行综合性评价分析.最终,揭示特征选择方法的选择对分类速度及分类精度的影响。
关键字:文本分类特征选择分类算法A Review For Feature Selection And ClassificationAlgorithm In Text CategorizationAbstract:Text categorization is a key technology in the process of information retrieval and filtering,whose task is to process automatically the unknown categories of documents and distinguish the labels they belong to in the set of predefined categories. This paper mainly discuss the feature selection and classification algorithm in text categorization, and make deep research via experiment.kNN and Native Bayes classification algorithm have been applied to test the performance of classical feature detection methods, and the classification results based on classical feature detection methods have been made a comparison. The results have been made a comprehensive evaluation analysis by assessment indicators, such as precision, recall, F1. In the end, the influence feature selection methods have made on classification speed and accuracy have been revealed.Keywords:Text categorization Feature selection Classification algorithm)|(log )|()()|(log )|()()(log )()(111t C p t C p t p t C p t C p t p C p C p t IG i m i i i mi i i m i i ∑∑∑===++-=前言互联网技术的高速发展引起了信息量的爆炸式增长,面对庞大的数据信息,如何在大规模的文本异构信息中准确、快速、全面地查找到个人所需的特定信息,已经成为了一项具有非常重要意义的研究课题[1]。
文本分类的主要功能就是对相关的文档集合进行类别的标签与分配,其主要依据是在文本训练过程中将那些已经被提前分配合理的作为类别标签的训练文档集和。
作为自动信息管理的核心技术,人工智能与信息检索技术是文本自动分类的两大技术基础,在组织和管理海量文本信息技术领域中文本分类是一种非常有效的技术手段[1]。
所以,对文本自动分类技术的深入研究有着非常重要的理论意义与实用价值。
目前通常采用向量空间模型来描述文本向量[2]。
然而,面对高维的文本特征,如果不进行降维处理,则会造成“维度灾难”,从而大大影响分类效果。
特征降维是文本分类过程中的一个重要环节。
特征提取和特征抽取是特征降维技术的两大类,相对于特征抽取方法,特征提取方法因其快速、简单、便捷的优点,在文本分类领域中得到广泛的应用。
选择合适的文本表示模型、特征降维方法和分类器算法对文本分类的速度和精度有着至关重要的影响。
本文主要采用NewsGroups 语料库中的20news-18828数据源,使用kNN 和Native Bayes 分类算法对验证几种已有的经典特征选择方法,并将其分类结果进行比较,揭示特征提取算法对分类性能的影响。
1、几种经典的特征提取方法1.1 文档频率(DF )文档频率是指在训练文档集中某词条出现过的文档总数[3]。
文档频率特征提取方法的基本思想是:首先根据具体情况设定最小和最大的文档频率阈值,接着计算每个特征词的文档频率。
如果该特征词的文档频率大于已设定的最大文档频率阈值或小于最小的文档频率阈值,则删除该特征词,否则保留。
Nn t DF t=)( (式1-1) 其中,t n 表示词条t 在文档中出现的次数,N 表示文本的总词汇数。
DF 是一种最简单的词约简技术,常用于大规模的语料特征选择中。
但其缺点是如果某一稀有词条主要出现在某类训练集中,能够很好地反应该类别的特征,但因低于某个设定的阈值而直接滤除掉,因此就可能影响文本分类器的分类精度。
1.2 信息增益(IG )在文本分类系统中,信息增益算法通过统计某一个特征词t 在文本类别中是否出现的文档频数来计算该特征项t 对于文本类别i c 的信息增益。
该算法考虑了特征t 在文档中出现前后的信息熵之差,公式定义为[3]:(式1-2)其中,m 表示语料库中文档类别总数;)(i C p 表示i C 类文档在语料库中出现的概率;)(t p 表示包含特征t 的文档的概率;)(t p 表示不包含特征t 的文档的概率;)(t C p i 表示包含特征t 的文档属于类别i C 的概率;)(t C p i 表示包含特征t 的文档不属于类别i C 的概率。
信息增益法的缺点是,它考虑了特征未发生的情况,尽管特征不出现的情况也可能对文本分类的判别有积极作用,但这种积极作用往往要远小于考虑这种情况时对文本分类带来的干扰。
1.3 互信息(MI )互信息衡量的是某个特征词和特征类别之间的统计相关性。
因此,某个特征词t 和某个文本类别i c 互信息定义度量两个给定对象之间的相关性,在不良信息过滤问题中用以度量特征项对于文本主题的区分度。
特征词t 和类别i c 的互信息公式定义如下[4]:(式1-3)其中,m 为类别数;)(i C p 表示类别i C 的概率;),(i C t p 表示包含特征t 且属于类别i C 的概率;)(t p 表示特征t 的概率;)(i C p 表示属于类别i C 的概率。
互信息值较高的特征词通常在某个类别i c 中出现的概率高,而在其他文本类别中出现的概率低,也就更有可能被选作为文本类别i c 的特征。
在m 个类别的文本训练集上特征项t 的互信息值公式定义如下[5]:),()(1∑==mi i i c t MI c p MI (式1-4)1.4 2χ统计(CHI )2χ统计用来衡量特征词条t 和类别i c 之间的统计相关性。
假设特征t 和类别i c 之间是符合一阶自由度的2χ分布,则特征词t 对于类别i c 的2χ统计公式定义如下[6]:(式1-5)其中,A 表示属于i c 类且包含t 的文档频数,B 表示不属于i c 类但是包含t 的文档频数,C 表示属于i c 类但是不包含t 的文档频数,D 表示不属于i c 类且不包含t 的文档频数。
对于多类问题,分别计算t 对于每个类别的卡方统计值,再用下面两种公式计算特征t 对于整个样本的卡方统计值,分别进行检验:(式1-6)(式1-7)其中,n 为类别数,从原始特征空间中移除低于特定阈值的特征,保留高于该阈值的特征作为文档表示的特征。
当特征词t 与文本类别i c 相互独立时,0),(2=i c t χ,此时特征t 不含有任何与文本类别i c 有关的鉴别信息。
反之,),(2i c t χ的值越大,t 与i c 的统计相关性越强。
但是通过2χ统计的公式可看出,该方法对低文档频率的特征项不靠谱,因其提高了在指定文本类别中出现的频率较低但却大量存在于其他类别的特征项在该文本类别中的权值。
),(max )(212max i n t ct t χχ==)()(),(log)(),(1i i mi i i c p t p c t p c p c t MI ∑==)(*)(*)(*)()(*),(22D C B A D B C A CB AD N c t i ++++-=χ),()()(212i n i i avg C t C p t χχ∑==1.5 TF-IDF词汇频率: ,其中,N 表示文本的总词汇数,w N 表示词w 在文本中出现的次数,TF 的值越大,词w 与文本的相关性就越强;逆文档频率:其中,w D 表示包含词w 的文档数,D 表示语料库中的总文档数目,IDF 值越大,该词与文档的相关性越低。
(式1-8) 针对TFIDF 算法的归一化计算公式为:(式1-9)2、文本分类方法文本分类方法主要分为两大类:基于规则的分类方法和基于统计的分类方法。
其中基于规则的分类方法包括:决策树、关联规则和粗糙集等;基于统计的分类方法包括:K-最近邻算法、朴素贝叶斯、支持向量机等算法。
由于后者具有实现简单、分类性能良好的优点,故而在文本自动分类领域中应用广泛。
2.1 K-最近邻算法K-最近邻算法(kNN ),是一种基于向量空间模型的类比学习方法。
因其简单、稳定、有效的特点,被广泛应用于模式识别系统中。
使用kNN 算法分类时,首先将待分类文档通过特征权重计算表示成空间向量形式的特征集合;然后,根据相应的准则将特征向量与预先确定好类别的样本权重向量进行相关的计算,得到前K 个相似度较高的文本;最后,判定该文档的文本类别属性。
在计算文本相似度时,通常采用向量夹角余弦来度量。
在空间模型中,通过计算两个文本向量之间夹角α的余弦值来表示两个文档i d 和j d 之间的文本相似度,计算公式如下:(式2-1)其中,ik w 表示第i 个文档的第k 个属性值。
当两个文本越相似时,),(j i d d sim 的值越大。
通过上述计算公式,从预先确定好类别的文档集合中选取前K 个与待分类文档最接近的样本。
对于待分类样本的K 个近邻样本,依次计算对每个类别的权重,计算公式如下:∑∈=kNNd j i i j i c d y d x sim c x p),(),(),( (式2-2)其中,x表示待分类文档的特征向量,),(j i c d y 则表示文本类别属性函数,若文档i d 属于类j c ,则该函数值为1,否则为0.NN TF w=)log(wD D IDF =⎥⎦⎤⎢⎣⎡=)(log ),(),(i j i j i t N N d t TF d t TFIDF ∑==ni jij i ij dt TFIDF d t TFIDF W 12),(),()(*)(*cos ),(12121∑∑∑=====Mk jk M k ik jkMk ikj i W W W Wd d sim α在文本分类中,K-最近邻算法的主要过程是:在文本的训练阶段,将文本训练集文档分别表示成机器可识别操作的特征向量的形式;在文本分类阶段,主要进行文本的相似度计算和权重值排序。