2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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:004034
用户头像
刘燕 InfoQ高级技术编辑

发布了 1123 篇内容, 共 606.5 次阅读, 收获喜欢 1982 次。

关注

评论

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

DBPack 赋能 python 微服务协调分布式事务

峨嵋闲散人

分布式事务 分库分表 读写分离 seata dbmesh

Java培训 | 详解 Linux 中的权限,这一篇就够了

@零度

Linux JAVA开发

一文读懂TDengine的窗口查询功能

TDengine

tdengine 时序数据库

SpringBoot工程创建Swagger文档并自动生成调用代码

老豆还编程

JavaScript Spring Boot swagger

Go Web 编程入门:一探 GoConvey 测试库

宇宙之一粟

Go web Go 语言 7月月更

Fiori 应用通过 Adaptation Project 的增强方式分享

汪子熙

前端开发 SAP Fiori SAP UI5 7月月更

进入前六!博云在中国云管理软件市场销量排行持续上升

BoCloud博云

云原生 cmp 云管理

使用强大的DBPack处理分布式事务(PHP使用教程)

峨嵋闲散人

分布式事务 分库分表 读写分离 seata dbmesh

Linux设备驱动1:硬件基础

贾献华

7月月更

介绍一种对 SAP GUI 里的收藏夹事务码管理工具增强的实现方案

汪子熙

SAP abap SAPGUI 企业管理软件 7月月更

SpringSecurity的初始化流程

急需上岸的小谢

7月月更

龙蜥社区开源 coolbpf,BPF 程序开发效率提升百倍

OpenAnolis小助手

Linux 开源 内核 龙蜥技术 BPF

大数据培训 | Scala语言知识分享,直击面试

@零度

scala 大数据开发

超90万个K8S实例可被发现暴露在公网上,14%位于中国

SEAL安全

安全

8款最佳实践,保护你的 IaC 安全!

SEAL安全

安全 IaC

6年技术迭代,阿里全球化出海&合规的挑战和探索

阿里技术

阿里巴巴 最佳实践 方法论 全球化

当你真的学会DataBinding后,你会发现“这玩意真香”!

编程的平行世界

JetPack andiod

【LeetCode】找树左下角的值Java题解

Albert

LeetCode 7月月更

【Python技能树共建】requests-html库初识

梦想橡皮擦

7月月更

hive数据导入:文件导入

怀瑾握瑜的嘉与嘉

大数据 hive 7月月更

从MLPerf谈起:如何引领AI加速器的下一波浪潮

OneFlow

人工智能 深度学习 加速器

2022 · 让我带你Jetpack架构组件从入门到精通 — Lifecycle

编程的平行世界

an'droid android jetpack

学会使用LiveData和ViewModel,我相信会让你在写业务时变得轻松🌞

编程的平行世界

JetPack Andriod

2022上半年英特尔有哪些“硬核创新”?看这张图就知道了!

科技之家

孔松(信通院)-数字化时代云安全能力建设及趋势

火线安全

云安全 云安全技术 云安全研究

JVM有哪些类加载机制?

源字节1号

软件开发

开源者的自我修养|为 ShardingSphere 贡献了千万行代码的程序员,后来当了 CEO

SphereEx

开源 代码 ShardingSphere

web前端培训Docker入门指南

@零度

Docker 前端开发

焱融看 | 混合云时代下,如何制定多云策略

焱融科技

存储 文件存储 混合云 多云

研发效能度量框架解读

思码逸研发效能

研发效能 效能度量

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