基于转换的错误驱动的词性标注方法

•Eric Brill (1992,1995)
•Transformation-based error-driven part of speech tagging
•基本思想:

(1)正确结果是通过不断修正错误得到的

(2)修正错误的过程是有迹可循的

(3)让计算机学习修正错误的过程,这个过程可以用转换规则(transformation)形式记录下来,然后用学习得到转换规则进行词性标注

转换规则的形式
 
•转换规则由两部分组成
–改写规则(rewriting rule)
–激活环境(triggering environment)
•一个例子:转换规则T1
–改写规则:将一个词的词性从动词(v)改为名词(n);
–激活环境:该词左边第一个紧邻词的词性是量词(q),第二个词的词性是数词(m)
 
S0: 他/r 做/v 了/u 一/m 个/q 报告/v

运用T1

S1: 他/r 做/v 了/u 一/m 个/q 报告/n

转换规则的模板(template)

改写规则:将词性标记x改写为y
•激活环境:

(1)当前词的前(后)面一个词的词性标记是z;

(2)当前词的前(后)面第二个词的词性标记是z;

(3)当前词的前(后)面两个词中有一个词的词性标记是z;……其中x,y,z是任意的词性标记代码。

根据模板可能学到的转换规则

•T1:当前词的前一个词的词性标记是量词(q)时,将当前词的词性标记由动词(v)改为名词(n);
•T2:当前词的后一个词的词性标记是动词(v)时,将当前词的词性标记由动词(v)改为名词(n);
•T3:当前词的后一个词的词性标记是形容词(a)时,将当前词的词性标记由动词(v)改为名词(n);
•T4:当前词的前面两个词中有一个词的词性标记是名词(n)时,将当前词的词性标记由形容词(v)改为数词(m);……
 
转换规则的学习流程

 

•C0表示带有正确标注的语料库
•C0_raw表示C0拿掉正确标注后的生语料库
 
转换规则学习器算法描述

1)首先用初始标注器对C0_raw进行标注,得到带有词性标记的语料Ci(i =1);

2)将Ci跟正确的语料标注结果C0比较,可以得到Ci中总的词性标注错误数;

3)依次从候选规则中取出一条规则Tm (m=1,2,…),每用一条规则对Ci中的词性标注结果进行一次修改,就会得到一个新版本的语料库,不妨记做(m=1,2,3,…),将每个    跟C0比较,可计算出每个中的词性标注错误数。假定其中错误数最少的那个是   (可预期中的错误数一定少于Ci中的错误数),产生它的规则Tj就是这次学习得到的转换规则;此时成为新的待修改语料库,即Ci=    。

4)重复第3步的操作,得到一系列的标注语料库 ,…后一个语料库中的标注错误数都少于前一个中的错误数,每一次都学习到一条令错误数降低最多的转换规则。直至运用所有规则后,都不能降低错误数,学习过程结束。这时得到一个有序的转换规则集合{Ta, Tb,Tc, …}

 

转换规则学习示例

 

posted on 2011-11-12 18:43  Richard.LI  阅读(779)  评论(0编辑  收藏  举报

导航