查看原文
其他

EMNLP2021之AEDA:一种更简单的文本分类数据增强技术

刘聪NLP NLP工作站 2023-11-28

前两天刷arXiv时,刷到了一篇蛮有意思的论文,今天跟大家分享一下。论文来自EMNLP2021,论文全称为AEDA:AnEasier Data Augmentation Technique for Text Classification,即一种更简单的文本分类数据增强技术

论文地址:https://arxiv.org/pdf/2108.13230.pdf

代码地址:https://github.com/akkarimi/aeda_nlp

整理不易,请多多关注、转发、点赞。也请多多关注本人知乎「刘聪NLP」,有问题的朋友也欢迎加我微信私聊。
我们的口号是“生命不止,学习不停”。

在人工智能领域,为了使模型具有更好地泛化能力,一般需要更多更全面的训练数据集;而往往真实情况,在工业界获取大量标注数据是不现实的;这时,数据增强技术就尤为关键。

2019年的EDA(Easy Data Augmentation Techniques for Boosting Performance on TextClassification Tasks)论文发表于ICLR 2019,提出了四种简单的数据增强操作,包括:同义词替换(通过同义词表将句子中的词语进行同义词替换)、随机交换(随机交换句子的两个词语,改变语序)、随机插入(在原始句子中随机插入,句子中某一个词的同义词)和随机删除(随机删除句子中的词语)。

目前,也有一些其他的数据增强方法,例如:同义词替换不使用词表,而是使用词向量或者预训练语言模型;通过在在文本中插入一些符合或者词语,来增加噪声;将句子通过翻译器翻译成另外一种语言再翻译回来的回译手段等。

AEDA Augmentation


该论文所提出的AEDA方法,主要是在原始文本中随机插入一些标点符号,属于增加噪声的一种,主要与EDA论文对标,突出“简单”二字。注意:该方法仅适用于文本分类任务

Q:插入多少标点符号

A:从1到三分之一句子长度中,随机选择一个数,作为插入标点符号的个数。

Q:为什么是1到三分之一句长?

A:作者表示,即想每个句子中有标点符号插入,增加句子的复杂性;又不想加入太多标点符号,过于干扰句子的语义信息,并且太多噪声对模型可能有负面影响。

Q:句子插入标点符号的位置如何选取?

A:随机插入。

Q:标点符号共包含哪些?

A:主要有6种,“.”、“;”、“?”、“:”、“!”、“,”。

Q:AEDA比EDA效果好的理论基础是什么?

A:作者认为,EDA方法,如论是同义词替换,还是随机替换、随机插入、随机删除,都改变了原始文本的序列信息;而AEDA方法,只是插入标点符号,对于原始数据的序列信息修改不明显。个人理解,通过词语修改的方法,与原始语义改变可以更加负面;而仅插入一些标点符号,虽然增加了噪声,但是原始文本的语序并没有改变

代码如下:

PUNCTUATIONS = ['.', ',', '!', '?', ';', ':']PUNC_RATIO = 0.3

def insert_punctuation_marks(sentence, punc_ratio=PUNC_RATIO): words = sentence.split(' ') new_line = [] q = random.randint(1, int(punc_ratio * len(words) + 1)) qs = random.sample(range(0, len(words)), q)
for j, word in enumerate(words): if j in qs: new_line.append(PUNCTUATIONS[random.randint(0, len(PUNCTUATIONS)-1)]) new_line.append(word) else: new_line.append(word) new_line = ' '.join(new_line) return new_line

Experimental Setup


1、AEDA方法与EDA方法在不同数据比例上,RNN模型和CNN模型的效果比较。

从下表可以看出,在RNN模型和CNN模型上,AEDA方法均好于EDA方法和原始训练方法。并且EDA方法,在数据集比较小时,效果有所提升;数据集增大后,效果有所下降。而AEDA方法,如论数据集大小,效果均匀提升,不过数据集越小,提升的越明显。

下图为,AEDA方法与EDA方法在不同数据集上的效果分布图,更加验证了上述观点。

2、数据增强比例的影响。

如下图所示,当数据集较小时,数据增强倍数越大,效果提升的越明显;但是当数据量较大时,数据增强倍数越大,效果提升将会下降。


3、在深度模型(BERT)中,该方法依然有效。

如下表所示,在BERT模型上,AEDA方法依然有效,只不过提升不明显。而EDA方法却使效果降低。

总结


ADEA方法主要突出“简单”二字,个人觉得还是蛮有意思的。在工业界,有时为了推理速度,常常采用一些小模型,并且真的没有客户原因给你标数据,这时数据增强技术就派上了大用处。

往期推荐

常用预训练语言模型(PTMs)总结

回顾BART模型

ACL2021论文之ChineseBERT:融合字形与拼音信息的中文预训练模型

ACL2021 Findings论文汇总及分类

ACL2021主会议论文汇总及分类

难负例如何影响向量检索模型?

SIGIR2021论文:基于Text-to-Text多视图学习的段落重排序

SIGIR2021之DvBERT模型:双视图蒸馏的句向量BERT模型

SIGIR2021之IDCM模型: 文档内部级联选择段落服务于文档排序

SIGIR 2021论文筛选


继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存