论文阅读——A Study of Cross-Lingual Ability and Language-specific Information in Multilingual BERT

https://arxiv.org/pdf/2004.09205.pdf

多语言BERT中跨语言能力和语言特定信息的研究(未开源)

 

Multilingual BERT (m-BERT Devlin et al., 2019) 在跨语言迁移任务中表现很好,优于静态非上下文词嵌入。比较相同数据的非上下文和上下文模型的跨语言性能,发现影响迁移性的关键因素是数据集和上下文窗口大小。观察多语 BERT 的语言特征信息,隐含表征可以决定多语言 BERT 的输出语言,实现无监督翻译。

M-BERT 预训练时使用没有跨语言或平行数据的104种语言的维基百科文本,是一个很好的跨语言模型,目前不清楚 m-BERT 是如何在没有平行资源和明确学习监督目标的情况下成功地建立跨语言能力的,但已证实 BERT 架构的深度和参数总数与跨语言能力相关 (Cao et al., 2020),训练时大量的数据和相对较长的上下文窗口是 m-BERT 特有的两个关键组成部分,但是文献中没有讨论过。已经证实的是,m-BERT 的跨语言能力与它成功对齐跨语言单词对有关,且 language-specific 信息仍然编码在 m-BERT 的表征中。通过将一个固定向量加入到所有潜在表征中,可以使另一种语言的 m-BERT 的输出在语义上接近于英语的输入。

论文贡献:

• 评估不同数据量和窗口大小对 m-BERT 跨语言能力的影响;

• 比较 m-BERT 与经过训练的非上下文单词嵌入的跨语言能力;

• 提出一种 m-BERT 提取特定语言表征的方法,使 m-BERT 能够解码另一种语言;

• 通过特定语言的表征,提高 m-BERT 在跨语言下游任务中的性能。

 

Cross-lingual Word Embedding 目的是学习两种或多种语言在共享向量空间中的嵌入:假设单语词嵌入在不同的语言中共享相似的结构,通过映射实现后对齐;联合训练,即在训练词嵌入时,在有无跨语言约束的情况下优化单语目标。这些方法最初用于非上下文表征,如 GloVe 和 Word2Vec,后被用于上下文表征,最近 m-BERT 的表征也被用于跨语言词嵌入。

m-BERT 的跨语言迁移能力来自于语义相似的词被编码成相似的潜在表征,考虑到 m-BERT 使用 MLM 预训练过,并且有一些几种语言共享的 subwords 可以作为锚,因此假设 m-BERT 利用共现信息对齐具有相似上下文或使用统计信息的单词对 (Pires et al., 2019b)。由于缺乏明确的线索,常常不能产生高质量的对齐,尤其是对非共享词的嵌入 (Wang et al., 2020),联合训练无监督和有监督的后对齐在传统的非上下文嵌入中十分有效,但对 m-BERT 的效果不好,这表明在没有监督的情况下,预训练就能独自产生很好的对齐效果,且 wordpiece tokenization 比 character-level 或 word-level 有助于提高跨语言能力。

 

评价跨语言表征主要有两种方法:word retrieval、down-stream task transfer,虽然单词检索最初是为了衡量词级跨语言对齐任务,更适于非上下文嵌入,但上下文单词检索可以用于上下文嵌入。

(1)单词检索

给定一个单词和一个具有源语言和目标语言的平行词对的双语词典 D = {(x1, y1), (x2, y2), ..., (xn, yn)},单词检索是考虑嵌入向量 {(u1, v1), (u2, v2), ..., (un, vn)} 提供的信息,对目标语言中相应的词进行检索的任务。特别地,考虑最近邻检索函数:

        \textup{neighbor}(i)=\underset{j}{\textup{arg max}}\: sim(u_i,v_j)

其中 ui 是源词 xi 的嵌入,要在所有候选 y1, y2, ..., yn 中找到对应的 yi,计算余弦相似度,然后用 mean reciprocal rank (MRR) 作为评价指标:

        \textup{mean reciprocal rank}=\frac{1}{n} \sum_{i}^{n}\frac{1}{rank(y_i)}

其中 rank(yi) 是基于检索结果的排序函数。对于上下文嵌入,只需对所有上下文中的嵌入进行平均,并使用均值向量来表示每个单词。

(2)下游任务迁移

将 XNLI 作为评估跨语言迁移的下游任务,保留原始训练集,但将验证和测试集人工翻译成其他14种语言,得到 English MultiNLI dataset。给出一个句子对,任务是预测句子对的3种类别关系:蕴涵、中立、或矛盾。由于只有英文的训练数据,模型应该在验证和测试集上进行 zero-shot 跨语言迁移。

 

实验

为了比较非上下文和上下文嵌入模型,使用 GloVe、Word2Vec 和 BERT进行实验,维数都为768。首先对嵌入进行预训练,然后使用单词检索和 XNLI 评估其跨语言能力。预训练使用的数据为15种语言的维基百科(英语、法语、西班牙语、德语、希腊语、保加利亚语、俄语、土耳其语、阿拉伯语、越南语、泰语、汉语、印地语、斯瓦希里语和乌尔都语),使用无监督联合训练所有单词嵌入,确保下游任务中每种目标语言都经过了良好的预训练。

对于单词检索任务,使用 MUSE 提供的双语词典评估英语和其余14种语言之间的跨语言对齐,对于 XNLI zero-shot transfer task,训练集为英语,测试集的目标语言与单词检索任务中使用的目标语言相同,使用 m-BERT 的词汇表对数据进行 tokenization。

Small Pretraining Data

当预训练数据量较小时(每种语言20万句),BERT 并没有表现出非凡的跨语言能力,如图1和2所示。例如,GloVe 和 Word2Vec 的 MRR 得分都要高于 BERT,尽管 BERT 在几种语言的 XNLI zero-shot transfer 的准确性更好,但优势很不明显,总体表现不优于前两者。

K et al. (2020) 的研究发现深度和网络参数总数是 BERT 跨语言能力的两个决定性因素,XNLI 上的实验也支持了这一结论。当注意头数和总参数数量固定时,降低模型深度,则跨语言能力下降;另一方面,当注意头数和深度固定时,减少网络参数的数量也会降低性能,这似乎说明模型的表达能力是决定其跨语言能力的关键因素。

然而,真的是越大越好吗?BERT 模型比 Glove 和 Word2Vec 大得多,但对于有限大小的数据预训练后,BERT 没有体现出特别优越的性能,这表明模型大小和跨语言能力可能不是单调相关的,预训练数据的大小也会起到一定的作用。

Big Pretraining Data

当预训练数据量较大时(每种语言1000k句),BERT 在每种 XX-En 语言对上都获得了比其他嵌入方法高得多的 MRR 分数,这表明它对不同语言语义相似的单词的对齐做得更好。XNLI的测试结果也与单词检索任务一致,BERT 的准确率高于 GloVe 和 Word2Vec,说明 BERT 具有较好的跨语言能力。预训练数据量的增加在很大程度上改善了 BERT 的跨语言对齐和可移植性,而 GloVe 和 BERT 则不一样。而 Google BERT 的 bounding performance,即谷歌释放的预训练参数,表明提供更多的预训练数据,仍有改进的空间。

Breaking Down Long Dependency

非上下文嵌入(GloVe、Word2Vec)的典型窗口大小通常为5 ~ 30,但是 BERT 可以处理数百个 token,这意味着 BERT 可以从更长的依赖关系和更丰富的共现统计信息中学习。作者使用更小的窗口进行实验,验证跨语言结构是否需要长期依赖。将预训练中的句子切片,例如将每个样本长度限制为20,结果如图5所示,预训练数据量大时,缩短的输入对 BERT 的跨语言能力造成了极大的伤害,单词检索任务的 MRR 得分降低。然而,预训练数据量小时,缩短的输入可以在几种语言上产生更好的跨语言对齐,表明当数据有限时,打破长依赖有助于 BERT 学习更好的跨语言对齐。图6说明当没有长时间的依赖项可以学习时,增加数据的好处就变得微不足道了。对XNLI的结果也表明,当预训练数据较多时,打破长期依赖更加有害。

基于以上实验,认为 BERT 的跨语言对齐或迁移能力不仅来自于局部共现关系,还来自于全局范围内的共现关系,需要更大的数据量和模型容量。

Language Information

首先使用15种语言之间的平均差来分析 m-BERT,然后证明 m-BERT 可以通过修改隐藏的表征来解码其他语言。

尽管 m-BERT 在对齐跨语言表征方面做得非常好,但是不同语言的表征仍然能够很容易地进行区分,例如,当遮蔽一个英文句子中的一个词时,在这个位置解码一个中文 token 的概率非常低,这与非上下文的词表征对齐有很大不同,后者使得不同的语言在嵌入空间中难以区分。因此认为 m-BERT 在嵌入空间中保留了一些隐含的特定于语言的信息,这些信息可以从语义嵌入中分离出来。

Language-specific Representation

假设有 n 种语言,对应的语料库为 {L1, L2, ..., Ln},每种语言在模型的每一层 l 中都有一个特定于语言的表征 R^l_{L_{i}}。定义以下表示方法:

• Context-Dependent Representation:给定一个输入序列 x 和 token 索引 i,层 l 中的隐藏表征为 \textbf{\textit{h}}^l_{x,i}

• Mean of Language (MoL):给定一个语言 L 及其包含 n 个输入 x1, x2, ..., xn 的语料库 C,l 层的特定语言表征为:

        R_L^l=\underset{x\in C, i\in I}{E}[\textbf{\textit{h}}^l_{x,i}]

表示语料库中所有上下文相关的表征的平均值。

• Mean Difference Shift (MDS):给定两种语言L1, L2,定义层 l 的平均差分位移为:

        D_{L_{1} \rightarrow L_{2}}^l=R_{L_2}^l-R_{L_1}^l

将语言的均值 MoL 作为特定于语言的特征,利用平均差分位移 MDS 来实现特征的跨语言转换。

 

Unsupervised Token Translation

使用 MDS 令 m-BERT 对输入语言 L1 的目标语言 L2 进行解码,例如将一个英语句子输入 m-BERT,在层 l 提取每个 token 的隐藏表征,然后添加加权项 D_{L_{1} \rightarrow L_{2}}^l,修改后的隐藏表征为:

        \hat{\textbf{\textit{h}}}^{l}_{x_i}=\textbf{\textit{h}}^{l}_{x_i}+\alpha D^{l}_{L_1\rightarrow L_2}

 

α 为超参数。使用修改后的隐藏表征前向传播,并通过计算 MLM 概率来预测 token(虽然没有在输入序列上对任何 token 进行 mask)。令人惊讶的是,我们可以通过这种方式获得另一种语言中的预测标记,其中大多数是输入英语单词的标记级翻译。随着 α 从0增大,模型解码了更多目标语言的 token,不解码不属于 L1 和 L2 的 tokens;当 α 为负时,模型总是解码 L1 的 tokens。表1为示例输出。

Evaluation

虽然可以令模型对目标语言进行解码,但是翻译的质量是无法接受的,不测量翻译质量,而是计算有多少 token 可以从源语言转换成目标语言,使用 BLEU-1 和 convert rate CR 转换率作为评估指标,CR 定义如下:

其中 y 是模型的输出 tokens,Vs、Vt 是源语言和目标语言的 token set,两个词汇表中的共同 tokens 没有考虑在内,因此不在分子和分母项中。使用 XNLI 测试集中的 ground truth 参考译文和每个句子的转化率来计算BLEU-1分数,结果最好的设置是 layer = 11, α = 3,每种语言的最佳得分、权重和 α 见表2。

虽然翻译结果不如任何应用去噪预训练的无监督翻译方法(Kim et al ., 2018),但可以使用 MDS 的特定于语言的信息,迫使 m-BERT 切换到另一种语言。转换率表明,大多数 token 都可以转换成另一种语言。BLEU-1 的分数表明,许多转换后的 tokens 都是其不考虑流畅性的、翻译后的单词。

图7和8为一个 en->el 例子,显示转换率和 BLEU-1 分数在不同层随着不同的权重 α 的变化,可以看到,权重增加对转化率的影响是单调增加;在最后几层(10或11)当 α 设为3.0时,大多数语言的 BLEU-1 明显上升,这表明最后几层可能更有利于理清特定于语言的表征,这与文献中的观察结果一致,即最后几层包含用于预测遮蔽词的更多特定于语言的信息(Pires et al., 2019a)。

Cross-lingual Transfer

在以前的工作中(Pires et al., 2019b; Conneau and Lample, 2019),人们试图通过在英语数据集上进行训练,然后在其他语言数据集上进行测试,在 zero-shot 设置下解决 XNLI 等跨语言翻译任务。然而如作者的工作所示,表征具有特定的语言信息,因此训练语言和测试语言仍然存在不匹配的表示,使用 MDS 消除这种差异。对于 XNLI 任务,使用英文数据集微调 m-BERT 模型,同时对其前六层进行了修正,这是因为微调后六层的翻译结果比微调整个 BERT 模型稍好一些。在测试集上,使用一种新语言的数据集为调优的模型提供数据,并将 MDS 添加到模型第6层的表征中,然后前向传播进行预测。应用 MDS 时,考虑语言的敏感性可能有所不同,不同语言使用不同的权重 α。对于 XNLI 的验证集和测试集,最好的权重 α 见表4。

除了西班牙语 es 和法语 fr 之外,对大多数语言的测试集稍有改进。结果表明,在 XNLI 数据集上简单地使用 MDS 可以在一定程度上消除特定于语言的信息,修改后的表征可以保留更多的语义信息,而不是与特定于语言的信息混合在一起。至于西班牙语 es 和法语 fr,MDS 没有带来任何提升,推测可能是由于英语中有较高的子单词重叠,无论在英语还是目标语言中,一些共享的子单词有相同的含义,而另一些则没有,由于 MDS 使用一个均值向量来表示特定于语言的表征,而不考虑词汇表之间的差异,因此简单地将 MDS 应用于这些语言的所有词汇表可能会损害性能。应该对不同的语言采取不同的转换方式,作者把这个研究课题留给今后的工作。

 

结论

本文比较了非上下文词嵌入与 m-BERT,发现 m-BERT 的跨语言能力是从更长的依赖(数百个tokens)而不是本地的共现信息中习得的,因此需要大量的数据。可以通过 shift m-BERT 的嵌入来更好地实现语言间的对齐,这在无监督翻译和跨语言迁移学习性能的改进中得到了证明。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值