发明名称 一种结构扩展的多项式朴素贝叶斯文本分类方法
摘要 本发明提供了一种结构扩展的多项式朴素贝叶斯文本分类方法,首先以测试文档中出现的每个单词作为父亲节点构建一个一依赖多项式估测器,然后加权平均所有的一依赖多项式估测器来预测测试文档的类别,其中的权值是每个单词的信息增益率。本发明避免了贝叶斯网络的结构学阶段,从而降低了由于文本数据的高维性带来的时间花销,同时本发明将双条件概率的估计过程推迟到了分类阶段,巧妙地节省了较大的空间开销。本发明不仅改善了多项式朴素贝叶斯文本分类器的分类精度,而且还避免了贝叶斯网络结构学的时间和空间开销。
申请公布号 CN105045825A 申请公布日期 2015.11.11
申请号 CN201510366258.8 申请日期 2015.06.29
申请人 中国地质大学(武汉) 发明人 蒋良孝;王沙沙;李超群;张伦干
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 武汉华旭知识产权事务所 42214 代理人 刘荣;周宗贵
主权项 一种结构扩展的多项式朴素贝叶斯文本分类方法,包括训练阶段和分类阶段,其特征在于:(1)训练阶段包括以下过程:(1‑1)利用以下公式计算训练文档集D中每个类别的先验概率p(c):<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>p</mi><mrow><mo>(</mo><mi>c</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><mi>&delta;</mi><mrow><mo>(</mo><msub><mi>c</mi><mi>j</mi></msub><mo>,</mo><mi>c</mi><mo>)</mo></mrow><mo>+</mo><mn>1</mn></mrow><mrow><mi>n</mi><mo>+</mo><mi>s</mi></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000747512990000011.GIF" wi="1263" he="167" /></maths>其中,训练文档集D为一个已知的文档集,训练文档集D中的任意一篇文档d表示为单词向量形式d=<w<sub>1</sub>,w<sub>2</sub>,...w<sub>m</sub>>,其中w<sub>i</sub>为文档d中的第i个单词,m为训练文档集D中单词的数目;n是训练文档集D中的文档数目,s是文档的类别的数目,c<sub>j</sub>是第j篇文档的类标记,δ(c<sub>j</sub>,c)表示一个二元函数,当它的两个参数相同时值为1否则为0;(1‑2)利用以下公式计算给定类别情况下每个单词的条件概率p(w<sub>i</sub>|c):<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>p</mi><mrow><mo>(</mo><msub><mi>w</mi><mi>i</mi></msub><mo>|</mo><mi>c</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><msub><mi>f</mi><mrow><mi>j</mi><mi>i</mi></mrow></msub><mi>&delta;</mi><mrow><mo>(</mo><msub><mi>c</mi><mi>j</mi></msub><mo>,</mo><mi>c</mi><mo>)</mo></mrow><mo>+</mo><mn>1</mn></mrow><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><msub><mi>f</mi><mrow><mi>j</mi><mi>i</mi></mrow></msub><mi>&delta;</mi><mrow><mo>(</mo><msub><mi>c</mi><mi>j</mi></msub><mo>,</mo><mi>c</mi><mo>)</mo></mrow><mo>+</mo><mi>m</mi></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000747512990000012.GIF" wi="1339" he="213" /></maths>其中,f<sub>ji</sub>表示训练文档集D中第j篇文档中出现单词w<sub>i</sub>的频率;(1‑3)利用以下公式计算该训练文档集D中的各个属性的权值W<sub>i</sub>:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>W</mi><mi>i</mi><mo>=</mo><mi>G</mi><mi>a</mi><mi>i</mi><mi>n</mi><mi>R</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mrow><mo>(</mo><mi>D</mi><mo>,</mo><msub><mi>w</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>G</mi><mi>a</mi><mi>i</mi><mi>n</mi><mrow><mo>(</mo><mi>D</mi><mo>,</mo><msub><mi>w</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><mrow><mi>S</mi><mi>p</mi><mi>l</mi><mi>i</mi><mi>t</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mrow><mo>(</mo><mi>D</mi><mo>,</mo><msub><mi>w</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000747512990000013.GIF" wi="1343" he="146" /></maths>其中,GainRatio(D,w<sub>i</sub>)表示单词w<sub>i</sub>划分训练文档集D的信息增益率,Gain(D,w<sub>i</sub>)表示单词w<sub>i</sub>划分训练文档集D的信息增益,SplitInfo(D,w<sub>i</sub>)表示训练文档集D关于单词w<sub>i</sub>的分裂信息;Gain(D,w<sub>i</sub>)通过以下公式计算:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>G</mi><mi>a</mi><mi>i</mi><mi>n</mi><mrow><mo>(</mo><mi>D</mi><mo>,</mo><msub><mi>w</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>r</mi><mi>o</mi><mi>p</mi><mi>y</mi><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>-</mo><munder><mo>&Sigma;</mo><mrow><mi>v</mi><mo>&Element;</mo><mo>{</mo><mn>0</mn><mo>,</mo><mover><mn>0</mn><mo>&OverBar;</mo></mover><mo>}</mo></mrow></munder><mfrac><mrow><mo>|</mo><msub><mi>D</mi><mi>v</mi></msub><mo>|</mo></mrow><mrow><mo>|</mo><mi>D</mi><mo>|</mo></mrow></mfrac><mi>E</mi><mi>n</mi><mi>t</mi><mi>r</mi><mi>o</mi><mi>p</mi><mi>y</mi><mrow><mo>(</mo><msub><mi>D</mi><mi>v</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000747512990000014.GIF" wi="1391" he="147" /></maths>其中,|D<sub>v</sub>|是训练文档集D中单词w<sub>i</sub>的取值为v的文档数目,<img file="FDA0000747512990000016.GIF" wi="208" he="81" />Entropy(D)是训练文档集D的熵,通过以下公式计算:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>E</mi><mi>n</mi><mi>t</mi><mi>r</mi><mi>o</mi><mi>p</mi><mi>y</mi><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>=</mo><mo>-</mo><munder><mo>&Sigma;</mo><mrow><mi>c</mi><mo>&Element;</mo><mi>C</mi></mrow></munder><msub><mi>p</mi><mi>c</mi></msub><msub><mi>log</mi><mn>2</mn></msub><msub><mi>p</mi><mi>c</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000747512990000015.GIF" wi="1262" he="124" /></maths>其中,C是类标记的集合,c是C中的一个类标记,p<sub>c</sub>是训练文档集D中类别为c的概率;p<sub>c</sub>通过以下公式计算得到:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><mi>p</mi><mi>c</mi></msub><mo>=</mo><mfrac><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><mi>&delta;</mi><mrow><mo>(</mo><msub><mi>c</mi><mi>j</mi></msub><mo>,</mo><mi>c</mi><mo>)</mo></mrow></mrow><mi>n</mi></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000747512990000021.GIF" wi="1151" he="164" /></maths>其中,n是训练文档集D中的文档数目,c<sub>j</sub>是第j篇文档的类标记,δ(c<sub>j</sub>,c)表示一个二元函数,当它的两个参数相同时值为1否则为0;SplitInfo(D,w<sub>i</sub>)通过以下公式计算得到:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>S</mi><mi>p</mi><mi>l</mi><mi>i</mi><mi>t</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mrow><mo>(</mo><mi>D</mi><mo>,</mo><msub><mi>w</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mo>-</mo><munder><mo>&Sigma;</mo><mrow><mi>v</mi><mo>&Element;</mo><mo>{</mo><mn>0</mn><mo>,</mo><mover><mn>0</mn><mo>&OverBar;</mo></mover><mo>}</mo></mrow></munder><mfrac><mrow><mo>|</mo><msub><mi>D</mi><mi>v</mi></msub><mo>|</mo></mrow><mrow><mo>|</mo><mi>D</mi><mo>|</mo></mrow></mfrac><msub><mi>log</mi><mn>2</mn></msub><mfrac><mrow><mo>|</mo><msub><mi>D</mi><mi>v</mi></msub><mo>|</mo></mrow><mrow><mo>|</mo><mi>D</mi><mo>|</mo></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000747512990000022.GIF" wi="1334" he="165" /></maths>(2)分类阶段包括以下过程:(2‑1)对于文档d中出现的每个单词w<sub>i</sub>,i=1,2,…m,在训练文档中D中选择单词w<sub>i</sub>出现的文档组成文档子集D<sub>wi</sub>;(2‑2)对于文档d中出现的每个单词w<sub>t</sub>,t=1,2,…,<img file="FDA0000747512990000025.GIF" wi="215" he="53" />和每个类标记c,利用以下公式和D<sub>wi</sub>计算条件概率p(w<sub>t</sub>|w<sub>i</sub>,c):<img file="FDA0000747512990000023.GIF" wi="1470" he="235" />其中,n是训练文档集D中的文档数目,f<sub>ji</sub>表示训练文档集D中第j篇文档中出现单词w<sub>i</sub>的频率,f<sub>ji</sub>&gt;0表示单词w<sub>i</sub>出现在第j篇文档中,f<sub>jt</sub>表示训练文档集D中第j篇文档中出现单词w<sub>t</sub>的频率,m为训练文档集D中单词的数目,δ(c<sub>j</sub>,c)表示一个二元函数,当它的两个参数相同时值为1否则为0;(2‑3)基于已经计算好的p(c),p(w<sub>i</sub>|c),p(w<sub>t</sub>|w<sub>i</sub>,c)和W<sub>i</sub>,利用以下公式来预测文档d的类标记c(d):<img file="FDA0000747512990000024.GIF" wi="1694" he="231" />其中,W<sub>i</sub>是文档d中第i个单词的权值,f<sub>i</sub>和f<sub>t</sub>分别是文档d中第i个单词和第t个单词的频率。
地址 430074 湖北省武汉市洪山区鲁磨路388号
您可能感兴趣的专利