加载中…
个人资料
冯志伟文化博客
冯志伟文化博客
  • 博客等级:
  • 博客积分:1948
  • 博客访问:171,345
  • 关注人气:704
天天美食
相关博文
精彩图文
谁看过这篇博文
加载中…
正文 字体大小:

自然语言处理中结构歧义消解的方法

(2011-03-02 17:09:56)
标签:

赵元任

英国

结构歧义

语义

自然语言处理

歧义消解方法

 

                          自然语言处理中结构歧义消解的方法

在繁茂的树枝中隐藏着人头,你能找出来吗?

 

                     自然语言处理中结构歧义消解的方法

                                          冯志伟

    我们在前面的博文中讨论了自然语言处理中词义排歧(Word Sense Disambiguation,简称WSD)的方法,这是关于词汇歧义的消解方法;我们也介绍了英语和汉语中的歧义结构现象;现在我们来讨论自然语言处理中结构歧义的消解方法。

    在自然语言处理的研究中,早在20世纪 60 年代,美国哈佛大学教授久野(Susumu Kuno)就提出了结构歧义消解(structure disambiguation)的问题。

    久野指出,英语句子

                  Time flies like an arrow

有若干个歧义的分析结果。因为 time 可以为名词(词义为“时间”),也可以为动词(词义为“测定、拨准”等),还可以为形容词(词义为“定期的”),flies 可以为动词现在时单数第三人称(词义为“飞”),也可以为名词复数(词义为“苍蝇”);like 可以为动词(词义为“喜欢”),也可以为介词(词义为“如像”)。这样,这些词可以组成结构各不相同的句子,形成歧义句。

其含义分别为:

         ① 时间像箭一样飞驰;

         ② 测量那些像箭一样的苍蝇;

         ③ 叫做Time的那只苍蝇喜欢箭。(有位网友叫做“时蝇喜箭”,就是采用了这个含义。) 

    学者们普遍感觉到,结构歧义是语言自动分析的一个棘手问题。然而,从潜在歧义论可知,自然语言本身在PT-结构的实例化过程中,有自行消解歧义的功能,我们只要自觉地利用这种功能,就有可能达到部分地消解歧义的目的。

    目前,在自然语言的计算机处理中,普遍采用的结构歧义消解方法,归纳起来不外两种:一种是基于“制约”(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 are written 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的定语,是述宾结构,这就产生了潜在歧义。

    这种潜在歧义要转化为现实歧义必须同时满足如下两个语义制约条件:

①  N1在语义上可以作VP的受事;

②  N2在语义上可以作VP的受事,当N1为VP的受事时,N2又可作VP的施事;

③  N1与N2之间在语义上存在领属和被领属的关系,N1是领属者,N2是被领属者。

    如果“VP + N1 + 的 + N2”实例化之后,可以同时满足上述语义制约三个条件,潜在歧义便有可能转化为现实的歧义。

    当实例化为“咬死了猎人的狗”时,恰好满足上述三个语义制约条件:

①  “猎人”在语义上可以作“咬死了”的受事,我们可以说“咬死了猎人”。

②  “狗”在语义上可以作“咬死了”的受事,当“猎人”作“咬死了”的受事时,“狗”又可以作“咬死了”的施事,我们可以说“(什么)咬死了狗”,又可以说“狗咬死了(什么)”。

③ “猎人”与“狗”之间,在语义上存在着领属和被领属的关系,“猎人”是领属者,“狗”是被领属者。我们可以说“猎人的狗”。

    因此,“咬死了猎人的狗”可以理解为“(咬死了猎人的)狗”(定中结构),又可以理解为“咬死了(猎人的狗)”(述宾结构),潜在歧义转化为现实歧义。

    如果在实例化时,不能同时满足上述三个语义制约条件,潜在歧义就不能转化为现实歧义,歧义得以消解。

    当实例化为“咬死了猎人的鸡”时,满足语义制约条件①、 ③:

①“猎人”在语义上可以作“咬死了”的受事,我们可以说“咬死了猎人”;

③“猎人”与“鸡”之间,在语义上存在着领属和被领属的关系,“猎人”是领属者,“鸡”是被领属者,我们可以说“猎人的鸡”。

    但不能满足语义制约条件② :

    “鸡”可以作“咬死了”的受事,但是,当“猎人”作“咬死了”的受事时,“鸡”在语义上不能作“咬死了”的施事。从语义上来考虑,我们不能说“鸡咬死了猎人”,因为在一般情况下,一只小小的鸡是不能咬死猎人的。

    由于不能满足语义制约条件②,这个句子只能理解为“咬死了(猎人的鸡)”,这是一个述宾结构,歧义得以消解。

    当实例化为“咬死了狐狸的狗”时,满足语义制约条件①、②:

①“狐狸”在语义上可以作“咬死了”的受事,我们可以说“咬死了狐狸”;

②“狗”在语义上可以作“咬死了”的受事,当“狐狸”作“咬死了”的受事时,“狗”在语义上可以作“咬死了”的施事,我们可以说“狗咬死了狐狸”。

    但不能满足语义制约条件③:

“狐狸”与“狗”之间,在语义上不存在领属与被领属的关系,在一般情况下,我们不能说“狐狸的狗”。

    由于不能满足语义制约条件③,这个句子只能理解为“(咬死了狐狸的)狗”,这是一个定中结构。

    当实例化为“卖掉了猎人的狗”时,只能满足语义制约条件③:

    “猎人”与“狗”之间,在语义上存在领属与被领属的关系,我们可以说“猎人的狗”。

    但是,不能满足语义制约条件①、②:

①“猎人”在语义上不能作“卖掉了”的受事,说“卖掉了猎人”,在语义上是荒谬的,因为在现代社会中,“猎人”是不能作为商品出售的;

②“狗”在语义上可以作“卖掉了”的受事,我们可以说“卖掉了狗”,但是,就是姑且当“猎人”可以作“卖掉了”的受事时(这在语义上是不可能的),“狗”在语义上也不能作“卖掉了”的施事,说“狗卖掉了猎人”,在语义上也是荒谬的。

    由于不能满足语义制约条件①和②,这个句子只能理解为“卖掉了(猎人的狗)”,这是一个述宾结构。

    采用语义制约条件来进行歧义消解,显得很方便,很有效。赵元任先生认为讲意义是“抄近路”(见赵元任:《汉语口语语法》,第8页,商务印书馆,1979年),吕叔湘先生认为“意义”有时候有“速记”的作用(见吕叔湘:《吕叔湘自选集》,第100页,上海教育出版社,1989年),这对于我们研究语义制约条件是很有启发的。

    例如,“VP + 数量结构 + NP”这个潜在歧义结构,其层次有时可以理解为“(VP + 数量结构) + NP”,数量结构作VP的补语,有时可以理解为“VP + (数量结构 + NP)”,数量结构作NP的定语。

对于这样的潜在歧义结构,我们可以采用句法制约条件,对量词进一步作再分类,然后,说明哪些量词能与哪些动词结合形成述补结构,哪些量词与哪些名词结合形成定中结构,就可以进行歧义消解。但是,这样做比较烦琐,如果采用语义制约条件,根据语义上是否成立来判断能否形成歧义,从而达到歧义消解的目的,就显得更加便捷。例如,当实例化为“讲了三年历史”时,可以理解为“(讲了三年)历史”,“三年”作“讲了”的补语,表示讲历史讲了三年,也可以理解为“讲了(三年历史)”,“三年”作“历史”的定语,“三年历史”作“讲了”的宾语,表示讲了三年之内的历史,这时,潜在歧义转化为现实歧义。如果把“三年”换成“三千年”,实例化为“讲了三千年的历史”,则只能理解为“讲了(三千年的历史)”, “三千年”只能理解为“历史”的定语,而不能理解为“讲了”的补语,因为从语义上来看,“讲了三千年”在语义上是荒谬的。这样,只需把“三年”换成“三千年”,便可以直截了当地消解歧义。由此可见,使用语义制约条件的便捷之处。

    自然语言处理中普遍采用的另一种结构歧义消解的方法是基于“优选”的歧义消解方法。

    所谓“优选”,就是在若干个存在歧义的候补结构中,选出一个最优的结构,从而达到歧义消解的目的。

早在1975年,威尔克斯(Y. Wilks)就提出了“优选语义学”(preference semantics),用优选的方法来判定多义词的优先度。关于优选语义学,我们在前面的博文中已经介绍过了,兹不赘述。

    对于具有潜在歧义的若干个候补结构,也可以根据候补结构的优先度来进行优选,消解歧义。

    例如,“N + V + NP + AP”这个潜在歧义结构,其层次可以解释为“(N + V + NP) + AP”,是一个以小句为主语的主谓结构,又可以解释为“(N) + (V) + (NP + AP)”,其中的“(V) + (NP + AP)”是一个述宾结构,又可以解释为“(N) + (V) + (NP) + (AP)”,其中的“(V) + (NP + AP)”是一个兼语结构,这样,“N + V + NP + AP”便具有主谓(以小句为主语)--述宾--兼语潜在歧义。

    海外有的学者根据中国人讲汉语时的语感指出,在这样的潜在歧义结构中,逻辑主项( argument reading )的结构应该优先于逻辑附加项( adjunct reading)的结构。兼语结构和述宾结构都是属于逻辑主项的结构,而以小句为主语的主谓结构,其谓语为AP,AP是逻辑附加项,因而应该属于逻辑附加项的结构。这样,兼语结构和述宾结构的优先度应大于以小句为主语的主谓结构的优先度。当出现歧义时,应该优选兼语结构和述宾结构,从而达到消解歧义的目的。

    这样,当PT-结构“N + V + NP + AP”实例化为“张三笑李四很笨”时,可以理解为“张三/笑李四很笨”,“笑/李四/很笨”是一个兼语结构,又可以理解为“张三笑李四/很笨”,这是以小句“张三笑李四”为主语的主谓结构。根据兼语结构的优先度应大于以小句为主语的主谓结构的优先度的原则,应该选取兼语结构,排除以小句为主语的主谓结构。

    当实例化为“小王说故事很有趣”时,可以理解为“小王说/故事很有趣”,“说/故事很有趣”是一个述宾结构,也可以理解为“小王说故事/很有趣”,是一个以小句为主语的主谓结构。根据述宾结构的优先度应大于以小句为主语的主谓结构的优先度的原则,应该选取述宾结构,排除以小句为主语的主谓结构。

    根据说话人的语感来规定结构的优先度并不是很科学的。在上面的例子中,把“张三笑李四很笨”中的“笑/李四/很笨”理解为兼语结构,把“小王说故事很有趣”中的“说/故事很有趣”理解为述宾结构,在许多场合是正确的,但并不能绝对地排除把“张三小李四很笨”和“小王说故事很有趣”理解为以小句为主语的主谓结构的可能性。2007年4月在伊朗发生的英国水兵事件,报载新闻题目“英国水兵出售新闻很丢脸”,也应当理解为小句的主谓结构“英国水兵出售新闻”为主语,“很丢脸”为谓语。可见不能随便排除小句的主谓结构为主语的可能性。因为语感上的优先度只是表明了某种选择的可能性,并不能绝对地表明这种选择的合理性和现实性。语感上的优先度往往有着强烈的主观色彩,常常因人而异,难免有见仁见智之弊。

    在实际的自然语言处理系统中,常常把基于“制约”的歧义消解方法和基于“优选”的歧义消解方法结合起来,用基于“制约”的方法排除那些不能满足制约条件的歧义,用基于“优选”的方法比较各种歧义的优先度,选取其中的最优者,从而达到歧义消解的目的。

    自从 80 年代马丁·凯依(Martin Kay)提出功能合一语法(Functional Unification Grammar)以来,在自然语言处理系统中普遍采用复杂特征集和合一运算的方法。人们发现,在自然语言分析系统中,随着分析的进行,包含在自然语言中的信息是单调递增的,这就是自然语言分析系统中信息的单调递增性(information monotonicity)。

    根据这种信息的单调递增性,有的学者提出,对自然语言分析过程中出现的歧义,应该做渐进的评价(incremental evaluation)。有的学者提出了“渐进歧义消解法”(incremental disambiguation)。

    他们主张,当出现歧义时,不要匆忙地作出评价,等到自然语言分析系统中的信息单调递增到可以对这种歧义进行判断时,再作出判断,从而消解歧义。

    在PT-结构实例化过程中,由于词汇单元的插入,其信息也是单调递增的,因此,PT-结构实例化过程也具有信息的单调递增性,我们同样可以采用渐进歧义消解法。在信息不充分条件不成熟时,不必匆忙地消解歧义,等到信息单调递增到足以满足各种制约条件和优选的标准时,才进行歧义的消解。

    在自然语言处理中,同形歧义的自动消解还是一个未彻底解决的问题,还有待我们做更深入的探索。

 

阅读 评论 收藏 转载 喜欢 打印举报
已投稿到:
  • 评论加载中,请稍候...
发评论

       

    验证码: 请点击后输入验证码 收听验证码

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有