APP下载

语义词典归类不当现象自动发现

2011-06-14邱立坤邵艳秋

中文信息学报 2011年1期
关键词:反例义项词典

邱立坤,邵艳秋

(1. 北京大学 计算语言学教育部重点实验室,北京 100871; 2.北京城市学院 人工智能研究所,北京 100083)

1 引言

现有的语义词典多数都是语言学工作者人工编制而成的,耗费了大量的人力和物力,但由于时间和精力的限制,不可避免的会存在义项缺失或义项不当的问题。《同义词词林》[1](以下简称《词林》)最开始是为了写作而编撰的,而且由于编制时间较早,义项设置的问题就更加严重。即使是像HowNet[2]这样经过十余年时间编撰而成的词典,也存在一定义项不当的问题。用人工的方式来改进现有的语义词典是一件相当困难的工作,从数万个词语中寻找可能存在的义项缺失或义项不当问题就如大海捞针一般困难。一个比较现实的方法是使用自动计算方法来辅助发现缺失义项以及设置不当的义项。

本文工作的基础是平行周遍原则。陈保亚[3]首次提出用平行周遍原则来区分词和短语,之后又在文献[4-5]中对此理论作了进一步的发展,认为所谓的“平行”指的是被替换的成分具有相同的特征,所谓的“周遍”指的是具有相同特征的成分在同样的条件下都可以替换。比如,“老李、老张、老刘”符合“老+单音节姓氏”的规则,即平行又周遍,所有单音节姓氏都可以替换;“老虎、老鹰、老鼠”符合“老+单音节动物名”的规则,平行但不周遍,有许多反例,如“老羊”就不是一个合法的动物名。陈[3]认为符合平行周遍规则的词语才应该收入词典。本文将平行周遍规则与平行不周遍规则统称为平行规则,这些规则在一定程度上反映了汉语词语构词模式上的规律性: 平行周遍规则比较严格,反例少,这一类规则的数量也比较少;平行不周遍规则比较宽松,反例多,这一类规则的数量比较多。

虽然陈保亚[3-5]所提出的平行周遍原则初衷在于区分词和短语,但由于种种原因,现有的词典在收词时并没有遵循这一原则,因此正如董秀芳[6]所述,现有词典中的词语既有不符合平行周遍原则的词语(词汇词),也有符合平行周遍原则的词语(词法词)。因此,我们可以通过归纳的方法从词典中自动地发现大量的平行规则。

平行规则的反例中有许多都是因为归类不当所造成的,但也有许多归类是正确的。如果单纯依据平行规则的反例来发现归类不当的现象,正确率太低;引入两部词典进行交叉验证,可以明显地提高正确率。因此本文的基本思路为:

给定两部语义词典,则可以归纳出两套平行规则,每一套规则都有各自的正例和反例;如果一个词典中某一规则的反例同时是另一个词典中的正例,就意味着前一部词典中的词语可能属于归类不当。

本文剩余部分组织如下: 第2节简要叙述相关工作;第3节对平行周遍原则进行具体化,分为双向平行类推和成对替换类推两类规则;第4节介绍两类规则的自动获取方法;第5节介绍基于两类平行规则自动发现语义词典归类不当现象的算法;第6节给出本文的实验结果;最后是结论。

2 相关工作

目前专门讨论自动发现语义词典归类不当现象的文章很少,相关的工作主要集中于汉语未登录词语义类标注上。

K.Chen和C.Chen[7]提出了基于原型的模型。对于两个具有相同核心字的词语,该模型计算两个词语修饰成分的相似度作为两个词语的语义相似度。他们在一个包含200个名词的集合上进行测试,所报告的精度达到了81%。

除了使用形态分析,Tseng[8]尝试识别构成词语的成分之间的形态句法关系。在为未登录词寻找一个最相似的词语时,该方法首先要将形态句法关系不同的词语过滤掉。这一方法的问题在于形态句法分类本身的难度尚在语义类猜测之上,因此不可避免地在一开始就产生许多的错误,从而导致最终的结果过低。这篇文章进行语义类猜测的目标集合仅包含《词林》中最上层的12个大类。此粒度过粗,实用性不足,其所报告的精度与Lu[9]相比,也相差甚远。

Lu[9]是目前汉语未登录词语义类判断领域最有代表性的工作。其未登录词语义类判断的方法与其词类判断的方法[10]比较类似,包括一个基于字类关联的统计模型和一个基于规则的模型。其中,基于字类关联的模型主要考虑出现于不同位置上的字与不同语义类之间的关联强度,通过不同的算法来进行加权,最终得到一个较好的语义类判断模型。基于规则的模型用于处理在词典中可以找到结构类似词语的未登录词,这些规则虽然只能处理少量的未登录词,但其正确率较高。两者结合可以得到较好的效果(《词林》第三级类上F值为61.6%,第二级类上为69.9%)。

上述相关研究表明,在进行汉语未登录词语义类标注时研究者主要使用成分结构特征,而上下文特征的有效性则有待于进一步的讨论和验证。本文所使用的平行原则本质上也属于基于成分结构特征来判断词语的语义类。

3 平行周遍原则的具体化

将平行周遍原则运用到未登录词语义类标注中,首先要对之进行具体化,使之具备可操作性。本文将平行周遍原则具体化为两种,分别是双向平行类推规则与成对替换类推规则。

双向平行类推的基本思想是: 一批语义类相同的成分{D1,D2…Dn}具有相同的构词能力,它们分别与另一个成分A构成词语{D1A,D2A…DnA},且C(D1A)=C(D2A)…=C(DnA)。这里,C(DA)表示词DA的语义类。例如,“保长、盟长、区长、省长、市长、县长、乡长、乡镇长、镇长、州长”这一组词具有一个共同字“长”,词的整体义都属于官员类,其中的替换成分则都属于行政区划类。

成对替换类推的基本思想是: 一对语义类相同的成分A、B具有相同的构词能力,它们分别与另外一批成分{D1,D2,…,Dn}构成一批词对{(D1A,D1B), (D2A,D2B),…,(DnA,DnB)},且C(D1A)=C(D1B), C(D2A)=C(D2B),…,C(DnA)=C(DnB)。例如,“分店、支店,分队、支队,分队长、支队长,分行、支行”这四对词都有一对语义类相同的替换成分 “分、支”,每一对中的两个词语义类也相同。

4 双向平行类推规则和成对替换类推规则自动抽取

4.1 双向平行类推规则抽取

设词典中存在一个词语集合WS={D1A, D2A, …, DnA},WS包含n个词语,每个词语DiA包含两个成分“Di”和“A”,“Di”和“A”都包含一个或多个字。如果这n个词语的语义类属于同一个语义类,即C(D1A)=C(D2A) =… =C(DnA),那么我们称WS中的词语整体语义类平行。根据这个集合,我们可以推导出一条规则: 给定一个未登录词Dn+1A,其语义类应为C(D1A)。我们称这种规则为单向平行规则,称Di为替换成分,A为共同成分。单向平行规则限制较小,因此会碰到过多的反例。

通过进一步加强限制,可以形成双向平行类推规则。设词典中存在一个词语集合WS={D1A, D2A, …, DnA},WS包含n个词语,每个词语DiA包含两个成分“Di”和“A”,“Di”和“A”都包含一个或多个字。如果这n个词语的语义类属于同一个语义类,即C(D1A)=C(D2A) =… =C(DnA),并且这n个词语替换成分的语义类也属于同一个语义类,即C(D1)=C(D2) =… =C(Dn),那么我们称WS中的词语双向平行。根据这个集合,可以推出一条规则: 给定一个未登录词Dn+1A,如果C(Dn+1)= C(D1),则其语义类应为C(D1A)。此类规则可称之为双向平行类推规则,双向平行分别指词语语义类平行(相同)和替换成分语义类平行(相同)。一个双向平行类推规则的条件可以表示为(A,C(w),C(c))的三元组,其中A为共同成分,C(w)为词语语义类,C(c)为替换成分语义类。

对于一个限制条件为(A,C(w),C(c))的双向平行类推规则Rj,Rj的正例应同时满足词语语义类平行条件和成分语义类平行条件;仅满足成分语义类平行条件而不满足词语语义类平行条件的为反例,例如词语BA满足成分语义类平行条件,即C(B)=C(c),但C(BA)≠C(w),即不满足词语语义类平行条件,因此该词语为Rj的反例;正例和反例词语共同构成Rj的相关词语集合Sj。

为了评估规则的可靠性,应设定两个阈值: (1)正例的数量必须高于一定的阈值,设为λp;(2)正例在Sj中的比例必须高于一定阈值,设为λn。

考虑上述两个因素,推导双向平行类推规则的算法如下*要推导出所有双向平行类推规则,需要遍历所有可能的共同成分;对于每个共同成分对应的词语集合,需要遍历所有可能的词语整体语义类和成分语义类。(以下称算法1):

(1) 给定一个语义词典T和两个阈值λp、λn;

(2) 获得所有的构词成分(构词成分应该是T中的单字词);

(3) 初始化一个规则集合RS,置为空;

(4) 遍历所有构词成分:

a) 对于一个成分A,以A为共同成分,从T中抽取一个词语集合WS={DiA| DiA∈T};

b) 获取WS中的替换成分语义类集合和词语语义类集合,以枚举的方式遍历两个语义类集合;

i. 设当前词语语义类为CM1,替换成分Di语义类为CM2,以(A,CM1,CM2)为限制条件的规则记为Rj;

ii. 对于词语DiA,如果C(Di)=CM2且C(DiA)=CM1,则DiA为Rj的正例,Rj的正例数(记为CountPj)加一;如果C(Di)=CM2且C(DiA)≠CM1,则DiA为相应规则的反例,将Rj的反例数(记为CountNj)加一;

(5) 遍历规则集合RS

a) 给定规则Rj∈RS,限制条件为(A,CM1,CM2);

b) 如果CountPj大于λp并且CountPj/(CountPj+CountNj)大于阈值λn,则可以产生一条双向平行类推规则: 给定一个未登录词EA,如果C(E)=CM2,则C(EA)=CM1;否则不产生规则。

例如,给定共同成分 “市”和词典《词林》,词语语义类为CM1=Di02,成分语义类为CM2=Cb25,则可找到正例121个,反例30个,正例比例为(121/(121+30))≈0.8。如果阈值λp、λn分别为3、0.5,则可以产生一条规则: 给定一个未登录词 “B市”,如果C(B)=Cb25,则C(B市)=Di02。

上面仅仅叙述了共同成分在后的情况,事实上,共同成分也可在前。两种情况下推导双向平行类推规则的过程是一致的,在此不再赘述。

4.2 成对替换类推规则抽取

一对语义类相同的成分A、B具有相同的构词能力,它们分别与另外一批成分CS={D1,D2,…,Dn}构成一批词对WPS={(D1A, D1B),(D2A,D2B),…,(DnA, DnB)},且C(D1A)=C(D1B), C(D2A) =C(D2B),…,C(DnA)=C(DnB)。根据这条规则可以产生更多的新词语,我们称这种规则为成对替换类推规则,其中成对的成分A和B称为共同成分对,与A和B构成词的成分为替换成分。一个成对替换类推规则的条件可以表示为(A,B,C(A)=C(B),C(DiA)=C(DiB))的三元组,其中A、B为共同成分对,A、B语义类相同(即成分语义类条件),Di为替换成分,词DiA和DiB语义类相同(即词语语义类条件)。

对于一个限制条件为(A,B,C(A)=C(B),C(DiA)=C(DiB))的规则Rj,Rj的正例应同时满足词语语义类条件和成分语义类条件;仅满足成分语义类条件而不满足词语语义类条件的为反例,例如词对(DiA,DiB)满足成分语义类条件,即C(A)=C(B),但C(DiA)≠C(DiB),即不满足词语语义类条件,因此该词语为Rj的反例;正例和反例词语共同构成Rj的相关词语集合Sj。

为了评估规则的可靠性,同样应设定两个阈值: (1)正例的数量必须高于一定的阈值,设为λp;(2)正例Sj中的比例必须高于一定阈值,设为λn。

推导成对替换类推规则的算法如下*要推导出所有双向平行类推规则,需要遍历所有可能的共同成分;对于每个共同成分对应的词语集合,需要遍历所有可能的词语整体语义类和成分语义类。(以下称算法2):

给定一个语义词典T和两个阈值λp、λn;

(1) 找到所有的语义类相同的构词成分对(构词成分应该是T中的单字词);

(2) 初始化一个规则集合RS,置为空;

(3) 遍历所有成分对:

a) 选择一个语义类相同的成分对A、B(A和B通常是两个字),设两个成分分别与另一个成分构成的词对的集合为WPS={(D1A, D1B),(D2A,D2B),…,(DnA, DnB)}, 设以(A,B,C(A)=C(B),C(DiA)=C(DiB))为限制条件的规则Rj;

i. 遍历WPS的词对WPi=(DiA,DiB);

ii. 如果C(DiA)=C(DiB),则WPi属于Rj的一个正例,如果C(DiA)(C(DiB),则WPi属于Rj的一个反例,据此更新Rj的正例数CountPj和反例数CountNj;

b) 如果Rj的CountPj大于λp,且CountPj/(CountPj+CountNj)大于阈值λn,则可以推导出一条以(A,B,C(A)=C(B),C(DiA)=C(DiB))为限制条件的成对替换类推规则: 对于未登录词w=DiA,如果T中存在词语DiB,则C(DiA)=C(DiB);对于未登录词w=DiB,如果T中存在词语DiA,则C(DiB)=C(DiA)。

例如,给定具有相同语义类的替换成分对“部—局”和词典《词林》,阈值λn为0.5,在词林中找到31对正例,14对反例,正例比例为31/(31+14)≈0.7,大于λn,因此可以产生一条成对替换规则: 对于未登录词w=E部,如果词林中存在词语E局,则C(E部)=C(E局);对于未登录词w=E局,如果词林中存在词语E部,则C(E局)=C(E部)。

上面仅仅叙述了替换成分对在后的情况,事实上,替换成分对也可在前。两种情况下推导成对替换类推规则的过程是一致的,在此不再赘述。

5 语义词典归类不当现象自动发现

5.1 词典归类结果类别划分

在以人工方式对词典归类结果进行分类时,我们将之分为四类,分别是: 义项缺失,义项不当,其他不当,正确。六种类别中,义项缺失、义项不当、其他不当统称为归类不当。

所谓义项缺失指的是: 对于词语w,词典中已经为之标注了一个正确的义项S1,自动计算出的义项S2与S1不同,但也是一个正确的义项,因此,我们可以认为词典缺少了义项S2。例如,在《词林》中,“本乡”应该有一个义项与“本村、本市”同类,但在《词林》中没有这个义项,这就属于义项缺失。

所谓义项不当指的是: 对于词语w,词典中已经为之标注了一个义项S1,自动计算出的义项S2与S1不同,两个义项相比,S2更恰当,因此,将词语w标注义项S1属于义项不当。例如,在《词林》中,“专注”与“注意、留意、经意、在意、小心、留心”同类,但实际上 “专注”与“专心、专心致志、全神贯注”同类要更恰当一些,因此,《词林》对“专注”的标注就属于义项不当。

给定词语w,如果自动标注结果错误,而这个错误原因是因为词典对w的一个同义词或近义词w1标注错误造成的,我们称之为其他不当。例如,在《词林》中“跳水”被归入体育运动类,但是类似的“跳高、跳远”却没有体育运动类的义项。这一类数量较少。

所谓正确指的是: 词典标注结果正确,自动标注结果错误。这一类体现了不同语义词典在分类标准上的差异性,在一部词典中归入同一类的词语,在另一部词典中却属于不同的类别。比如HowNet中的human类,在《词林》中则被分为许多类。又如,在HowNet中有CatchUp这一类,“补课、补交”都属于这一类,但是在《词林》中“补课”与“听课、讲课”在一类,与“补交”相隔甚远。

5.2 语义词典归类不当现象自动发现

每一条双向平行类推规则和成对替换类推规则都会有一些正例和一些反例。在这些规则及对应的正例和反例基础上,我们给出用于发现词典中可能的缺失义项和不当义项的算法。

基于双向平行类推规则的算法如下:

给定两个语义词典T1和T2,分别为待处理词典(比如《词林》)与参照词典(比如HowNet)

(1) 从T1中根据算法1抽取双向平行类推规则,分别给出相应的正例和反例;

(2) 逐一处理每一条双向平行类推规则,设为Rulei,设其正例集合为{PE1,…,PEn},反例集合为{NE1,…,NEm};

a) 逐一处理反例集合中的每一个词语NEj,判断在T2中NEj与正例集合中的任一词语是否具有相同的语义类

i. 如果是,则标记为“归类不当”;

ii. 如果否,则标记为“正确”。

基于成对替换类推规则的算法如下:

给定两个语义词典T1和T2,分别为待处理词典(比如《词林》)与参照词典(比如HowNet)

(1) 从T1中根据算法2抽取成对替换类推规则,分别给出相应的正例和反例;

(2) 逐一处理每一条成对替换类推规则,设为Rulei,设其正例集合为{PE11、PE12,…,PEn1、PEn2},反例集合为{NE11、NE12,…,NEm1、NEm2}

a) 逐一处理反例集合中的每一对词语NEj1、NEj2,判断在参照词典中NEj1、NEj2是否具有相同的语义类

i. 如果是,则标记为“归类不当”;

ii. 如果否,则标记为“正确”。

6 实验及其分析

本文的实验以哈尔滨工业大学《同义词词林扩展版》为测试词典,以董振东先生HowNet为参照词典,从成对替换类推规则的反例中总共找到1 677对可能存在缺失义项或不当义项的情况。本文分析了其中的100对反例(取按拼音升序排列最前面的100对),其中属于义项缺失的10对,属于义项不当的42对,总计存在义项缺失和义项不当的占52%(如表1所示)。示例详见表2。其中,“前词”和“后词”分别指成对词语中的前一个词和后一个词,“人工判断错误类型”指人工对错误进行判断后所给出的分类结果,“位置”指成对词语中存在问题的具体词语。例如“挨打、挨斗”这一对词语是成对替换类推规则的一个反例,即在测试词典中两个词不同类,但在参照词典中两个词语同类,通过分析发现,这一问题是由于《词林》中对后词“挨斗”归类不当造成的,因此“人工判断错误类型”为“不当”。

表1 两种归类不当现象自动发现算法结果

表2 基于成对替换类推规则的归类不当现象自动发现算法结果分析示例

以《词林》为测试词典,HowNet为参照词典,从双向平行类推规则的反例中总共找到570个词语可能存在缺失义项或不当义项的情况。本文分析了其中的100个反例(取按拼音升序排列最前面的100个),其中属于义项缺失的8个,属于义项不当的27个,属于其他不当的5个,总计存在义项缺失或不当的占40%(如表1所示)。示例详见表3。其中“反例词语”指待分析的反例中的词语,“人工判断错误类型”指人工对错误进行判断后所给出的分类结果,“HowNet中的同类词语”指依据参照词典判断正例中应当与当前反例词语同类的词语。例如在《词林》中“白白”这个词语是双向平行类推规则的反例,该规则的正例中包括词语“白皑皑”;在HowNet中“白白”与“白皑皑”属于同一类。分析之后发现在《词林》中“白白”缺少了表示颜色的义项,因此“人工判断错误类型”为“缺失”。

表3 基于双向平行类推规则的归类不当现象自动发现算法结果分析示例

7 结论

本文的实验初步证明了本文提出的方法在语义词典归类不当现象自动发现上的有效性。将归类不当现象自动发现算法同人工校对结合起来,可以将人工检查的目标从8万量级降低到千量级,从而可以节省大量人工。

此外,根据目前初步的试验,基于上下文计算词语相似度的方法应该也可以应用于归类不当现象的错误发现之中,我们将在另外一篇文章中来讨论相关的问题。

致谢

本文在实验中使用了哈尔滨工业大学信息检索研究中心的《同义词词林扩展版》和董振东先生的HowNet,特此致谢。

[1] 梅家驹,竺一鸣,高蕴琦,等.同义词词林[M].上海: 上海辞书出版社, 1983.

[2] D. Dong and Q. Dong. HowNet And the Computation of Meaning [M]. River Edge, NJ, USA: World Scientific Publishing Co., 2006.

[3] 陈保亚.20世纪中国语言学方法论[M].济南: 山东教育出版社,1999.

[4] 陈保亚.再论平行周遍原则和不规则字组的判定[J].汉语学习, 2005,(1):9-13.

[5] 陈保亚.论平行周遍原则与规则语素组的判定[J].中国语文,2006,(2): 99-108.

[6] 董秀芳.汉语的词库与词法[M].北京: 北京大学出版社,2004.

[7] K. Chen and C. Chen. 2000. Automatic semantic classification for Chinese unknown compound nouns [C]//Proceedings of the 18th International Conference on Computational Linguistics. Morristown, NJ, USA: Association for Computational Linguistics, 2000: 173-179.

[8] H. Tseng. Semantic classification of Chinese unknown words [C]//Proceedings of ACL-2003 Student Research Workshop. Morristown, NJ, USA: Association for Computational Linguistics, 2003: 72-79.

[9] X. Lu. Hybrid Models for Semantic Classification of Chinese Unknown Words [C]//Proceedings of North American Chapter of the Association for Computational Linguistics - Human Language Technologies 2007 Conference. Rochester, NY, USA: Association for Computational Linguistics, 2007: 188-195.

[10] X. Lu. Hybrid Methods for POS Guessing of Chinese Unknown Words [C]//Proceedings of the 43th Annual Meeting of Association for Computational Linguistics Student Research Workshop. Morristown, NJ, USA: Association for Computational Linguistics, 2005: 1-6.

猜你喜欢

反例义项词典
几个存在反例的数学猜想
米兰·昆德拉的A-Z词典(节选)
米沃什词典
词典引发的政治辩论由来已久 精读
活用反例扩大教学成果
利用学具构造一道几何反例图形
两用成语中的冷义项
漫画词典
对称不等式的不对称
Enhanced Precision