Google 表示,对于那些没有大量书面文本的语言,它在提高翻译质量方面取得了进展。在即将发表的一篇博文中,Google 详细介绍了一些新的创新,这些创新增强了 Google Translate(Google 翻译)支持的 108 种语言(特别是数据贫乏的约鲁巴语(Yoruba)和马拉雅拉姆语(Malayalam))的用户体验。Google Translate 的服务平均每天翻译 1500 亿字。
自 Google Translate 公开亮相以来的 13 年里,神经机器翻译、基于重写的范式和设备上处理等技术已经使该平台的翻译准确率实现了可量化的飞跃。但直到最近,即使是支撑 Google Translate 的最先进算法也落后于人类的表现。Google 之外的努力表明了这个问题的严重性——Masakhane 项目,旨在使非洲大陆的数千种语言实现自动翻译,但该项目尚未完成数据收集和转录阶段。而 Common Voice,是 Mozilla 致力于建立的开源转录语音数据集,自 2017 年 6 月启动以来,只审核了 40 种语言。
Google 表示,其翻译突破并不是由单一技术推动的,而是针对低资源语言、高质量语言、总体质量、延迟和总体推理速度的技术组合。2019 年 5 月至 2020 年 5 月期间,根据人工评估和 BLEU(一种基于系统翻译和人工参考翻译之间相似度的衡量指标)来衡量,Google Translate 在所有语言中,平均翻译的得分提高了 5 分或更多,在 50 种资源最低的语言中平均提高了 7 分或更多。此外,Google 还表示,Google Translate 更能抵御机器翻译“幻觉”,这种“幻觉”是一种现象,人工智能模型在接收无谓输入时会产生奇怪的“翻译”,比如“Shenzhen Shenzhen Shaw International Airport(SSH)”,得到的泰卢固语(Telugu)结果就是“ష ష ష ష ష ష ష ష ష ష ష ష ష ష ష”,意思就是“Sh sh sh sh sh sh sh sh sh sh sh sh sh sh sh sh sh”。
混合模型和数据挖掘器
这些技术中的第一项是翻译模型架构:由 Transformer 编码器和递归神经网络(RNN)解码器组成的混合架构,在 Lingvo 中实现,Lingvo 是一个用于序列建模的 TensorFlow 框架。
在机器翻译中,编码器通常将单词和短语编码为内部表示,然后解码器使用这些内部表示来生成所需语言的文本。Google 研究人员在 2017 年首次提出了基于 Transformer 的模型,在这方面显然比 RNN 更有效,但 Google 表示,它的研究表明,大部分质量提升仅来自 Transformer 的一个组件:编码器。这可能是因为 RNN 和 Transformer 都是为了处理有序的数据序列而设计的,但 Transformer 并不要求按顺序处理序列。换句话说,如果处理的是自然语言,Transformer 在处理结束之前无需处理句子的开头。
不过,RNN 解码器在推理时间上仍然比 Transformer 内的解码器要“快得多”。认识到这一点,Google Translate 团队在将 RNN 解码器与 Transformer 编码器进行耦合之前,对 RNN 解码器进行了优化,以创建低延迟的混合模型,其质量和稳定性都高于他们所取代的已有四年历史的基于 RNN 的神经机器翻译模型。
图:Google Translate 模型自 2006 年推出以来的 BLEU 得分。
除了这种新颖的混合模型架构外,Google 还升级了已有数十年历史的网络爬虫程序,用来从文章、书籍、文档和网络搜索结果等方面的数百万个翻译样本中编译训练语料库。新的数据挖掘器是基于嵌入的 14 种大型语言对,而不是基于词典的,这意味着它使用实数向量来表示单词和短语,更注重准确率(检索数据中相关数据的分数),而不是召回率(实际检索到的相关数据总量的分数)。在生产中,Google 称这使数据挖掘器提取的句子数量平均增加了 29%。
噪声数据与迁移学习
另一个翻译性能的提升来自于一种更好地处理训练数据中噪声的建模方法。所谓噪声数据,是指含有大量无法正确理解或解释的信息的数据,会对数据丰富的语言的翻译造成危害,因此,Google Translate 团队部署了一个系统,该系统使用对有噪音的数据进行训练的模型,并根据“干净”的数据进行调整,为样本分配分数。实际上,这些模型开始对所有数据进行训练,然后逐渐在更小、更干净的子集上进行训练,这种方法在人工智能研究领域被称为“课程学习”(curriculum learning)。
在低资源语言方面,Google 在 Google Translate 中实现了一个反向翻译的方案,增加了并行训练数据,即语言中的每个句子都与其翻译配对(机器翻译传统上依赖于源语言和目标语言的配对句子语料库的统计)。在该方案中,训练数据与合成的并行数据自动对齐,使得目标文本为自然语言,而原文本是由神经翻译模型生成的。其结果是,Google Translate 利用了更丰富的单语文本数据来训练模型,Google 认为这对于提高流利度尤其有帮助。
图:使用 Translate 的 Google Maps
Google Translate 现在还使用了 M4 建模,M4 是一个巨型模型,可以在多种语言和英语之间进行翻译。M4 是去年的一篇论文中首次提出的,该论文表明,在对 100 多种语言的 250 多亿句子对进行训练后,它提高了 30 多种低资源语言的翻译质量。M4 建模使 Google Translate 中的迁移学习成为可能。因此,通过对包括法语、德语和西班牙语(这些语言都有数十亿个平行样本)在内的高资源语言的须努力按所收集的洞察力可以应用于低资源语言的翻译,如约鲁巴语(Yoruba)、信德语(Sindhi)和夏威夷语(Hawaiian)(这些语言只有数万个样本)。
展望未来
根据 Google 的数据,自 2010 年以来,Google Translate 每年至少提高了一个 BLEU 点,但自动机器翻译绝不是一个已经解决的问题。Google 承认,即使是它的增强型模型也会容易出错,包括将语言的不同方言混淆,产生过于直译的翻译,以及在特定的主题类型和非正式或口语方面表现不佳。
这家科技巨头正试图通过各种方式解决这个问题,包括通过 Google Translate 社区,这是一个游戏化的项目,招募志愿者通过翻译单词和短语或检查翻译是否正确,帮助提高地资源语言的表现。就在今年 2 月份,该项目结合新兴的机器学习技术,增加了总共 7500 万人使用的五种语言的翻译:卢旺达语(Kinyarwanda)、奥里亚语(Oriya)、鞑靼语(Tatar)、土库曼语(Turkmen)和维吾尔语(Uyghur)。
Google 并不是唯一一家追求真正通用翻译器的公司。2018 年 8 月,Facebook 发布了一种人工智能模型,该模型结合了逐字翻译、语言模型和反向翻译,从而在语言配对方面表现优于系统。最近,麻省理工学院计算机科学和人工智能实验室的研究人员提出了一种无监督模型,即一种从未被明确标记或分类的测试数据中学习的模型,这种模型可以在两种语言的文本进行翻译,而无需两种语言之间的直接翻译数据。
在一份声明中,Google 用外交辞令表示,它对学术界和工业街的机器翻译研究表示“感谢”,其中一些研究为自己的工作提供了参考。“我们通过综合和扩展各种最近的进展来实现 Google Translate 最近的改进。”该公司称,“通过这次更新,我们很自豪地提供了相对连贯的自动翻译,即使是 108 种支持语言中资源最低的语言也是如此。”
作者介绍:
Kyle Wiggers,技术记者,现居美国纽约市,为 VentureBeat 撰写有关人工智能的文章。
原文链接:
评论