文本数据增强方法

  当前的有监督的深度学习模型,如果想获得高性能,需要依赖于大量的标注训练数据。然后,在实际上项目中,往往存在训练样本少、标注数据成本高等情况。在这种情况下,我们就需要用到文本数据增强技术。

1 回译法(Back Translation)

  回译法即将原有的句子翻译为其他语言,然后再翻译回原语言。

原句:每周三在解决会议室进行Smart Calendar周会。

输出

百度翻译:每周三在解决方案会议室举行每周智能日历会议。

有道翻译:智能日历每周例会每周三在会议室举行。

  回译的方法往往能够增加文本数据的多样性,相比替换词来说,有时可以改变句法结构等,并保留语义信息。但是,回译的方法产生的数据依赖于翻译的质量,大多数出现的翻译结果可能并不那么准确。

2 EDA(Easy Data Augmentation)

  EDA 包含四种简单但是强大的操作:同义词替换、随机插入、随机交换和随机删除。

(1)同义词替换(Synonym Replacement,SR)

  从句子中随机选择 n n n 个非停用词,然后每个词随机选择一个同义词替换它们。举例如下:

原句每周三在会议室进行项目汇报周会。

输出每周五在会议室进行项目汇报周会。


(2)随机插入(Random Insertion,RI)

  从句子中随机选择一个非停用词,然后随机选择该词的一个同义词。将该同义词插入到句子中的随机位置。此过程重复 n n n 次。举例如下:

原句:每周三在会议室进行项目汇报周会。

输出:每周三在会议室每周四进行项目汇报周会。


(3)随机交换(Random Swap,RS)

  从句子中随机选择两个词,交换位置。此过程重复 n n n 次。举例如下:

原句:每周三在会议室进行项目汇报周会。

输出:每周三在项目进行会议室汇报周会。


(4)随机删除(Random Deletion,RD)

  句子中的每个词,以概率 p p p 进行随机删除。举例如下:

原句:每周三在会议室进行项目汇报周会。

输出:每周三在进行项目汇报周会。


  值得一提的是,长句子相对于短句子,存在一个特性:长句比短句有更多的词,因此在保持原有的类别标签的情况下,长句能吸收更多的噪声。为了利用这个特性,EDA 的作者提出一个方法:基于句子长度来调整需要改变的词数。具体实现:

  • 对同义词替换、随机插入和随机交换,遵循公式: n = α ∗ l n = \alpha * l n=αl,其中, l l l 表示句子长度, α \alpha α 表示一个句子中需要改变的词数的比例。
  • 对随机删除,遵循公式: p = α p = \alpha p=α
  • 另外,每个原始句子,生成 n a u g n_{aug} naug 个增强的句子。

  根据 EDA 作者的测试,EDA 在小的训练数据集上有更好的性能效果。

  针对上面的参数 α \alpha α n a u g n_{aug} naug 的取值,EDA 作者推荐的使用参数如表-1所示。

表-1 推荐使用参数
N t r a i n N_{train} Ntrain α \alpha α n a u g n_{aug} naug
5000.0516
20000.058
50000.14
More0.14

  注意:因为 EDA 在进行数据增强操作的过程中,有可能会改变句子原来的意思,但是仍然保留原始的类别标签,从而产生了标签错误的句子。所以 EDA 存在降低模型性能的可能。

参考:

[1] 论文:EDA: Easy Data Augmentation Techniques for Boosting Performance on Text Classification Tasks
[2] EDA 论文作者提供的 GitHub 地址
[3] EDA 中文版本的 GitHub 地址
[4] 微信公众号“AINLP”——数据增强在贝壳找房文本分类中的应用

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值