本发明涉及一种基于改进深度特征加权的朴素贝叶斯文本分类方法,属于机器学习及自然语言处理技术领域。
背景技术:
设{t1,t2...tm}为m个特征词,tk∈{t1,t2...tm},1≤k≤m,di为任意文本,c={c1,c2,...,cj,...,cv},1≤j≤v表示类别,特征加权的朴素贝叶斯公式为:
其中wk为特征tk对应的权重,
朴素贝叶斯算法就是在贝叶斯理论的基础上增加一个特征独立性假设,即所有特征之间相互独立,对于文本分类效果互不影响。在已知文本所含特征之后,根据特征的条件概率和类别的先验概率得到特征所属类别的后验概率,通过比较后验概率的大小从而达到分类的效果。由以上公式可以看出传统朴素贝叶斯的特征独立性假设,导致各特征的权重其实是相同的,为了削弱传统朴素贝叶斯算法特征独立性假设,许多文献开始采用深度加权朴素贝叶斯文本分类算法。由于不同的特征对于分类效果的影响也是不同的,通过对不同的特征采用加权算法赋予不同的权值,从而达到削弱特征独立性假设的效果。
文献[saltong,buckleyc.term-weightingapproachesinautomatictextretrieval[m].pergamonpress,inc.1988.]中首次提出了tfidf算法,并论证了tfidf算法在文本分类中的有效性。
文献[武建军,李昌兵.基于互信息的加权朴素贝叶斯文本分类算法[j].计算机系统应用,2017,26(7):178-182.]使用互信息对不同类别中的特征项进行分别赋值,一定程度上削弱了假设对分类效果的影响。
文献[jiangq,wangw,hanx.deepfeatureweightinginnaivebayesforchinesetextclassification[c]//internationalconferenceoncloudcomputingandintelligencesystems.ieee,2016:160-164]通过把tfidf算法与传统的深度加权方式结合,削弱了特征与类别之间的无关性,一定程度上提高了文本分类精度。
文献[jiangl,lic,wangs,etal.deepfeatureweightingfornaivebayesanditsapplicationtotextclassification[j].engineeringapplicationsofartificialintelligence,2016,52(c):26-39]将特征的信息增益率与深度加权方式融合在一起,进一步削弱了特征与类别之间的无关性,说明了特征加权算法在文本分类中的有效性。
然而这些改进只是针对一个方面,忽略了特征的属性是二维的,导致特征的第二维度的信息缺失,不能有效的结合特征的全面属性,造成分类准确度低下。
技术实现要素:
本发明的目的在于克服现有技术中的不足,提供一种基于改进深度特征加权的朴素贝叶斯文本分类方法,解决传统朴素贝叶斯文本分类算法的特征独立性假设得不到抑制,导致文本分类结果不准确的技术问题。
为解决上述记述问题,本发明所采用的技术方案是:基于改进深度特征加权的朴素贝叶斯文本分类方法,包括如下步骤:
获取文本的特征词,根据不同的特征词出现的类别数和文本数,得到相应的特征类别概率和特征文本概率,进而得到特征的二维信息增益;
利用所述二维信息增益与深度加权方式相结合对特征加权朴素贝叶斯模型进行深度加权,得到改进深度特征加权的朴素贝叶斯模型;
对于任意文本,利用改进深度特征加权的朴素贝叶斯模型分别计算属于各特征类别的概率,选出最大的概率值对应的类别即文本所属类别。
进一步的,计算特征类别概率和特征文本概率的方法如下:
设:训练集文本总数为n,{t1,t2...tm}为训练集中提取的m个特征词,di=[t1,t2...tm]为向量化后的训练集中任意文本,tk为特征词tk对应的取值,1≤k≤m,c={c1,c2...cj...cv},v表示类别总数,1≤j≤v,计算特征类别概率:
tf(tk,cj)表示特征词tk在cj类中的出现的频数;l=0.01为平滑因子;
计算特征文本概率:
进一步的,二维信息增益的计算方法如下:
计算特征类别信息增益:
计算特征文本信息增益:
其中,lb(g)表示以2为底的对数;h(cj)为类别cj的信息熵;h(cj|tk)表示特征词tk的类别条件信息熵;
计算特征关于文本和类别的信息增益igdc(tk),并进行线性归一化处理,得到特征词tk对应的特征二维信息增益wk:
igdc(tk)=igd(tk)×igc(tk)
其中:max[]表示求表达式的最大值;min[]表示求表达式的最小值。
进一步的,改进深度特征加权的朴素贝叶斯模型的计算方法如下:
使用深度加权方式计算条件概率:
对特征加权朴素贝叶斯模型进行深度加权,得到改进深度特征加权的朴素贝叶斯模型:
其中:
进一步的,得到改进深度特征加权的朴素贝叶斯模型后需对模型取对数,具体如下:
其中:ln表示自然对数。
进一步的,获取文本所属类别的方法具体如下:
对于测试集中的文本dtest=[t1,t2...tm]分别计算:
文本dtest属于c1类的概率:
文本dtest属于c2类的概率:
文本dtest属于c3类的概率:
……
文本dtest属于
通过比较
与现有技术相比,本发明所达到的有益效果是:
在传统朴素贝叶斯算法的基础上增加特征加权优化算法,使特征的二维信息增益与独特的深度加权方式相结合,使传统朴素贝叶斯算法的特征独立性假设得到抑制,能够为文本分类任务提供准确和快速的分类方法,进而提升文本分类性能;与tfidf加权朴素贝叶斯文本分类算法,tfidf深度加权文本分类算法相比,本发明具有更好的鲁棒性,使其对所有类别的分类效果都能保持很好。
附图说明
图1为本发明方法与dfwnb,ofwnb的在英文文本分类上的宏f1值比较结果;
图2为本发明方法与dfwnb,ofwnb的在中文文本分类上的宏f1值比较结果
具体实施方式
本发明公开了一种基于改进深度特征加权的朴素贝叶斯文本分类方法,包括:获取文本的特征词,根据不同的特征词出现的类别数和文本数,得到相应的特征类别概率和特征文本概率,进而得到特征的二维信息增益;利用所述二维信息增益与深度加权方式相结合对特征加权朴素贝叶斯模型进行深度加权,得到改进深度特征加权的朴素贝叶斯模型;对于任意文本,利用改进深度特征加权的朴素贝叶斯模型分别计算属于各特征类别的概率,选出最大的概率值对应的类别即文本所属类别。本发明能够使传统朴素贝叶斯算法的特征独立性假设得到抑制,为文本分类任务提供准确和快速的分类方法。
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
基于改进深度特征加权的朴素贝叶斯文本分类方法,其实施过程如下:
设训练集文本总数为n,{t1,t2...tm}为训练集中提取的m个特征词,di=[t1,t2...tm]为向量化后的训练集中任意文本,tk为特征tk对应的取值,1≤k≤m,c={c1,c2...cj...cv},v表示类别总数,1≤j≤v,本方法中从中文数据集中选取了六个类别:c1=旅游,c2=健康,c3=教育,c4=军事,c5=文化,c6=体育;
计算特征类别概率:
tf(tk,cj)表示特征词tk在cj类中的出现的频数;
l=0.01为平滑因子;
计算特征文本概率:
因为特征词tk会在多篇文本中出现,所以式中,
l=0.01为平滑因子,v表示总的类别数;
计算特征类别信息增益:
计算特征文本信息增益:
其中,lb(g)表示以2为底的对数;
h(cj)为类别cj的信息熵;
h(cj|tk)表示特征词tk的类别条件信息熵;
p(tk,cj),
计算特征关于文本和类别的信息增益igdc(tk),并进行线性归一化处理,得到特征词tk对应的特征二维信息增益wk:
igdc(tk)=igd(tk)×igc(tk)(5)
其中max[]表示求表达式的最大值;
min[]表示求表达式的最小值;
使用深度加权方式计算条件概率:
对特征加权朴素贝叶斯模型进行深度加权,得到改进深度特征加权的朴素贝叶斯模型:
其中wk表示步骤g中求得的特征二维信息增益,作为条件概率的幂次方;由于大多数的概率都很小,为了避免出现下溢,对模型取对数:
其中ln表示自然对数;
对于测试集中的文本dtest=[t1,t2...tm]分别计算:
文本dtest属于c1类的概率:
文本dtest属于c2类的概率:
文本dtest属于c3类的概率:
文本dtest属于c4类的概率:
文本dtest属于c5类的概率:
文本dtest属于c6类的概率:
通过比较p(c1|dtest),p(c2|dtest),p(c3|dtest),p(c4|dtest),p(c5|dtest),p(c6|dtest)的大小,选出最大的概率值对应的类别赋值给cmap就得到dtest所属的类。
结合附图仿真结果说明:
表1为本发明基于改进深度特征加权的朴素贝叶斯文本分类方法(igdc-dwnb)与tfidf普通加权朴素贝叶斯文本分类方法(ofwnb),tfidf深度加权朴素贝叶斯文本分类方法(dfwnb)在英文文本分类上的性能比较;
表2为本发明基于改进深度特征加权的朴素贝叶斯文本分类方法(igdc-dwnb)与tfidf普通加权朴素贝叶斯文本分类方法(ofwnb),tfidf深度加权朴素贝叶斯文本分类方法(dfwnb)在中文文本分类上的性能比较。
表1算法在英文文本分类上的性能比较
表2算法在中文文本分类上的性能比较
从表1中可以看出,在特征数选取在300时,对于英文文本分类,整体上本发明的igdc深度加权朴素贝叶斯模型的性能是最好的,可以看到由于原始的多项式模型没有加权的原因,导致个别类别的查准率很高而查全率很低的情况,这是不允许出现的结果。相反的,本文算法都能保证三个指标平均值都能优于dfwnb和ofwnb算法。从表2中可以看出,对于中文文本分类,本文的igdc-dwnb算法的三个指标的平均值都要高于其他算法。
图1为igdc-dwnb与dfwnb,ofwnb的在英文文本分类上的宏f1值比较结果,由图1看出:对于英文文本分类,随着特征维度的增加,igdc-dwmnb算法宏f1值是最高的,其次是dfwnb算法,比dfwnb算法要高出3%到4%。图2为igdc-dwnb与dfwnb,ofwnb的在中文文本分类上的宏f1值比较结果,由图1看出:对于中文文本分类,igdc-dwnb算法的宏f1值依然是最高的,dfwnb和ofwnb相差的不多,充分说明了基于改进深度特征加权的朴素贝叶斯方法在文本分类中的有效性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。