机器翻译进化到哪一步了?
The following article comes from 赛先生 Author 邸利会
编者按:如果你是英语四级或六级的水平,同样翻译几句话,机器翻译可能比人完成得还要好。机器翻译作为人工智能研究的重要课题之一,在近些年得到了快速发展。机器翻译目前可以达到什么样的水平?发展过程中会遇到哪些挑战?未来又将如何发展?请看周明博士给出的答案。本文授权转载自微信公众号“赛先生”。
微软亚洲研究院副院长周明
想一下未来50年或者100年,您的孙子或者孙子的孙子,是否还会花费人生中十几年甚至几十年的时间学习一门外语,甚至还学不好?
当然,雇翻译也可以,可往往花费不菲。有这样一批计算科学家、工程师,他们相信可以有别样法门,那就是用机器来做翻译。公平地说,他们已经部分取得了成功。
微软亚洲研究院副院长周明做机器翻译已经有30多年,见证了这一领域的面貌变迁。大概去年的这个时候,微软亚洲研究院和微软雷德蒙研究院合作在通用新闻报道测试集WMT2017的中英翻译测试集上,达到了可与人工翻译媲美的水平。
在机器翻译中,测试集就像是给跳高运动员设置的横杆,各家机器翻译的结果和这个标准比较,越接近就意味着越好。
事实上,机器翻译一直是人工智能领域的一大课题。1954年美国乔治亚大学和IBM公司合作的俄英机器翻译,被认为是世界上第一个机器翻译实验。不过,中国早在1956年就把机器翻译列入了全国科学工作发展规划。1957年,中科院语言研究所和计算技术研究所开展了俄汉机器翻译实验。
1989年,周明在哈尔滨工业大学计算机系李生老师指导下读研时,研发的CEMT中英翻译系统通过了当时的航天部的技术鉴定。当时,国内有几家在做英中机器翻译的研究,但是做中英机器翻译的非常少。CEMT应该是中国最早的中英机器翻译系统,而国外中英机器翻译研究也寥若晨星。
那时的中国正逐步告别封闭,走在改革开放的道路上,人们迫切希望用英中翻译把浩如烟海的英文文献翻译成中文。那个时候,周明已经意识到,有一天将中文翻译成英文也同样重要,于是他选择了从当时冷门的中英机器翻译开始研究。
彼时,没有互联网,也没有什么参考书,周明自己设计了这套中英翻译系统。这也是那个闭塞年代的无奈——几乎没有任何可供参考的文献,能看到的就是通过北京图书馆和有关部委情报所得到的一些胶片,大概相当于国外六七十年代水平的文献。
这套可说是世界上第一个公开发表的完整的中英翻译系统,背后依据的是一套完整的规则体系(比如中文句法分析规则、中文句法转换成英文句法的转换规则、英文形态生成规则等等)。
这样的一套系统,可以把当时很流行的一本英语学习读物《英语900句》很好的翻译了出来。之后,这套系统于1990年还获得了原航天部科技进步二等奖。
1991年博士毕业后,周明进入了清华大学做博士后。在张钹、黄昌宁两位教授指导下,从事中文句法分析研究。试图通过中文句法分析的提高,逐步改进中英翻译。
90年代的中国,与世界的交互逐渐增多。黄昌宁老师把他从国外参加会议带回的会议文献整整齐齐地放在一个书柜里,可见有多爱惜。很多外校的老师和同学到清华来都要借阅这些文献。
也正是从黄昌宁老师那里,周明得知国际学术界已经开始基于统计模型来构建机器翻译系统。之后,周明就做了一个基于统计的中文句法分析器。
除了中英翻译系统,周明也做过中日翻译系统。那是他1996至1999年在日本高电社访问的时候,当时担任中文翻译室室主任的他领导开发了名为“J北京”的中日翻译系统,其中J的意思是日语。
这也是一个基于规则的翻译系统,利用中日两种语言的对比分析,对句式进行变化,并生成日语的形态。基于同样原理,后来也实现了日中翻译。J-北京是日本最为有名的中日翻译软件,在市场上获得了成功,甚至在今天还有出售。
1999年从日本回国后不久,周明加入到刚成立不久的微软亚洲研究院,在黄昌宁教授领导的自然语言计算组担任研究员。周明一开始做了中日文输入法、微软对联、基于实例的机器翻译、英语写作辅助系统等等。到2005年,在时任副院长洪小文的支持下,他们组开始做统计机器翻译系统。
2012年,在天津举办的“21世纪的计算”研讨会中,周明团队与语音组的同事合作,将微软全球首席研究官里克·雷斯特博士的演讲由英文实时翻译成中文。这个工作包括了三个部分,首先将里克的演讲通过语音识别得到文本,然后再通过统计机器翻译将英文文本翻译成中文,最后通过语音合成模拟里克的发音特点读出中文的翻译。
2015年,人工智能进入到神经网络兴起的时代。先是在图像领域,继之是语音识别,研究人员应用深度神经网络都取得了不俗的效果。也就是在那个时候,周明他们也开始用深度学习来做机器翻译。
一开始神经网络机器翻译的效果很差,但随着各个公司、学校不断完善技术,如今,机器翻译的水平已经在单句级别,如果有充足语料训练的情况下,可达到和人类平均水平几乎相仿的水平。
也就是说,如果你是英语四级或六级的水平,同样翻几句话,现在的机器翻译有可能比人要翻的好。
不过,如今的机器翻译需要提高的地方也不少。机器翻译进化到怎样的程度了,要面临的挑战还有哪些,我们请周明博士一一道来。
《赛先生》:机器翻译好像和人工智能的发展步调挺一致的?
周明:其实人工智能刚开始兴起的时候,还没去做机器人、自动驾驶,先做的是机器翻译实验,全世界都是这样。
先是1957年的时候,美国做了一个简单的俄英英俄机器翻译,因为那时候美国最担心苏联先登月,担心被超越。这个俄英翻译是基于六条句法转换规则,大概有200个单词,做完了在小范围内用算成功。当时就引发了一个热潮,大家说人工智能将来肯定超越人类、翻译也会超越人类,机器翻译的投资大幅度增加。
结果到了1965年前后,大家发现机器翻译水平不行,然后美国语言咨询委员会又出了一个报告说,机器翻译还早着呢,尤其是全自动的,还是先去做半自动、人机交互式的翻译吧;要先去研究语言学理论,再回过头去研究自动翻译。这个咨询报告一出来,很多对机器翻译的投资又下马了。
所以那时候就有了机器翻译时代的冬天,其实相应的来讲,就是人工智能的冬天。机器翻译是一个开先河的、代表人工智能的研究,当时人工智能很多是跟机器翻译有关的事情。
所以,机器翻译一开始是在前头唱主角,开先河,后面像图像处理、语音都逐渐做起来了。机器翻译界的人后来从他们那里也借鉴了一些方法,其中最有名的借鉴就是统计机器翻译,是从语音识别那里借鉴来的。
现在的深度学习的应用是先从计算机视觉开始,然后语音识别领域开始用,然后再到自然语言处理。
《赛先生》:大家一直诟病深度学习的可解释性,它像一个黑盒子一样,无法对评测结果做出解释?
周明:神经机器翻译这块可解释性还没有做的那么好。目前有一些模型试图来解决这件事,希望一定的程度上看出哪个词的表示、全句的表示的问题导致译文不对。或者解码时哪些参数不是那么优化。
那么,神经网络机器翻译中的可解释,是不是非要去做?这个问题事实上是有争议的。有的人就说,根本没必要去做,有的人说需要去做。
实际上,从结果看,通过大规模的评测集合可以对系统做优化,整体提升编码和解码的能力。
《赛先生》:怎样去判断翻译的质量,感觉是蛮主观的一件事?
周明:我们有两个方案。一是做自动评测。我们有一个提前做好的标准的测试集,比如1万个句子是人翻译的结果。然后把机器翻译的结果跟人翻译的结果进行比对,相似度越高的,翻译的就越好。这是一种自动评测的方法。
它的好处是什么呢?每次做完翻译实验的时候,改了一些参数,马上就可以知道翻译的水平是高了还是低了。它的不好的地方就是有很多翻译可能跟标准答案不一样,但也可能是好的翻译,可能就反映不出来。但是,多数情况下,还是可以反映系统性能变化的趋势的。
第二个方案是对我们抽样出的句子,人工看一下翻的好坏。这是盲测,不告诉评测的人,这句话是人翻译的还是机器翻译的。人给一个句子打分,最后根据人的打分,对一个系统的结果做一个综合评分。人的打分有几个依据,比如翻译的准确度、译文的流畅度等。
《赛先生》:你们还用到一些其他的方法,如新的联合训练和对偶学习以便充分利用单语语料,一致性规范和推敲网络改进解码能力。是如何想到这些方法的,是灵感么?
周明:首先是跨组合作的结晶。机器学习组的同事基于多年的研究提出的对偶学习和推敲网络,加上自然语言组的同事提出的联合训练和一致性规范解码,恰好优势互补。
我们有时候很长时间,翻译水准上不去,有些想法是不断琢磨硬憋出来的。比如把那个源语言的句子编码好好改改,一看有点改进,然后再多想一点,或者把目标语言的解码的地方再改一改。或者训练数据不够,能不能想办法用单语数据来补充。
你能够基本上列一个你要做实验的列表,一开始时也不知道哪一种方法最好,就一个个去试,试完了觉得最好的,说不定有些道理,那就拔高,看能不能形成一套整体思路,甚至形成一套理论出来。如果真有道理的话,就继续推进。通过多年时间,也积累了很多技巧和经验。
《赛先生》:所以结果复现不了,这个是正常的吧?
周明:这也是正常的,但是差距太多说明是有问题的。如果就是差一两个点,就说明有些小小的技巧或许作者论文里没写。
《赛先生》:机器翻译发展到现在,还有哪些挑战性的问题?
周明:目前的机器翻译,首先我要强调是,第一它是单句对照级的翻译,就是一句原文,一句译文。我们翻这一句的时候不考虑上下文,前面说多少都不考虑,就把当前这句话忠实的翻译出来。但是人翻译的时候是要考虑整个上下文的。
机器在对这种篇章建模,然后进行编码解码翻译的时候,目前并没有很好的手段,就连怎么评测,训练集在哪里都不清楚。所以目前,篇章级的翻译不行。
同样,人们在口语翻译的时候也要考虑前文的,所以机器口语翻译的时候也不行。比如一个句子出现了指代、省略,在翻译的时候要适当地补充,人比较容易理解,但机器就做得不好。这是第二件事情。
此外,机器对于方言处理的效果也不好。比如中文里有四川话、上海话等。因为语音识别在处理方言的时候,处理的不好,所以也影响到后面的机器翻译。
就算不是方言,不同的人要用不同的词来表达同一个意思,或者句型也有可能发生变化,那机器翻译,如果训练不足的话,没有捕捉到这种现象,翻译的时候也会出现偏差。
最后,对新词的捕捉,目前还是比较困难。提前构建一个完善的新词词典加进系统中,也会带来分词和翻译的误差。现场捕捉新词并且猜测其译文总是非常难的。相比人类可以很容易理解新词,机器还差的很远。
《赛先生》:所以,机器翻译未来要达到目标是什么?
周明:首先是不同语言之间的自如的口语翻译。还有实现对文体的全文级的翻译。然后实现个性化翻译。
《赛先生》:你们需要跟语音识别的研究者进行哪方面的合作?
周明:我们有两种合作,紧密合作和松散合作。松散合作就是语音识别后的结果给机器翻译,需要对语音识别的结果做正则化,比如把啰嗦的地方去掉、把没有标点的地方补上标点,处理重叠词、缺省词、颠三倒四等。然后我们再把它翻成目标语。语音合成的人拿到我们的译文,通过语音合成系统输出语音。语音识别、翻译、合成三件事串接进行。没有进行整体优化。
紧密合作就是三家一起紧密合作,互相借鉴,甚至进行端对端的训练,提升整体的结果。
《赛先生》:在什么情况下需要紧密合作?
周明:首先研究资源上很多是可以共享的,比如做语音用的词表、方言词典,做语言的也可以用。方法上有很多也是可以借鉴的,比如现在传统做法是语音识别了形成文字,文字再翻译,那能不能不形成文字,直接从语音翻译?这样可以免掉中间一些环节的错误蔓延。
比如同声翻译的人听英文,他识别的结果是中文。那么,机器能不能模拟这个过程?这就是我们所说的一种紧密结合——也许有一天就是语音直接到语音,中文的语音进去,英文的语音出来,中间也不一定非要经过一个文字的阶段。
《赛先生》:是否可能借鉴人脑的一些机理?
周明:其实神经网络机器翻译有点像模拟人,它包括了编码、解码。人听了一句话在脑海里形成了一个印象,存在人脑的某一部位,无非就是时间、地点、人物、主题等,当然怎么存的咱不知道了。但是人要表达成另外一种语言,是调动了另一个机制,把存的事实表述出来,这个在机器翻译里就是解码。
所以,我们通过编码和解码的过程试图模拟人脑翻译的思维过程。当然,我的理解是,机器是不是真的是这样运作的,我们并不太清楚,我们现在只是体现了一定程度上的模拟。
《赛先生》:现在基于神经网络的机器翻译顺延下去就会达到一个很高的水准呢,还是说必须要经历方法上大的变化才有可能?
周明:我觉得神经机器翻译的红利两三年内还可以用,包括对一些模型的调整,编码、解码有些地方还可以考虑新的技术方案。但是未来是不是说永远就是神经网络来彻底解决翻译的过程?也许中间会出现另外一种新思潮,这个目前也不知道,所以我们是保持开放的。这正如我们当时做统计的时候觉得也很舒服,只要有双语料就做统计翻译了,后来神经机器翻译一下子就把统计机器翻译赢了。
你也许还想看:
感谢你关注“微软研究院AI头条”,我们期待你的留言和投稿,共建交流平台。来稿请寄:msraai@microsoft.com。