发明名称 中文文本自动分类用的特征降维方法
摘要 中文文本自动分类用的特征降维方法属于中文文本自动分类领域,其特征在于:首先选用一种特征选择方法对原始特征集进行降维,得到中间特征集;再对中间特征集进行分析,找出“高度重叠二元串”和“高度偏差二元串”;把高度重叠二元串合并为对应的三元串,把高度偏差二元串删除,得到最后用于机器学的学特征集;再由此得到分类器,供分类阶段使用。它充分利用语言本身的特点,在中间特征集的基础上大幅度降维,以保证所选择的特征具有较好的分类能力和描述能力,克服了单一采用统计量进行特征选择的不足。
申请公布号 CN1252635C 申请公布日期 2006.04.19
申请号 CN200410000721.9 申请日期 2004.01.16
申请人 清华大学 发明人 孙茂松;薛德军
分类号 G06K9/80(2006.01) 主分类号 G06K9/80(2006.01)
代理机构 代理人
主权项 1、中文文本自动分类用的特征降维方法,其特征在于,它以计算机作为工具,依次执行以下步骤:在学习阶段,含有以下步骤:(1).初始化输入大小为N的学习文本集D,M为D的类型数(j=1,...,M);采用特征频度作为统计量,输入低频噪声二元串的阈值;采用Chi分布-权重特征选择方法,输入二元串的权值阈值;输入δ、σ和k值,其定义及实值范围见下面所述;(2).用公知方法对学习文本集D进行预处理;(3).对学习文本集D分别进行一元、二元、三元串标引,得到一元串原始特征集、二元串原始特征集和三元串原始特征集;根据二元串原始特征集生成各个学习文本d的特征频度向量,它用d表示为:d=(tf(T1d),tf(T2d),...,tf(Tnd))n为二元串原始特征集包含的特征总数,tf(Tid)为第i个二元串特征在文本d中的特征频度值(i=1,...,n);(4).对上述二元串原始特征集进行降维,得到二元串中间特征集:(4.1).根据特征频度值,去掉频度小于设定频度阈值的低频噪声二元串;(4.2).根据Chi分布-权重特征选择方法,去掉权值小于设定的权值阈值的二元串;特征Tk在Cj类中的Chi分布-权重为:<math> <mrow> <mi>chi</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>k</mi> </msub> <mo>,</mo> <msub> <mi>C</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>N</mi> <mo>[</mo> <msub> <mi>P</mi> <mi>d</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>k</mi> </msub> <mo>.</mo> <msub> <mi>C</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>&times;</mo> <msub> <mi>P</mi> <mi>d</mi> </msub> <mrow> <mo>(</mo> <msub> <mover> <mi>T</mi> <mo>&OverBar;</mo> </mover> <mi>k</mi> </msub> <mo>,</mo> <msub> <mover> <mi>C</mi> <mo>&OverBar;</mo> </mover> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>P</mi> <mi>d</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>k</mi> </msub> <mo>,</mo> <msub> <mover> <mi>C</mi> <mo>&OverBar;</mo> </mover> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>&times;</mo> <msub> <mi>P</mi> <mi>d</mi> </msub> <mrow> <mo>(</mo> <msub> <mover> <mi>T</mi> <mo>&OverBar;</mo> </mover> <mi>k</mi> </msub> <mo>,</mo> <msub> <mi>C</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <msup> <mo>]</mo> <mn>2</mn> </msup> </mrow> <mrow> <msub> <mi>P</mi> <mi>d</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>k</mi> </msub> <mo>)</mo> </mrow> <mo>&times;</mo> <msub> <mi>P</mi> <mi>d</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>C</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>&times;</mo> <msub> <mi>P</mi> <mi>d</mi> </msub> <mrow> <mo>(</mo> <msub> <mover> <mi>T</mi> <mo>&OverBar;</mo> </mover> <mi>k</mi> </msub> <mo>)</mo> </mrow> <mo>&times;</mo> <msub> <mi>P</mi> <mi>d</mi> </msub> <mrow> <mo>(</mo> <msub> <mover> <mi>C</mi> <mo>&OverBar;</mo> </mover> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>,</mo> </mrow> </math> 其中,Pd(Tk,Cj)为包含特征Tk的Cj类文本在N中所占的比重;Pd(Tk,Cj)为未包含特征Tk的非Cj类文本在N中所占的比重;Pd(Tk,Cj)为包含特征Tk的非Cj类文本在N中所占的比重;Pd(Tk,Cj)为未包含特征Tk的Cj类文本在N中所占的比重;Pd(Tk)为包含特征Tk的文本在N中所占的比重;Pd(Cj)为Cj类文本在N中所占的比重;Pd(Tk)为未包含特征Tk的文本在N中所占的比重;Pd(Cj)为非Cj类文本在N中所占的比重;特征Tk在学习文本集D中的Chi分布-权重,取各类型中的最大值为:<math> <mrow> <mi>Chi</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>k</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mi>max</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>M</mi> </munderover> <mo>{</mo> <mi>Chi</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>k</mi> </msub> <mo>,</mo> <msub> <mi>C</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>}</mo> <mo>;</mo> </mrow> </math> (5).在上述二元串中间特征集中,找出“δ-重叠二元串”和对应的三元串,把“δ-重叠二元串”替换为对应的三元串;设:有两个不同的二元串T1(t11t12)和T2(t21t22),若:字符t12=t21,则T1(t11t12)和T2(t21t22)是二个不同的重叠二元串,其中,t12=t21表示:在两个不同的二元串中都包含同一个字符,t12表示这个字符在第一个二元串T1(t11t12)中处于第二个位置,t21表示这个字符在第二个二元串中处于第一个位置;而t11、t22分别表示两个二元串中其他的字符,若:两个不同的重叠二元串T1(t11t12)和T2(t21t22),以及包含它们的三元串T3(t31t32t33),如果在文本集D中,同时满足以下条件:<math> <mrow> <mfrac> <mrow> <mo>|</mo> <mi>tf</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mi>tf</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>|</mo> </mrow> <mrow> <mi>max</mi> <mrow> <mo>(</mo> <mi>tf</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mi>tf</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>&le;</mo> <mn>1</mn> <mo>-</mo> <mi>&delta;</mi> <mo>,</mo> </mrow> </math> <math> <mrow> <mfrac> <mrow> <mo>|</mo> <mi>df</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mi>df</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>|</mo> </mrow> <mrow> <mi>max</mi> <mrow> <mo>(</mo> <mi>df</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mi>df</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>&le;</mo> <mn>1</mn> <mo>-</mo> <mi>&delta;</mi> <mo>,</mo> </mrow> </math> <math> <mrow> <mfrac> <mrow> <mi>min</mi> <mrow> <mo>(</mo> <mo>|</mo> <mi>tf</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mi>tf</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mn>3</mn> </msub> <mo>)</mo> </mrow> <mo>|</mo> <mo>,</mo> <mo>|</mo> <mi>tf</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mi>tf</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mn>3</mn> </msub> <mo>)</mo> </mrow> <mo>|</mo> <mo>)</mo> </mrow> </mrow> <mrow> <mi>max</mi> <mrow> <mo>(</mo> <mi>tf</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mi>tf</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>&le;</mo> <mn>1</mn> <mo>-</mo> <mi>&delta;</mi> <mo>,</mo> </mrow> </math> 则:T1和T2是δ-重叠二元串,其中,T1、T2、T3分别是T1(t11t12)、T2(t21t22)和T3(t31t32t33)的简写,tf(T1)、tf(T2)、tf(T3)分别是T1、T2、T3在文本集D中出现的频度,df(T1)、df(T2)分别为文本集D中包含T1、T2的文本数,δ在[0-1.0]之间,表示T1、T2之间的重叠程度,为预设值,δ=1表示T1、T2在文本集D中是完全重叠的,δ=0表示T1、T2在文本集D中单独出现;(6).在上述二元串中间特征集中找出“σ-偏差二元串”,并删除之,从而得到学习特征集:σ-偏差二元串是指在文本集D中,满足以下条件的二元串T(t1t2),此处,t1、t2分别表示不同的字符:<math> <mrow> <mfrac> <mrow> <mi>max</mi> <mo>{</mo> <mi>tf</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mi>tf</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>}</mo> </mrow> <mrow> <mi>min</mi> <mo>{</mo> <mi>tf</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mi>tf</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>}</mo> </mrow> </mfrac> <mo>&GreaterEqual;</mo> <mi>&sigma;</mi> <mo>,</mo> </mrow> </math> 其中,tf(ti)是字符ti在文本集D中出现的频度,从上述一元串原始特征集中统计得出,σ是预置的大于1的实数,表示二元串T(t1t2)中字符t1、t2对分类所起作用的偏差程度,σ值越大,表示t1、t2的分类作用相差越大;(7).根据以上步骤中生成的二元串中间特征集、δ-重叠二元串和对应的三元串,以及σ-偏差二元串,对各学习文本d的二元串特征频度向量进行如下降维操作:删除二元串中间特征集中没有的特征;把存在的δ-重叠二元串替换为对应的三元串,频度替换成对应三元串频度的k倍(k=10);把存在的σ-偏差二元串删除;(8).以类型为单位,合并降维后的文本特征频度向量,生成各类型的特征频度向量Cj:Cj=(tf(T1j),tf(T2j),...,tf(Tnj)),其中,tf(Tij)为第i个特征在类型Cj中出现的频度;(9).根据预设的特征向量权重计算方法,计算各类型Cj的权重向量并规格化,权重向量Wj为:Wj=(w(T1j),w(T2j),...,w(Tnj)),第i个特征在类型Cj中的特征权重为w(Tij):<math> <mrow> <mi>w</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>ij</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mi>log</mi> <mrow> <mo>(</mo> <mi>tf</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>ij</mi> </msub> <mo>)</mo> </mrow> <mo>+</mo> <mn>1.0</mn> <mo>)</mo> </mrow> <mo>&times;</mo> <mi>log</mi> <mrow> <mo>(</mo> <mfrac> <mi>N</mi> <mrow> <mi>df</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> 其中,df(Ti)为学习文本集D中含有第i个特征的文本数;(10).创建基于类中心向量的线性分类器f:<math> <mrow> <mi>f</mi> <mo>=</mo> <munderover> <mrow> <mi>arg</mi> <mi>max</mi> </mrow> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>M</mi> </munderover> <mrow> <mo>(</mo> <msub> <mi>W</mi> <mi>j</mi> </msub> <mo>&CenterDot;</mo> <msub> <mi>W</mi> <mi>d</mi> </msub> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> 其中,Wd为任意文本d的权重向量,其计算方法同步骤(9)中的类型权重向量,·为向量内积操作;(11).用测试数据,按下述分类阶段的方法进行测试,优化δ、σ、k各参数;在分类阶段,含有以下步骤:(12).对待分类文本进行预处理;(13).把待分类文本标引为二元串频度向量;(14).按上述步骤(7)中的操作对待分类文本的二元串频度向量进行降维;(15).按上述步骤(9)中的方法计算待分类文本的权重向量Wd;(16).将步骤(15)中得到的待分类文本权重向量Wd输入上述的分类器进行分类,输出分类结果。
地址 100084北京市100084-82信箱