一种隐多项式朴素贝叶斯文本分类方法及装置与流程

文档序号:18475429发布日期:2019-08-20 20:58阅读:304来源:国知局
本发明涉及一种隐多项式朴素贝叶斯文本分类方法及装置,属于人工智能数据挖掘分类
技术领域

背景技术
:随着网络与通讯技术的飞速发展,网上电子文档、电子邮件、手机短信等信息量成爆炸趋势,大规模的文本处理已经成为一个挑战,而文本自动分类是将文本划分到预定义的类中,成为帮助人们检索、查询、过滤和利用信息的有效手段。文本分类具有是非广泛的应用场景,比如垃圾邮件的判定、手机短信的过滤、新闻出版按照栏目分类、词性标注、词义排歧、科技论文分类等等。朴素贝叶斯文本分类器因为其简单性和高效性经常被用来处理文本分类问题,但是它的单词条件独立假设在使它变得高效的同时在一定程度上影响了它的分类性能。给定一篇文档d,该文档被表示成单词向量的形式<w1,w2,…,wm>,多项式朴素贝叶斯(mnb)用下述公式来分类文档d。上述公式中符号c是类标记的集合,m是单词的数目,wi(i=1,2,…m)是文档d中出现的第i个单词,fi是单词wi在文档d中出现的频率,先验概率p(c)以及条件概率p(wi|c)分别用下述公式来估计。其中,n是训练文档集d中的文档数目,s是文档的类别数目,cj是第j篇文档的类标记,δ(cj,c)表示一个二元函数,当它的两个参数相同时值为1否则为0;fji表示训练文档集d中第j篇文档中出现单词wi的频率。尽管多项式朴素贝叶斯文本分类方法已经被证明具有较高的分类性能,但它的单词条件独立假设在现实中很少成立,因此通过释放它的单词条件独立假设来提高它的分类性能是很自然的想法。一种最直接的方式就是通过增加有向边来表示单词与单词之间的依赖关系。但是由于文本数据高维性的特点,学习一个最优的多项式贝叶斯网络文本分类模型几乎是不可能的。这是因为学习最优的多项式贝叶斯网络文本分类模型不仅消耗空间而且消耗时间。所以一个既能表示单词与单词之间的依赖关系,又没有结构学习的多项式贝叶斯网络文本分类模型是可取的。当前用于改进多项式朴素贝叶斯文本分类模型的方法有很多。这其中包括特征加权、特征选择、实例加权、局部学习等。但是由于文本数据本身的高维性,改进多项式朴素贝叶斯文本分类模型的结构扩展方法非常少,至今仅有一种结构扩展的多项式朴素贝叶斯文本分类方法,并且仅有的这种方法是一种组合学习的方法。技术实现要素:为了解决现有技术的不足,本发明提供了一种隐多项式朴素贝叶斯文本分类方法及装置,不仅改善了多项式朴素贝叶斯文本分类模型的分类精度,避免了贝叶斯网络结构学习的时间和空间开销,而且还是一种单一模型学习方法。根据本发明的其中一方面,本发明解决其技术问题所采用的隐多项式朴素贝叶斯文本分类方法,包括训练阶段和利用训练阶段训练得到的模型进行分类的分类阶段,训练阶段包含如下步骤:(1-1)利用以下公式计算训练文档集d中每个类别c的先验概率p(c):其中,训练文档集d为一个已知的文档集,训练文档集d中的任意一篇文档d表示为单词向量形式d=<w1,w2,...wm>,其中wi为文档d中的第i个单词,m为训练文档集d中所有单词的数目;n是训练文档集d中的文档数目,s是文档的类别数目,cj是第j篇文档的类标记,δ(cj,c)表示一个二元函数,当它的两个参数相同时值为1否则为0;(1-2)利用以下公式计算给定类别情况下每个单词的条件概率p(wi|c):其中,fji表示训练文档集d中第j篇文档中出现单词wi的频率;(1-3)利用以下公式计算训练文档集d中每个单词wt的信息增益率:其中,gainratio(d,wt)表示单词wt划分训练文档集d的信息增益率,gain(d,wt)表示单词wt划分训练文档集d的信息增益,splitinfo(d,wt)表示训练文档集d关于单词wt的分裂信息;(1-4)利用以下公式计算训练文档集d中的所有单词的平均信息增益率:(1-5)利用以下公式计算训练文档集d中每个单词wt的权值wt,模型训练完毕:进一步地,在本发明的的隐多项式朴素贝叶斯文本分类方法中,步骤(1-3)中:gain(d,wt)通过以下公式计算:其中,|dv|是训练文档集d中单词wt的取值为v的文档数目,v=0表示没有出现单词wt,表示出现单词wt,|d|=n;entropy(d)是训练文档集d的熵,通过以下公式计算:其中,c是类标记的集合,c是c中的一个类标记,pc是训练文档集d中类别为c的概率;pc通过以下公式计算得到:其中,n是训练文档集d中的文档数目,cj是第j篇文档的类标记,δ(cj,c)表示一个二元函数,当它的两个参数相同时值为1否则为0;splitinfo(d,wt)通过以下公式计算得到:进一步地,在本发明的的隐多项式朴素贝叶斯文本分类方法中,分类阶段包含如下步骤:(2-1)对于待分类文档d中出现的每个单词wi,i=1,2,…m,以及待分类文档d中除单词wi以外的每一个单词wt,t=1,2,…,m∧t≠i,在训练文档中d中选择出现单词wt的文档组成新的文档子集dwt;其中,三角符号∧表示并且;(2-2)对于每一个可能的类标记c,基于文档子集dwt,利用以下公式计算条件概率p(wi|wt,c):其中,n是训练文档集d中的文档数目,m为训练文档集d中单词的数目,fjt表示训练文档集d中第j篇文档中出现单词wt的频率,fjt>0表示单词wt出现在第j篇文档中,fji表示训练文档集d中第j篇文档中出现单词wi的频率,δ(cj,c)表示一个二元函数,当它的两个参数相同时值为1否则为0;(2-3)利用以下公式计算p(wi|whi,c)其中,ft是待分类文档d中第t个单词的频率;(2-4)基于已经计算好的p(c)和p(wi|whi,c),利用以下公式来预测待分类文档d的类标记c(d):其中,fi是待分类文档d中第i个单词的频率。根据本发明的另一方面,本发明为解决其技术问题,还提供了一种隐多项式朴素贝叶斯文本分类装置,具备计算机存储介质,所述计算机存储介质内存储有计算机可执行指令,所述计算机可执行指令用于实现上述任一项的隐多项式朴素贝叶斯文本分类方法。本发明基于其技术方案所具有的有益效果在于:本发明为了避免结构扩展的多项式朴素贝叶斯网络费时的结构学习过程,为测试文档中出现的每个单词创建一个隐父亲节点,这个隐父亲节点综合了所有其他单词对该单词的影响,从而很好地避免了耗时的贝叶斯网络的结构学习。另外由于文本数据的高维性,在计算多条件概率p(wi|wt,c)时会消耗大量的空间,为了节约空间资源,本发明将多条件概率的估计过程推迟到了分类阶段,因为这样只需要根据待分类文档d中出现的单词来计算多条件概率,而不是训练文档集d中的所有单词,这一操作使本方法在计算多条件概率p(wi|wt,c)的空间复杂度由原来的o(sm2)降低到现在的o(s|d|)(s是文档的类别数目,m为训练文档集d中所有单词的数目,|d|是待分类文档d中的单词数目)。更重要的是,相比于仅有的一种结构扩展的多项式朴素贝叶斯文本分类方法,本发明提供的方法不是一种组合学习的方法,而是一种单一模型学习方法。具体实施方式为了对本发明的技术特征、目的和效果有更加清楚的理解,现详细说明本发明的具体实施方式。随着网络与通讯技术的飞速发展,网上电子文档、电子邮件、手机短信等信息量成爆炸趋势,大规模的文本处理已经成为一个挑战,而文本自动分类是将文本划分到预定义的类中,成为帮助人们检索、查询、过滤和利用信息的有效手段。文本分类具有是非广泛的应用场景,比如垃圾邮件的判定、手机短信的过滤、新闻出版按照栏目分类、词性标注、词义排歧、科技论文分类等等。文本分类是一类经典分类问题,应用场景是在太多,以手机短信过滤问题为例,我们的生活已经被大量的垃圾短信打扰,甚至已经影响到正常的工作和生活。如果设计的文本分类算法能够准确识别出手机短信的类别,就可以过滤掉客户的垃圾短信。手机短信过滤问题,其实就是一个二分类问题,通常分为正常短信和垃圾短信,本发明的方法及装置就可以很好的完成短信的分类处理。下述将以本发明的隐多项式朴素贝叶斯文本分类方法为例,对本发明的技术方案做详细说明,本发明的装置的核心技术方案与本发明的方法相同,具体可参照方法的说明。本发明的隐多项式朴素贝叶斯文本分类方法包括训练阶段和分类阶段,其中,(1)训练阶段包括以下过程:(1-1)利用以下公式计算训练文档集d中每个类别的先验概率p(c):其中,训练文档集d为一个已知的文档集,训练文档集d中的任意一篇文档d表示为单词向量形式d=<w1,w2,...wm>,其中wi为文档d中的第i个单词,m为训练文档集d中所有单词的数目;n是训练文档集d中的文档数目,s是文档的类别数目,cj是第j篇文档的类标记,δ(cj,c)表示一个二元函数,当它的两个参数相同时值为1否则为0;(1-2)利用以下公式计算给定类别情况下每个单词的条件概率p(wi|c):其中,fji表示训练文档集d中第j篇文档中出现单词wi的频率;(1-3)利用以下公式计算训练文档集d中每个单词wt的信息增益率:其中,gainratio(d,wt)表示单词wt划分训练文档集d的信息增益率,gain(d,wt)表示单词wt划分训练文档集d的信息增益,splitinfo(d,wt)表示训练文档集d关于单词wt的分裂信息;gain(d,wt)通过以下公式计算:其中,|dv|是训练文档集d中单词wt的取值为v的文档数目,v=0表示没有出现单词wt,表示出现单词wt,|d|=n;entropy(d)是训练文档集d的熵,通过以下公式计算:其中,c是类标记的集合,c是c中的一个类标记,pc是训练文档集d中类别为c的概率;pc通过以下公式计算得到:其中,n是训练文档集d中的文档数目,cj是第j篇文档的类标记,δ(cj,c)表示一个二元函数,当它的两个参数相同时值为1否则为0;splitinfo(d,wt)通过以下公式计算得到:(1-4)利用以下公式计算训练文档集d中的所有单词的平均信息增益率:(1-5)利用以下公式计算训练文档集d中每个单词wt的权值wt:(2)分类阶段包括以下过程:(2-1)对于待分类文档d中出现的每个单词wi,i=1,2,…m,以及待分类文档d中除单词wi以外的每一个单词wt,t=1,2,…,m∧t≠i,在训练文档中d中选择出现单词wt的文档组成新的文档子集dwt;(2-2)对于每一个可能的类标记c,基于文档子集dwt,利用以下公式计算条件概率p(wi|wt,c):其中,n是训练文档集d中的文档数目,m为训练文档集d中单词的数目,fjt表示训练文档集d中第j篇文档中出现单词wt的频率,fjt>0表示单词wt出现在第j篇文档中,fji表示训练文档集d中第j篇文档中出现单词wi的频率,δ(cj,c)表示一个二元函数,当它的两个参数相同时值为1否则为0;(2-3)利用以下公式计算p(wi|whi,c)其中,ft是待分类文档d中第t个单词的频率。(2-4)基于已经计算好的p(c)和p(wi|whi,c),利用以下公式来预测待分类文档d的类标记c(d):其中,fi是待分类文档d中第i个单词的频率。从上面的描叙可以看出,本发明提供的是一种隐多项式朴素贝叶斯文本分类方法,产生的模型称为隐多项式朴素贝叶斯(简记为hmnb),本方法为测试文档中出现的每个单词创建一个隐父亲节点,这个隐父亲节点综合了所有其他单词对该单词的影响,从而缓解了多项式朴素贝叶斯的单词条件独立假设,不仅改善了多项式朴素贝叶斯(简记为mnb)的分类精度,而且还避免了贝叶斯网络结构学习的时间和空间开销。在后面的实验部分,将本发明提供的隐多项式朴素贝叶斯(简记为hmnb)和标准的多项式朴素贝叶斯(简记为mnb)以及它的一些经典的改进模型进行比较,包括基于卡方统计特征加权的多项式朴素贝叶斯(简记为rwcwmnb),基于信息增益率特征选择的多项式朴素贝叶斯(简记为grsmnb),判别实例加权的多项式朴素贝叶斯(简记为dwmnb),多项式朴素贝叶斯树(简记为mnbtree),以及结构扩展的多项式朴素贝叶斯(简记为semnb)。基于卡方统计特征加权的多项式朴素贝叶斯(简记为rwcwmnb)通过特征加权方法来缓解多项式朴素贝叶斯的单词条件独立假设。该方法通过在训练阶段精确的测量项类之间的依赖来提高多项式朴素贝叶斯文本分类器的性能。基于信息增益率特征选择的多项式朴素贝叶斯(简记为grsmnb)通过特征选择方法来缓解多项式朴素贝叶斯的单词条件独立假设。该方法首先根据每个属性的信息增益率大小对属性进行排序,然后通过9次执行5折交叉验证的方法来确定选择属性的数目即百分比,最后在所选择的属性子集上构建多项式朴素贝叶斯。判别实例加权的多项式朴素贝叶斯(简记为dwmnb)通过实例加权方法来缓解多项式朴素贝叶斯的单词条件独立假设。该方法在每一次迭代过程中,根据每个训练实例的条件概率损失来设置它的权值。多项式朴素贝叶斯树(简记为mnbtree)通过局部学习方法来缓解多项式朴素贝叶斯的单词条件独立假设。该方法在决策树的叶子节点上构建多项式朴素贝叶斯。结构扩展的多项式朴素贝叶斯(简记为semnb)通过结构扩展方法来缓解多项式朴素贝叶斯的单词条件独立假设。该方法首先以测试文档中出现的每个单词作为父亲节点构建一个一依赖多项式估测器,然后加权平均所有的一依赖多项式估测器来预测测试文档的类别,其中的权值是每个单词的信息增益率。为了验证本发明提供的隐多项式朴素贝叶斯文本分类方法的有效性,实验比较了mnb,rwcwmnb,grsmnb,dwmnb,mnbtree,semnb以及hmnb的分类精度。在实验中,11个广泛使用的文本分类标准数据集被测试。这些数据集来自不同的文本领域并且代表不同的数据特征。表1详细描述了这11个数据集的主要特性,具体的数据可从weka平台的网站上下载得到。表2给出了各方法在每个数据集上通过10次10折交叉验证的分类精度,表的底部列出了平均分类精度。在所有数据集上的平均分类精度提供了一个关于相对性能的整体概述。接下来,运用friedman测试在多个数据集上系统比较mnb,rwcwmnb,grsmnb,dwmnb,mnbtree,semnb以及hmnb。friedman测试是重复测量的anova的一个非参数等价。运用friedman测试获得的算法的平均排序同样总结在表2底部。对于7个算法和11个数据集,ff是根据f分布有6和60个自由度:27.038961的f分布来分布。这个值远远大于α=0.05时f分布的临界值f(6,60)=2.2541。因此拒绝空假设,并且继续运用nemenyi和bergmann后验测试来进一步分析哪些算法对是显著不同的。表3列出了获得的z-values和p-values,并且表明了哪些算法对是显著不同的。从这些实验结果可以看出,hmnb的分类性能明显超出mnb,甚至还超出现有的改进算法:rwcwmnb和mnbtree。实验结果的亮点总结如下:1.hmnb的平均分类精度(85.6%)明显高于mnb(83.18%)、rwcwmnb(82.39%)、grsmnb(84.23%)、dwmnb(83.72%)、mnbtree(82.59%)和semnb(84.16%)。2.hmnb的平均排序(1.5455)明显高于mnb(4.6364)、rwcwmnb(5.8182)、grsmnb(3.3636)、dwmnb(3.9091)、mnbtree(5.0909)和semnb(3.6364)。3.根据nemenyi和bergmann后验测试的比较结果,hmnb的分类性能明显超出mnb以及它的改进算法:rwcwmnb和mnbtree。数据集文档数目单词数目类别数目fbis2463200017la1s3204131956la2s3075124326oh01003318210oh101050323810oh15913310010oh5918301210ohscal111621146510re01657375825re11504288613wap1560846020表1实验中使用的数据集表2mnb,rwcwmnb,grsmnb,dwmnb,mnbtree,semnb以及hmnb的分类精度比较结果表3nemenyi和bergmann后验测试的比较结果上面对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1