③有些成功的应用中,SVM 方法对核的选取不敏感
4.4 性能评估方法
在性能评估中,我们采用的是计算分类器对于不同分类的准确率和召回率。
4.4.1 准确率(Precision)
准确率:指的是在所有被判断为正确的文档中,有多大比例是确实正确的。
例如:
我们把文件分类这样四类: A:系统检测到的相关的文档 B:系统检测到的不相关的文档 C:系统没有检测到的相关的文档 D:系统没有检测到的不相关的文档
那么我们的计算公式为:
准确率P=A/?A?B?
4.4.2 召回率(Recall)
召回率:指的是在所有确实正确的文档中,有多大比例被我们判断为正确。
例如:我们继续参照上述的例子。
那么我们的计算公式为:
召回率R=A/?A?C?
根据上述的两个公式,我们计算出每一类的准确率和召回率,进行比较,今儿对分类器的分类效果进行评估。
5.实验过程
5.1文本分类语料库的采集
我们直接使用搜狗语料库的新闻预料,共有十个类别,每个类别取2000篇作为训练集,另取2000篇作为测试集。这样我们就获得了20000篇的训练集和20000篇的测试集。
5.2数据预处理
5.2.1文本格式预处理
原始的新闻按文件夹划分类别,同一个类别在同一个文件夹下,每篇新闻占一个文件。首先我们把所有文章整理到一个文件中,并标上类型号,这样便于后期处理。 5.2.2分词和去停用词处理
对语料库进行分词处理阶段,我们采用中科院研发的汉语分词软件NLPIR。
我们为了对大量的文本进行分词,在NLPIR中又添加了一个批处理函数,对NLPIR进行调用,对大量文本进行分词处理。通过更改
NLPIR的参数,我们获取了带有词性标注的大量分词后的文本文件。然后我们利用模式匹配的方法把所有分名词过滤掉,然后根据停用词表除去停用词。
5.3特征提取和表达
5.3.1特征词提取
本次实验我们采用信息增益法进行特征词提取。提取特征词1000个。
将分词,取名词,去停用词后的每篇文章统一整理到一篇文本中。每篇文章作为一行记录出现,这样便于采用信息增益法计算每个单词的信息增益值。它是一个基于嫡的评价方法,涉及较多的数学理论和复杂的嫡理论公式,定义为某特征在文档中出现前后的信息嫡之差。根据训练数据,计算出各个单词的信息增益,删除信息增益很小的词,其余的按照信息增益从大到小排序。
信息增益评估函数被定义为 IG(t)
=
P(t)*P(Ci|t)*log(P(
Ci
|
t)/P(
Ci))+
P(tn)*Σ
(P(Ci|tn)*logP((Ci|t)/P(i))),
式中, P(Ci|t) 表示文本中出现特征t时,文本属于Ci类的概率; P(Ci|tn) 表示文本中不出现单词t时,文本属于Ci类 的概率; P(Ci) 表示类别出现的概率; P(t) 表示t 在整个文本训练集中出现的概率。
计算完每个单词的信息增益值后,采用堆排序方法选取前5000个单词作为特征词,即词典。
5.3.2建立文本向量
根据提取的特征词采用TF-IDF法建立文本向量。
TF-IDF是一种加权技术,它通过统计的方法来计算和表达某个关键词在文本中的重要程度。TF-IDF是由两部分组成,一部分是TF(Token Frequency),表示一个词在文档中出现的次数,即词频。另一部分是IDF(Inverse Document Frequency),表示某个词出现在多少个文本中(或者解释为有多少个文本包含了这个词),即逆向文档频率,通常由公式IDFt=log((1+|D|)/|Dt|),其中|D|表示文档总数,|Dt|表示包含关键词t的文档数量。
根据上述原理,我们把训练集转化为libsvm所支持的向量格式。 LIBSVM的训练集格式如下: lable1
index1:featureValue1
index2:featureValue2
index3:featureValue3 ...
lable2
index1:featureValue1
index2:featureValue2
index3:featureValue3 ...
对应到文本分类上就是:类别ID 特征序号:特征值(TFIDF值)......
5.4训练过程
我们利用libsvm提供的grid.py工具对训练集进行参数寻优,并得到参数:c=128.0 g=3.0517578125e-05 ,然后利用这组参数对训练集进行训练,得到模型文件。
5.5测试过程
我们对测试集进行同样的分词与去停用词等操作,然后根据训练得到的模型文件,对其进行预测。然后,分析预测输出文件和初始的测试文件,得到相关统计数据。
5.6实验结果和性能评估
训练集:20000篇 测试集:20000篇
特征提取后字典大小:1000词 训练时间:92.7s 测试时间:80s 平均准确率:83%
具体准确率与召回率如图5-1所示:
1.210.80.60.40.20军事文化教育经济女性体育汽车娱乐军事IT准确率召回率 图5-1 预测结果准确率与召回率
预测结果混淆矩阵如图5-2所示:
军事 文化 教育 经济 女性 体育 汽车 娱乐 军事 IT 军事 0 44 23 1 48 3 2 17 26 17 文化 教育 经济 女性 体育 汽车 娱乐 军事 IT 35 21 8 50 0 0 18 24 11 0 19 23 38 36 5 69 45 18 33 0 16 25 3 3 23 8 36 11 6 0 2 0 2 4 3 3 56 44 20 0 3 3 16 28 18 45 5 17 4 0 1 9 7 0 8 14 15 7 1 0 21 0 17 70 17 22 9 2 7 0 1 9 68 19 15 61 6 2 25 0 13 38 70 15 20 1 23 37 12 0
6 实验总结
通过这次实验,学习了文本分类的常规步骤,认识了一些分类方法的原理和使用方法。同时锻炼了编程编程能力。最关键的是获得了对数据挖掘领域的兴趣。