自然语言处理中的岐义消解方法*,本文主要内容关键词为:自然语言论文,方法论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
提要 比较了中文和英文在歧义现象上的异同,分析了基于“制约”的歧义消解方法和基于“优选”的歧义消解方法,指出了自然语言的歧义结构本身就包含了消解歧义的因素,认真地分析这些因素,可以为歧义消解提供有用的条件,这些条件包括再分类、句法制约条件、语义制约条件等。
语言中的同形歧义既反映在单词上,又反映在由单词组成的各种结构上,形成词汇歧义(lexical ambiguity )和结构歧义(structuralambiguity)。
打开任何一本英语词典,我们可以发现,许多单词都可能属于几个不同的词类。例如,order可作为名词N,其含义是“次序,顺序”,又可作为动词V,其含义是“整理,安排”;book可作为名词N,其含义是“书”,又可作为动词V,其含义是“预定”。 这就是英语中单词的兼类现象,兼类就是一种词汇歧义。英语的形态标志—s也有歧义, 如果加在名词之后,表示复数,如果加在动词之后,则表示现在时单数第三人称,这也是一种词汇歧义。如果单词X加上—er,形成“Xer”,也会产生歧义,有时其含义是“one that Xes”,有时是比较级。例如,clean(清洁的)加上—er形成cleaner,其含义可为“清洁器”,也可为“更干净”;smooth(平滑的)加上—er形成smoother,其含义可为“修光工具”,也可为“更光滑”。这也是一种词汇歧义。
英语中的结构歧义,最常见的有如下三种:
(1)在“VP+NP1+Prep+NP2 ”这样的结构中, 介词词组PP (Prep+NP2)既可以作为名词词组NP1的定语,又可以作为动词词组VP的状语,这就产生了歧义。
例如,句子“I saw a boy with a telescope”中的PP “with atelescope”,当它作为NP1“a boy”的定语时, 句子的含义是“我看到了一个带着望远镜的男孩子”(试比较:“I lost the ticket toBerlin”〔我丢失了去柏林的车票〕);当它作为VP“saw ”的状语时, 句子的含义是“我用望远镜看见了一个男孩子”(试比较:“I send the ticket to Berlin”〔我往柏林寄出了车票〕)。
(2)当若干个词与and连用时,由于and的管辖范围不同, 而影响到层次结构的不同。
例如,短语“old men and women ”可解释为“年老的男人和所有的女人”,这时,层次结构为((old men)and women),and与old无关,也可解释为“所有年老的男人和所有年老的女人”,这时,层次结构为(old(men and women)),and与old有关。
(3)当两个或两个以上的名词组成词组时, 对整个名词词组的含义往往可以作不同的解释,就会产生歧义。
例如,由名词widget(作附件用的小机械)和名词hammer(锤子)组成的名词词组widget hammer,既可以理解为“widget used as hammer”(作锤子用的小机械),又可理解为“hammer for hitting widget”(锤击小机械的锤子),从而产生歧义; 如果在前面再加上一个名词town(城市),组成名词词组town widget hammer,其层次结构可分析为((town widget)hammer),又可分析为(town(widget hammer)),这样的名词词组的歧义就更为严重了。
如果在一个英语句子中,既包含有“VP+NP1+Prep+NP2”这样的结构,其中的NP1或NP2又是由若干个名词组合而成的名词词组,并且还包含连接词and,那么,这个句子的歧义将成倍地增长, 其剖析的难度也就更大了。
为了解决英语剖析中的同形歧义问题,美国计算语言学家马尔库斯(Marcus)提出了确定性剖析算法(determinism),这种算法主张, 在句子的剖析过程中,尽量不要在局部的歧义问题上纠缠,不要回溯,不要改变初衷,一定要不屈不挠地去找寻唯一正确的结构描述。学者们还提出了向前看(lookahead )的超前分析策略、 启发式分析策略(heuristics)、消移剖析算法(shift—reduce parsing algorithm )、线图剖析法(chart parser)等。可见,同形歧义确实是自然语言处理中的一个至关重要的问题。
早在1959 年,赵元任教授就写了《汉语中的歧义问题》(Ambiguity in Chinese),这是我们见到的最早的一篇关于汉语歧义问题的理论探讨的专论。此后,朱德熙教授于1980年写过《汉语句法里的歧义现象》,从句法的角度研究汉语的歧义。同形歧义一直是我国语言学前辈关心的问题。
汉语中的词汇歧义主要体现在多义词和兼类词上,多义词是具有一一个以上意义的词,兼类词是具有一个以上词类类别的词。关于这样的词汇歧义,我们将另文讨论,这里,我们主要讨论结构歧义问题。
英语中第一种常见的结构歧义,即介词词组PP既作状语又作定语的那种歧义,汉语中并不多见。因为汉语的PP作定语时,一般置于名词词组之前,常加“的”,不易与作状语的PP相混。但是,在汉语的介词词组中,由于介词管辖范围的不同,却容易引起歧义。例如,
关于((教师的)小说)
(关于(教师的))小说在第一个短语中,介词“关于”的管辖范围是“教师的小说”(试比较:“关于动物的尾巴”),在第二个短语中,介词的管辖范围只是“教师”(试比较:“关于动物的书”),因而产生歧义。
英语中的第二种常见的结构歧义,即由于连词and 的管辖范围不同而产生的歧义,在汉语中也存在。在汉语中,“的”字跟连词“和”用在一起,最容易产生管辖范围的问题。例如,
把((重要的书籍)和(手稿)带走了
把(重要的(书籍和手稿))带走了英语中第三种常见的结构歧义,即由两个或两个以上的名词组成名词词组而产生的歧义,在汉语中也很普遍。
由名词N1和N2组合而成的词组,其结构关系各有不同,形成结构歧义。
例如,
(N1)+(N2)
(女子)(理发店)
可以指专门给女子理发的理发店,也可以指理发师全都是女性的理发店。
由三个名词组合而成的词组,由于结构层次的不同,也会产生结构歧义。例如:
(N1+(N2+N3)) ((N1+N2)+N3)
(北欧(语言研究会))((北欧语言)研究会)
由形容词ADJ、名词N1、名词N2组合而成的词组结构层次不同, 也会产生结构歧义。例如:
(ADJ+(N1+N2))(ADJ+N1)+N2)
(新(职工宿舍))((新职工)宿舍)
事实上,汉语中常见的同形歧义结构还有许多,情况似乎比英语更为复杂。
在自然语言处理的研究中,早在60年代,美国哈佛大学教授久野(Kuno)就提出了歧义消解(disambiguity)的问题。
目前,在自然语言的计算机处理中,普遍采用的歧义消解方法,归纳起来不外两种:一种是基于“制约”(constraint)的歧义消解方法,一种是基于“优选”(preference)的歧义消解方法。
所谓基于“制约”的歧义消解方法,就是利用句法、语义制约条件,排除不能满足制约条件的结构,从而达到歧义消解的目的。
由我们提出的“潜在歧义论”可知,在PT—结构实例化过程中,由于词汇单元之间句法条件的制约,往往能够消解歧义。例如,汉语中“数量结构+NP1+的+NP2”这样的潜在歧义结构,可以理解为“(数量结构+NP1)+的+NP2”,也可以理解为“数量结构+(NP1+的+NP2)”。如果数量结构中的量词既能限定NP1,又能限定NP2,那就必定会产生歧义;但是,如果我们根据NP1及NP2的性质,对数量结构中的量词作进一步的再分类(subcategorization), 使得数量结构中的这个量词不能同时限定NP1及NP2,便可以消除歧义。
当这个PT—结构实例化为“三个学校的实验员”时,由于量词“个”既可以限定NP1“学校”,又可以限定NP2“实验员”,因而不能消除歧义。
根据汉语的语法知识我们知道,“学校”的量词一般为“所”,“实验员”的量词一般为“位”,据此我们对量词做再分类,把“学校”的量词规定为“所”,将上述PT—结构实例化为“三所学校的实验员”,由于量词“所”不能限定NP2“实验员”, 其结构只能理解为“(三所学校)的实验员”,歧义得到消解;我们如果把“实验员”的量词规定为“位”,将上述PT—结构实例化为“三位学校的实验员”,由于量词“位”不能限定NP1“学校”, 其结构只能理解为“三位(学校的实验员)”,歧义也可得到消解。
采用这样的再分类的办法,不仅把量词分为若干小类,还可以把名词分为若干小类,把形容词分为若干小类,把动词分为若干小类,然后指出,哪些小类可以跟哪些小类组合,哪些小类不能跟哪些小类组合,便可以在潜在歧义结构实例化的过程中,利用这样的句法制约条件,达到消解歧义的目的。
除了再分类之外,还可以根据其他的句法关系来消解歧义。
在英语中,“Look at the pages of the book which arewritten by him”(看一看书中他所写的那几页)在结构上也有歧义,Which—从句“which are written by him”可能修饰the book, 也可能修饰the pages。 根据“从句中名词的数应该与被修饰的名词一致”这样的句法关系,从句中用are written,是复数, 故被其修饰的名词应该为复数,不可能是the book,而应该是the pages。 根据这样的句法条件,歧义得以消解。
句法的制约条件有时显得过于烦琐,PT—结构实例化过程中利用词汇单元之间的语义制约条件,往往能够更加便捷地消除歧义。例如,“VP+N1+的+N2”这样的潜在歧义结构,其层次可以理解为“(VP+N1+的)+N2”,(VP+N1+的)作N2的定语,是定中结构,也可以理解为“VP+(N1+的+N2)”,(N1+的+N2)作VP的宾语,是述宾结构,这就产生了潜在歧义。
这种潜在歧义要转化为现实歧义必须同时满足如下两个语义制约条件:
A.N1在语义上可以作VP的受事;
B.N2在语义上可以作VP的受事,当N1为VP的受事时,N2又可作VP的施事;
C.N1与N2之间在语义上存在领属和被领属的关系,N1是领属者,N2是被领属者。
如果“VP+N1+的+N2”实例化之后,可以同时满足上述语义制约三个条件,潜在岐义便有可能转化为现实的歧义。
当实例化为“咬死了猎人的狗”时,恰好满足上述三个语义制约条件:
A.“猎人”在语义上可以作“咬死了”的受事,我们可以说“咬死了猎人”。
B.“狗”在语义上可以作“咬死了”的受事,当“猎人”作“咬死了”的受事时,“狗”又可以作“咬死了”的施事,我们可以说“(什么)咬死了狗”,又可说以“狗咬死了(什么)”。
C.“猎人”与“狗”之间,在语义上存在着领属和被领属的关系,“猎人”是领属者,“狗”是被领属者。我们可以说“猎人的狗”。
因此,“咬死了猎人的狗”可以理解为“(咬死了猎人的)狗”(定中结构),又可以理解为“咬死了(猎人的狗)”(述宾结构),潜在歧义转化为现实歧义。
如果在实例化时,不能同时满足上述三个语义制约条件,潜在歧义就不能转化为现实歧义,歧义得以消解。
当实例化为“咬死了猎人的鸡”时,满足语义制约条件A、C:
A.“猎人”在语义上可以作“咬死了”的受事,我们可以说“咬死了猎人”;
C.“猎人”与“鸡”之间,有语义上存在着领属和被领属的关系,“猎人”是领属者,“鸡”是被领属者,我们可以说“猎人的鸡”。
但不能满足语义制约条件B:
“鸡”可以作“咬死了”的受事,但是,当“猎人”作“咬死了”的受事时,“鸡”在语义上不能作“咬死了”的施事。从语义上来考虑,我们不能说“鸡咬死了猎人”,因为在一般情况下,一只小小的鸡是不能咬死猎人的。
由于不能满足语义制约条件B, 这个句子只能理解为“咬死了(猎人的鸡)”——述宾结构,歧义得以消解。
当实例化为“咬死了狐狸的狗”时,满足语义制约条件A、B:
A.“狐狸”在语义上可以作“咬死了”的受事,我们可以说“咬死了狐狸”;
B.“狗”在语义上可以作“咬死了”的受事,当“狐狸”作“咬死了”的受事时,“狗”在语义上可以作“咬死了”的施事,我们可以说“狗咬死了狐狸”。
但不能满足语义制约条件C:
“狐狸”与“狗”之间,在语义上不存在领属与被领属的关系,在一般情况下,我们不能说“狐狸的狗”。
由于不能满足语义制约条件C, 这个句子只能理解为“(咬死了狐狸的)狗”——定中结构。
当实例化为“卖掉了猎人的狗”时,只能满足语义制约条件C:
“猎人”与“狗”之间,在语义上存在领属与被领属的关系,我们可以说“猎人的狗”。
但是,不能满足语义制约条件A、B:
A.“猎人”在语义上不能作“卖掉了”的受事,说“卖掉了猎人”,在语义上是荒谬的,因为在现代社会中,“猎人”是不能作为商品出售的;
B.“狗”在语义上可以作“卖掉了”的受事,我们可以说“卖掉了狗”,但是,就是姑且当“猎人”可以作“卖掉了”的受事时(这在语义上是不可能的),“狗”在语义上也不能作“卖掉了”的施事,说“狗卖掉了猎人”,在语义上也是荒谬的。
由于不能满足语义制约条件A和B,这个句子只能理解为“卖掉了(猎人的狗)”——述宾结构。
采用语义制约条件来进行歧义消解,显得很方便,很有效。赵元任先生认为讲意义是“抄近路”(见赵元任《汉语口语语法》8页, 商务印书馆,1979),吕叔湘先生认为“意义”有时候有“速记”的作用(见《吕叔湘自选集》100页,上海教育出版社,1989), 这对于我们研究语义制约条件是很有启发的。
自然语言处理中普遍采用的另一种歧义消解的方法是基于“优选”的歧义消解方法。
所谓“优选”,就是在若干个存在歧义的候补结构中,选出一个最优的结构,从而达到歧义消解的目的。
早在1975年,威尔克斯(Y. Wilks )就提出了“优选语义学”(preference semantics),用优选的方法来判定多义词的优先度。例如,“The policeman interrogated the crook ”这个英语句子中, crook有“弯柄杖”和“无赖汉”等不同的含义,是一个多义词, 由于interrogated(审问)这个动词的宾语的语义为MAN (人)的优先度高于语义为THING(物)的优先度,“无赖汉”的语义为MAN,“弯柄杖”的语义为THING,因此,应该优选“无赖汉”为crook的意义。这个句子的含义只能解释为“警察审问了无赖汉”,而不能解释为“警察审问了弯柄杖”,从而消解了歧义。
为了保证优选的客观性,莱斯克(N.Lesk)提出利用既存的知识源来进行优选。机器可读词典中词典条目的定义是一种既存的知识源,当判断两个单词之间的亲和程度时,可以比较这两个单词在机器可读词典的定义中同时出现的词语的情况,如果在两个单词的定义中都出现共同的词语,便可推断它们之间的亲和程度较大,从而据此来进行优选。
例如,在英语中,pen是一个多义词,可以理解为“笔”, 也可以理解为“动物的围栏”,如果在一个句子中既有pen,又有sheep,而在机器可读词典的pen的定义中有“an enclosure in which domestic animals are kept”,在sheep的定义中有“There are many breeds of domestic sheep”,在这两个定义中都存在共同出现的单词domestic,从而可以判断,在这个句子中,pen 的含义应该是“动物的围栏”,而不是“笔”,从而消解了歧义。
詹森(K.Jensen)和比诺特(J—L.Binot)利用联机词典中的单词的定义来消解英语介词的功能歧义。
例如,英语的with这个介词,其功能可以表示INSTRUMENT(工具),又可以表示PART—OF(部分—全体)关系,这就出现了功能上的歧义(case ambiguity)。在英语句子“I are a fish with a fork”中,fork(叉子)的定义为“an instrument for eating food”,其中的instrument与with的功能INSTRUMENT(工具)相同,故可判断with 在这个句子中的功能应该是INSTRUMENT(工具),故此句的含义应该为“我用叉子吃鱼”。
在英语句子“I ate a fish with bones”中,bone 在机器可读词典中的定义是“a part of animal”,在fish的定义中, 有“a kind of animal”,这与with的功能PART—OF(部分—全体)关系相同, 故可判断with在这个句子中的功能是PART—OF(部分—全体)关系,这样,这个句子的含义应该是“我吃带骨的鱼”。
在实际的自然语言处理系统中,常常把基于“制约”的歧义消解方法和基于“优选”的歧义消解方法结合起来,用基于“制约”的方法排除那些不能满足制约条件的歧义,用基于“优选”的方法比较各种歧义的优先度,选取其中的最优者,从而达到歧义消解的目的。
自从80 年代马丁·凯依(Martin Kay )提出功能合一语法(Functional Unification Grammar)以来,在自然语言处理系统中普遍采用复杂特征集和合一运算的方法。人们发现,在自然语言分析系统中,随着分析的进行,包含在自然语言中的信息是单调递增的,这就是自然语言分析系统中信息的单调递增性(information monotonicity)。
根据这种信息的单调递增性,有的学者指出,对自然语言分析过程中出现的歧义,应该做渐进的评价(incremental evaluation)。有的学者提出了“渐进歧义消解法”(incremental disambiguation)。
他们主张,当出现歧义时,不要匆忙地作出评价,等到自然语言分析系统中的信息单调递增到可以对这种歧义进行判断时,再作出判断,从而消解歧义。
在PT—结构实例化过程中,由于词汇单元的插入,其信息也是单调递增的,因此,PT—结构实例化过程也具有信息的单调递增性,我们同样可以采用渐进歧义消解法。在信息不充分条件不成熟时,不必匆忙地消解歧义,等到信息单调递增到足以满足各种制约条件和优选的标准时,才进行歧义的消解。
在自然语言处理中,同形歧义的自动消解还是一个未彻底解决的问题,还有待我们做更深入的探索。
*本项研究得到国家自然科学基金的资助,项目号为69483003。