找回密码
 立即注册
搜索

一文读懂自然言语处理中的文本加强方法

文 | Sherry

不断以来,数据都是推进深度神经网络这个人工智能引擎不可或缺的燃料;但是人工搜集足量而优质的数据从来不是一件“便宜”的事,数据加强便是一座富有价值的矿山。在CV中,翻转,裁剪,加噪声等方法被广泛运用且获得了分明的效果。但在NLP范畴,由于言语的团圆性,如何获得保持文本原意的新数据就显得不那么简单了。大型预训练模型的成功为我们带来了曙光,推进了许多低资源范畴或是新义务的研讨,但是微调大型模型需求大量数据,如何自动获得高质量数据在最近的研讨中显得尤为重要。Google,CMU,Mila等研讨者合作,对当前NLP范畴的数据加强停止了总结。被收录到ACL 21 Findings。本文将帮你总结:NLP数据加强的难点和了解;常见方法;运用场景;和不同下游义务中的常见方法。

论文标题:A Survey of Data Augmentation Approaches for NLP

论文链接:https://arxiv.org/pdf/2105.03075

GitHub:https://github.com/styfeng/DataAug4NLP


NLP数据加强的难点和了解角度
数据加强的目的和难点数据加强的目的当然是为了获得更多的数据,但需求满足两个条件:容易执行,且可以提高模型表现。假如说一个加强的方法他本身就需求大量资源(比如训练一个复杂的生成模型),我们完全可以用人工标注的方法来获得最优质的数据,加强就会显得没有意义;假如加强获得的数据质量不够高(比如由简单规则生成),反而会毁坏模型的表现,那这种加强也违犯了我们的初衷。为了获得高质量的加强数据,我们通常要求加强的数据分布和原数据集不要相差太大(能够毁坏模型表现),也不要相差太小(能够导致过拟合)。
怎样对待数据加强通常来说,数据加强被以为可以添加模型正则性,减少过拟合,但其实很少有人解释它到底为什么可以协助模型训练。现有的工作中,从以下角度给出了解释:
    从正则化角度出发,研讨者提出含有噪声的样本有助于协助正则化;若是把数据加强看作核变换,则它有助于平均不同的特征,并正则化方差;异样,我们也可以把数据加强看作平均不同数据的分布轨迹,从而也能得到减少方差的效果。另外,也有研讨者证明了指数量级的数据加强可以提高分类器的正边界,但显示运用中我们通常不会加强这么大量的数据。

常见方法
NLP的加强虽然有很多难点,但近年来也发展出了许多比较成熟的分支。常见的数据加强方法可以分为以下几类:

基于规则
特征空间的加强


由于自然言语的团圆性,直接生成更多数据显得很艰难,一个直接的方法就不生成言语数据,而是在特征空间直接停止加强。比如说,在少样本学习中,我们先学习训练范畴的不变量,然后在目的类别上特征空间的不变量转换得到更多特征样本。或者是在同一类的空间流形上不断停止仿射变换来获得更多特征样本。

EDA--简单的规则


EDA是一种简单有效,也被广泛运用的文本加强:随机插入,删除,交换token从而在文本数据中加入噪声。EDA的改进版UDA则应用简单的加强,包括回译,或者根据TF-IDF交换词等方法获得加强数据,再最小化加强后未标注样本和原样本的分歧性损失函数来协助半监督学习。

图上的变换



经过句法解析等技术,我们也可以讲自然言语转化成图/树的结构。因此,我们也可以经过人为设计树上的变换来获得加强数据:比如把交换子树的顺序或者删除子树等。

样本插值



MixUp在图像范畴被广泛运用,详细而言,它对两个及以上的训练样本停止插值。把两张一样大的图每个像素点按叠加,同时目的标签也按异样权堆叠加,就得到了一个新的合理训练数据。除了按照像素点叠加,也可以把图A的部分用图B代替,然后按图片面积占比插值得到新类别(CutMix)。
将这种思绪引入文本加强的难点在于:文本是团圆的,无法找到合适的插值单位。但照旧有一些常见的方法可以运用:
    拼接句子,混合嵌入词向量或者高维表示向量。Seq2MixUp提出两种混合样本的方法:一个是对句子的每个地位随机决议复制两个样本中的一个字;或者是根据概率分布混合词向量。

基于模型的加强


这类方法应用曾经训练好的模型作为加强数据的方法。
回译 -- 翻译模型应用曾经训练好的翻译模型来加强数据就是一种常见而有效的方法。通常我们把训练数据翻译成一种或多种其他言语,再翻译回来,挑选之后可以得到质量比较高的数据。
填空 -- 言语模型大型预训练网络获得成功之后,另外一个常见而有效的方法就是用这类模型交换原样本中的词或片段。例如随机mask上句子中的词,然后用BERT这类模型填入和原来不一样的候选词。
语意近邻 -- 生成模型除了回译和填空,我们也可以直接应用生成模型。之前的样本混合或扰动的方法水直接应用隐空间表示来获得新样本,但我们异样也可以讲这些混合或扰动之后的表示向量作为生成模型的条件输入,从而得到新的样本。
直接用生成模型除了给定向量表示来生成,我们也可以直接在目的数据集上微调GPT等生成模型,然后直接生成新的训练数据;再用自监督的方法获得标注。

运用场景
数据加强有许多具有研还价值的运用场景。
低资源言语
低资源言语的数据获取不断以来都是研讨的重要分支。常见的加强方法包括1)应用高资源言语中可以被推行的性质协助低资源言语,2)应用回译+自监督来生成加强训练数据。
处感性别偏向
在指代消解(coreference)义务中,我们可以经过交换he/she来平衡数据集中的性别分布。更进一步,我们可以用交换词汇为更中性的词汇来平衡能够惹起性别偏向的数据。
处理不平衡类别
常见的处理不平衡类别的方法有upsample/downsample。应用数据加强,我们可以经过插值生成minority class 样本,或者用EDA等方法直接添加多数类别的样本。

下游义务中的变种
接上去我们按照不同义务总结了加强的方法,作者在GitHub中也给出了详细的总结,可以参考:https://github.com/styfeng/DataAug4NLP。

摘要 Summarization
    相似UDA,先从回译获得加强数据,然后应用分歧性损失函数提升效果。混合从Common Crawl获得的合成数据以及原数据集来提升模型效果。
问答 QA
    Domain-agonistic QA: 回译开放范畴问答:远程监督,应用原数据集以及抽取器获得数据Zero-shot cross-lingual: 成绩生成Cross-lingual QA/NLI: 将一部分文本从源言语交换为其他言语为了提高QA 准确率和分歧性, 应用逻辑和言语学知识获得训练数据
序列标注 Sequence Tagging
    首先,学习根据特定方案线性化的标签和单词序列的言语模型。其次,从该言语模型中采样序列,并对其停止去线性化处理,以生成新的示例。POS tagging: 依存树变换NER: 对每个实体停止token或同义词交换
解析 Parsing
    应用数据重组来添加对特定义务有效的先验知识。表格解析Grappa: 应用预训练模型来生成成绩-SQL对,停止加强。语义解析: 应用组成性,交换反复的片段。低资源依存关系解析:交换词语为拥有相反POS,形状标签和依存关系标签的其他词。
语法纠正 Grammatical Error Correction
    德语纠正:应用维基百科的编辑历史作为额外数据。多义务迁移学习:应用其他义务的标注作为额外数据。合成新的错误来训练纠正模型:token级别的扰动,训练生成错误的模型+过滤。应用拼写检查器产生的混淆集以停止干扰。从标注数据中学习错误的形式,并用来生成特定的噪声。用生成模型的beam search来添加数据噪声。
翻译 NMT
    SwitchOut: 随机交换平行语料中源言语和目的言语的对应词。Soft Contextual: 随机选定一个词,用词表中其他多个相关词的上下文表示来交换它。Data Diversification: 将原数据和多个训练好模型的预测混合。
Data-to-Text NLG
    球赛总结义务:随机修正不影响比赛结果的得分来加强。从三元组生成描画:应用维基百科和开放关系抽取工具获得更多三元组及描画句子的数据。意思表示(meaning representation):修正意思表示的序列顺序来加强。
Open-Ended & Conditional Generation
    GenAug:在低资源范畴微调GPT-2,从而提高生成文本的延续性。

应战与将来
作者针对过去的文本加强方法提出了许多值得留意的方面:
    短少分歧有效的方法不像CV,文本加强没有分歧有效的加强方法。能够需求发展一个一致的义务和数据集来比较不同加强方法的优劣。预训练模型对范畴内数据效果甚微以前有效的加强方法对大型预训练模型得到了效果:他们曾经可以达到很好的效果了。短少实际解释很少有人解释为什么数据加强有效,大多数工作都只是经过实验结果来展现加强有效,并且给出一些猜想,应战在于在不借助片面实验的状况下测量优度。CV中有人研讨了affinity和diversity可以预测加强的效果,但是在NLP中没有对应的了解。多模态应战对多模态义务,有人对单个模态停止加强或者对不同模态设置不同的加强,但是能否存在一个一致的加强方法呢?基于span的义务随机交换token能够扰乱上下文信息。特殊范畴加强对OOD有效, 由于加强的数据能够跟原数据分布非常不同低资源言语跟特殊范畴的难点一样,对高资源有效的加强方法不一定对低资源有效。视觉启示CV的加强都是受理想世界不变量启示,很多在NLP中有对应:比如改变灰度能够对应着词形简化(lemmatization ) ;调整颜色对应着交换副词程度,例如把awesome改成good;旋转对应着依存树变换;角度调整对应着同义句交换。

总结
这篇论文对过去的文本加强工作停止了系统性总结,可以说是比较片面的。对小范畴上的加强方法的总结可以让大家疾速上手了解常见加强方法,同时自创其他义务上的加强也能够启示其他新的思绪。另外,文章中对文本加强的目的,了解,难点以及将来发展方向都给出了新颖的观点,具有启示意义。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

大神点评3

897799893 2021-6-20 07:08:46 显示全部楼层
前排支持下了哦~
回复

使用道具 举报

埋葬在深秋 2021-6-20 22:24:02 显示全部楼层
秀起来~
回复

使用道具 举报

占位编辑
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies