一种基于TF-IDF的朴素贝叶斯算法改进

2020-04-15 02:58许甜华吴明礼
计算机技术与发展 2020年2期
关键词:词频贝叶斯文档

许甜华,吴明礼

(北方工业大学 信息学院,北京 100144)

0 引 言

随着信息技术的发展,网络信息量急剧增加,其中文本信息是海量网络数据中的一大主体,但海量文本数据混乱存储,极大影响了信息获取的效率。如何快速准确地获取自己想要的信息便成为了一个重要问题。而现今广泛应用的分类技术可以帮助人们快速地筛选信息,并且从海量数据中提取信息进而构造高效的分类器,是数据挖掘领域中一个热门的研究方向。其中文本分类的过程一般分为以下步骤:数据预处理、数据特征提取、构建分类器、进行分类。

现今数据挖掘领域有多种分类算法,比如决策树、支持向量机、贝叶斯分类器和神经网络等。其中贝叶斯分类器通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,然后选择多种分类中的最大后验概率作为该对象所属分类的分类器。其计算过程简单快速,在多分类问题上计算复杂度比较均衡,且在多分布独立的假设下,分类器效果很好,所需样本少。贝叶斯分类器以其上述优点在文本分类、垃圾文本过滤、情感判别、多分类实时预测、推荐系统等领域中被广泛应用。在贝叶斯分类器中,朴素贝叶斯分类假定各个特征相互独立,互不干扰,能够处理多分类任务,适合增量式训练,尤其在数据量超过一定程度时,可以进行批次训练,所以在垃圾邮件过滤,文档分类中效果很好。

但是朴素贝叶斯网络在进行特征计算以及分类的过程中,默认所有特征的权重是一致的,这样的前提忽略了各文本特征的特性。而实际上,不同特征项在分类过程中起到的作用是不一样的,将特征的权重视为一致,会在一定程度上降低分类的准确率。比如:当一篇文章中多次出现了“雾霾”一词,便可认为文章主题和天气相关的概率是很大的,而当文章中只提到一次“雾霾”时,几乎是不能确定该文章主题和天气相关的。因此在使用朴素贝叶斯网络时,多与其他的特征加权算法共同使用,进行特征加权计算,以得到更好的分类效果。目前文本分类中常用的特征权重算法TF-IDF(term frequency-inverse document frequency)是一种基于词频的特征权重算法[1],通过计算词频和逆文本频率来计算特征权重,在兼顾效率的同时也能得到较满意的效果。但是该算法没有体现特征词在文档类间和类内的分布信息。文献[2]中加入特征类间比重信息,使其对文档分布不敏感,从而对文档集有更好的适应性;文献[3]通过计算特征词间的相似度,选择最大相似度作为特征权重,提高分类效果;文献[4]提出新词发现特征权重算法,改进TF-IDF对网络新词的识别能力,优化文本分类效果;文献[5]通过改进特征选择算法和特征加权算法,增加位置选择信息来提高文本分类效果;文献[6-9]均对TF-IDF权重进行了类间改进优化。

虽然这些文献对权重进行了改进,但均未兼顾文档词频的分布位置和算法在正负样本不均衡的倾斜数据集上的不同。鉴于传统TF-IDF算法的不足,文中提出一种基于TF-IDF的朴素贝叶斯改进算法TF-IDF-DL朴素贝叶斯算法。相对于以上各种改进方法,文中拟打算从特征词词频及其位置与类别之间的关系出发,对词频进行去中心化处理并引入特征词位置影响因子,以达到分类算法对不同的文档有更强的分类适应性,并能够在分类结果的准确率、召回率和F1值方面有所提高的目的。

1 相关研究

1.1 朴素贝叶斯算法

朴素贝叶斯算法假设各条件特征相互独立[10],计算文本中某些特征出现的情况下,该文本属于某分类的概率,最后通过对比各个分类概率的大小,找出最高概率值,从而得出当前文本所属分类。朴素贝叶斯的分类公式为:

(1)

其中,P(Cn)代表所要分类的文本属于类别Cn的概率,P(Xm|Cn)代表类别Cn中包含特征项Xm的概率。在朴素贝叶斯中,要求各特征独立,且将特征权重看作是一致的。但在实际应用中,各特征的权重是不一致的,为了让算法更加准确,使用特征加权算法进行特征权重的计算,从而提高分类性能[11]。

1.2 特征项频率TF

TF(term frequency)是特征词在文档中出现的词频,其表达式为:

(2)

其中,分子ni,j表示该词在文件中的出现次数,分母为文件中所有字词出现的次数总和。但是由于文档长度不一,为了防止同一词语在较长文档中出现的频率比在较短文档中出现的频率高的现象,一般会对词频进行正规化处理的改进。

1.3 逆向文件频率IDF

词频计算,在传统计算中是将所有特征词的权重看作是相同的。而特征词的权重在实际应用中并不一致,所以在文本分类中要提升主要特征项的作用,降低次要特征项的作用。

IDF(inverse document frequency)可以计算出给定词的重要性。某一特定词的IDF,由文件总数目除以包含该词语文件的数目进行表示[6]。如果一个特征项在一个文本中出现的频率较高,而在其他文本中出现的频率较低,那么说明此特征项能够很好地区分此类文本和其他文本。公式如下:

(3)

但在计算过程中,会出现某一词并未在某一文本中出现的情况。为了防止出现这种分母为零的现象,最常用的方法是使用拉普拉斯平滑对上述公式进行处理,进行平滑处理后的公式为:

(4)

最后,TF-IDF传统计算公式为TF*IDF,即:

(5)

其中,wdt为计算出的特征项t在文本d中的权重,tfdt为特征词在文本d中出现的频率,N为文本语料库中文本的总数,nt为文本语料库中包含特征项t的文本数。

2 TF-IDF的改进

2.1 去中心化词频因子

在TF-IDF的计算过程中,将特征词词频作为特征词权重大小的判断依据,以特征词出现的次数,以及特征词文档比例来进行权重计算。但是各个特征词表达的意义并不相同,某些特征词出现频率较少,属于日常用词,对于文本分类的贡献并不大,但是在权重计算中被赋予较高的权重;某些特征词属于生僻词,能够代表某一类文本,出现次数较少,但是在权重计算中被赋予较低的权重。

针对以上不足,文中采用去中心化特征词频因子对特征词出现的次数进行去中心化处理。在计算特征词频时,根据特征词出现的相对次数对权重进行增加或者减少的处理,在这两个方面进行改进后对结果再进行正值化处理,最终去中心化特征词频因子(decentralization term frequency)公式如下:

DTFd,t=eNd,t-Nt

(6)

将DTF添加到TF-IDF中,即分子变为:

(7)

若一个词在此文档中出现的频率低于该特征词出现的平均频率,那么DTF值小于1,则最终权重降低;反之则权重增加。通过去中心化处理,可以降低常用词和生僻词在词频上的差异性。

2.2 特征词位置信息

在文档中,大多数文章都会在开始和结束包含文章的主题,所以从分类角度来看,文章的开始和结束部分的信息较为重要,应该给予更高的权重[12],所以文中将特征词所在位置增加为权重计算的一个因子[13]。

将文档中所有特征词第一次出现的位置排列成一个序列,以文章总词数为总长度,以1为单元刻度,取序列最中间的位置为原始坐标,计算其他词距离原始坐标的距离,距离越远,给予权重越大,说明该词对分类的影响越大。定义位置影响因子(location factor)如下:

(8)

其中,ε为要增加的权重值倍数,δ的范围在(0,D/2)之间,其中D为序列总长度。

将去中心化词频因子和特征词位置信息加入到传统的TF-IDF公式中,最终改进的TF-IDF公式(TF-IDF-DL)如下:

wdt=TF*IDF*DIF*LF

(9)

最后将该公式与朴素贝叶斯算法相结合[14],改进后的朴素贝叶斯公式为:

(10)

3 实验与分析

3.1 数据处理

该实验采用搜狗实验室的搜狗新闻精简数据集(SogouCS,2012版http://www.sogou.com/labs/resource/cs.php),共698 M,128个新闻文档,完整新闻条数共429 818条,数据样式如下所示:

从上述样式的标签得出此条信息的新闻类别为sports类,以此方式进行所有文档新闻类别的提取,并提取对应的标签中的新闻内容信息。

同时,还需对得到的数据集进行进一步的处理。首先,将常用的停用词(的,并不,而且等)进行过滤,其次将新闻内容短于50字符的新闻视为垃圾新闻并进行剔除。最终数据集将分为12类,该实验选择其中5类进行分析,分别为:women,entertainment,travel,health,sports。为保证数据均匀分布,各类新闻各取5 000条作为训练集,取1 000条作为测试集,如表1所示。

表1 数据集

3.2 实验步骤

文中分别采用传统的TF-IDF算法、文献[2]中的TF-IDF-dist算法以及TF-IDF-DL算法进行特征权重计算并将其应用于朴素贝叶斯分类器中进行文本分类,对比实验结果并进行分析,具体实验步骤如下:

(1)输入文档转化为特征词后的词频向量;

(2)进行文本的特征词提取,并使用卡方检验(CHI-Squre)方法计算特征值的卡方,并按照卡方值从大到小进行排序,选取Top N的特征词;

(3)分别使用TF-IDF算法,TF-IDF-dist算法及TF-IDF-DL算法计算各特征词的权重值;

(4)将各个特征词的权重值加入到朴素贝叶斯算法中,计算得出文档属于各分类的概率,选择分类概率中的最大值作为最终类别,输出对应分类信息;

(5)对比分析实验结果。

3.3 实验评估指标

文中使用准确率、召回率、F1值三个指标来评估算法效果。

(1)分类准确率precision。

对于类别Ci的分类准确率定义为:分类结果中正确分类为Ci的样本数占分类结果中所有分为Ci类别的样本数(包含正确结果和错误结果)的比例。

(11)

(2)召回率recall。

对于类别Ci的召回率定义为:分类结果中正确分类为Ci的样本数占实际情形中分类为Ci的比例。

(12)

(3)F1值

F1值其实是准确率和召回率的调和平均值,它的最大值是1,最小值是0。

(13)

3.4 实验结果分析

在文本分类中少量的特征词不能对文本进行准确的分类预测,但特征词数量过大也会对实验有一定的消极影响。因此需要在分类前,找出最合适的特征词数量,由于特征词个数对所有权重值算法均适用,所以选择以TF-IDF算法为基准进行分类实验。由图1可得,随着特征词数量增加,precision值逐渐提高,但当特征词数量过大时,文本分类时间将会大幅增加。针对选取的数据集,在选择特征词数量为125左右时,precision增加速度开始减缓,且特征词数量在160左右时,分类时间开始变长。为了兼顾准确率和效率,该实验选取中间值143作为分类的特征词数量。

图1 特征词个数对precision和时间的影响

在采用TF-IDF-DL算法计算贝叶斯特征权重时,需要计算出位置信息的影响因子:ε和δ。当δ值一定时,在初始范围内分类的准确率随词频位置影响度的增加而提高,但当词频位置影响力度达到一定程度时,会超出该词频实际的作用效果,从而夸大其影响力,对分类效果产生负面影响,因此词频位置信息的影响度会存在一个准确率峰值,当ε值小于这个峰值时,分类准确率会随着ε值的增大而提高,当ε值大于该峰值时,准确率会随之下降。同理,当ε值一定时,对分类影响大的词频会分布在近首尾处,但是与中心位置坐标距离太小和太大都会对准确率造成一定的不良影响,因此最优的δ值也存在一个准确率峰值。通过图2(多个不同的δ值进行测试取得准确率的平均值)和图3(多个不同的ε值进行测试取得准确率的平均值)可知,对于该数据集的ε和δ的最优取值分别为1.5和D/6。

图2 不同ε对precision值的影响

图3 不同ε对precision值的影响

在对上述未知参数进行最优值求解后,进行TD-IDF,TD-IDF-dist以及TF-IDF-DL的权重值求解,并分别将求解权重值应用到贝叶斯文本分类中,得出相应的朴素贝叶斯分类器。并对选取的五种数据类别进行测试,记录每个类别对应测试结果的precision、recall、F1值[15],如图4~图6所示。

图4 在不同新闻种类下不同算法对P的影响

图5 在不同新闻种类下不同算法对R的影响

图6 在不同新闻种类下不同算法对F1的影响

通过结果可以看出,在特征词词频差异不明显且特征词位置没有明显规律的women类别上,应用TF-IDF-DL算法的朴素贝叶斯分类准确率没有特别明显的提高。

在特征词词频差异性和特征词位置规律性明显的类别上,基于TF-IDF-DL的贝叶斯文本分类表现出明显的优势。以travel类别为例(travel类别文本中近首尾处多出现“游客”、“景点”等词汇),应用传统TF-IDF和TF-IDF-dist算法的朴素贝叶斯分类效果表现都不是很好,而应用TF-IDF-DL算法进行贝叶斯分类时在travel分类上表现依然良好。在研究以TF-IDF-dist计算权重的分类结果后,发现平均有近10%的travel新闻被分类到entertainment类别中,有3.46%的travel新闻被分类到health中。统计分类错误的新闻特征词发现,其中明显为entertainment分类的特征词占统计特征词的31.67%,明显为health分类的特征词占统计特征词的9.82%。这是由于TF-IDF-dist算法仅仅考虑了特征词在类内和类间的分布关系,却忽略了特征词在词频上的差异性和特征词位置信息规律这两个因素。而TF-IDF-DL算法在去除了此类文章中entertainment和health类别所属特征词的中心词频,且加入了特征词频的位置信息影响因子。

通过实验对比,基于TF-IDF-DL的贝叶斯算法在分类准确率、召回率和F1值这三方面最高可比基于TF-IDF-dis的贝叶斯分类提高8.6%、11.7%和7.4%。说明文中提出的基于TF-IDF-DL的贝叶斯分类算法在特征词词频有差异、特征词位置信息有规律的数据集上分类效果较好,是一种良好的分类算法。

4 结束语

通过研究词频出现规律以及文档中特征词的出现位置,提出加入去中心化词频因子和特征词距离因子来改进TF-IDF算法,并将改进后的TF-IDF-DL算法应用到朴素贝叶斯算法中。该算法能够解决在文本分类过程中存在特征属性权重一致及考虑指标单一的问题。通过使用搜狗实验室新闻数据作为数据集进行实验验证,并对实验结果进行分析。结果表明,该算法能够较好地提高分类性能,并对于不易区分的类别也能达到良好的分类效果,与国内最新研究的TF-IDF-dis相比,在分类准确率、召回率和F1值这三方面最高可比其高8.6%、11.7%和7.4%。但是该算法也存在一定的局限性,对于特征词词频差异小且词频位置不规律的数据分类效果没有明显提高,还需进一步完善。

猜你喜欢
词频贝叶斯文档
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
轻松编辑PDF文档
租赁房地产的多主体贝叶斯博弈研究
租赁房地产的多主体贝叶斯博弈研究
贝叶斯网络概述
贝叶斯公式的应用和推广
Word文档 高效分合有高招
词频,一部隐秘的历史
汉语音节累积词频对同音字听觉词汇表征的激活作用*