对中科院分本分类演示系统TxtCat的评测
TxtCat是中科院计算所的一个开源系统。它基于KNN(K Nearest Neighbors)和SVM(Support Vector Machine)两种算法进行训练和对分本分类,并可对特征选择方法、文档语种、特征空间维数、概率估算方法、特征选择方式进行选择。由于时间有限,本作业报告只对文档语种为中文,概率估算方法为基于词频统计,特征选择方式为全局选的KNN算法进行测试。
在对文本进行分类之前先要训练分类器,选择一个分好类的目录作为训练集,设好特征选择方法、分类语种、特征空间、概率估算方法、特征选择方式等相应的参数后,对分类器进行训练。训练完毕后得到一个feature数据和train数据。feature数据是构建向量空间的特征词及其区分度,经过分析知道,一个词在feature中对应的数值越低,其区分度越高。可以看到,对一些在多个分类中都出现的词,区分度就较低;而一些只在特定分类中出现的词,区分度就较高。train数据是对每个文档计算出来的向量及被划分到的类别。
一,对特征选择方法的横向比较
在训练KNN分类器时,有6种特征选择方法可选。在特征空间维度都设为1000的条件下用每种特征选择方法进行训练。训练完毕得到分类模型,对每个分类模型分别对test目录下的文档进行分类,k近邻值均设为35,分类方式为单类分类,得到每种特征选择方法分类的准确度,准确度是由微平均查准率(或微平均查全率)得到的。
特征选择方法 |
准确度 |
Information gain |
0.896146 |
Mutual Informaiton |
0.384358 |
Cross Entropy |
0.896146 |
X^2 Statistics |
0.890792 |
Weight of Evielence |
0.895075 |
Right half of IG |
0.867238 |
可以看到,Mutual Information方法准确度很低且对某些文档无法分类之外。其他五种特征选择方法分类准确度都达到86%以上。其中Information gain和Cross Entropy两种特征选择方法准确度最高,都为0.896146。
二,对特征空间维数的比较
接下来对准确度最高的特征选择方法之一Information gain通过改变特征空间维数进行测试,分别得到宏平均查全率、宏平均查准率、微平均查全率和微平均查准率。
特征空间维度 |
宏平均查全率 |
宏平均查准率 |
微平均查全率 |
微平均查准率 |
500 |
85.275% |
90.050% |
87.580% |
87.580% |
1000 |
87.736% |
91.410% |
89.615% |
89.615% |
5000 |
78.276% |
88.363% |
81.478% |
81.478% |
10000 |
71.737% |
88.011% |
75.696% |
75.696% |
50000 |
66.038% |
83.905% |
70.128% |
70.128% |
可以看出在特片空间维度为1000时,各项指标均为最优。为什么特征空间维度增大,分类的的准确度反而更低呢?对这里待分的10个类别来说,需要的特征词大约在1000左右。选用的特征词过少当然不能准确地区分各个类别的文档。然而选用的特征词过多时,一些区分度很低的冗余词汇也被加了加来,这样那些区分度较高的词在其中被“稀释”了,不能有效地为区分文档做贡献,因此导致特征空间增大时文档分类的准确度降低。
三,对分类准确度的分析
从以上两次实验可以看出当选择合适的特征选择方式和合适的特征空间维度大小时,能得到较好的分类准确度。但上述分类结果都是以单类分类作为分类方式的。当特征空间为1000时,得到的分类结果混淆矩阵如下:
|
环境 |
政治 |
艺术 |
医药 |
体育 |
军事 |
经济 |
教育 |
交通 |
计算机 |
环境 |
54 |
6 |
1 |
1 |
1 |
0 |
2 |
1 |
1 |
0 |
政治 |
0 |
158 |
2 |
0 |
3 |
1 |
3 |
0 |
0 |
0 |
艺术 |
0 |
2 |
74 |
0 |
1 |
0 |
1 |
3 |
1 |
0 |
医药 |
4 |
0 |
5 |
53 |
0 |
0 |
6 |
0 |
0 |
0 |
体育 |
0 |
0 |
0 |
0 |
148 |
1 |
0 |
0 |
0 |
0 |
军事 |
0 |
16 |
0 |
0 |
3 |
64 |
0 |
0 |
0 |
0 |
经济 |
0 |
6 |
0 |
0 |
0 |
0 |
100 |
1 |
1 |
0 |
教育 |
0 |
1 |
2 |
0 |
1 |
0 |
2 |
67 |
0 |
0 |
交通 |
0 |
1 |
0 |
0 |
0 |
1 |
2 |
0 |
67 |
0 |
计算机 |
2 |
0 |
0 |
0 |
0 |
0 |
9 |
2 |
1 |
52 |
可以看出客观上有些文章属于多个类别,有的类别与别的类别交叉部分较大,比如政治和军事、经济交叉较大,经济和和计算机交叉较大。因此强行将某一篇文章只归于一个类别是不符合客观事实的。TxtCat也提供了多类分类的分类方式,但没有提供对多类分类进行结果评价的功能。如果各分类没有交叉,测试集中各文档又选择得很好(不同时属于多个分类),单类分类应该能达到更好的分类结果。
2004年12月12日星期日 
|