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

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

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

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

image

多语言嵌入向量空间插图

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

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

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

image

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

模型

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

TranslationRanking

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

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

image

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

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

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

为了了解语言模型对训练数据分布头部或尾部语言的性能,我们将语言集合分为若干组,并计算每组的平均准确率。从 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 的大规模多语言性质。

image

没有训练数据的 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 上发布。我们也相信此处的成果只是一个开始,还有更多重要的研究问题需要解决,例如,如何建立更好的模型来支持所有语言。

致谢

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

image

原文: Language-Agnostic BERT Sentence Embedding
中文:TensorFlow 公众号