论文解读:《数据增强:通过强化学习引导的条件生成进行文本数据扩充》

Title:<Data Boost: Text Data Augmentation Through Reinforcement Learning Guided Conditional Generation>

期刊:EMNLP (顶级国际会议

作者 Ruibo Liu; Guangxuan Xu; Chenyan Jia; Weicheng Ma; Lili Wang; et al

出版日期 2020-11-01

网址 https://doi.org/10.18653/v1/2020.emnlp-main.726

摘要

数据扩充在许多NLU任务中被证明是有效的,特别是对于那些遭受数据稀缺的任务。在本文中,我们提出了一个强大且易于部署的文本增强框架Data Boost,它通过强化学习指导的条件生成来增强数据。我们在五种不同的分类器架构下,在三种不同的文本分类任务上评估数据提升。结果表明,数据增强可以提高分类器的性能,尤其是在低资源数据的情况下。例如,当只给定全部数据的10%用于训练时,数据增强将三个任务的F1平均提高了8.7%。我们还比较了数据增强与六种现有的文本增强方法。通过人工评估(N=178),我们确认数据增强增强在可读性和类一致性方面具有与原始数据相当的质量。

1.介绍

数据扩充是分类任务中广泛使用的技术。在计算机视觉(CV)领域,通过翻转、裁剪、倾斜和改变原始图像的RGB通道来扩充数据(Krizhevsky等人,2012;Chatfield等人,2014年;Szegedy等人,2015);然而,类似的直观和简单的策略在NLP任务中并没有获得同样的成功。现有方法倾向于产生可读性低或语义一致性不令人满意的增强(Yang et al,2020)。

表1给出了一些流行的文本增强方法的输出样本。朴素方法模仿CV中的像素操作,通过添加拼写错误( Xie et al . , 2017)或随机删除和交换令牌( Wei和Zou , 2019)来扩充句子。由于语序被打乱(例如, "宝宝很好! "),这类增强方法的输出结果往往难以辨认;更糟糕的是,关键特征词(例如,可爱这个词,它是情感检测的信号携带词)可能会通过随机删除的方式被误删。

一种更高级的方法是同义词插入或替换(张杰等, 2015 ;王永进、杨志刚, 2015),它使用Word2Vec (米科洛夫等, 2013)将单词替换为其同义词。这种方法尊重原文的句子结构,但没有考虑语境。它有时用同义词来代替在句子的整个语境中显得笨拙的词。例如,用寓言代替可爱,得到"宝贝是寓言! "这句话。最近的工作倾向于基于翻译的( Fadaee et al , 2017 ;西尔弗贝里et al , 2017)增强方法。

特别地,Yu等人( 2018 )提出了一种先将文本翻译成法语再翻译成英语的回译方法,使用带噪声的输出作为增强数据。虽然回译具有直观性和有效性,但其生成偏向于高频词( e.g . , cute , lovely都回译为可爱),不仅会造成重复,而且会导致增广数据的词汇收缩。总之,现有的技术还很不完善,部分原因是文本数据中的句法和语义特征具有很强的相互依赖关系。

增强样本应该表现出目标类的特征。现成的LM(langue model)不能直接用于数据增强;由于它们不是针对特定的语境进行训练的,因此它们的生成是无向的和随机的。条件LM可以根据一定的条件(例如,目标类)生成文本,但它需要从头开始训练一个LM,并且数据覆盖所有的条件。例如,Keskar等人( 2019 )训练了一个16亿参数的LM,该LM条件为各种控制代码。培训成本较高;然而,收集足够的数据用于训练也是繁琐的,尤其是在低资源任务( Waseem , 2016)中。

优点

Data Boost的优势有三点:第一,Data Boost功能强大。与6个相关工作相比,我们在5个不同分类器的3个任务上取得了显著的进步。第二,Data Boost生成句子级增强。与先前的方法进行单词级别或短语级别的替换(小林, 2018 ; Wei and Zou , 2019)不同,我们的增强数据在词汇和句子结构方面具有更多的多样性。人的评价也验证了我们的增强具有较高的可读性和标签一致性。第三,Data Boost易于部署。它不需要外部数据集,也不需要单独训练系统(像机器翻译模型中的回译方法)。取而代之的是现成的GPT2语言模型,在不改变其架构的前提下,对其解码阶段进行修改.

2.数据增强

2.1条件生成器

给定符号x<_{t} = { x_{0},x_{1},...,x_{t-1}}和在时间步长t之前的累积隐状态h^{\Theta }^{}< t^{1},训练一个普通的自回归语言模型( LM )来最大化下一步符号( xt )的概率.通常情况下,模型会选择具有最高概率x_{t}的符号作为t步解码的输出:

2 强化学习优化

Reward

PPO (近端政策优化)

Salience Score:

其中| x∈c |是指类标号为c的样本中词x的个数,| V |是总词汇量,GM是这两个词的几何平均。这两个分数都试图保证一个词被标记为显著的概率P ( c | x )和P ( x | c )都很高。我们计算每个单词的显著性得分,并选择前N个最高的单词2作为类别标签c (记为wc)的显著性词典。与其他方法如训练鉴别器(达特赫里等, 2020)或导出控制代码( Keskar et al , 2019)相比,我们发现基于频率的方法相对简单但有效,特别是在数据饥饿的情况下,由于训练数据很少,鉴别器的性能可能受到限制。

Salience Gain:

对于以目标类c为条件的第t步令牌xtc,我们将显著性增益计算为与显著词库wc中每个词的余弦相似度的对数求和:

优化:策略梯度进行优化

式中:η为学习率,θ c为条件隐状态的参数。总的来说,我们遵循经典的SGD更新规则,但做了两个主要的改变:( 1 )在令牌解码( Keskar et al , 2019)的过程中,我们使用温度参数T来控制随机采样。T→0近似一种贪婪解码策略,放大了vocab分布中的峰值,而T→∞使得分布更加均匀。( 2 )我们对k步奖励的归一化梯度进行求和。k可以作为条件生成的控制强度。结合以上所有定义,在算法1中总结了Data Boost的策略梯度。

3.数据集

Offense Detection3 ICWSM 20’(攻击性检测3 ICWSM 20 ' )Data Challenge数据集( N = 99 , 603),用于对推文进行攻击性语言检测。该数据集包含四个类别:{正常,垃圾邮件,虐待和仇恨},比例分别为{ 53.9 %,27.1 %,14.1 %,4.9 % }。

Sentiment Analysis4用于推文情感分析的Sentiment Analysis4 Sem Eval 2017 Task 4A数据集( N = 20,631)。数据集包含三个类别:{正性,中性,负性},比例为{ 34.7 %,49.8 %,15.5 % }。反讽分类5

Irony Classification5SemEval 2018 Task 3A数据集( N = 3 , 817)用于推文中的反讽检测。它有二元类:{反讽,非反讽},比例为{ 50.2 %,49.8 % }。

对数据集任务进行分析

冒犯检测和反讽分类是流行的低资源NLU任务。情感分析,虽然根据一些文献( Baziotis et al , 2017 ;克里奇, 2017)看起来很好的解决了,但当给定的训练数据( Elming et al . , 2014 ;塞韦林和莫斯基蒂, 2015)极其有限时,被报道具有严重的过拟合问题。我们选择具有挑战性的数据集,这些数据集的总数据量( N≈80k , 17k , 3k)和类数(类# = 4、3、2)各不相同,以对我们的框架进行现实的评估。

对于所有数据集,我们删除了样本中所有的标点符号、停用词、主题标籤和url链接。将长度大于30个令牌的样本过滤掉(平均约2 %的数据),同样将30作为Data Boost生成的最大序列长度。我们进一步将数据按比例{ 80 %,20 % }拆分为训练集和测试集,并保持原有的类别分布。我们确保所有实验中的分布都是相同的。

4.实验过程

准备了几组数据饥饿测试,每组使用总数据的限制分数作为训练数据。我们保持测试数据的( 20 %)不变,将训练数据的大小从80 % (作为满载案例)逐渐减小到1 % (作为资源极低的情况)。我们对下列训练集分数( % )进行正常训练和增强训练:{ 1 %,5 %,20 %,40 %,60 %,80 % },用于犯罪检测和情感分析。由于用于反讽分类的数据集是小型的( N = 3 , 810),我们使用以下分数:{ 10 %,20 %,30 %,40 %,60 %,80 % }。

图3:矢量化的原始语句和Data Boost增强语句在攻击性检测任务中的t - SNE可视化。增补句(三角形)大多与原句(圆形)重叠,说明增补句保持了原句的类分布。

增强后的数据是否与原数据相似?

文本数据增强中一个普遍关心的问题是增强后的句子是否保留了原始数据的质量。对于分代方法尤其如此,因为我们创建了新的句子,而不是简单地替换令牌来产生增广数据。我们将通过两种方法来说明我们数据生成的质量:( 1 )可视化原始和增强数据的类别分布;( 2 )通过使用4.1节中描述的提升比实验来观察数据增强是否会导致性能恶化和困惑度增加。文本数据增强中一个普遍关心的问题是增强后的句子是否保留了原始数据的质量。对于分代方法尤其如此,因为我们创建了新的句子,而不是简单地替换令牌来产生增广数据。我们将通过两种方法来说明我们数据生成的质量:( 1 )可视化原始和增强数据的类别分布;( 2 )通过使用4.1节中描述的提升比实验来观察数据增强是否会导致性能恶化和困惑度增加。为了可视化,我们在犯罪检测任务(因为它的类数最多)中随机抽取400个(每班100人)的原始句子和生成句子,并使用SentenceBERT (赖默斯和Gurevy )进行向量化

在表3中,我们展示了不同增广比下的F1恶化和困惑度增加(困惑度越高,对LM的拟合度越差)。即使使用25 %的原始数据与75 %的生成样本进行融合,F1得分与使用100 %的原始数据相比,( 0.06 ,绝对)也仅略有下降。我们发现,即使在较高的提升比下,困惑度也没有显著增加。

4.方法分析

我们已经证明Data Boost在与BERT分类器结合使用时是有效的,但性能可以与其他分类器复制?换句话说,Data Boost是一种分类器不可知的增强方法?为了回答这个问题,我们在其他四个主流分类器上进行了实验,包括普通CNN分类器( Kim , 2014),带有注意力机制的Bi - LSTM ( Zhou et al . , 2016),基于自注意力机制的Transformer网络( Vaswani et al , 2017),以及另一个基于LM的分类器XLNet ( Yang et al . , 2019)作为比较。我们在三种不同的训练数据设置上训练所有分类器:{ 20 %,40 %,80 % }的总数据作为训练数据,前两个数据集使用Data Boost增广的方法将规模扩大一倍。如表2所示,总体上表现为Data Boost

4.1与相关工作进行对比

表4对比了Data Boost与6种先验文本增强方法在所有3个任务和使用BERT分类器上的性能。朴素方法(库仑, 2018 ; Xie et al . , 2017)和基于翻译的方法( Fadaee et al . , 2017 ; Sennrich et al , 2016)将人工错别字或翻译错误产生的数据噪声作为增强处理。Wei和Zou ( 2019 )提出了结合令牌级增强(随机删除、互换等。)的EDA;他们在几个基准数据集上报告了(平均为0.8 %)的适度改进。Zhang et al . ( 2015 )进行了字符级增强。这些方法通常被低可读性和有缺陷的句法结构所折中。其他方法利用外部资源来提高增强质量。例如,Wang和Yang ( 2015 )

4.2 与gpt2的生成样本对比

作者进行了配对样本t检验,以检查参与者对分配标签的同意程度。为了进行消融研究,作者使用了使用普通GPT-2和Data Boost生成的样本。与普通GPT-2相比,Data Boost样本在九个类别中的八个中获得了更高的标签同意分数。其中五个具有统计学显著性(p < .05)。除了在Offense Detection中的垃圾邮件和正常类别(p = .02和p = .03)之外,原始数据和增强数据之间没有统计学上的显著差异。这个结果进一步证实了Data Boost样本与原始样本非常相似,而且Data Boost生成比普通GPT-2更高质量的样本。

5.讨论

在这一部分我们讨论了Data Boost的局限性。使用Data Boost所获得的性能增益在某些任务上可能是微不足道的,特别是那些无法通过词汇特征很好地建模的任务。例如,我们使用Data Boost对LCC数据集(莫勒等, 2016)进行隐喻检测,使用GHOSH数据集( Ghosh和Veale , 2017)进行讽刺分类,使用GYAFC正式风格迁移数据集( Rao和Tetreault , 2018)进行正式性检测。我们看到了任务的边际改善,三个任务的F1分数的绝对增加分别为1.3 %,0.9 %和0.7 %,分别为(在极端数据稀缺的情况下,我们预期Data Boost的帮助最大;也就是说,当原始数据的1 %增加到80 %时)。我们发现是

6.结论

我们提出了一种强大且易于部署的方法,通过条件生成来增加文本数据。通过使用现成的语言模型( GPT-2 ),在强化学习的帮助下,我们成功地引导生成朝向指定的方向(即,目标类)。我们发现Data Boost提升了分类任务的性能,是分类器不可知的,并且在三种不同的分类任务中都超过了几种先验增强方法。在未来,我们计划通过在奖励函数中添加句法和位置特征来实现对增强的更精细的指导,以实现对更多类型文本数据的增强。该代码将根据要求提供。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/196913.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

通过测试驱动开发(TDD)的方式开发Web项目

最近在看一本书《Test-Driven Development with Python》&#xff0c;里面非常详细的介绍了如何一步一步通过测试驱动开发(TDD)的方式开发Web项目。刚好这本书中使用了我之前所了解的一些技术&#xff0c;Django、selenium、unittest等。所以&#xff0c;读下来受益匪浅。 我相…

互联网架构演变过程梳理和架构思想的学习

文章目录 版权声明业务架构单体模式中台战略去中台化 数据架构单数据库架构主从读写分库分表高速缓存数据多样化分布式文件nosql搜索引擎架构特点 应用架构单机调优动静分离SOA微服务 部署架构单机部署⻆⾊划分应⽤集群多层代理异地访问云平台 架构思想总结 版权声明 本博客的…

基于Python+OpenCV+dlib+Tensorflow深度学习的人脸表情识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 人脸表情识别是一种重要的计算机视觉任务&#xff0c;它涉及到对人脸图像中的表情进行分类和理解。在这个系统中&am…

C++STL库常用详解与原理

CSTL库 学习方法&#xff1a;使用STL的三个境界&#xff1a;能用&#xff0c;明理&#xff0c;能扩展。 常用库 库名称所需头文件数据结构string#include<string>串vector#include<vector>动态数组list#include<list>带头双向循环链表queue#include<queu…

CopyOnWriteArrayList源码解析

CopyOnWriteArrayList源码解析 文章目录 CopyOnWriteArrayList源码解析一、CopyOnWriteArrayList二、总结 一、CopyOnWriteArrayList 在 JUC 中&#xff0c;对于 ArrayList 的线程安全用法&#xff0c;比较推崇于使用 CopyOnWriteArrayList &#xff0c;那么CopyOnWriteArrayL…

HTTP2

HTTP 确认访问用户身份的认证 某些Web页面只想让特定的人浏览,或者干脆仅本人可见。为达到这个目标,必不可少的就是认证功能。 何为认证 计算机本身无法判断坐在显示器前的使用者的身份。进一步说,也无法确认网络的那头究竟有谁。可见,为了弄清究竟是谁在访问服务器,就…

【Unity3D】MAX聚合广告SDK——Pangle广告接入(成了!成了!)

Pangle, App Monetization Simplified 注册 登录 创建应用 创建广告单元 将其应用ID和广告ID关联到MAX广告。 下载Pangle Unity Plugin包&#xff0c;新建一个空工程&#xff08;很重要&#xff09; Unity版本2019.4.0f1 gradle plugin 4.2.0 gradle版本6.7.1 build_tools 34.…

Java17(LTS Long Term Support)特性

支持JDK17的主流技术框架 spring framework 6.xspringboot 3.xkafka 3.0(不在支持jdk8)jenkins 2.357&#xff08;必须jdk11起步&#xff09;James Gosling表示赶紧弃用Java8&#xff0c;使用性能最好的JDK17Chart GPT也推荐JDK17&#xff0c;从长期到性能来说。 JDK17的特性 …

JRT对历史表和$get实现

由于Cache没有什么表数据大了查询和插入性能下降的问题&#xff0c;而关系库在数据量上千万后会性能下降&#xff0c;之前关注点都是Java业务脚本化和开发部署简单&#xff0c;还没管关系库单表大问题和级联查询复杂后慢的问题&#xff0c;现在开始解决这俩问题&#xff0c;这是…

socket 一个完整的不错的示例

从客户端向服务器端发送信息时&#xff0c;在服务器端有打印显示&#xff1b; 检测环境常用&#xff0c;备份一下 0&#xff0c;公共头文件代码 //config.h#include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #inc…

人工智能的影响与挑战

人工智能是指通过模拟人类智能的各种特性和功能的技术和系统。对于普通大众来说&#xff0c;人工智能的爆发效应还是来源于chatGPT的爆火&#xff0c;大家第一次有了强烈的惊叹和危机。实际上&#xff0c;人工智能已经发展多年&#xff0c;像GPT的发展可以追溯到2018年&#xf…

深度学习笔记《一》:keras_core.layers.Conv2D()

一、说明 卷积&#xff0c;池化&#xff0c;激活函数&#xff0c;这三者号称是深度神经网络的三驾马车&#xff1b;其中卷积是最复杂的一个&#xff0c;因此&#xff0c;对卷积这个东西需要精心认知&#xff0c;这样对后面学习大有帮助。本篇为系列博文&#xff0c;专门介绍Cer…

亮相史上规模最大高交会,Coremail展现邮件技术创新实力

11月19日&#xff0c;第二十五届中国国际高新技术成果交易会在深圳落下帷幕&#xff0c;作为国内邮件行业引领者&#xff0c;Coremail受邀参展。 展览现场&#xff0c;Coremail邮件解决方案及系列产品受到了众多参观者与业内人士的关注与好评。Coremail XT6邮件系统技术成熟&a…

Arcgis根据样本点的shp文件创建一定范围的圆

导入样本点和数据 在ArcToolbox中&#xff0c;找到 "Analysis Tools" -> "Proximity" -> "Buffer" 工具。&#xff08;"分析工具" -> "邻近性" -> "缓冲区" &#xff09; 导入样本点shp文件&#xff…

智能优化算法应用:基于教与学算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于教与学算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于教与学算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.教与学算法4.实验参数设定5.算法结果6.参考文献7.…

8 款强大工具适合 Python 入门的你

Python是一种开源的编程语言&#xff0c;可用于Web编程、数据科学、人工智能以及许多科学应用。学习Python可以让程序员专注于解决问题&#xff0c;而不是语法。由于Python相对较小&#xff0c;且拥有各式各样的工具&#xff0c;因此比Java和C等语言更具优势&#xff0c;同时丰…

技术必备:接口自动化测试数据校验神器【JSonPath】

我们今天不讲如何开发一款自定义开发校验规则库&#xff0c;而是给大家分享一款在开发自定义校验规则库或者常规的接口自动化测试时&#xff0c;经常会用到的一款数据提取神器&#xff1a;JSonPath。 1. JSonPath介绍 JSonPath是一种简单的方法来提取给定JSON文档的部分内容。…

全网最全卡方检验汇总

一文整理了卡方检验全部内容&#xff0c;包括卡方检验的定义&#xff08;基本思想、卡方值计算、适用条件分析&#xff09;、卡方检验分类&#xff08;2*2四格表卡方、R*C表格卡方、配对卡方、卡方拟合优度检验、分层卡方&#xff09;、卡方检验如何分析&#xff08;数据格式、…

银行合规知识竞赛要怎么策划才高大上

合规是银行业务永恒的主题&#xff0c;也是银行发展的根本保障。加强合规知识的学习和理解是保障银行业务健康发展的基础。通过竞赛形式的开展&#xff0c;旨在增强员工对风险和合规的敏感度和关注度&#xff0c;推动全行合规水平全面提升。那么如何策划一场高水平的银行合规知…

尤鲁都斯巴格镇社工站开展“我的牙齿我爱护”儿童公益活动

为了提高儿童的口腔健康意识&#xff0c;尤鲁都斯巴格镇社工站于2023年11月20日在尤鲁都斯巴格镇第一小学开展了一场《我的牙齿我爱护》儿童公益活动。本次活动主要针对小学阶段的儿童&#xff0c;旨在通过口腔健康宣讲等形式&#xff0c;普及口腔保健知识&#xff0c;引导孩子…