0语料下,如何通过「贴标签」获得更好的多语言翻译效果

简介: 作者:吴礼蔚、程善伯来自火山翻译团队的研究者通过研究发现,不同语言标签对多语言 Zero-shot 翻译的巨大影响,并在数据相差很大的三个不同的数据集上进行了实验,验证了不同语言标签对多语言 Zero-shot 翻译确实存在巨大影响,并且表明 T-ENC 在 Zero-shot 上优于其他语言标签。

现今的多语言翻译模型,大多是在一个以英语为中心的数据集上训练一个统一的模型,并通过添加语言标签的方式来告诉模型应该翻译到哪一种语言。这种模型在预测的时候能够直接在一个非英语的句子上添加另一个非英语的语言标签来直接翻译,从而达到即使在训练时没有见过源语言和目标语言的情况下,也能实现模型翻译,这就是所谓的 zero-shot 多语言翻译。


添加语言标签的方式有很多种,来自火山翻译团队的研究者通过实验研究发现,虽然不同的语言标签对监督方向的效果几乎没有影响,但是对 zero-shot 的效果却有着非常大的影响。这个现象在多个数据集上得到了验证,其中 IWSLT17 上相差 14.02 个 BLEU,Euporal 上相差 24.24 个 BLEU,TED talks 上相差 8.78 个 BLEU。目前该研究已被 the findings of ACL 2021 接收


微信图片_20211205195102.png


论文地址:https://arxiv.org/abs/2106.07930


研究背景和动机


在多语言翻译中,有许多添加语言标签的方法,并且一般都认为不同的语言标签的添加方法对模型的性能没有影响,然而之前没有研究者系统性地研究语言标签对翻译模型是否有影响。这篇文章比较了四种常见的语言标签的添加方法。


微信图片_20211205195107.png


表 1 四种不同的的语言标签


如表 1 所示,这四种方法会将源语言标签和目标语言标签按照不同的方法加到源句首或者目标句首。


微信图片_20211205195109.png

表 2 数据集详情


如表 2 所示,这篇文章选择了 IWSLT17,Euporal 和 TED talks 三个数据集,这三个数据集在语言数量和数据集大小上都有比较大的差异。这篇文章在这三个数据集上基于上述四种不同的语言标签训练了配置完全一样的多语言翻译模型。


实验结果


微信图片_20211205195112.png


表 3 实验结果


如表 3 所示,可以看到:


1. 对于不同的语言标签,不同的数据集,在有监督的方向上,模型的表现基本一致。2. 在 Zero-shot 方向上:  a. 不同的语言标签对模型的性能有着很大的影响,并且,T-ENC 的表现在三种数据集上一致地超过了其他三种标签:在 IWSLT17 上超过了 14.02 个 BLEU,在 Euporal 上超过了 24.24 个 BLEU,在 TED talks 上超过了 8.78 个 BLEU。  b. 不同语言标签导致的 off-target 的比例也不相同(off-target 是指翻译到语言 X 时,却翻译成另一个语言的情况),基本上 T-ENC 的 off-target 的比例都要比别的小,这一点和模型在 zero-shot 上的性能基本一致。


分析


那么是什么原因导致了这种现象?这篇文章试图从三个方面解释这个现象并在 TED 数据集上做了实验:


1. 在目标语言相同的情况下,语言标签的添加方式是否影响了不同语言的句子经过 Encoder 之后的表示的一致性?2. T-ENC 可以获得相对于其他方法更小的 off-target 比例,是不是由于在预测的时候,它的 attention 注意力机制能够更好地注意到语言标签?3. 意思相同的不同语言的句子,在翻译模型的每一层的相似性如何?


Encoder 的表示的一致性


微信图片_20211205195115.png


上图是通过对 Encoder 的输出使用 t-SNE 降维,之后使用 kde 画出来的分布图,展示了不同语言的句子在目标语言相同的情况下的分布,可以发现 T-ENC 不同语言之间的 Encoder 表示分布更加一致。这表明,T-ENC 能够帮助模型学习到语言无关的 Encoder 表示。


缓解 off-target 的问题


微信图片_20211205195118.png


上图通过一个 case study 展示了从一个俄语句子翻译到意大利语句子时,不同的语言标签下,模型的 attention 对意大利语标签的 “关注” 程度,显然使用 T-ENC 时,模型对意大利语标签的关注程度最高,这可以一定程度上解释为什么 T-ENC 拥有最小的 off-target 比例。


不同层的相似性


微信图片_20211205195120.png


上图的子图 a 展示了,从除了英语和俄语外的 18 个语言翻译到俄语的时候,意思相同的句子在不同语言之间的表示的相似性,可以看到 T-ENC 的相似性曲线一直在其他的语言标签之上,这表明在目标语言相同的时候,T-ENC 各层的表示相比于其他的方法都有更好的一致性。


上图的子图 b 展示了,从俄语翻译到除了英语和俄语外的 18 个语言翻译的时候,同一个俄语句子在不同目标语言下的相似性,可以看到 T-ENC 的相似性曲线几乎一直在其他的语言标签下方,这表明,当目标语言不同的时候,T-ENC 能够更好的生成目标语言相关的表示。


总结


该研究发现了不同语言标签对多语言 Zero-shot 翻译的巨大影响,并在数据相差很大的三个不同的数据集上进行了实验,验证了不同语言标签对多语言 Zero-shot 翻译确实存在巨大影响,并且表明 T-ENC 在 Zero-shot 上优于其他语言标签。同时该研究还分析了不同语言标签对模型在预测时表示的影响,发现 T-ENC 能够更好地得到与目标语言相关而与源语言无关的表示:


1. T-ENC 能使不同源语言句子经过 Encoder 的表示更一致。2. T-ENC 的注意力机制能够更好的注意到目标语言的语言标签。3. T-ENC 在不同层的表示相对于其他方法与目标语言的相关性更强。

相关文章
|
Java 数据库连接 Nacos
nacos常见问题之Nacos2.0.3集群模式启动报错如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
|
小程序
微信小程序 - block 与 view 的区别
微信小程序 - block 与 view 的区别
1005 0
|
5月前
|
运维 Prometheus 监控
别再盲选了!开源运维工具选型这事儿,咱得说人话
别再盲选了!开源运维工具选型这事儿,咱得说人话
331 7
|
8月前
|
前端开发 JavaScript 开发者
《解锁CSS Flex布局:重塑现代网页布局的底层逻辑》
CSS Flex布局(弹性盒子布局)是现代网页设计中的重要技术,彻底革新了传统布局方式。它通过“容器”与“项目”的概念,提供灵活的空间分配与排列规则,轻松实现水平/垂直居中、等高列、响应式布局等复杂需求。相比传统方法,Flex布局代码简洁高效,显著提升开发体验与页面适应性。然而,浏览器兼容性及对极复杂场景的支持仍需注意。作为网页布局的核心工具之一,Flex布局推动了用户体验与设计创新的进一步发展。
156 13
|
缓存 前端开发 JavaScript
绝了!前端优化新高度,教你如何让你的网站加载速度比火箭还快!
本文介绍了多种前端优化技术,包括文件压缩与合并、图片优化、缓存策略、服务器端渲染(SSR)和客户端渲染(CSR)的选择,以及利用CDN加速静态资源加载,帮助你显著提升网站加载速度,优化用户体验。
367 31
|
Java
Java Character 类详解
`Character` 类是 Java 中的一个封装类,位于 `java.lang` 包中,主要用于处理单个字符。它是一个最终类,提供了多种静态方法来检查和操作字符属性,如判断字符是否为字母、数字或空格,以及转换字符的大小写等。此外,`Character` 类还支持自动装箱和拆箱,简化了 `char` 和 `Character` 之间的转换。以下是一些示例代码,展示了如何使用 `Character` 类的方法来检查字符属性和执行字符转换。掌握 `Character` 类的用法有助于更高效地处理字符数据。
737 2
|
存储 负载均衡 监控
Redis分区指南:如何实现高可用与扩展性
本文由技术小伙伴小米讲解Redis分区容错中的数据分区。内容涉及Hash、一致性Hash、Codis的Hash槽和RedisCluster四种方法。Hash简单但不稳定,数据迁移和分区不均衡是其主要问题;一致性Hash通过最小化数据迁移实现负载均衡,但仍有局限;Codis的Hash槽提供灵活的负载均衡和在线迁移;RedisCluster是官方高可用、可扩展的解决方案。每种方案有优缺点,需根据实际需求选择。
771 0
Redis分区指南:如何实现高可用与扩展性
|
存储 NoSQL MongoDB
使用mongodb数据库实例
【5月更文挑战第9天】MongoDB中的集合类似关系数据库的表,但不强制模式,允许嵌入式文档以实现更灵活的数据布局。安装MongoDB在Ubuntu上涉及添加源列表和更新,CentOS则需创建配置文件。MongoDB支持备份和恢复,以及全文搜索。其灵活模式和动态模式减少了开发中的复杂性,但并非无模式,大部分数据仍具结构化特点。
306 2
|
安全 JavaScript Java
社区老人健康信息管理系统|基于springboot社区老人健康信息管理系统设计与实现(源码+数据库+文档)
社区老人健康信息管理系统|基于springboot社区老人健康信息管理系统设计与实现(源码+数据库+文档)
415 1
|
Java API PHP
使用oss服务上传/下载对象
使用oss服务上传/下载对象
1151 2