机器翻译器正成为现代人生活中必不可少的工具。
不管你在世界的哪个地方,美国、巴西、法国或者亚洲的婆罗洲岛,借助机器翻译,谷歌和 Facebook 这类软件都可以把平台上的几乎任何文字内容都翻译成当地语言。
不过你可能不知道的是,多数翻译系统都是将英语作为中间语言进行的翻译工作。也就是说,在把中文翻译成法语时其实是中文到英语再到法语的。
这么做的原因是因为英语翻译的数据集(包括译入和译出)非常多而且容易获得。但是,用英语作为中介语总体上降低了翻译的准确性,同时让整个流程更加复杂臃肿。
比如说,在 Facebook 上,单是 News Feed 这一项服务,Facebook 就需要每天进行大约 200 亿次翻译。
针对这些问题,最近,Facebook 开发了新的机器翻译模型,可以不借助英语直接实现两种语言的双向互译,而且新模型在 BLEU 评估算法下的得分比传统的借助英语的模型还高了 10 分。
Facebook 的新模型被称作 M2M-100,Facebook 宣称它是第一个多语言机器翻译模型,可以直接在 100 种语言中的任何一对之间来回翻译。Facebook AI 构建了一个共计由 100 种语言的 75 亿个句子组成的庞大数据集。使用这个数据集,研究团队训练了一个拥有超过 150 亿个参数的通用翻译模型,据 Facebook 的一篇博客描述,该模型可以 “获取相关语言的信息,并反映出更多样化的语言文本和语言形态”。
“主要的挑战在于,我们如何利用我们的翻译系统,切实地去满足全世界各地人们的需求,”Facebook AI 的助理研究员 Angela Fan 在采访中表示。“你得翻译所有的语言,涉及人们会遇到的各种需求。比如说,世界上有很多地方,当地人会使用多种语言,而英语不在其中,但现有的翻译系统却严重依赖英语。”她还指出,在 Facebook 平台上每天以 160 种语言发布的数十亿条帖子中,有三分之二是英语以外的语言。
为了做到这一点,Facebook 需要使用各种新技术从世界各地收集大量公开数据。“这里头很多工作其实建立在我们在 Facebook 多年研究的基础之上,就像不同的乐高积木,我们有点像是把积木拼在一起来构建今天的系统,”Fan 解释道。
该团队首先采用 CommonCrawl 来从网络上收集文本示例,这是一个开放的网络抓取数据库。然后他们着手用 FastText 来识别文本所属的语言,后者是 Facebook 几年前开发并开源的文本分类系统。“这个系统基本上是看一些测试然后尝试判定文本是用什么语言写的,”Fan 说,“这样我们就把一堆网络文本按照不同的语言分开了,接下来我们的目标是识别对应的句子。”
“传统上,人们使用人类译员来创建翻译数据,”她继续说道,“这很难大规模来做,比如,你很难找到同时讲英语和泰米尔语的人,同时讲法语和泰米尔语的就更难了,非英语翻译仍旧是一个有待加强的领域。”
为了大规模挖掘必需数据,Fan 的团队重度依赖 LASER 系统。“它读取句子,抓取文本并构建文本的数学表示,具有相同意思的句子将被映射到同一个意涵里,”她解释道,“如果我有一句中文和一句法文,说的是同一件事,它们就会像韦恩图 (Venn diagram)一样有所交叠——交叠区域我们就认为是一组对应的句子。”
当然,不是所有语言都有大量的文字内容在网上。
遇到这些情况,Fan 的团队使用单语言数据来改进。以中文译法文为例,Fan 解释道:“如果我的目标是翻译中文为法文,但是因为某些原因,达不到足够好的翻译质量,那么我可以试着用法文的单语言数据来做改进。我要做的是训练一个反过来的系统:从法文到中文。比如我从维基百科上取得所有的法文,然后把它翻译到中文。”
这样一来就有了大量的机器翻译生成的 “人工合成”语料。Fan 说,“有了这些从法文反向译过来的‘人工合成’的中文之后,我可以把这些数据加在我的前向模型里。也就是我用原来的中文数据加上这个补充出来的‘合成’数据,然后再把它们都译成法文。由于新加了很多例句——在输入和输出两端都有——模型会更加强大。”
这个项目是否会产生一条 “数字巴别鱼”,能在全球 6200 多种口语之间进行无损翻译,还有待观察。Fan 指出,这个项目的最终成功取决于 AI 能够利用的资源量。对于法语、汉语、德语、西班牙语和印地语等主要语言,资源是海量的。“人们用这些语言在网络上写了大量的文字,”她说,“他们能贡献大量数据,我们的模型可以利用这些数据变得更好。”
“对于资源非常少的语言,我个人确定了很多我们可能需要改进的语言类别,”Fan 继续说道。“对于非洲语言,我们在斯瓦希里语和南非荷兰语方面相当不错,我们可以在像祖鲁语这样的语言上进行很多改进,在这些语言上我们需要面对额外的研究挑战。” M2M-100 的 GitHub 代码链接:
https://github.com/pytorch/fairseq/tree/master/examples/m2m_100