Facebook新AI模型可以直接对译100种语言

机器翻译器正成为现代人生活中必不可少的工具 。
不管你在世界的哪个地方 , 美国、巴西、法国或者亚洲的婆罗洲岛 , 借助机器翻译 , 谷歌和Facebook这类软件都可以把平台上的几乎任何文本内容都翻译成当地语言 。
不过你可能不知道的是 , 多数翻译系统都是将英语作为中介语言来进行的翻译工作 。 也就是说 , 在把中文翻译成法语时其实是中文先翻成英语再由英文翻成法语 。
这么做的原因是因为英语翻译的数据集(包括译入和译出)非常多而且容易获得 。 但是用英语作为中介语整体上降低了翻译的准确性 , 同时让整个流程更加复杂臃肿 。
Facebook新AI模型可以直接对译100种语言文章插图
例如在Facebook上 , 单是News Feed这一项服务 , Facebook就需要每天进行大约200亿次翻译 。
针对这些问题 , 最近 , Facebook开发了新的机器翻译模型 , 可以不借助英语直接做到两种语言的双向互译 , 而且新模型在BLEU评估算法下的得分比传统的借助英语的模型还高了10分 。
We’re introducing M2M-100, the first multilingual machine translation model that translates between any pair of 100 languages without relying on English data. We’ve open sourced the model, training, & evaluation set up . Learn more#t9n#machinetranslationpic.twitter.com/57kqbParp1
Facebook的新模型被称作M2M-100 , Facebook宣称它是第一个多语言机器翻译模型 , 可以直接在100种语言中的任何一对之间来回翻译 。 Facebook AI构建了一个共计由100种语言的75亿个句子组成的庞大数据集 。 使用这个数据集 , 研究团队训练了一个拥有超过150亿个参数的通用翻译模型 , 据Facebook的一篇博客描述 , 该模型可以“获取相关语言的信息 , 并反映出更多样化的语言文本和语言形态” 。
“主要的挑战在于 , 我们如何利用我们的翻译系统 , 确实地去满足全世界各地人们的需求 , ”Facebook AI的助理研究员Angela Fan在采访中表示 。 “你得翻译所有的语言 , 涉及人们会遇到的各种需求 。 比如说 , 世界上有很多地方 , 当地人会使用多种语言 , 而英语不在其中 , 但现有的翻译系统却严重依赖英语 。 ”她还指出 , 在Facebook平台上每天以160种语言发布的数十亿条发文中 , 有三分之二是英语以外的语言 。
【Facebook新AI模型可以直接对译100种语言】为了做到这一点 , Facebook需要使用各种新技术从世界各地收集大量公开数据 。 “这里面很多工作其实创建在我们在Facebook多年研究的基础之上 , 就像不同的乐高积木 , 我们有点像是把积木拼在一起来构建今天的系统 , ”Fan解释道 。
该团队首先采用CommonCrawl来从网络上收集文本范例 , 这是一个开放的网络抓取数据库 。 然后他们着手用FastText来识别文本所属的语言 , 后者是Facebook几年前开发并开源的文本分类系统 。 “这个系统基本上是看一些测试然后尝试判定文本是用什么语言写的 , ”Fan说 , “这样我们就把一堆网络文本按照不同的语言分开了 , 接下来我们的目标是识别对应的句子 。 ”
Facebook新AI模型可以直接对译100种语言文章插图
“传统上 , 人们使用人类译员来创建翻译数据 , ”她继续说道 , “这很难大规模来做 , 比如 , 你很难找到同时讲英语和泰米尔语的人 , 同时讲法语和泰米尔语的就更难了 , 非英语翻译仍旧是一个有待加强的领域 。 ”
为了大规模挖掘必需数据 , Fan的团队重度依赖LASER系统 。 “它读取句子 , 抓取文本并构建文本的数学表示 , 具有相同意思的句子将被映射到同一个涵义里 , ”她解释道 , “如果我有一句中文和一句法文 , 说的是同一件事 , 它们就会像文氏图(Venn diagram)一样有所交叠——交叠区域我们就认为是一组对应的句子 。 ”
当然 , 不是所有语言都有大量的文本内容在网上 。
遇到这些情况 , Fan的团队使用单语言数据来改进 。 以中文译法文为例 , Fan解释道:“如果我的目标是翻译中文为法文 , 但是因为某些原因 , 达不到足够好的翻译品质 , 那么我可以试着用法文的单语言数据来做改进 。 我要做的是训练一个反过来的系统:从法文到中文 。 比如我从维基百科上取得所有的法文 , 然后把它翻译到中文 。 ”
这样一来就有了大量的机器翻译生成的“人工合成”语料 。 Fan说 , “有了这些从法文反向译过来的“人工合成”的中文之后 , 我可以把这些数据加在我的前向模型里 。 也就是我用原来的中文数据加上这个补充出来的“合成”数据 , 然后再把它们都译成法文 。 由于新加了很多例句——在输入和输出两端都有——模型会更加强大 。 ”