【SCIR AAAI2021】数据增强没效果?试试用Cluster-to-Cluster生成更多样化的新数据吧...

论文名称:C2C-GenDA: Cluster-to-Cluster Generation for Data Augmentation of Slot Filling

论文作者:侯宇泰、陈三元、车万翔、陈成、刘挺

原创作者:侯宇泰

论文链接:https://arxiv.org/abs/2012.07004

出处:哈工大SCIR

1. 简介

1.1 研究背景

对话语言理解(Spoken Language Understanding,SLU)[1]经常面临领域和需求的频繁切换,这常常会导致训练数据在数量和质量上的不足。

数据增强(Data Augmentation)是一种自动生成新数据扩充训练集的技术,能够有效地缓解上述数据不足的带来的挑战 [2,3]。

1.2 研究动机

如图1(上)所示,现有数据增强,如基于Seq2Seq 的句子复述(re-phrasing)方法 [4,5,6],经常无法避免地生成没有意义的重复数据。这很大程度要归咎于现有的one-by-one数据生成模式。

相较之下,如图1(下)所示,one-by-one数据生成弊病可以天然地通过多到多(cluster-to-cluster)生成方式得到缓解。

图1 示例:从已有句子生成新表述,现有one-by-one复述方法无法避免生成重复数据

1.3 我们的贡献

我们提出了一种全新的Cluster-to-Cluster生成范式来生成新数据,并基于此提出了一个全新的数据增强框架,称为C2C-GenDA。C2C-GenDA通过将现有句子重构为表达方式不同但语义相同的新句子,来扩大训练集。与过往的Data Augmentation(DA)方法逐句(One-by-one)构造新句子的做法不同,C2C-GenDA采用一种多到多(Cluster-to-Cluster)的全新的新语料生成方式。

具体的,C2C-GenDA联合地编码具有相同语义的多个现有句子,并同时解码出多个未见表达方式的新句子。

这样种的生成方式会直接带来如下好处:

(1)同时生成多个新话语可以让模型建模生成的新句子之间的关系,减少新句子间内部重复。

(2)联合地对多个现有句子进行编码让模型可以更广泛地看到已有的现有表达式,从而减少无意义的对已有数据的重复。

1.4 实验效果

当只有数百句训练语料时,C2C-GenDA数据增强方法在了两个公开的槽位提取(slot filling)数据集上分别带来了 7.99 (11.9%↑) and 5.76 (13.6%↑) F-scores 的提升。

2. 方法

2.1 Cluster2Cluster 生成模型

给定具有相同语义框架(semantic frame)的一组多个句子,即input cluster, 模型一次性生成多个新句子,即output cluster。这些输出与输入的语义框架相同,但是具有不同的表达方式。

图2 Cluster2Cluster 生成模型

如图2所示,Cluster2Cluster模型采用基于Transformer的Encoder和Decoder。具体的,我们用特殊分割Token拼接input cluster中的句子,作为模型输入。在解码时,模型用多个共享参数的decoder同步解码多个新句子。

我们采用了前人添加Rank Token作为解码起步的方法[5]来让模型区分不同的输出句子。

同时,为了进一步提升句子的多样性,我们提出Duplication-aware Attention和Diverse-Oriented Regularization来进一步强化模型,如图2所示:

(1)Duplication-aware Attention(DAA):通过Attention为模型提供两方面的信息,即Input Cluster中已有的表达方式,和其他正在解码的句子中的表达方法。根据这些信息,我们采用一种类似Coverage Attention的方式对重复的表达生成进行惩罚。

(2)Diverse-Oriented Regularization(DOR):我们提出DOR来从Loss层面引导模型生成多样的句子。具体的,我们用不同句子,解码词分布之间的KL-散度作为loss,来约束模型避免在不同的句子中的相同step解码出相同的词。

2.2 Cluster2Cluster 模型训练

仅有多到多的生成模型显然不足以生成新的数据。为了让Cluster2Cluster模型具有生成新表述的能力,我们提出了Dispersed Cluster Pairing算法来构造多到多的复写(Paraphrase)训练数据。

具体的,如图3 和图4所示,给定具有相同语义的一组数据,我们首先找到一组表述相近的句子作为Input Cluster,然后贪心地构造Output Cluster:每次添加一句和Input Cluster以及现有Output Cluster表述差异最大的句子到 Output Cluster。

这样的作法旨在模拟从少量说法有限的句子生成多样的未见表述的过程。

图3 构造多到多的Paraphrase训练数据

图4 多到多的Paraphrase训练数据构造算法

2.3 数据增强实现

我们将原有的训练数据分为两份,一份训练C2C-GenDA模型,一份用来做数据增强的输入。

最后我们用所有新生成的句子和原有的句子作为增强后的训练集。

3. 实验:

3.1 主实验结果

如表1所示,我们的方法能够大幅地提升Slot Filling模型效果(Baseline),并优于现有的数据增强方法。

表1 主实验结果

3.2 分析实验

如表2所示,在消融实验中,我们提出的各个模块都对最终的实验效果起到了作用。

表2 消融实验

表3展示不同生成模型的生成数据和Inter和Intra多样性,结果显示采用Cluster2Cluster的生成方法可以让新数据的多样性产生巨大的提升。

表3 多样性分析实验

表4展示了由Cluster2Cluster模型生成的一些样例,可以看到Cluster2Cluster模型可以从多个角度生成一些有趣的新表述方式。

表4 样例分析

4. 参考文献

[1] Young, S.; Gasiˇ c, M.; Thomson, B.; and Williams, J. D. ´ 2013. Pomdp-based statistical spoken dialog systems: A review. Proc. of the IEEE 101(5): 1160–1179.

[2] Kim, H.-Y.; Roh, Y.-H.; and Kim, Y.-G. 2019. Data Augmentation by Data Noising for Open-vocabulary Slots in Spoken Language Understanding. In Proc. of NAACL, 97– 102.

[3] Shin, Y.; Yoo, K. M.; and Lee, S.-G. 2019. Utterance Generation With Variational Auto-Encoder for Slot Filling in Spoken Language Understanding. IEEE Signal Processing Letters 26(3): 505–509.

[4] Yoo, K. M. 2020. Deep Generative Data Augmentation for Natural Language Processing. Ph.D. thesis, Seoul National University

[5] Hou, Y.; Liu, Y.; Che, W.; and Liu, T. 2018. Sequence-to-Sequence Data Augmentation for Dialogue Language Understanding. In Proc. of COLING, 1234–1245.

[6] Kurata, G.; Xiang, B.; and Zhou, B. 2016. Labeled Data Generation with Encoder-Decoder LSTM for Semantic Slot Filling. In Proc. of INTERSPEECH, 725–729.

本期责任编辑:张伟男

本期编辑:钟蔚弘

说个正事哈

由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面最上方深度学习自然语言处理”,进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

感谢支持,比心

投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

记得备注呦

推荐两个专辑给大家:

专辑 | 李宏毅人类语言处理2020笔记

专辑 | NLP论文解读

专辑 | 情感分析


整理不易,还望给个在看!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值