ACL 2018 | TA-NMT:利用大语种语料,提升小语种神经机器翻译能力

2023-10-19 09:40

本文主要是介绍ACL 2018 | TA-NMT:利用大语种语料,提升小语种神经机器翻译能力,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

编者按:随着神经机器翻译的快速发展,英语、法语等大语种之间的翻译任务已经能够达到良好的翻译效果,而小语种的翻译仍然是一个难题。与大语种丰富的语料数据相比,小语种机器翻译面临的主要挑战是语料的稀疏性问题。为了更好地解决这一问题,微软亚洲研究院自然语言计算组提出了一个呈三角结构的神经机器翻译模型TA-NMT,利用大语种的丰富语料来提升小语种机器翻译的能力。

近年来,神经机器翻译发展迅速,在诸如英法、英德、中英等许多大语种(Rich Language)翻译任务上均取得了突破性成果。但因为神经机器翻译的模型参数量庞大,且训练方法为极大似然估计,所以需要大量的对齐语料,比如数百万个句对,才能得到一个比较理想的翻译模型

研究表明,如果对齐语料数量过少,如只有十几万个句对,那么神经机器翻译模型会在这个小数据集上产生比较严重的过拟合,从而导致其性能低于传统的统计机器翻译模型,这被称为神经机器翻译的数据稀疏性问题(Low-resource Problem)。这个问题普遍存在而且非常关键,尤其是在小语种(Rare Language)的翻译问题上。通常情况下,一个小语种(如蒙古语)和其他任意一种语言之间的双语数据常常是稀疏的,如果稀疏性问题不解决,将会严重影响神经机器翻译在小语种上的翻译应用

为了解决这一问题,业界已经做出了很多尝试。方法大致分为两类:第一类方法是充分利用容易获取的单语数据,典型的方法为Back-translation。它利用反向的翻译模型,将目标语言端的单语数据翻译成源语言的数据,通过这一方法构造伪双语数据来训练正向的翻译模型。这一方法可以扩展为将两个方向的翻译模型结合起来进行联合训练(Joint Training),利用源语言和目标语言的单语数据来同时提升两个方向的翻译模型;第二类方法为多语言模型方法,典型的有multilingual模型。它针对每种语言分别定义了编码器和解码器,并通过共享的attention机制来完成不同语种之间的翻译

在本篇论文中,我们提出了第三类方法——充分利用大语种丰富的对齐语料来提升小语种机器翻译的能力。让我们设想图1中的场景,X和Y为两个大语种,如英语和法语,它们之间有很丰富的双语数据。Z为一个小语种,如蒙古语,它和X以及Y之间只有少量的双语数据。而我们的目标是要提升X↔Z和Y↔Z即四个包含小语种的翻译模型的翻译性能。我们将这一方法称为TA-NMT,即三角结构神经机器翻译模型(Triangular Architecture Neural Machine Translation

1532251914131.png

图1 典型小语种场景

1532251910344.png

图2 用X和Y之间的丰富语料提升四个包含小语种的翻译模型


广义EM优化

在我们提出的方法中,我们将小语种Z所在的空间作为隐空间,对X→Y和Y→X的翻译进行建模,以充分利用X和Y之间的丰富语料。这样一来,X→Y的翻译过程就可以拆分为两个步骤X→Y和Z→Y,然后就可以用EM算法对这两个过程进行迭代优化。Y→X的翻译过程也是如此。具体来说,以X→Y方向为例,通过将Z作为隐变量,我们利用Jensen不等式,对优化目标log p(y|x)进行重写,得到:

1532251910527.png

其中Q(z)为隐变量z 的一个任意后验分布,L(Q) 即为我们得到的优化下界。由Q(z)的任意性,我们可以选择Q(z)=p(z|x)作为z的后验,这样一来优化下界就可以显式地写出来,即:

1532251910595.png

同时,由于Q(z) 的选择,我们也可将log p(y|x)与L(Q) 之间的误差推导出来,即:

1532251911291.png

其中KL(·)为Kullback–Leibler divergence。这样,我们便可以用广义EM算法对上式进行最大化优化。在E步骤中,我们最小化KL项,使得从x到z和从y到z的结果尽可能一致,即:

1532251912300.png

在M步骤中,我们最大化优化下界L(Q),最大化从z到y得到的最终翻译期望,即:

1532251912778.png

可以看到,在E步中,我们借助p(z|x)和p(z|y)来更新p(z|x),在M步中,我们借助p(z|x)来更新p(y|z)⁡。对于Y→X方向,我们也可以根据上面的推导得到对p(z|y)和p(x|z)的优化方法。这样就可以完成对于四个小语种翻译模型的优化。


联合EM训练

其实在上面的推导中,我们发现,X→Y方向的训练中,也用到了Y→X才会更新的模型p(z|y);反之,在Y→X方向的训练中,也用到了X→Y才会更新的模型p(z|x)。所以我们可以将两个方向结合起来,进行联合的迭代训练,从而可以同时优化四个小语种翻译模型。其过程如下图所示,其中红框表示该步骤负责优化的翻译模型。

1532251913835.png

3 联合EM训练过程


实验

我们的实验用到了MultiUN和IWSLT2012两个数据集,均采用英语和法语作为大语种。在MultiUN数据集中,我们采用阿拉伯语和西班牙语作为模拟的小语种;在IWSLT数据集中,我们采用罗马尼亚语和希伯来语作为真实场景的小语种。

实验中,我们比较了两个baseline模型,一个是经典的神经机器翻译模型RNNSearch,另外一个是Phrase-based统计机器翻译模型。此外,我们还比较了两个teacher student和back-translation两个模型。由于TA-NMT中没有用到Z端的单语数据,所以我们将TA-NMT方法进行了进一步扩展,将back-translation训练的模型作为TA-NMT的初始模型,在此基础上进行进一步联合EM训练,我们称这个扩展方法为TA-NMT(GI)。其中GI表示good initialization。实验结果如下表所示:

可以看到,在没有引入Z 端单语数据的情况下,TA-NMT的性能高于RNNSearch、PBSMT、T-S。在引入Z 端单语数据的情况下,TA-NMT(GI)的性能高于BackTrans。

同时,我们画出了英语-法语-阿拉伯语组和英语-法语-罗马尼亚语组的训练曲线。下图中纵轴为相应验证集上的BLEU值,横轴为训练中的模型参数的更新次数。可以看到,整个过程中,E步和M步中优化的两个模型性能均稳步上升。

1532251915981.png

总结来说,我们提出的TA-NMT训练模型充分利用大语种语言对之间丰富的双语数据来提升小语种翻译模型的性能。基本思路是在大语种之间的翻译过程中将小语种作为中间隐变量引入,将该翻译过程拆分为两个经由小语种的翻译过程,从而可以用EM方法进行优化。同时我们提出了联合EM训练方法,可以同时对四个小语种翻译模型进行优化。

参考文献:

Shuo Ren, Wenhu Chen, Shujie Liu, Mu Li, Ming Zhou, Shuai Ma, Triangular architecture for rare language translation, ACL 2018.

论文链接:

https://arxiv.org/abs/1805.04813

入门 机器翻译 ACL 2018

这篇关于ACL 2018 | TA-NMT:利用大语种语料,提升小语种神经机器翻译能力的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/238969

相关文章

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

EasyPlayer.js网页H5 Web js播放器能力合集

最近遇到一个需求,要求做一款播放器,发现能力上跟EasyPlayer.js基本一致,满足要求: 需求 功性能 分类 需求描述 功能 预览 分屏模式 单分屏(单屏/全屏) 多分屏(2*2) 多分屏(3*3) 多分屏(4*4) 播放控制 播放(单个或全部) 暂停(暂停时展示最后一帧画面) 停止(单个或全部) 声音控制(开关/音量调节) 主辅码流切换 辅助功能 屏

java学习,进阶,提升

http://how2j.cn/k/hutool/hutool-brief/1930.html?p=73689

JAVA用最简单的方法来构建一个高可用的服务端,提升系统可用性

一、什么是提升系统的高可用性 JAVA服务端,顾名思义就是23体验网为用户提供服务的。停工时间,就是不能向用户提供服务的时间。高可用,就是系统具有高度可用性,尽量减少停工时间。如何用最简单的方法来搭建一个高效率可用的服务端JAVA呢? 停工的原因一般有: 服务器故障。例如服务器宕机,服务器网络出现问题,机房或者机架出现问题等;访问量急剧上升,导致服务器压力过大导致访问量急剧上升的原因;时间和

网络学习-eNSP配置ACL

AR1路由器配置 <Huawei>system-viewEnter system view, return user view with Ctrl+Z.[Huawei]undo info-center enableInfo: Information center is disabled.[Huawei]interface gigabitethernet 0/0/0[Huawei-G

提升PrestaShop外贸电商网站安全的几款行业必备工具

提升PrestaShop外贸电商网站安全的几款行业必备工具 PrestaShop发展历程 PrestaShop是一款优秀且强大的外贸开源电商软件,我们开始使用PrestaShop始于2009年,那时PrestaShop还是0.9版本:界面清新,性能强悍,扩展友好等特性,既没有Magento的笨重,也没有ZenCart的古老,更没有OpenCart的脆弱,因此PrestaShop如雨后春笋,迅速

综合DHCP、ACL、NAT、Telnet和PPPoE进行网络设计练习

描述:企业内网和运营商网络如上图所示。 公网IP段:12.1.1.0/24。 内网IP段:192.168.1.0/24。 公网口PPPOE 拨号采用CHAP认证,用户名:admin 密码:Admin@123 财务PC 配置静态IP:192.168.1.8 R1使用模拟器中的AR201型号,作为交换路由一体机,下图的WAN口为E0/0/8口,可以在该接口下配置IP地址。 可以通过

2018秋招C/C++面试题总结

博主从8月中旬开始大大小小面试了十几家公司,至今也许是告一段落吧,希望后面会有好结果,因此总结记录一些C/C++方向常见的问题。和大家一起学习! 参考了互联网的各种资源,自己尝试归类整理,谢谢~ 一、C和C++的区别是什么? C是面向过程的语言,C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。 C中函数不能进行重载,C++函数可以重载 C++在C的基础上增添类,C是一个结构

大厂算法例题解之网易2018秋招笔试真题 (未完)

1、字符串碎片 【题目描述】一个由小写字母组成的字符串可以看成一些同一字母的最大碎片组成的。例如,“aaabbaaac” 是由下面碎片组成的:‘aaa’,‘bb’,‘c’。牛牛现在给定一个字符串,请你帮助计算这个字符串的所有碎片的 平均长度是多少。 输入描述: 输入包括一个字符串 s,字符串 s 的长度 length(1 ≤ length ≤ 50),s 只含小写字母(‘a’-‘z’) 输出描述

Axure元件库Ant Design中后台原型模板:提升设计与开发效率的利器

企业对于中后台产品的设计与开发需求日益增长。为了提升用户体验和开发效率,设计者和开发者们不断寻求更加高效、统一的解决方案。Ant Design,作为阿里巴巴开源的一套企业级UI设计语言和React组件库,凭借其丰富的组件和统一的设计风格,已成为众多项目的首选。而在Axure中使用Ant Design元件库,更是为中后台产品的原型设计带来了极大的便利。 Ant Design简介 Ant D