首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用知识抽取生成跨语言的单语句子向量

 众所周知,对单词和句子的语义进行编码是理所当然的,这是最新的NLP系统所具有的能力。SentenceBERT提供了一些示例示例,说明了如何在诸如聚类和语义文本相似性之类的任务中充分利用基于Transformer的体系结构。但是,该模型仅限于处理来自单一语言的文本序列,在某些情况下,这可能是阻止我们将这种模型部署到生产中的核心因素。因此,找到一种将这些模型扩展到多语言领域的方法将非常有用,这就是Reimers等人提出研究:Making Monolingual Sentence Embeddings Multilingual using Knowledge Distillation(https://arxiv.org/pdf/2004.09813.pdf)。 本文是该研究论文的摘要,在此分享了我对他们的研究贡献和发现的想法和思考。

介绍

多语言模型可以生成token,因此可以扩展到生成多种语言的句子embedding。尽管此功能扩展了该技术可能的例子,但需要注意一点:不能保证跨语言的向量空间是对齐的。基本上,这意味着可以将翻译成不同语言并由模型处理的同一单词或句子分配给矢量表示,这些矢量表示在embedding空间中既不相似也不紧密关联。这使我们无法跨语言执行诸如信息检索,聚类和语义文本相似性之类的任务。

然而,这并不是说,这样的任务是不可能在一个单一语言内完成。具有语义意义的句子embedding可以并且已经通过诸如SentenceBERT(SBERT)之类的模型成功生成。如果你尚未阅读该论文,我本文提出你看一下我的论文摘要,其中涵盖了作者的动机,实现,相关工作和成果(https://link.medium.com/lnaKDerqT7)。简而言之,对SBERT进行了训练以生成保留输入序列语义的句子embedding。这是通过将相似的句子映射为彼此接近而相异的句子彼此分开来实现的。

如果我们可以拓展这种赋予丰富语义表示的能力,以使其在更广泛的语言中或在更广泛的语言中工作,该如何实现呢?这将涉及到更多有趣的例子。实际上,这正是Reimers等人的研究:Making Monolingual Sentence Embeddings Multilingual using Knowledge Distillation(https://arxiv.org/pdf/2004.09813.pdf)。他们通过新颖的知识抽取训练过程将SBERT的功能转移到多语言模型,例如XLM-Roberta(XLM-R)。

跨语言知识抽取的过程

知识抽取将一个模型(称为teacher)的行为教导给另一个模型(student)。在一种场景中,该方法可以将大型的,可能是最新模型的知识迁移到小得多的模型中,该模型可以保留95%以上的teacher效果,同时将参数数量减少7倍!但是,当一个模型具有我们想要转移到另一个模型的属性而不必减小模型大小时,也可以使用它。这更类似于Reimers等人的研究。

他们使用SBERT作为teacher(T),并使用多语言模型作为student(S)。为了使student能够模仿teacher的行为,需要将一种或多种源语言翻译成(平行)句子,并将其翻译成一种或多种目标语言(t):[(s₁,t₁),(s²,t²),… ,(sⱼ,tⱼ)]。要求是teacher可以处理源语言s,而多语言student可以处理目标语言t。

知识抽取训练目标的构造如下:训练student模型S,以使S(sᵢ)≈T(sᵢ)和S(tᵢ)≈T(sᵢ)。换句话说,我们希望该语言对中的两种语言的student的句子表示形式与teacher在源语言中的embedding接近。这可以通过最小化小批量\ mathbf 的均方损失来实现 :

teacher模型T和studentS以及mini-batch B的句子对(tᵢ,sᵢ)部分的知识抽取目标。

因此,训练过程的示意图概述如下。

Reimers等人提出的知识抽取训练过程的示意图。

注意:此过程的好处在于,它可以针对高资源语言进行目标目标的训练,以获取所需的属性。然后可以将它们转移到资源较少的语言中,这对于手边的应用程序可能更有用。

实验

在三种情况下评估该模型:多语言语义文本相似性(mSTS),双文本检索以及训练数据大小如何影响性能。让我们逐一逐一地进行介绍。

多语言语义文本相似性

在此,根据模型对不同语言之内和之间的语义编码的良好程度来评估模型。这是通过多语言STS数据集实现的,其中,来自不同语言的句子对基于它们的相似性进行排名。

作者比较了此任务中的五个不同系统,其中大多数将在以后的实验中使用,因此有必要将它们放在首位。

1.没有针对跨语言对齐向量空间的经过专门训练的多语言语言模型。特别是多语言BERT(mBERT)和XLM-Roberta(XLM-R)。

2.在英语STS数据上训练的多语言语言模型。如果语义上相似(至少对于英语而言),这会使embedding趋于接近。这些模型称为mBERT-nli-stsb和XLM-R-nli-stsb。

3.LASER,LSTM编码器/解码器,经过训练可在90多种语言之间进行翻译。将最大合并策略应用于编码器输出,以便为每个序列生成固定大小的表示形式。

4.多语言通用语句编码器(mUSE),一种双编码器Transformer体系结构,受SNLI数据和16种语言的并行语料库的训练。

5.通过本文提出的的知识抽取过程训练多语言模型。具体来说,mBERT,DistilmBERT和XLM-R会使用SBERT-nli-stsb的知识进行抽取,这将被称为“ SBERT-nli-stsb”

同语言STS评估

首先根据这些模型一次可以比较一种单一语言的句子之间的相似性进行评估(请参见下表)。我们发现,未经STS专门训练的多语言模型在所有语言中的表现最差。这与先前的工作相符:

经典的transformer(例如BERT和RoBERTa)的输出不适合使用余弦距离进行语义比较。

仅使用英语数据进行训练的单语SBERT-nli-stsb 在计算西班牙语句子之间的相似性时,其效果远胜于随机性。这本身就是一个令人惊讶的发现!另一方面,对于阿拉伯语而言,性能会更差,这可能是由于阿拉伯语中存在的词汇标记不足所致。由于在训练此分词器时需要特定于语言的假设,因此SBERT使用单词级分词器,该分词器在多语言任务中不是最理想的。在多语言环境中,最好使用旨在解决这些缺点的句子分段分词。

通过本文提出的蒸馏过程可获得最佳性能。它尤其在阿拉伯语的基准上有所改进。

针对此处提出的基准,相关工作和模型进行的同语言STS评估。分数是100 x Spearman等级相关性。

跨语言STS评估

用于评估模型的第二个STS任务更具挑战性,因为它要求模型评估跨语言的句子对的相似性。从下表中可以明显看出,与上述相同语言的STS任务相比,大多数多语言模型表现明显较差。因此可以得出结论,多语言模型会在每种语言中创建有意义的表示形式,但是这些向量空间在不同语言之间并没有对齐。

  跨语言STS评估。分数是100 x Spearman等级相关性。

在基准算法中,LASER表现最好,提高了10分以上。但是,多语种知识抽取模型的表现明显优于后者,再次使整体得分提高了10分。LASER之所以无法在这里取得竞争性成绩的一个可能原因可能是其训练方式(生成翻译)的结果。此功能不一定要翻译(没有双关语)以比较语义,因为两个句子不必在语义上等效即可是精确的翻译。

双文本检索

该任务要求模型识别大量不同语言的语料库中的翻译句子,其中只有一小部分句子具有另一种语言的翻译对等词。根据定义,此任务不一定适合具有查找语义相似句子能力的模型。翻译的句子可能被分配了相似的向量,但相反的说法并不成立:仅仅因为两个句子的embedding相似,并不意味着它们是彼此的翻译。

这些挑战反映在所有多语言Transformer模型都难以解决的结果中。本文提出的知识抽取XLM-R明显优于mUSE和LASER。通过上面的讨论,这是我们应该期待的。

 BUCC Bitext挖掘任务获得F1分数。

训练数据集的特征和大小对不同语言的性能的影响

本文进行的最终实验研究了训练数据特征和大小对mSTS性能的影响。这是通过在由英语-阿拉伯语或英语-德语句子对组成的各种数据集上训练双语XLM-R来完成的。

用这种方法训练模型有一个明显的优势:一次只需要知道两种语言,与具有10种语言处理能力的多语言模型相比,结果显示改进了1-2个百分点。这种效果被称为多语言诅咒,它指出

如果模型的大小、容量保持不变,则将更多语言添加到模型中,训练数据会降低其性能。

对于数据集大小,EN-DE是否符合“更多数据=更好的性能”的预期趋势,而EN-AR却不一定。在这里,数据集的复杂性比大小具有更大的影响。在27k个句子对的数据集上训练的模型大大优于在800万个句子对上训练的模型!

结论

所以我们学到了什么呢?好吧,我们已经看到,知识抽取可以以更多方式使用,而不仅仅是将大型模型的知识压缩成较小的模型。我们还了解了用于将专门用于捕获句子语义的模型的属性转移到多语言模型的训练过程,该模型将其向量空间跨语言对齐。这使我们能够以出色的性能执行聚类和语义相关性测量,而不必担心语言!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200905A02PTQ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券