隗中杰
摘要:TF IDF是文本分类中计算特征权重的经典方法,但其本身并未考虑特征词在文档集合中的分布情况,从而导致类别区分度不大。通过计算特征词类内密度与特征词在样本中均匀分布时整体平均密度的比值对IDF函数进行改进。实验结果表明,改进后的TF IDF考虑了特征词内分布与在整体文档集中的分布,提升了对类别的区分能力,有效改善了文本分类效果。
关键词:文本分类;密度;TF IDF;特征权重;分布
Improvement of TF IDF Weight Calculation Method in Text Classification
WEI Zhong jie
(Information Technology and Network Security, People's Public Security University of China,Beijing 100038,China)
Abstract:TF IDF is a classical method for calculating feature weight calculation in text classification, but it does not consider the distribution of feature words in the document collection itself, which results in less classification. In this paper, the IDF function is improved by calculating the ratio of the intra class density of the feature words to the overall average density of the feature words evenly distributed in the sample. Experiments show that the improved TF IDF considers the intra class distribution of feature words and the distribution of the overall document set, which improves the ability to distinguish categories and effectively improves the text classification effect.
Key Words:text classification; density; TF IDF; feature weight; distribution
0 引言
隨着信息技术的发展与大数据时代的到来,每天都会产生海量数据,信息量呈几何级数增长,而文本数据在其中占据着非常重要的部分。因此,如何对相关数据进行有效处理以便于人们加以利用,文本分类是至关重要的。文本分类是指将未分类的文档,通过分析文档内容将其归类为已知的某一个或某几个类别[1]。文本分类通常需要经过文本预处理、特征选择、文本向量化、分类4个步骤。本文将对经典方法TF IDF进行改进,并通过实验证明改进TF IDF算法的有效性与可行性。
1 国内外研究现状
TF IDF是使用最为广泛的文本特征权重计算方法[2],对其进行改进更是文本分类与聚类领域的研究重点。在国外,Forman[3]通过统计比较类分布的显著性,对IDF进行二元正态分割;Lan等[4]提出TF RF算法,用相关性频率替代IDF。在国内,张玉芳等[5]将IDF计算改为IDF=log N(t j,c i)N(t j,c i)+N(c j,C i),其中N(t j,Ci)为类C i中包含特征词t j的个数,N(t j,C i)为非类C i包含特征t j 的个数。该方法将类内与类间特征简洁地体现在对IDF的改进中,从而一定程度上改善了传统TF IDF的缺陷;申剑博[6]通过调和类内均匀分布与类间比重,提出TF DFI DFO算法;覃世安[7]利用文档中词出现的概率替代词频,对IDF进行了优化;赵小华[8]通过CHI统计值对TF IDF进行修正,提出TF IDF CHI算法,之后路永和等[9]将CHI值取自然对数,以改善其权重影响过大的问题,并提出TW TF IDF算法;马莹等[10]考虑特征词之间的近义关系,结合语义相似度改进词频信息,从而改进了TF IDF算法。此外,还有一些学者利用文档长度与特征词长度等信息对传统方法进行改进[11 12]。本文通过特征词类内聚集程度与文档集中的平均密度改进TF IDF方法,既考虑到特征词的类内分布,又考虑到特征项在整体文档集中的分布,从而有效解决了传统TF IDF算法类别区分能力较低的问题,提高了文本分类精度。
2 文本分类步骤
2.1 文本预处理
文本预处理主要步骤为分词[13]与去停用词。分词即利用分词算法将文本切分成字、词、短语的过程,分词精度对后续应用模块影响很大,是语言处理最核心的任务。中文分词任务是在词与词之间添加间隔符,并尽可能保证分词准确性。分词后的语料中包含大量无意义词,例如人称代词、介词、副词等,这些词称为停用词,对文本分类并无实质性帮助,反而会使特征空间过大,影响分类速度与精度。因此,在文本分类时,应将停用词从特征集中去掉,以提高文本分类效率。
2.2 特征选择
特征选择[14]是指从一组特征中依据某个评估函数挑选出一些最具代表性的特征。特征选择主要方法[15]包括文档频率(DF,Document Frequency)、信息增益(IG,Information Gain)、互信息(MI,Mutual Information)、χ 2统计量(CHI,Chi-square)、期望交叉熵(ECE,Expected Cross Entropy)等。其中χ 2统计量经过实验验证有着较好效果,因此本文在后续实验中通过 χ 2统计量进行特征选择。χ 2 统计方法是度量词条与文档类别之间相关程度的统计测试方法,其基本思想是通过观察实际值与理论值之间偏差确定理论正确性,计算方程如下:
其中,N表示整个语料文档总数,t为词条,c为类别。A表示类别c中包含词条t的文档数,B表示非类别c中包含词条t的文档数,C表示类别c中不包含词条t的数量,D表示非类别c中不包含词条t的文档数。
2.3 文本向量化
向量空间模型VSM[16]是应用最广泛的文本表示模型,通过特征权重反映特征词对文档贡献大小、对该文本内容标识能力及区分其它文本的能力,TF IDF则是计算特征权重的方法之一。
2.4 文本分类
文本分类算法是指通过已知类别样本得到分类器,再通过分类器对未知类别样本进行自动分类。常见文本分类方法有KNN算法[17]、支持向量机(SVM)算法[18]、朴素贝叶斯算法、决策树算法等。已有研究结果表明,SVM算法分类效果较好[19 21],因此本文选取SVM算法进行分类器训练。
3 TF IDF算法改进
3.1 传统TF IDF算法
TF IDF是应用最广泛的权值计算方法。TF指词频(Term Frequency),代表一个词或词组在文档中出现的频率,IDF指逆文档频率(Inverse Document Frequence),反映词语在整个文档集中的重要性,其思想为整个文档集合中包含某个词或词组的文档数越多,代表该词或词组对文本贡献越低。TF与IDF常用公式如式(2)、式(3)所示。
其中 N(t i,d)表示特征词条t i在文档d中出现次数,S表示文档d总词条数。
其中N表示总文档数,N(t i)表示文档集中包含词条的文档数。
上式中,N(t i)=N(t i,C j )+N(t i,C j),其中N(t i,C j )为特征词t i在类C j中的文档个数,N(t i,C j )為非类C j中包含特征词t i的文档个数,当N(t i,C j )增加时,N(t i) 也随之增加,IDF值则会减少,最终权重值也会减少,意味着该特征词不能很好地将该类文档与其它类别文档加以区分,类别区分能力较弱。但是根据实际文本分类进行判断,如果某一词项在某一类中出现次数越多,越能代表该类文档,特征权重也越高,且区别于其它类别的能力越强。因此,传统IDF不能很好地反映特征词分布情况,权值大小仅是由整个语料中包含特征项的文档个数决定的,导致传统TF IDF的类别区分能力不足。
3.2 TF IDF改进
现有某一语料,其类别集合为S={C 1,C 2,C 3,…,C n},n为类别数目,特征词集合为T={t 1,t 2,t_3,…,t j },j为特征词数目。本文提出的改进算法思想是:首先,假设特征词t在整个语料中均匀分布,可求得特征词t的分布密度ρ t;其次,求出特征词t对于类C i的分布密度ρ ti;最后,通过计算ρ ti与ρ t之间比值,便可得到类C i中特征词t的聚集程度c。c值越大,说明特征词t在类C i中聚集程度越高,反之亦然。基于以上思想, 对IDF进行以下改进:
其中, N(t j,C i)表示类C i中包含特征词t j的文本数目,N(t j,C i)表示类C i中不包含特征词t j的数目,N(t j,C i)表示非类C i中包含特征t j的数目,N 为训练集中的文档总数。调整后的IDF′考虑到词条加入的类别信息,从而克服了传统TF IDF存在的问题。
将公式进行如下验证:类C i中出现特征词t j的文档数N(t j,C i)与特征词t j对于类C i的特征权重应呈正相关。N(t j,C i )+N(t j ,C i) = N(C i)与N都是一个常数。因此,上述公式可简化为求N(t j,C i)与N(t j,C i)N(t j,C i)+N(t j,C i)的相关性。
其中,N(t j,C i)增加时,N(t j,C i)N(t j,C i)+N(t j,C i)的值也随之增加,所以两者正相关。因此,N(t j,C i)与特征权重呈正相关,即特征词在某类中出现频率越高,其相应特征权重越大。同理可证明,N(t j,C i)与特征权重负相关,即非类C i中包含特征词t j的文档越多,则特征词t j对于类C i的 权重越小,符合对传统TF IDF改进的要求,因此可用于特征权重计算。
4 实验结果及分析
4.1 实验环境与实验数据集
本文文本分类算法通过python语言加以实现,并在Windows10环境下进行测试,内存为8G。实验数据来自搜狗实验室搜集的9个类别新闻语料,包括财经、互联网、健康、教育、军事、旅游、体育、文化、招聘。本文在每类中随机挑选1 000篇文章进行训练与测试,训练集与测试集比例为4∶1。
4.2 评价指标
本文采取准确率 P、召回率R、F1值及宏平均F1值对分类效果进行评估。分类结果有以下4种情况:①属于类C的样本被正确分类到类C的数目,记为TP;②不属于类C的样本被分类到类C的数目,记为FN;③属于类C的样本被错误分类到其它类,记为TN;④不属于类C且被正确分到其它类,记为FP。
准确率即为预测该类样本准确性,计算公式如下:
召回率即为预测正确的类别样本对于样本集中该类别样本的覆盖程度,公式为:
F1值用来调和准确率和召回率,计算公式如下:
宏平均F1值可用来评价整个分类器分类效果的优劣,其值为各类F1值的算术平均值。
4.3 实验结果
本文实验首先对文档集合进行预处理,并使用统计量进行特征选择,取每个类别值排名前100的关键词组成特征集合。两种算法通过SVM进行分类,实验结果如图1与表2所示。
从表2与图1可以看出,改进TF IDF相比于传统TF IDF,分类效果有着显著提升。由图1可以看出,各个类别的 F1 值均有所提升,其中“文化”一类提升最为明显,提升了6.18%,并且宏平均 F1 值由84.50%提升到87.16%。实验结果表明,改进后的TF IDF方法对于提高文本分类效果是可行的。
5 结语
针对传统TF IDF不能体现特征词分布情况以及类别区分能力不足的缺点,本文通过特征词类内密度与特征词均匀分布时的密度之比(聚集程度)对IDF进行改进。实验结果证明,改进的TF IDF算法分类效果优于传统TF IDF算法。文本分类中,特征词提取也是其中的关键一环,因此在接下来研究中,將会对特征词选择与提取进行改进,以进一步提升文本分类效果。
参考文献:
[1] SEBASTIANI F. Machine learning in automated text categorization[J]. ACM Computing Surveys (CSUR), 2002, 34(1):1 47.
[2] 施聪莺,徐朝军,杨晓江.TFIDF算法研究综述[J].计算机应用,2009,29(S1):167 170,180.
[3] FORMAN G. BNS feature scaling: an improved representation over TF IDF for SVM text classification[C].Proceedings of the 17th ACM Conference on Information and Knowledge Management. USA, California: ACM, 2008:263 270.
[4] LAN M,TAN C L,LOW H B,et al.A comprehensive comparative study on term weighting schemes for text categorization with support vector machines[C].Special Interest Tracks and Posters of the 14th International Conference on World Wide Web,ACM,2005: 1032 1033.
[5] 张玉芳,彭时名,吕佳.基于文本分类TF IDF方法的改进与应用[J].计算机工程,2006(19):76 78.
[6] 申剑博.改进的TF IDF中文本特征词加权算法研究[J].软件导刊,2015,14(4):67 69.
[7] 覃世安,李法运.文本分类中TF IDF方法的改进研究[J].现代图书情报技术,2013(10):27 30.
[8] 赵小华.KNN文本分类中特征词权重算法的研究[D].太原:太原理工大学,2010.
[9] 路永和,李焰锋.改进TF IDF算法的文本特征项权值计算方法[J].图书情报工作,2013,57(3):90 95.
[10] 马莹,赵辉,李万龙,等. 结合改进的CHI统计方法的TF IDF算法优化[J]. 计算机应用研究,2019 (9):1 6.
[11] 贺科达,朱铮涛,程昱.基于改进TF IDF算法的文本分类方法研究[J].广东工业大学学报,2016,33(5):49 53.
[12] 杨彬,韩庆文,雷敏,等.基于改进的TF IDF权重的短文本分类算法[J].重庆理工大学学报,2016,30(12):108 113.
[13] 梁喜涛,顾磊.中文分词与词性标注研究[J].计算机技术与发展,2015,25(2):175 180.
[14] 毛勇,周晓波,夏铮,等.特征选择算法研究综述[J].模式识别与人工智能,2007,20(2):211 218.
[15] 陈晨. 文本分类中基于k means的特征选择算法研究[D].西安:西安电子科技大学,2014.
[16] SALTON G, WONG A, YANG C S. A vector space model for automatic indexing[J]. Communications of the Acm, 1974, 18(11):613 620.
[17] COVER T, HART P E. Nearest neighbor pattern classification[J]. Information Theory, IEEE Transactions on, 1967,13(1):21 27.
[18] 丁世飞,齐丙娟,谭红艳.支持向量机理论与算法研究综述[J].电子科技大学学报,2011,40(1):2 10.
[19] 刘怀亮,张治国,马志辉,等.基于SVM与KNN的中文文本分类比较实证研究[J].情报理论与实践,2008,31(6):941 944.
[20] 马建斌,李滢,滕桂法,等.KNN和SVM算法在中文文本自动分类技术上的比较研究[J].河北农业大学学报,2008(3):120 123.
[21] 卢苇,彭雅.几种常用文本分类算法性能比较与分析[J].湖南大学学报:自然科学版,2007(6):67 69.