文 / 软件工程师 Yinfei Yang 和 Fangxiaoyu Feng,Google Research
多语言嵌入向量模型是一种功能强大的工具,可以将不同语言的文本编码到共享的嵌入向量空间,可应用于下游一系列任务,例如文本分类、聚类等,同时还能够利用语义信息理解语言。现有生成此类嵌入向量的方法(如 LASER 或 m~USE)依赖于并行数据,将句子从一种语言直接映射到另一种语言,促进句子嵌入向量之间的一致性。
现有的多语言方法可在多种语言中达到良好的整体性能,但与专用双语模型相比,现有方法在高资源语言上通常表现不佳。专用双语模型可以利用翻译对的翻译排名任务等方法作为训练数据,获得更接近的对齐表征。此外,由于模型容量有限,且低资源语言的训练数据质量往往较差,因此多语言模型可能难以扩展,无法在保持良好性能的同时支持更多语言。
翻译排名任务
https://www.aclweb.org/anthology/W18-6317.pdf
多语言嵌入向量空间插图
改进语言模型的最新成果包括开发遮蔽语言模型 (Masked Language Model,MLM) 预训练,例如 BERT、ALBERT 和 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 预训练方面的帮助。
推荐阅读
征稿启示| 200元稿费+5000DBC(价值20个小时GPU算力)
完结撒花!李宏毅老师深度学习与人类语言处理课程视频及课件(附下载)
模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法
文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化
斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用
关于AINLP
AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。
阅读至此了,分享、点赞、在看三选一吧🙏