NLP中的数据增强方法
目录
1 概述
2. 方法
2.1 随机drop和shuffle
2.2 同义词替换
2.3 回译
2.4 文档裁剪
2.5 生成对抗网络
2.6 预训练的语言模型
1 概述
NLP中的数据是离散的。它的后果是我们无法对输入数据进行直接简单地转换,而大多数CV工具则没有这个限制,如domain randomization。
小的扰动可能会改变含义。在NLP中,删掉一个否定词可能会改变整个句子的情绪,而修改一段话中的某个词甚至会改变语意。但CV不存在这种情况,不论图像中的是猫还是狗,扰动单个像素一般不会影响模型预测,甚至都不会出现明显变化,如插值就是一种有效的图像处理技术。
2. 方法
2.1 随机drop和shuffle
数据增强主要采取两种方法,一种是 drop, 对于标题和描述中的字或词,随机的进行删除,用空格代替。另一种是 shuffle, 即打乱词序。
对于"如何评价 2017 知乎看山杯机器学习比赛?" 这个问题,使用 drop 对词层面进行处理之后,可能变成"如何 2017 看山杯机器学习 “. 如果使用 shuffle 进行处理,数据就 可能变成"2017 机器学习?如何比赛知乎评价看山杯”。 数据 增强对于提升训练数据量,抑制模型过拟合等十分有效.
2.2 同义词替换
EDA 同义词替换、随机插入、随机交换、随机删除。
在这种方法中,我们随机的选一些词并用它们的同义词来替换这些词,例如,我们将句子“我非常喜欢这部电影”改为“我非常喜欢这个影片”,这样句子仍具有相同的含义,很有可能具有相同的标签。
2.3 回译
在这个方法中,我们用机器翻译把一段英语翻译成另一种语言,然后再翻译回英语。这个方法已经成功的被用在Kaggle恶意评论分类竞赛中。反向翻译是NLP在机器翻译中经常使用的一个数据增强的方法。。其本质就是快速产生一些不那么准确的翻译结果达到增加数据的目的。
例如,如果我们把“I like this movie very much”翻译成俄语,就会得到“Мне очень нравится этот фильм”,当我们再译回英语就会得到“I really like this movie”。回译的方法不仅有类似同义词替换的能力,它还具有在保持原意的前提下增加或移除单词并重新组织句子的能力。
回译可使用python translate包和textblob包(少量翻译),或者使用百度翻译或谷歌翻译的api通过python实现。
参考:https://github.com/dupanfei1/deeplearning-util/tree/master/nlp
2.4 文档裁剪
新闻文章通常很长,在查看数据时,对于分类来说并不需要整篇文章。 文章的主要想法通常会重复出现。将文章裁剪为几个子文章来实现数据增强,这样将获得更多的数据。
2.5 生成对抗网络
GAN是深度学习领域中最令人兴奋的最新进展之一,它们通常用来生成新的图像,但它的一些方法或许也可以适用于文本数据。
2.6 预训练的语言模型
最近很多论文运用大量语料库预训练语言模型来处理自然语言任务得到了惊人的结果,如ULMFIT,Open-AI transformer和BERT。语言模型是通过前面的单词预测句子中会出现的下一个单词。
最后分享下最近看到的一篇文章
万字长文综述:给你的数据加上杠杆——文本增强技术的研究进展及应用实践
Reference
NLP数据增强方法
文本数据增强一(概述、中文、同义句生成、enhance、augment、text、nlp)
NLP中的数据增强方法相关推荐
- NLP中的数据增强方法综述
论文链接:A Survey of Data Augmentation Approaches for NLP 摘要 由于越来越多的研究在低资源领域.新任务和需要大量训练数据的大规模神经网络中,NLP中的 ...
- NLP中的数据增强技术综述
NLP数据增强技术 1. 词汇替换 Lexical Substitution 基于词典的替换 Thesaurus-based substitution 基于词向量的替换 Word-Embeddings ...
- NLP 中的数据增强
前言 数据增强(Data augmentation,DA)是指利用 现有 的数据生成额外的 合成的 数据的技术.在训练样本匮乏,标注成本较高时,尝试数据增强方法是很有必要的. Figure 1. 数据 ...
- [综述类] 一文道尽深度学习中的数据增强方法(上)
今天带来一次有关于深度学习中的数据增强方法的分享. 00 什么是数据增强 在深度学习项目中,寻找数据花费了相当多的时间.但在很多实际的项目中,我们难以找到充足的数据来完成任务. 为了要保证完美地完成项 ...
- NLP中的数据增强:UDA、EDA
文章目录 NLP数据增强 1. UDA (Unsupervised Data Augmentation)[推荐使用] 2. EDA (Easy Data Augmentation) NLP数据增强 1 ...
- 【技术综述】深度学习中的数据增强方法都有哪些?
很多实际的项目,我们都难以有充足的数据来完成任务,要保证完美的完成任务,有两件事情需要做好:(1)寻找更多的数据.(2)充分利用已有的数据进行数据增强,今天就来说说数据增强. 作者 | 言有三 编辑 ...
- 深度学习中的数据增强方法
对于较深层次的深度神经网络,其性能会随着训练数据的提升而进一步提升. 目前深度学习方法广泛采用的数据增强方法,主要有: multi-scale:多尺度: translate:平移,[-6, -6],左 ...
- 深度学习中图片数据增强方法
简 介: 在深度学习中需要对图像进行不同的处理.本文对比了基于Numpy以及Paddle.vision.transforms函数中对于图片处理的效果. 关键词: 图像预处理,cv2,paddle #m ...
- 一篇就够!数据增强方法综述
作者 | 太子长琴 整理 | NewBeeNLP 数据增强(Data Augmentation, DA)缓解了深度学习中数据不足的场景,在图像领域首先得到广泛使用,进而延伸到 NLP 领域,并在许多任 ...
最新文章
- Log4net 使用说明
- 2020 mse 清华_ICSMSE 2020
- python 山脉数组的峰顶索引
- java中定时任务和线程池_java基于线程池和反射机制实现定时任务完整实例
- spring boot入门,看这篇文章就够了
- C 语言实例 - 使用结构体(struct)
- 【Python 标准库学习】日期和时间处理库 — datetime
- 索引超出矩阵维度怎么修改程序_seo怎么学?seo自己能学会吗?
- 关公战秦琼java,IDE 之争是在争啥
- pcap文件linux怎么打开,pcap文件用什么打开
- 浏览器打开网页但找不到服务器ip地址 DNS错误 解决办法
- 十六进制字符串与byte数组与ASCII码互相转换
- mysql是一个大型数据库_MySQL是一个大型关系型数据库管理系统(RDBMS)。
- 物联网安全威胁与解决方案调研
- sublime 安装扩展 sublimelinter phpmd
- 会计----会计凭证
- ISA禁止skype网络电话的原理
- 爬取Google patent上公司所有专利
- WINFORM自定义皮肤制作(上)
- Stop:c000021a蓝屏解决方法
热门文章
- [4G5G专题-104]:部署 - LTE网络性能指标KPI的全面描述与分析
- H3C交换机密码加密解密
- mysql登录密码特殊字符_MySQL用户密码中的特殊字符叹号(!)的妙用
- Scrapy 简易爬取Boss直聘 可设定city job 爬取工作到excel或mysql中
- (翻译)损失厌恶(Loss Aversion)
- 子曾经曰过,玩笑不能乱开。
- mysql 批量更新数据 备份_mysql 批量更新与批量更新多条记录的不同值实现方法...
- QGIS输出地图图片操作指引
- 计算机信息及安全行业必知名词术语
- 天刀凤凰集服务器位置,天涯明月刀手游QQ一区凤凰集开服时间表_天涯明月刀手游新区开服预告_第一手游网手游开服表...