《Multilingual Code-Switching for Zero-Shot Cross-LingualIntent Prediction and Slot Filling》论文研读

原文出处:英文全文

由于文章的篇幅较长,本文主要翻译了摘要 引言以及结论部分,方法以及结果部分捡重点进行翻译研读,有不恰当之处,敬请指导和交流!

另外,文中背景标黄的地方是,因为文中也没有明确地介绍,是小编根据文中方法和个人理解描述的,还请各位大佬指正。

目录

摘要

引言

2 研究方法

2.1多语言语码转换的伪代码(算法)

2.3 语系(Language Families)

2.4 联合训练

3 数据集

4 实验设置

5 结果与讨论

5.1 多语言语码转换的效果

5.2 灾难数据集上的评估

5.3 语系的影响

5.4 控制实验的k值


摘要

【背景】预测用户意图和从文本中检测相应的槽位是自然语言理解的两个关键问题。

【现状】由于带注释的数据集只适用于少数几种语言,所以我们的工作特别关注于零样本(zero-shot)的场景,即在目标语言不参与到训练过程。在零样本学习的背景下,这项任务通常使用预训练的多语言模型(如mBERT)的表示,或者在自动翻译成的目标数据上对mBERT进行微调。

【方法】本文提出了一种新的方法,该方法通过随机翻译的多语言码切换增强单语言源数据,以增强大型多语言模型在为下游任务进行微调时的通用性。

【结果】1、MultiA TIS++基准上的实验表明,在8种类型多样的语言中,本文的方法在意图任务上的准确率平均提高了+4.2%,在槽位填充任务上的准确率平均提高了+1.8%。2、本文还研究了语码转换(code-switching)对不同语族的下游任务性能的影响。此外,3、本文展示了利用本文方法在危机信息(crisis informatics)上面的应用,在本次应用中使用的是海地地震期间收集的英语和海地克里奥尔语,这是一个新的人为注释的推文数据集。

引言

【研究背景】跨语言迁移通常被描述为使用一种源语言(如英语)训练的模型很好地推广到另一种目标语言(如日语)。基于半监督的解决方案是假设有一些目标语言数据或被翻译的语言是可用的,零样本解决方案是假设在训练的时候没有目标语言可以使用。对于处理现实世界的问题,如新的灾难中提取相关信息,监测仇恨言论等,这些问题中目标语言可能是很少甚至没有,因此需要训练一个具有很好泛话能力的模型,使其能够在没有见过目标语言的基础上也能够解决上述问题

【研究现状】意图预测和槽位填充是两个通常被共同解决的NLU任务,在共同训练中学习对意图(句子级)和槽位(词级)标签建模。这类模型目前被广泛用于目标导向的对话系统,如亚马逊的Alexa、苹果的Siri、谷歌Assistant和微软的Cortana。找到用户查询背后的“意图”,识别句子中参与对话的相关“位置”,对于有效的对话辅助至关重要。例如,因为槽位标签是“年份”和“艺术家”,所以用户可能想要“播放音乐”。因为插槽标签是“机场”和“地点”,因此他们可能想要“预订航班”。两个任务之间的强相关性使得联合训练的模型很成功成功。在跨语言设置中,模型应该能够在一种语言上联合学习并将学习到的只是转移到另一种语言上,这是本文工作开展得前提。

【研究现状】近年来,transformer-based的高效多语言模型,如mBERT和XLM-R已经在多个多语言任务中取得了成功。在目标语言未知的零样本跨语言迁移的设置中,典型的解决方案是使用预先训练的transformer模型,并且使用单语言源数据微调下游任务。然而,Pires等人通过研究发现,(目前研究存在的问题)已存在的transformer-based表征方法对于某一些语言来说可能具有系统的缺陷

 如图1所示是对利用mBERT(12个注意力头)对MutiATIS++的平行语料进行embedding的结果,可以看出语言之间并没有形成信息共享,相反每种语言形成明显可区分的集群。因此本文工作的任务之一就是:增强语言中立性,使得优化后的模型可用于下游任务的跨语言泛化。为了实现这一目标,我们引入了一种多语言码转换的数据增强方法,将原英语句子转换为随机选择的语言。例如,如图2所示是使用块级别的语码转换创建的带有多种语言短语的句子。

【本文工作/贡献】

  • 提出了一种通过多语言语码切换的数据增强方法,以增强transformer-based的语言模型(如mBERT)的语言中立性,以微调到意图预测和槽填充的下游NLU任务。
  • 通过研究不同的语系,本文展示了如何使用语码转换来帮助低资源语言的零样本跨语言学习。
  • 本文发布了一个新的人工注释的推特数据集,这部分数据收集于海地地震灾害期间,主要用于英语和海地克里奥尔语的意向预测和槽位填充。

2 研究方法

给定一个源语言(S)和一组目标语言(T),在本章方法中,只使用源语言中的数据进行分类器的训练,使用目标语言进行示例的预测。在训练(微调)过程中,本文假设目标语言是未知的,因此直接翻译目标语是不可实现的。在这种情况下,我们使用语码转换(cs)来扩充单语源数据。

2.1多语言语码转换的伪代码(算法)

 在上述算法中,X_{ut}^{en}表示英语en(也可以叫做源语句)的输入,y^{en}表示en语句对应的意图分类,y_{sl}^{en}表示en语句中单词对应的槽位标签,l_{T}表示目标语言的集合。同理,X_{ut}^{cs}表示语码转换后的语句,y^{cs}表示语码转换后语句对应的意图分类,y_{sl}^{cs}表示语码转换后语句对应的槽位标签。l_{set}表示去除目标语言的其他语言集合。G^{cs}表示通过语码转换生成的语句,L^{cs}表示与语码转换生成的语句对应的槽位标签。

复杂度:O(k\times n\times T)其中k表示每个源语句被翻译的次数,n表示原始语言数据集的大小,T表示每个句子要进行翻译操作的次数。

2.3 语系(Language Families)

语系的定义在这里小编就不再翻译了哈,略。下面是本文的语系表:

语系和相应的语言如表1所示。每个组都是基于数据集中的目标语言选择的,亚非语系是一个额外新添加的组。在实验中,算法1中的l_{set}将被分配一个特定族的语言。

2.4 联合训练

 联合模型的loss可以被定义为意图识别的loss L_{i}与槽位loss L_{sl}的组合,其中\alpha\beta分别代表任务的权重,这里联合训练可以表示为:

一个标准的Joint模型由最终隐藏状态(用于意图的分类(CLS)的token和用于槽位的m个word token)的BERT输出组成,这些输出被送入线性层以获得意图和槽的预测。

假设h_{cls}表示CLS token,h_{m}表示剩余word token中的token,BERT模型输出定义为:

3 数据集

本文使用的基准数据集为MultiA TIS++,此外,本文构建了一个新的意图和槽填充数据集,收集了自然灾害期间的英语(en)和海地克里奥尔语(ht) 两种推文,并且通过人工或机器的方法对数据进行了标注。意图类包括:' request '和' others '。槽填充由5个标签组成:“medical_help”,“food”,“water”,“shelter”和“other_aid”。

4 实验设置

本文使用传统的跨语言任务设置,每个实验由源语言和目标语言组成。在源数据(英语)上训练模型,并在目标数据(其他8种语言)上评估模型。在语码转换实验中,英语数据集在训练前增加了多语言语码转换(CS)。以下是其他基础设置

实验环境PyTorch
使用的预训练模型bert-base-multilingual- uncased with BertF orSequenceClassification
Maximum epochs25, early stopping patience=5
batch size32
optimizerAdam
learning rate5e-5

Baseline:在CS实验中,零样本学习的baselines选择English-Only模式,即只对英语数据(或基于英语CS之后的数据)进行训练,随后在目标语言上进行预测。

Upper Bound:使用Translate-Train(TT),将英语训练集翻译成目标语言进行训练,然后在目标语言的测试集上进行测试。这种情况下的效果肯定是比一般模型更有效,因此设置为Upper Bound。

5 结果与讨论

5.1 多语言语码转换的效果

 在上述表格中m表示要训练的不同模型的数量,接下来,小编总结一下上述各个模型的训练方法,如下:

策略名称训练数据集是否联合训练训练模型
English-Only Baseline*英语数据集modified BERT-based
Joint_{en-only} Baseline*英语数据集modified BERT-based
Word-level CS将英语数据集进行单词级别的CS操作得到的数据集BERT-based
Sentence-level CS将英语数据集进行句子级别的CS操作得到的数据集BERT-based
Chunk-level CS (CCS)将英语数据集进行块级别的CS操作得到的数据集BERT-based
Joint_{en-only} *+CCS将英语数据集进行块级别的CS操作得到的数据集modified BERT-based
Translate-Train (TT)*将英语数据集翻译成某种目标语言,形成训练数据集modified BERT-based
Joint_{TT} *将英语数据集翻译成某种目标语言,形成训练数据集modified BERT-based
Joint_{TT} *+CCS由于文中只用一句话概述,小编的理解可能是:首先将英语数据集翻译成某种目标语言,随后在这种目标语言上进行CCS得到训练数据集。modified BERT-based
  • 从显著性检验结果来看,语码转换可以帮其目标语言语言进行意图识别,除了西班牙语和德语;
  • 对于意图填充方面,语码转化对葡萄牙语和法语的效果不太明显;
  • 这表明,语码转换主要帮助那些在形态上与源语言(英语)更不同的语言。
  • 语码转换的操作是耗费时间的,在论文的附录5中有展示,将一个句子的语码转换次数(k)从5次增加到50次,性能提高了+1%,同时运行时间大大增加。因此,在为实际应用程序选择k时,应该考虑性能和时间的权衡。
  • CS不会影响upper bound的性能
  • 对于意图和槽的性能,CCS在不同语言中都保持了健壮性。

5.2 灾难数据集上的评估

  • 从结果可以看出灾害数据在NLU迁移学习中比TIS数据更具挑战性。

5.3 语系的影响

注:这个实验里,在进行语码转换时的语言集合l_{set}=某一语系的所有语言-目标语言。

  • 语系有益于他们对应的语言
  • 但是存在一些列外,对于中文和日文来说,突厥语系的语言比其他语言更有帮助。相反,汉藏语系、日语系、韩语系比其他印欧语系对印地语的帮助更大。
  • 未来的跨语言迁移学习的研究中,对于低资源语言的下游任务,可以预先确定最佳的辅助语系。

5.4 控制实验的k值

  •  要控制语码转换的次数k,以保持训练模型的性能与训练时间之间的平衡。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值