写点什么

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

2020 年 7 月 05 日

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 年 7 月 05 日 07:001382
用户头像
刘燕 InfoQ记者

发布了 632 篇内容, 共 198.1 次阅读, 收获喜欢 1216 次。

关注

评论

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

图像视频压缩:深度学习,有一套

华为云开发者社区

深度学习 自编码器 图像压缩 循环神经网络 视频压缩

产品经理能力不够,产品方法论来凑

lenka

3月日更

2020(大连)中国广告人年度盛典 暨“东北三省四市品牌广告”高峰论坛顺利举行;淘宝为 2020 年度丑东西颁奖

󠀛Ferry

七日更 3月日更

Python-计算机视觉-OpenCV-video

Aldeo

Python OpenCV Video

【Axure9百例NO.45】中继器的不同场景下的样式处理

zhuchuanming

原型设计 Axure 交互原型

Python API 邮件发送测试

HoneyMoose

渣硕试水字节跳动,本以为简历都过不了,123+HR面直接拿到意向书

云流

Java 程序员 架构 面试

《Redis 核心技术与实战》学习笔记 07

escray

redis 极客时间 学习笔记 3月日更 Redis 核心技术与实战

面试拜佛保过?圈内罕见阿里面试官手册,2021最强面试笔记非它莫属

云流

Java 程序员 架构 面试

Wireshark数据包分析学习笔记Day19

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

纸币会消失吗:数字货币如何走进我们生活

CECBC区块链专委会

货币

如何将多个目录下的文件汇总到一个文件夹

IT蜗壳-Tango

3月日更 IT蜗壳教学

区块链圈频现百万元年薪招聘 现金+股票仍难觅良才

CECBC区块链专委会

区块链人才

2021春招Java后端开发面试总结:25个技术专题(最全面试攻略)

比伯

Java 编程 架构 面试 程序人生

区块链下乡

CECBC区块链专委会

区块链

一个有情怀的PPT模板下载网站

happlyfox

学习 3月日更 工具分享

前端开发:数据处理方法分享(其一)

三掌柜

vue.js 前端 3月日更

开源的 Switch 模拟器——GitHub 热点速览 v.21.12

HelloGitHub

GitHub 开源 开源项目

LiteOS内核源码分析:位操作模块

华为云开发者社区

LiteOS 源代码 位操作 bit Huawei LiteOS

适配器模式在Mybatis中的妙用

Java小咖秀

Java 源码 设计模式 mybatis 开发

开启Python学习之旅,分享学习路上的神器集合!

王小王-123

Python 学习神器 资源分享 工具分享 学习网站

(Day30) 谁来驱动变革

mtfelix

28天写作 bewriting

uni-app跨端开发H5、小程序、IOS、Android(七):uni-app渲染

黑马腾云

html5 uni-app 前端框架 3月日更

LeetCode题解:126. 单词接龙 II,BFS,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

深入理解ES8的新特性SharedArrayBuffer

程序那些事

JavaScript ecmascript 程序那些事 es8

C语言性能优化:减少相关性依赖,利用指令并行提升性能

1

编程 性能优化 C语言 cpu 100%

金三银四,GitHub 热门面试在这里

GitHub指北

中国最可靠的 Go 模块代理

happlyfox

学习 3月日更

Kubernetes认证管理员

云原生

Kubernetes 云原生 k8s CKA

领跑行业!浪潮云斩获“2021云管和云网大会”多项殊荣

浪潮云

云计算 云原生

NA公链(Nirvana)NAC公链独步公链江湖

区块链第一资讯

区块链

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