多语言嵌入模型是一个强大的工具,它将来自不同语言的文本编码到共享的嵌入空间中,使其能够应用于一系列下游任务,如文本分类、聚类等,同时还可以利用语义信息进行语言理解。现有的生成此类嵌入的方法,如LASER或m~USE,依赖于并行数据,将句子从一种语言直接映射到另一种语言,以保证句子嵌入之间的一致性。虽然这些现有的多语言方法在多种语言中都能获得良好的整体性能,但它们在高资源语言上的表现往往不如专用的双语模型,后者可以利用翻译排名任务等方法,以翻译对作为训练数据,获得更紧密一致的表示。此外,由于模型容量有限,以及低资源语言的训练数据质量通常较差,因此很难扩展多语言模型以支持更多语言,同时保持良好的性能。
多语言嵌入空间的图示。
近期为改进语言模型所做的努力包括开发掩蔽语言模型(MLM) 预训练,例如BERT、ALBERT和RoBERTa 所使用的方法。由于这种方法只需要单语文本,因此已在多种语言和各种自然语言处理任务中取得了非凡的成果。此外,通过修改 MLM 训练以包括连接的翻译对(称为翻译语言建模( TLM)),或者简单地引入多种语言的预训练数据,MLM 预训练已扩展到多语言设置。但是,虽然在 MLM 和 TLM 训练期间学习到的内部模型表示在对下游任务进行微调时很有帮助,但如果没有句子级目标,它们就不会直接产生对翻译任务至关重要的句子嵌入。
在“语言无关的 BERT 句子嵌入”中,我们提出了一种多语言BERT嵌入模型,称为 LaBSE,该模型可为 109 种语言生成语言无关的跨语言句子嵌入。该模型使用 MLM 和 TLM 预训练对 170 亿个单语句子和 60 亿个双语句子对进行训练,从而生成即使在训练期间没有可用数据的低资源语言上也能有效的模型。此外,该模型在多个并行文本(又名bitext )检索任务上建立了新的最先进水平。我们已通过tfhub向社区发布了预训练模型,其中包括可按原样使用或可使用领域特定数据进行微调的模块。
收集109种支持语言的训练数据
模型
在之前的工作中,我们提出使用翻译排名任务来学习多语言句子嵌入空间。此方法要求模型在给定源语言句子的情况下,对目标语言句子集合的真实翻译进行排名。翻译排名任务使用具有共享变压器编码器的双编码器架构进行训练。由此产生的双语模型在多个并行文本检索任务(包括联合国和BUCC )上取得了最先进的性能。然而,由于模型容量、词汇覆盖率、训练数据质量等方面的限制,当双语模型扩展到支持多种语言(在我们的测试用例中为 16 种语言)时,模型受到了影响。
翻译排名任务。给定源语言中的一个句子,任务是在目标语言的句子集合中找到真正的翻译。
对于 LaBSE,我们在类似BERT的架构 上利用语言模型预训练方面的最新进展,包括 MLM 和 TLM,然后对翻译排名任务进行微调。使用 12 层转换器和 500k 个标记词汇表,使用 MLM 和 TLM 对 109 种语言进行预训练,以增加模型和词汇表覆盖率。由此产生的 LaBSE 模型在单个模型中为 109 种语言提供扩展支持。
双编码器架构,其中源文本和目标文本分别使用共享的转换器嵌入网络进行编码。应用翻译排名任务,强制相互解释的文本具有相似的表示。转换器嵌入网络从在 MLM 和 TLM 任务上训练的 BERT 检查点初始化。
跨语言文本检索性能我们使用Tatoeba 语料库
评估所提出的模型,该数据集包含 112 种语言的多达 1,000 个英语对齐句子对。对于数据集中的 30 多种语言,该模型没有训练数据。该模型的任务是找到给定句子的最近邻翻译,它使用余弦距离来计算。
为了了解模型对训练数据分布头部或尾部的语言的性能,我们将语言集分成几组并计算每组的平均准确率。第一个 14 种语言组是从 m~USE 支持的语言中选择的,涵盖了分布头部的语言(头部语言)。我们还评估了第二个语言组,该组由来自XTREME 基准的 36 种语言组成。第三个 82 种语言组是从 LASER 训练数据涵盖的语言中选择的,包括分布尾部的许多语言(尾部语言)。最后,我们计算所有语言的平均准确率。
下表列出了 LaBSE 与 m~USE 和 LASER 模型相比,对每种语言组实现的平均准确率。正如预期的那样,所有模型在涵盖大多数主要语言的 14 种语言组中都表现强劲。随着包含的语言数量增加,LASER 和 LaBSE 的平均准确率都会下降。然而,随着语言数量的增加,LaBSE 模型的准确率下降并不那么明显,其表现明显优于 LASER,尤其是在包含 112 种语言的完整分布时(准确率 83.7% vs. 65.5%)。
模型 14 语言 36 语言 82 语言 所有语言
m~USE* 93.9 — — —
激光 95.3 84.4 75.9 65.5
硼酸镧 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代码表示)的准确度。
从 Web 挖掘平行文本 LaBSE 可用于从 Web 规模数据中挖掘平行文本(双语文本)。例如,我们将 LaBSE 应用于大型单语语料库CommonCrawl,处理 5.6 亿个中文和 3.3 亿个德语句子以提取平行文本。每个中文和德语句子对都使用 LaBSE 模型进行编码,然后使用编码后的嵌入从模型预处理和编码的 77 亿个英语句子池中寻找潜在的翻译。使用近似最近邻搜索快速搜索高维句子嵌入。经过简单的过滤,该模型分别返回 261M 和 104M 个英中和英德潜在的平行对。使用挖掘数据训练的 NMT 模型在 WMT翻译任务(英译中为 wmt17,英译德为 wmt14)上达到 35.7 和 27.2 的 BLEU 分数。该性能与在高质量并行数据上训练的当前最先进模型仅相差几点。
结论 我们很高兴与社区分享这项研究和模型。预训练模型在tfhub上发布,以支持对该方向的进一步研究和可能的下游应用。我们还相信,我们在这里展示的只是一个开始,还有更重要的研究问题需要解决,例如构建更好的模型来支持所有语言。
致谢 核心团队包括 Wei Wang、Naveen Arivazhagan、Daniel Cer。我们要感谢 Google Research Language 团队以及其他 Google 小组的合作伙伴提供的反馈和建议。特别感谢 Sidharth Mudgal 和 Jax Law 在数据处理方面的帮助;以及 Jialu Liu、Tianqi Liu、Chen Chen 和 Anosh Raj 在 BERT 预训练方面的帮助。
评论