基于SVM的中文文本分类方法
1、文本分类简介
文本分类(Text Classification)是将文本文档与规定好的类别进行匹配的过程。文本分类可以分为训练和分类两个阶段,其对应的流程图如下面的图1.1和图1.2所示:
图1.1 文本分类的训练阶段
图1.2 文本分类的分类阶段
训练阶段使用训练集构造文本分类器,分类阶段就使用训练好的分类器对需要分类的文本进行分类处理。从图1.1和1.2可以得出训练和分类阶段的处理除了最后一步不相同,其他的处理步骤完全相同。最后一步是由具体的分类算法来处理,训练阶段分类算法使用输入的数据进行分类器构建的工作,否则调用训练好的分类器进行分类处理。
2、中文文本预处理
中文文本预处理包括中文分词和去停用词两个过程。
中文分词,指的是对一个用汉语表达的语句,分析其包含的有意义的词或词组,最后把这些词从中文语句中提取出来,这样原来的中文语句变成一个个单独的词。常见的文本文档分类方法,进行分类通常都是基于文本文档包含的“词”的各种信息进行的,这是因为,在文本文档中,词是最小的且能够反映文档所包含信息的有意义的语言构成成分,同其他语言的文字相比,中文文本的最小单元句子,其所包含的词或词组没有像其他语言那样有空格隔开。
去停用词,一般是指文本中出现频率很高,但实际意义又不大的词,如常见的“的”、“在”、“和”、“接着”之类,还有一些是使用过于频繁的单词,如“我”、“就”、“啊”和“吧”等等,还有各种的标点符号,这些词都必须去除掉,避免分词后有过多的干扰。
目前,中文分词实现的技术有:词典匹配、统计分析和语义分析三类。词典匹配分词方法首先将文本划分成一个个的句子,然后按照正向最大匹配或逆向最大匹配或正向、逆向相结合的匹配策略将待分词的句子与一个已存在的分词词典中的词条进行匹配,匹配成功则正在匹配的句子是一个词,否则不认为是一个词。该方法实现较简单,存在的缺点是不能较好的识别出字典中不存在的新词。统计分析分词方法按照语料库中的词频信息对中文文本进行分词,其根据是语句中那些相邻的字同一时间出现的次数越多,它们就越有可能是一个词语。这种方法能避免传统的基于字典进行分词处理不能识别出那些虽然不在词典但是其意义上是一个词的现象的出现,尤其是人名、地名、机构名和不断产生的新词。语义分析方法要让计算机能够理解人类的语言需要涉及大量复杂的训练和计算,实现起来比较困难,因此该方法还处于试验阶段。
市面上已有的分词系统有多种,如中科院的ICTCLAS 分词、结巴分词。中科院的ICTCLAS 分词系统充分利用了词典匹配、统计分析这两种分词方法的优点,既能发挥词典匹配法分词速度快、效率高的特点,又能利用统计分析法结合上下文识别新词、消除歧义的优点。最重要的是,它开源不要钱(但是会每个月过期一次)。结巴分词分词效果也很不错。
3、特征选择
文本预处理后以特征项集合的形式存在,此时特征项集合中的特征项数量非常的多,若直接处理这些特征项,计算时的时空开销太大。另外,特征项集合中的大量的特征项的类别区分度其实很低,可以说对分类基本没有任何贡献。因此需要对特征项集合进行降维处理,即特征选择。把那些分类能力强的特征项留下,去掉分类能力很弱的特征项。
特征选择的思想为:通过构造一个评估函数对特征项集中的所有特征项进行评估,然后按照评估值降序排序,根据设定的阈值或特征项数目的要求选择前面的那些特征项。
目前,常见的特征选择方法有十多种,如互信息方法、期望交叉熵方法、文本证据权重方法、信息增益方法、χ2统计量方法(开方检验方法)等。
þχ2统计量(开方检验)
χ2统计量(chi-square distribution,CHI),又名开方检验。
它进行特征选择的思想为:假设特征项 t 和类别 Ci之间符合一阶自由度的χ2分布,特征项 t 对于类别 Ci的χ2统计值越高,特征项 t 和类别 Ci的相关性越强,类别区分度越大,反之的类别区分度越小,其计算公式如下:
上式中,N 为所有的文本数, A 为包含特征项 t且属于类别Ci的文本数目,B 为包含特征项 t且不