公众号关注 “ML_NLP
设为 “星标”,重磅干货,第一时间送达!
机器学习算法与自然语言处理出品
@公众号原创专栏作者 paiisall
学校 | 哈工大SCIR实验室在读博士生
背景
跨语言学习(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上。
https://arxiv.org/pdf/2006.06402.pdf

基础模型mBERT

mBERT全称Multilingual BERT,与BERT架构一致,采用12层Transformer,区别在于mBERT使用104种语言的维基百科数据进行训练,104种语言拥有共同的word piece词表。由于输入的单句仍为单语言语境,没有多语言信息。因此mBERT依赖于共有的word piece进行不同语言的表示对齐。在利用mBERT完成下游任务时,首先需要在任务特定数据上微调mBERT。对于给定源语言句子 
 ,构造模型输入 
 ,其中 
 用于表示整个句子, 
 用于分割不连贯的句子。经过mBERT模型之后,得到表示 
 。对于分类任务,利用 
 对应位置表示 
 ,送入分类层进行分类: 
 。最终微调任务特定参数 
 以及所有mBERT参数来完成目标任务。本文关注zero-shot设定,即只利用源语言任务数据微调模型,然后直接在目标语言数据上进行测试。(目标语言无任务特定标注)

CoSDA-ML

作者提出的方法称为CoSDA-MLCode-Switching Data Augmentation Multi-Lingual)核心分为两步,如图2:
  1. 利用数据增强算法构建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与吃的表示。

任务、数据集、语言、基线模型

任务名数据集语言数量评价方式基线模型
自然语言推理XNLI15Classification Accuracy (ACC)Artetxe and Schwenk [ 2018 ]
情感分析OpeNER English and Spanish datasets MultiBooked Catalan and Basque datasets4macro F1.BLSE [ Barnes et al., 2018 ]
文档分类MLDoc8Classification Accuracy (ACC)Schwenk and Li [ 2018 ]Artetxe and Schwenk [ 2018 ]
对话状态追踪Multilingual WOZ 2.0 dataset2Turn level request tracking accuracy Joint goal tracking accuracySlot tracking accuracy for evaluationXL-NBT [ Chen et al., 2018 ]AttentionInformed Mixed Training: Liu et al. [ 2019b ]
口语理解cross-lingual spoken language understanding dataset3Intent detection is evaluated by the classification accuracy (ACC) slot filling is evaluated by F1 scoreMulti. 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模型。一次微调,多次部署。只需在微调阶段利用该方法就可以获得巨大收益,无疑是金钱友好的 。
下载1:四件套
在机器学习算法与自然语言处理公众号后台回复“四件套”
即可获取学习TensorFlow,Pytorch,机器学习,深度学习四件套!
下载2:仓库地址共享
在机器学习算法与自然语言处理公众号后台回复“代码”
即可获取195篇NAACL+295篇ACL2019有代码开源的论文。开源地址如下:https://github.com/yizhen20133868/NLP-Conferences-Code
重磅!机器学习算法与自然语言处理交流群已正式成立
群内有大量资源,欢迎大家进群学习!
额外赠送福利资源!邱锡鹏深度学习与神经网络,pytorch官方中文教程,利用Python进行数据分析,机器学习学习笔记,pandas官方文档中文版,effective java(中文版)等20项福利资源
获取方式:进入群后点开群公告即可领取下载链接
注意:请大家添加时修改备注为 [学校/公司 + 姓名 + 方向]
例如 —— 哈工大+张三+对话系统。
号主,微商请自觉绕道。谢谢!
继续阅读
阅读原文