LaBSE: 支持 109 种语言的多语言 BERT 嵌入向量模型

2020 年 9 月 28 日 AINLP

文 / 软件工程师 Yinfei Yang 和 Fangxiaoyu Feng,Google Research


多语言嵌入向量模型是一种功能强大的工具,可以将不同语言的文本编码到共享的嵌入向量空间,可应用于下游一系列任务,例如文本分类、聚类等,同时还能够利用语义信息理解语言。现有生成此类嵌入向量的方法(如 LASER 或 m~USE)依赖于并行数据,将句子从一种语言直接映射到另一种语言,促进句子嵌入向量之间的一致性


现有的多语言方法可在多种语言中达到良好的整体性能,但与专用双语模型相比,现有方法在高资源语言上通常表现不佳。专用双语模型可以利用翻译对的翻译排名任务等方法作为训练数据,获得更接近的对齐表征。此外,由于模型容量有限,且低资源语言的训练数据质量往往较差,因此多语言模型可能难以扩展,无法在保持良好性能的同时支持更多语言。

  • 翻译排名任务
    https://www.aclweb.org/anthology/W18-6317.pdf

多语言嵌入向量空间插图


改进语言模型的最新成果包括开发遮蔽语言模型 (Masked Language Model,MLM) 预训练,例如 BERTALBERT 和 RoBERTa 使用的预训练。这种方法只需要单语文本,因此在多种自然语言处理任务中均表现优异。

  • 遮蔽语言模型
    https://www.aclweb.org/anthology/N19-1423/

  • RoBERTa
    https://arxiv.org/abs/1907.11692


此外,通过将 MLM 训练修改为包括级联翻译对(翻译语言建模 (Translation Language Modeling,TLM)),或通过简单地引入来自多种语言的预训练数据,可以将 MLM 预训练扩展到多语言环境。虽然在 MLM 和 TLM 训练期间学习到的内部模型表示对下游任务微调很有帮助,但如果没有句子级别的目标,它们不能直接产生翻译任务所必需的句子嵌入向量。

  • 翻译语言建模
    https://arxiv.org/abs/1901.07291


语言无关 BERT 句子嵌入向量 (Language-agnostic BERT Sentence Embedding) 中,我们提出一种名为 LaBSE 的多语言 BERT 嵌入向量模型,可为 109 种语言生成语言无关的跨语言句子嵌入向量。LaBSE 在 170 亿个单语句子和 60 亿个双语句子对上使用 MLM 和 TLM 进行了预训练,训练出的模型,对训练期间没有可用数据的低资源语言也有效。此外,该模型还在多个并行文本(又称 bitext)检索任务上建立了最前沿 (SOTA) 水平。预训练的模型已经通过 tfhub 向社区发布,其中包括可以直接使用或使用域特定数据进行微调的模块。

  • 语言无关 BERT 句子嵌入向
    https://arxiv.org/abs/2007.01852

  • BERT
    https://www.aclweb.org/anthology/N19-1423/

  • Tfhub
    https://tfhub.dev/google/LaBSE/1


支持 109 种语言的训练数据集合



模型

先前研究中,我们建议使用翻译排名任务学习多语言句子嵌入向量空间。这种方法给定源语言中的一个句子,让模型在目标语言的句子集合上对真实翻译进行排名。翻译排名任务使用具有共享转换器编码器的双编码器架构进行训练。生成的双语模型在多项并行文本检索任务(包括 United Nations 和 BUCC)上取得了最前沿 (SOTA) 的性能。然而,由于模型容量、词汇覆盖率、训练数据质量等方面的限制,当双语言模型扩展到支持多种语言(在测试用例中共有 16 种语言)时,模型性能有所降低。

  • 先前研究
    https://www.ijcai.org/Proceedings/2019/0746.pdf


翻译排名任务:给定源语言中的一个句子,任务是在目标语言的句子集合中找到真正的翻译


对于 LaBSE,我们在类似 BERT 的架构上利用了语言模型预训练的最近进展,包括 MLM 和 TLM,并在翻译任务排名上进行微调。在 109 种语言上使用 MLM 和 TLM 预训练带有 50 万个 token 词汇的 12 层 Transformer,增加模型和词汇的覆盖率。产生的 LaBSE 模型在单个模型中提供了对 109 种语言的扩展支持

  • BERT
    https://arxiv.org/pdf/1810.04805.pdf

  • Transformer
    https://ai.googleblog.com/2017/08/transformer-novel-neural-network.html


双编码器架构,源文本和目标文本分别使用共享参数转换器嵌入向量网络进行编码。应用翻译排名任务,迫使互相解释的文本具有相似的表达。转换器嵌入向量网络从在 MLM 和 TLM 任务上训练的 BERT 检查点初始化



在跨语言文本检索上的性能

我们使用 Tatoeba 语料库评估模型,该数据集包含多达 112 种语言的 1000 个英语对齐句子对。对于数据集中 30 种以上的语言,该模型没有训练数据。该模型的任务是通过余弦距离进行计算,查找给定句子的最近邻翻译。

  • Tatoeba 数据集
    https://github.com/facebookresearch/LASER/tree/master/data/tatoeba/v1


为了了解语言模型对训练数据分布头部或尾部语言的性能,我们将语言集合分为若干组,并计算每组的平均准确率。从 m~USE 支持的语言中选择第一个 14 种语言组,这些语言覆盖了分布头部的语言(头部语言)。我们还评估了由 XTREME 基准的 36 种语言组成的第二个语言组。从 LASER 训练数据涵盖的语言中选择的第三个 82 种语言组包括许多分布尾部的语言 (尾部语言)。最后计算所有语言的平均准确率。


下表列出了每个语言组的 LaBSE 相较于 m~USE 和 LASER 模型实现的平均准确率。正如预期,所有模型在涵盖大多数头部语言的 14 种语言组中均表现出色。随着语言增多,LASER 和 LaBSE 的平均准确率都有所下降。但 LaBSE 模型的准确率下降幅度要小得多,显著优于 LASER,尤其在 112 种语言完整分布的情况下(准确率分别为 83.7% 和 65.5%)。


模型 14 种语言 36 种语言 82 种语言 所有语言
m~USE* 93.9
LASER 95.3 84.4 75.9 65.5
LaBSE 95.3 95.0 87.3 83.7

Tatoeba 数据集的平均准确率 (%)。“14 种语言”组由 m~USE 支持的语言组成;“36 种语言”组包括 XTREME 选择的语言;“82 种语言”组代表 LASER 模型所涵盖的语言。“所有语言”组包括 Taoteba 支持的所有语言

* m~USE 模型有两种,一种基于卷积神经网络架构,另一种基于类 Transformer 架构。此处仅与 Transformer 版本比较



对未训练语言的支持

Tatoeba 中所有语言的平均性能都很有前途。值得注意的是,LaBSE 甚至在没有训练数据的 30 多种 Tatoeba 语言中取得了相对较好的表现(见下文)。在这些语言中,有三分之一语言的 LaBSE 准确率高于 75%,只有 8 种语言的准确率低于 25%,表明 LaBSE 对没有训练数据的语言有很强的迁移性能。这种强大的语言迁移完全依赖于 LaBSE 的大规模多语言性质。

没有训练数据的 Tatoeba 语言子集(使用 ISO 639-1/639-2 代码表示)的 LaBSE 准确率



从网络挖掘并行文本 

LaBSE 可用于从网络规模数据中挖掘并行文本 (bi-text)。例如,我们将 LaBSE 应用于大规模单语言语料库 CommonCrawl 处理 5.6 亿个中文和 3.3 亿个德语句子,提取并行文本。每个中文和德语句子对都使用 LaBSE 模型编码,然后使用编码后的嵌入向量从模型预处理和编码的 77 亿个英语句子库中查找潜在的翻译。采用近似最近邻搜索快速搜索高维句子嵌入向量。


经过简单筛选,模型分别返回 2.61 亿个和 1.04 亿个英中和英德潜在并行对。经过训练的 NMT 模型利用挖掘数据在 WMT 翻译任务上获得 35.7 和 27.2 的 BLEU 分数(英中为 wmt17,英德为 wmt14)。它的表现与当前在高质量并行数据上训练的 SOTA 模型相比只差几分。



结论 

我们很高兴与社区分享本研究成果和模型。为了支持该方向和潜在下游应用的进一步研究,预训练模型已在 tfhub 上发布。我们也相信此处的成果只是一个开始,还有更多重要的研究问题需要解决,例如,如何建立更好的模型来支持所有语言。

  • Tfhub
    https://tfhub.dev/google/LaBSE/1



致谢 

核心团队包括 Wei Wang、Naveen Arivazhagan、Daniel Cer。我们要感谢 Google Research 语言团队以及来自其他 Google 团队的反馈和建议。特别感谢 Sidharth Mudgal 和 Jax Law 在数据处理方面的帮助;以及 Jialu Liu、Tianqi Liu、Chen Chen 和 Anosh Raj 在 BERT 预训练方面的帮助。




欢迎加入机器翻译技术交流群
进群请添加AINLP小助手微信 AINLPer(id: ainlper),备注机器翻译

推荐阅读

这个NLP工具,玩得根本停不下来

征稿启示| 200元稿费+5000DBC(价值20个小时GPU算力)

完结撒花!李宏毅老师深度学习与人类语言处理课程视频及课件(附下载)

从数据到模型,你可能需要1篇详实的pytorch踩坑指南

如何让Bert在finetune小数据集时更“稳”一点

模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法

文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化

Node2Vec 论文+代码笔记

模型压缩实践收尾篇——模型蒸馏以及其他一些技巧实践小结

中文命名实体识别工具(NER)哪家强?

学自然语言处理,其实更应该学好英语

斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。


阅读至此了,分享、点赞、在看三选一吧🙏

登录查看更多
1

相关内容

【NeurIPS 2020】融入BERT到并行序列模型
专知会员服务
25+阅读 · 2020年10月15日
【ICML2020】统一预训练伪掩码语言模型
专知会员服务
25+阅读 · 2020年7月23日
【Google论文】ALBERT:自我监督学习语言表达的精简BERT
专知会员服务
23+阅读 · 2019年11月4日
单语言表征如何迁移到多语言去?
AI科技评论
5+阅读 · 2019年11月21日
ACL 2019 | 多语言BERT的语言表征探索
AI科技评论
20+阅读 · 2019年9月6日
中文版-BERT-预训练的深度双向Transformer语言模型-详细介绍
GLUE排行榜上全面超越BERT的模型近日公布了!
机器之心
9+阅读 · 2019年2月13日
跨语言版BERT:Facebook提出跨语言预训练模型XLM
机器之心
4+阅读 · 2019年2月6日
Facebook开源增强版LASER库,包含93种语言工具包
机器之心
5+阅读 · 2019年1月23日
Arxiv
0+阅读 · 2020年12月3日
Arxiv
5+阅读 · 2019年10月31日
Arxiv
6+阅读 · 2019年8月22日
Arxiv
3+阅读 · 2019年8月19日
Arxiv
11+阅读 · 2019年6月19日
VIP会员
相关资讯
Top
微信扫码咨询专知VIP会员