写点什么

Google 是如何使用新兴 AI 技术来提高语言翻译质量的?

  • 2020-07-05
  • 本文字数:2865 字

    阅读完需:约 9 分钟

Google 是如何使用新兴AI技术来提高语言翻译质量的?

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 撰写有关人工智能的文章。


原文链接:


https://venturebeat.com/2020/06/03/how-googleis-using-emerging-ai-techniques-to-improve-language-translation-quality/


2020-07-05 07:003755
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 574.5 次阅读, 收获喜欢 1981 次。

关注

评论

发布
暂无评论
发现更多内容

一文搞懂分布式消息中间件设计

小隐乐乐

消息队列

唯一路径的动态规划解法,阿里巴巴架构演化路径 John 易筋 ARTS 打卡 Week 07

John(易筋)

动态规划 ARTS 打卡计划 系统架构演化 唯一路径

如何写好一封简历?

石云升

职场 简历优化 职场成长 简历

工业4.0|要不要用 IO-Link ?

清水河路人甲

工业4.0 IO-Link 工控

ARTS|Week 6 合并有序列表、团队、MIME类型和IIS

Puran

LeetCode ARTS 打卡计划

一致性Hash算法——架构师训练营第5周

架构 极客大学架构师训练营 一致性Hash算法 第5周作业 负载均衡算法

极客大学架构师训练营 系统架构 消息队列 数据库备份 第10课 听课总结

John(易筋)

负载均衡 极客时间 极客大学 极客大学架构师训练营 消息队列

Python设计模式 单例模式

早睡蟒

Python 面向对象 设计模式 单例模式

架构师训练营第五周 - 作业

Eric

极客大学架构师训练营

Git【入门】这一篇就够了

JavaPub

spring

LeetCode | 7. Merge Two Sorted Lists 合并两个有序列表

Puran

Python C# 算法 LeetCode

ARTS Week6

丽子

分布式系统架构设计 - 从CAP到PACELC

常平

架构 分布式

程序人生 | 春风得意马蹄疾,一日看尽长安花

YourBatman

Java 程序员 程序人生

架构第五周 - 学习总结

J.Smile

极客大学架构师训练营

一篇告诉你什么是Spring

JavaPub

spring

架构师训练营作业-20200705

caibird1984

极客大学架构师训练营

总结

Mr.Monkey

游戏夜读 | 简单认识一下爬虫

game1night

分布式系统架构设计 - 一致性hash算法及其改进

常平

分布式 架构设计

架构师训练营 第 5 周总结

Lingjun

极客大学架构师训练营

分布式缓存架构作业

qihuajun

分布式系统架构学习总结

qihuajun

第五周作业

赵龙

第五周作业

秦宝齐

学习

第一个Spring程序(代码篇)

JavaPub

spring

从“金 木 水 火 土”到分布式系统架构设计

常平

分布式 架构设计

80%会问到的18个Dubbo面试题,快来看看你都掌握了吗

小新

Java 程序员 架构 面试 dubbo

ARTS打卡(2020.06.29-2020.07.04)

小王同学

ARTS 打卡计划

第五周学习总结

赵龙

架构师训练营总结-20200705

caibird1984

极客大学架构师训练营

Google 是如何使用新兴AI技术来提高语言翻译质量的?_AI&大模型_Kyle Wiggers_InfoQ精选文章