背景
跨语言学习(Cross-Lingual)是自然语言处理领域研究的热点,其可以借助从资源丰富(high resource)语言中学习到的知识,帮助稀缺资源(low resource)语言更好的完成相关任务,为不同语言之间的知识迁移提供了桥梁与枢纽。刚刚结束的EMNLP2020也着重强调不允许以研究非英语语言作为拒稿理由(“Invalid bases for rejecting a Paper: The Paper’s work is on a language other than English. We care about NLP for any language),表明了资源稀缺语言研究的重要性。随着预训练模型(Pre-trained Language Model, PLMs)席卷整个自然语言处理领域,跨语言学习也借助PLMs的东风,得到了快速的发展,诸如mBERT,XLM等跨语言预训练模型不断涌现,极大的提升了低资源语言的任务性能。然而,上述mBERT在取得卓越进展的同时,也存在一定缺陷:尽管mBERT模型被称之为多语言BERT,但是其在训练时,每次输入依旧为单语数据,即对于单个句子来说仍是单语言语境,如图1所示。除了借助共同的词语(实际为subword)来对齐多种语言表示之外,没有其他显式的多语言对齐信号,这一缺陷严重阻碍了mBERT模型的性能。
图1:mBERT训练示意图。输入不同语言的句子,但输入单条句子为单语言语境。介绍
Libo Qin,Minheng Ni,,Yue Zhang,Wanxiang Che等人针对上述问题,提出了一种简单有效的多语言数据增强方式(CoSDA-ML),针对任务特定数据,构建多种语言之间的显式对齐关系,用于微调mBERT模型。值得注意的是,该方法只需进行一次微调,即可完成多种语言的任务,无需针对每一种语言进行特殊设计。该方法在Zero-shot(源语言拥有标注数据,目标语言无标注数据)的设定下,在涉及19种语言的的5个经典任务(自然语言推理、情感分析、文档分类、口语理解、对话状态追踪)上取得了显著提升。相关工作发表在IJCAI20上。
CoSDA-ML: Multi-Lingual Code-Switching Data Augmentation for Zero-Shot Cross-Lingual NLP arxiv.org基础模型mBERT
mBERT全称Multilingual BERT,与BERT架构一致,采用12层Transformer,区别在于mBERT使用104种语言的维基百科数据进行训练,104种语言拥有共同的word piece词表。由于输入的单句仍为单语言语境,没有多语言信息。因此mBERT依赖于共有的word piece进行不同语言的表示对齐。在利用mBERT完成下游任务时,首先需要在任务特定数据上微调mBERT。对于给定源语言句子 ,构造模型输入 ,其中 用于表示整个句子, 用于分割不连贯的句子。经过mBERT模型之后,得到表示 。对于分类任务,利用 对应位置表示 ,送入分类层进行分类: 。最终微调任务特定参数 以及所有mBERT参数来完成目标任务。本文关注zero-shot设定,即只利用源语言任务数据微调模型,然后直接在目标语言数据上进行测试。(目标语言无任务特定标注)
CoSDA-ML
作者提出的方法称为CoSDA-ML(Code-Switching Data Augmentation Multi-Lingual),核心分为两步,如图2:
- 利用数据增强算法构建code-switch数据,微调mBERT模型。
- , # 代表输入原始任务数据(一般为英文数据), 代表code-switch数据生成器, 代表生成的code-switch数据。
- , # 代表利用code-switch数据微调之后的mBERT模型, 模型将直接被用于目标语言的任务测试。
2. 在Zero-shot的设定下,利用 对目标任务进行测试。
图2:CoSDA-ML方法示意图。(a)生成code-switch数据,并利用增强得到的code-switch数据微调mBERT模型;(b)zero-test测试。数据增强算法
图3:数据增强示意图。(a)原始batch训练数据,图中batch为3;(b)句子选择;(c)词语选择;(d)替换选择。- 句子选择
- 给定一个batch的数据,随机选择其中的几条数据进行后续数据增强。如图3(b),输入原始数据,选择第一句和第三局作为后续数据增强对象,保持第二句不变。
- 词语选择
- 对于被选择的句子(第一句和第三句),随机选择将要被替换的词语。如图3(c),第一句中very和第三句中What被选中。
- 替换选择
- 对于上一步选择的词语,根据双语词典,随机选择一种目标语言进行替换,如图3(d)。值得注意的是,同一词语在词典中可能有多种不同翻译,作者随机选择其中的一种进行替换。(在后续的工作中,面对多种翻译的替换策略也可以进行相关探索,利用注意力机制?级联替换a->b,b->c?)
另一点值得注意的是,上述过程均采用动态数据增强的方式,即在每个batch中动态的决定被替换的句子、词语以及目标语言。作者在后续的实验中验证了相对于静态(static)替换,动态(dynamic)替换更具有优势。
为什么进行code-switch数据增强方式可以提升目标语言任务性能呢?作者认为:在拥有相同分类标签的前提下,该方法可以有效拉近不用语言之间的表示,使得多种语言在统一空间进行对齐。如图4所示:将eat替换为吃,在拥有相同标签的前提下,eat与吃将会在多语言表示空间被对齐。
图4:方法直觉解释图。替换eat为吃,在拥有相同标签的前提下,模型将会有相同的损失,因此会在统一空间对齐eat与吃的表示。任务、数据集、语言、基线模型
任务名 | 数据集 | 语言数量 | 评价方式 | 基线模型 |
自然语言推理 | XNLI | 15 | Classification Accuracy (ACC) | Artetxe and Schwenk [ 2018 ] |
情感分析 | OpeNER English and Spanish datasets MultiBooked Catalan and Basque datasets | 4 | macro F1. | BLSE [ Barnes et al., 2018 ] |
文档分类 | MLDoc | 8 | Classification Accuracy (ACC) | Schwenk and Li [ 2018 ]Artetxe and Schwenk [ 2018 ] |
对话状态追踪 | Multilingual WOZ 2.0 dataset | 2 | Turn level request tracking accuracy Joint goal tracking accuracySlot tracking accuracy for evaluation | XL-NBT [ Chen et al., 2018 ]AttentionInformed Mixed Training: Liu et al. [ 2019b ] |
口语理解 | cross-lingual spoken language understanding dataset | 3 | Intent detection is evaluated by the classification accuracy (ACC) slot filling is evaluated by F1 score | Multi. CoVe: [ Schuster et al., 2019a ]AttentionInformed Mixed Training: Liu et al. [ 2019b ] |
基线模型XLM
Facebook提出了基于多种语言预训练的模型 XLM,首先从单语语料库中 采样一些句子,对于资源稀少的语言可以增加数量,对于资源丰富的语言可以减少数量,将所有语言使用统一BPE进行表示。使用三种语言模型目标来完成学习。前两个是基于单语语料库的,最后一个是基于双语对齐数据的。第一种是Causal Language Modeling (CLM),根据之前的词语预测下一个词语。第二个是Masked Language Modeling (MLM),和BERT类似,但是使用一个词语流,而非句子对。第三种是 Translation Language Modeling (TLM),可以随机 mask 掉其中一些两种语言中的一些词语,然后进行预测。其模型如图5。
图5:XLM模型图。实验结果
图6:实验结果图从五个任务的实验结果可以看出,作者提出的方法在涉及19个语言的5种任务上取得了显著提升。
分析实验
(1)鲁棒性
图7:鲁棒性分析结果图。为了验证提出的方法是否鲁棒,作者固定句子替换比例为1,针对不同的词语替换比例进行实验。实验发现,当词语替换比例大于0.7时,论文提出的方法可以稳定的取得最好的效果。
(2)训练数据量
图8:训练数据对于结果影响示意图。作者通过实验发现,仅仅使用1/10的训练数据,就可以到达目前最优模型的效果。充分说明了该方法在面对稀缺资源语言时的有效性。
(3)动态VS静态
图9:动态数据增强与静态数据增强结果对比。为了进行静态数据增强,作者采用离线操作,预先得到code-switch数据,在后续不再变动。结果显示,动态数据增强方式更加有效。
(4)可视化
图10:句子空间t-SNE可视化。(a)mBERT;(b)CoSDA-ML为了验证论文提出方法是否可以拉进语言表示,作者选取了三种语言的100句进行表示(CLS位置)。从图10可以看出,mBERT得到的句子空间重合度小,但是经过CoSDA-ML方法之后的句子表示重合度高,说明通过CoSDA-ML方法可以有力的拉近不同语言之间的表示。
(5)基于Bi-LSTM的结果
图11:基于Bi-LSTM的结果为了研究论文提出方法的泛化性,作者基于Bi-LSTM进行了实验。结果显示,在Bi-LSTM的结构上,模型依旧可以取得显著提升。
结论
作者提出了一种简单有效的CoSDA-ML方法来构建code-switch数据微调mBERT模型。一次微调,多次部署。只需在微调阶段利用该方法就可以获得巨大收益,无疑是金钱友好的 。
来源:oschina
链接:https://my.oschina.net/u/4266968/blog/4663017