ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【干货】邓盾:建设多层对齐的汉英平行树库——理论动机及标注原则

2021-05-28 16:06:04  阅读:190  来源: 互联网

标签:树库 邓盾 汉英 机器翻译 语言学 短语 平行 对齐


本讲座选自清华大学中国语言文学系邓盾老师于2016年1月19日在RONGv2.0系列——"语言语音语义与大数据技术"专场上所做的题为《建设多层对齐的汉英平行树库——理论动机及标注原则》的演讲。

图片

我今天讲的题目是一个为自然语言处理进行语言资源建设的课题。这个课题预设自然语言处理需要语言学家建设相关的语言资源。这个预设对于搞语言学的人来说似乎无可厚非,但是对于搞工程的人来说,可不一定是这样的。我们现在有大数据,有深度学习,有神经网络,理论上我们可以建立这么一种机器模型,在没有语言学家的帮助下去进行自然语言的处理。在上个世纪,美国自然语言处理领域一个很著名的人说了一句很著名的话,他说:“每次我开除一个语言学家,我们系统的表现就有所提升。”这个话当然是很伤语言学家的心了。我个人作为一个搞语言学的人,对这个话,持保留态度。我觉得问题不是自然语言处理需不需要语言学知识和资源(那是无疑的),而是怎么样去寻找和获得好用的能真正为自然语言处理服务的资源。我今天讲的题目就是跟这个密切相关的,我们现在正在做这么一个资源,希望这个资源对自然语言处理有用。

图片


我今天报告的内容分三部分。第一部分我会讲我们为什么要建这么一个资源?原因是什么?然后我会谈谈怎么建这个资源。最后我会通过一些数据来说明我们这个资源有潜力为自然语言处理服务。

图片

第一,为什么建这么一个多层对齐的汉英平行树库?讲之前,先谈一些背景知识。

图片

在问为什么要建这么一个资源之前,其实有一个先行问题:机器翻译需要的最理想的资源是什么?现在所谓的机器翻译,指的是统计机器翻译,统计机器翻译是当下机器翻译占统治地位的研究范式。在统计机器翻译之前,上世纪六七十年代,机器翻译的主流研究范式叫基于规则的机器翻译,规则指的就是语言学规则。在1968年的时候有个人用上述金字塔把基于规则的机器翻译分了三类,划分的标准是模型使用的语言学知识的多寡和这些知识所涉及到的语言学分析的深浅。在最底层,这一层用的语言学知识最少,对语言的分析最浅。给一个源语言的句子,这个句子里面的每一个词翻译成对象语言的什么词,也就是说这类模型用的语言学知识仅仅是一个双语词典。第二个模型增加了一个中间转换和迁移的步骤,翻译过程分三步,第一步是把源语言的句子转换成一个抽象的表达式,然后再把这个表达式变成相对应的对象语言的表达式,最后再从对象语言表达式转化成对象语言的句子。这类模型用的表达式可以分为句法表达式(比如我们用的短语结构树、依存树等)和语义表达式。这是第二种类型,这种类型用到语言学信息比第一种要多。这种模型的问题是,模型所用的表达式是根据具体的语言得到的,比如说假设汉语是源语言,对象语言是英语。把汉语的句子变成一个句法树,然后再把它换成相应的英语的句法树。如果把汉语翻译成法语还得换成法语的句法树,所以中间过渡的平台是依具体的语言而定的。能不能设计一种普遍的适用于所有语言的表达式?第三类,也就是金字塔最顶端的模型就是这么一个思路。这种模型试图建立一种适用于所有语言的抽象表达式,也就是所谓的Interlingua,互相翻译的任何两种语言依靠Interlingua进行转换就行了。打一个比方,我们现在有一种世界货币,就是美元,任何其他两种货币之间进行兑换,以美元作为中介就行了。该模型的Interlingua就像机器翻译里的世界货币一样。这是上世纪六七十年代基于规则的机器翻译的三种模型。基于规则的研究范式因为需要使用大量的人工分析以获得语言学信息,即使是最简单的双语词典也需要大量的人工。而进行自然语言处理的时候,人力的花销是一个重要的考虑因素,如果人力投入大的话是不被看好的,所以到上世纪80年代以后,出现了基于统计的机器翻译这一新的研究范式。该范式以平行语料,比如汉语和英语互为翻译的文本,为基本材料。有平行文本作为基础以后,再对文本进行一些语言学的分析而获得一些参数,这些参数运用到统计模型里面就可以得到机器翻译的语言模型。根据对平行文本的语言学处理和分析的深度,也可以把统计机器翻译范式下的语言资源分为三类,这三类大致平行于之前基于规则的机器翻译范式下的三类模型。第一类,就是大规模平行文本,这个语言学的信息是很少的,只有句对齐和词对齐。其次是平行树库。平行文本上不仅有句对齐和词对齐,还配上相应的句法树。第三类,也是刚刚兴起的一个研究方向,就是平行的语义表达库,两边平行的文本不仅有句、词对齐,还给它一个平行的语义表达式。


如果统计机器翻译现在有这么三种类型的语言资源,回到本部分最初的问题,我们如果要做资源建设,要选哪种?第一种因为用的语言学信息很少,没有太多语言学上的挑战,我们没有去做这个。我们选的是中间的,建一个平行的树库。本次演讲最后如果有时间的话,我会比较一下我们这个平行树库和平行语义库的区别,谈一谈为什么不建平行语义库的问题。决定了做平行树库以后,现在已经有很多平行树库,要做平行树库的话,新的资源的优点是什么?所谓的优点就是针对现存的平行树库能解决什么问题。现存的平行树库据我们的总结和归纳,有三方面的问题,下面简单说一下。


第一方面,现有的平行树库,比如汉英的平行树库,两边的句法树是分别独立标注的,中文的树库是一群人做的,英文的树库是另一群人做的,两群人做的时候没有开一个会,讨论我们的标注规范怎么写。这就导致两边建起来的树放在一起构建平行树库的时候出现句法树不一致的现象。

这个其实反映了一个很普遍的类型,就是在汉语里面,动词的宾语先和动词组合,构成一个动词词组,就是我标红的VP,动词还有修饰语,就是传统所谓的状语会放到动词词组前面。在英语里面状语一般放在动词的后面,而宾语同时也在动词后面。宾语和状语有一个语言学上很有名的区分,宾语表达的是动词的语义所必须蕴含的这么一种成分,而状语是一种可有可无的成分。但是在英文树库,画树库的时候没做这种区分。


第二个情况,在进行树库建设的时候,建设者心目中并没有特定的自然语言处理的任务。比如说我建树库的时候并没有想为机器翻译服务,所以标注规范编写的时候,尽量求它的普遍性,而不是针对性。这样的话,当你拿树库来做一个特定自然语言处理任务的时候,就可能出现一些不太好用的地方。对于机器翻译来说,具体表现在有些树太平了,结构太浅了。

比如说,在汉语里面,尤其是新闻语料里面存在大量的所谓的复合名词,比如说“北大计算语言学研究所”,这个还可以继续变得非常长,复合名词在新闻语言里面非常普遍。在处理这一类情况的时候,从实际的画树的时效性角度考虑,没有对它进行结构的处理,把它画成了一个平的结构,仅仅做了分词以后,所有的词直接构成一个名词短语。但是这样的话,就导致句法树过平,而缺少在其他语言里面可能有的对比。比如说这个翻译成英语的话,英语这边的句法就很复杂,比如“计算语言学”、“计算语言学研究所”都没有对应的节点。


这两个问题反映了现在平行树库里面比较普遍的问题,就是两边句法树不一致的问题。


第三个问题,现在的平行树库只有词对齐,而词对齐存在很多很多的问题。虽然现在有所谓的平行树库,仅仅只是把两棵树平行地摆到一起,然后做句子的词对齐,而没有对句法加以充分有效的利用,而且词对齐还和句法结构有严重的冲突和不协调。这是一个非常要命的问题。下面以一个具体的例子来跟大家探讨一下这个问题。

这是一个2015年最新的文章,这是从平行树库里面截取出来的一小棵树。它想用这个树说明一个什么问题呢?就是有害的词对齐会妨碍很多有用信息的抽取。大家可以看到这个树里面,做了词对齐。这样连了以后,双横线上面所有规则都抽取不出来了。


通过刚才这个具体的例子我们可以看到词对齐是非常重要的。因为在做机器翻译的时候,短语对的提取和翻译规则的提取都是基于词对齐的,如果一个词对齐错了,可能很多的信息都得不到了。但是现实是什么?现行的平行树库的词对齐里面存在很多很多的问题。有人可能就说你这是机器做的词对齐,错误是非常荒谬的,完全不是一回事的词给对起来了。如果用人工做的词对齐会是什么样的呢?

即使是人工做的也有很多问题。下面我们以美国的LDC为例,LDC是美国最大的一个进行语言资源建设的组织。他们专门对汉英的词对齐发布了标注规范,而且做了词对齐的语料。我们通过他们的标注规范和实际的例子来展示一些现存平行树库里面的词对齐问题。


从逻辑上来说的话,假设给你源语言句子的一个词,我们叫W,这个词在对象语言里面的翻译逻辑上有三种可能。

第一种可能就是有,比如“双边贸易”翻译成bilateral trade,虚词也是,譬如汉语的“不”翻译为英语的“not”,这个可以很确定地把它完成。


第二种可能就是好像有又好像没有。这是什么情况呢?你如果不考虑具体的语境,你不会认为这两个词是互为翻译的,比如“黑色幽默的背后究竟有几许猫腻呢”?这个“猫腻”翻译成“story”。这是实词。虚词,比如说“离开的时间”,翻译成“timeof leaving”。

第三种就是压根没有,这个主要是针对特定语言里的虚词,比如汉语的量词,汉语说“三本书”,英语只能说“threebooks”。另外一种情况是本来有,但是因为翻译或者语言规则方面的原因事实上没有,比如说“关注文化建设方面的内容”,英文说pay attention tothe contents of cultural construction,“关注、文化、建设、内容”都有对应,“方面”没有,“方面”如果单独拿出来英语有一个词,但是在这里面不可以加进去。还有“in”,在汉语里面,时间词可以不用介词作状语。“1995年国家开发银行成功……”,但是英语里面必须加一个“in”,这个是本来有对应,但是在实际翻译中没有对应。所以情况其实是挺复杂的。


面对这样复杂的情况,尤其是疑似有和没有的情况,怎么办?比如说“离开的时间”里的“的”,做词对齐的时候,和不和“of”连起来?“三本书”的“本”,英语根本没有,怎么办?这是一个很棘手的问题。LDC公布的规范说要连起来,这是他们给的回答。如果连起来的话怎么连?对于“的”和“of”比较好办,“本”怎么办?他们就找依靠,对没有的虚词找一个依靠,比如说“三本”和three连起来。


这个问题是什么?这个归纳起来大概有三方面的问题。

第一个就是造成大量的歧义,我们知道虚词是没有词汇意义的,尤其是常见的虚词,它的用法非常地多,分布非常广。如果把它连起来的话会造成很多很多的歧义,比如汉语的“的”,有的时候相当于一个介词,有的时候相当于关系代词,有的时候相当于什么都没有,还有很多很多的情况,如果考虑“的”的翻译就是五花八门。


还有一些情况,比如说,“吃苹果”,汉语就是“苹果”,英语怎么说?按照他们的策略,汉语的一个苹果就变成好多好多,歧义就大量出现了,这是一个问题。

第二个问题,就是造成一些冗余,比如说“苹果”在词的层面,它是一个名词,如果你给句法树的话,它会有一个相应的名词短语在上面。在英语里,除了apple以外,还有一个冠词,但是冠词也是同处在一个名词短语内部的。如果我们说句法层面,两个名词短语对起来了,这个时候无需要在词汇层面强调“the”是和“apple”在一起与“苹果”对应的。这是一种冗余。



上述情况还不是太要命,更严重的问题是造成了词层面和句法层面严重的冲突,这上面所有的例子都是LDC的标注规范里面找出来的,比如说,“如果我是他的话”,汉语里面“如果……的话”,这个“的话”怎么办?他们的策略是找一个依靠,把整体和if连起来,问题是这个依靠怎么找?你为什么找“如果”,而不找“他”?等等,有的时候还有多对多,比如说英语的助动词等等。

图片

更多的例子,如果看实际语料的话,这种问题特别多,他们处理的时候五花八门。

图片


连起来,这么做的问题是什么?词对齐和句法结构冲突了!下面有一个具体的例子。如果要利用句法树的信息的话,你会发现这里面连起来的很多词根本就不对应句法树上的句法节点。比如说“如果……的话”,如果看汉语的树的话,“如果”和“的话”根本不构成一个结构体。结构上不构成一个成分,你还把它捆在一起,这个时候冲突就产生了。这个问题的根源是什么呢?一个实际的原因就是词对齐和语法标注,先对句子画树,然后把平行的树放在一起,再做词对齐。句法标注的人和做词对齐的人是两拨人,他们没有相互沟通,这样就产生了这个情况,这是一个客观原因。

图片

语言学上的原因是什么呢?就是词对齐所处理的这些对象都是虚词。虚词我们知道,它是没有具体的实在的词汇语义的,比如说“的”“了”“本”是什么意思?它只是扮演一种语法功能。打一个比方,实词可能就是像实际的建筑材料,砖、瓦、木头一样,虚词就是起黏合作用的,比如说像水泥一样。所以说虚词本身就是一个句法层面的一种现象,它在句法里面起到黏结不同句法和不同功能实词的作用。比如说汉语的“的”是什么呢?咱们不谈很深入的理论问题,从描写的层面上说,“的”其实就是在一个复杂的名词词组里面,标示出核心名词的修饰语,而且这个修饰语是一个短语性质的成分。比如说“熊的寿命”里的“的”是标示“熊”这个成分在这整个名词短语里面修饰核心名词“寿命”。这个是“的”的作用,它本身是句法现象。这个时候在词的层面做处理的话,有点缘木求鱼的感觉,它不是一种词汇的现象。

图片

小结一下。我们决定建设一个为统计机器翻译服务的汉语平行树库,但是现在的平行树库有三类问题,所以我们需要建一个新的平行树库,这个新的平行树库至少得满足如下三个要求:一是两边的句法树必须协同起来;二是不要出现两边节点本来是对应的,但是一边有一边没有,或者一边过多一边过少;第三,最关键的就是要使词对齐和句法结构协调起来。

图片


有了这个理论动机以后,我们就做这个事,下面第二部分我就讲一下怎么去进行树库的建设。

标注对象,现在LDC,我刚才说了,他们已经有了一个平行树库,但是他们是简单地把汉语的树、英语的树放在一起,做一个词对齐。大概12000句对,汉语如果按照每句15个字这个长度来算的话,大概有15万字到20万字。文体上分三类,有新闻、论文的帖子、博客的文章。中文的句法树是按照宾州中文树库的规范标注的,英文的树是按照PTB标注规范的。我们的合作者IBM开发了一个网上标注平台,并对前期语料进行一些简单处理,把句子全放在平台上面,我们还雇佣了四个标注者,都是会讲汉语和英语两种语言的,进行这个标注。


标注的流程是什么?

登录以后,会出现一个页面,页面的左边是汉语的树,右边是英语的树,还有词对齐。他们的任务是把词对齐进行修改,再把相应的短语对齐了,这是一个具体的例子。有汉语的树、英语的树,也有词对齐。标颜色的是短语对齐。

一个指导规则。为了避免之前我们说的词对齐和短语对齐的冲突问题,我们就确定如下规则:第一,词对齐只把词汇语义和语法功能对等的词连起来,所有没有词汇语义或者是语法功能不一样的虚词放开。词的层面没有连起来的词不是不管了,而是通过句法层面的短语对齐把它给抓住。比如“的”在词对齐上放开了,通过“的”所在的名词短语的对齐,把“的”给抓起来。词对齐和短语对齐必须协调起来,首先要遵循上述三条规则。


在这个规则的指导下(当然还有一些补充的规定),我们进行了词对齐和短语对齐,都有具体的很详细的标注规范。

最后说一下标注里面标注一致性的参数,如果一致性高的话,说明你这个项目是具有可行性的,我们的每个句对都由两个人同时来标,一致性达到了87%。


树库建成之后的统计数据,展示一下机器翻译的潜力。

图片

其中重要的一条就是翻译规则的提取,有了树库以后,所有在树库上进行的短语对齐,连起来的短语对都可以提取出来作为一条翻译规则。

图片


例如:里士满的科学博物馆将闭馆,我们做了相应的短语对齐。

图片

在短语对齐的基础上可以提取规则,而且这些规则都是符合语言学的,也是符合翻译的。

图片


规则上我们也做了一些统计,比如说规则不能过长,如果过长的话可能失去统计学上的意义。大概80%的规则里面的叶子节点都少于5个,所以规则不是那么长。

图片


优势是大量减少了翻译规则的数量,时间也大量缩减了。比如说我们有一个硕士拿这个去做了一个,如果没有做词对齐,这个hiero的模型去做的话,它的规则是2173M这么多,但是如果加上这个以后,我们过滤了大量有害的规则,大概90%都出去了。

图片

按照以前的词对齐会把“把”连起来,一般是把“把”和“学生”捆在一块,但是这样就会出现很多有害的规则,另外,你把“把学生”捆起来是明显不符合语言学,也不符合语感的。按照新的标注去掉以后,这个问题就避免了。

 

通过前面三部分的讲解,我们谈了为什么要建树库、怎么建、一些建设的数据来说明树库对于机器翻译的潜力,回到最初我说的,我们不是说不需要语言学知识,而是我们需要什么样的语言学知识,怎样用这些语言学知识。实际上统计机器翻译发展的过程,30年的时间,用事实表明了语言学的知识其实是非常有效的,并不是说有了大数据就可以把语言学家都抛掉了。


标签:树库,邓盾,汉英,机器翻译,语言学,短语,平行,对齐
来源: https://blog.51cto.com/u_15127682/2826259

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有