英文版:A Visual Survey of Data Augmentation in NLP
1.词汇替换
- 1.基于词典的替换;
从句子中随即取出一个单词,并使用同义词词典将其替换为同义词。 - 2.基于词向量的替换
采用预先训练好的单词嵌入,使用嵌入空间中最近的单词替换句子中的某些单词。 - 3.基于TF-IDF的词替换
TF-IDF分数较低的单词不能提供信息,因此可以在不影响句子的ground-truth的情况下替换它们。
2.反向翻译
反向翻译过程如下:
- 把一些句子(如英语)翻译成另一种语言,如法语
- 将法语句子翻译回英语句子。
- 检查新句子是否与原来的句子不同。如果是,那么我们使用这个新句子作为原始文本的数据增强。
还可以同时使用不同的语言运行反向翻译以生成更多的变体。
3.文本表面转换
使用正则表达式的简单的模式匹配的转换。
4.随机噪声注入
思想是在文本中加入噪声,使所训练的模型对扰动具有鲁棒性。
-
拼写错误注入
在句子中的一些随机单词上添加拼写错误。这些拼写错误可以通过编程方式添加,也可以使用常见拼写错误的映射。 -
QWERTY键盘错误注入
该方法试图模拟在QWERTY布局键盘上输入时发生的常见错误,这些错误是由于按键之间的距离非常近造成的。错误是根据键盘距离注入的。 -
Unigram噪声
其思想是用从单字符频率分布中采样的单词进行替换。这个频率基本上就是每个单词在训练语料库中出现的次数。 -
Blank Noising
其思想是用占位符标记替换一些随机单词。 -
句子打乱
将训练文本中的句子打乱,以创建一个增强版本。
5.实力交叉增强
这项技术的灵感来自于遗传学中发生的染色体交叉操作。
6. 语法树操作
其思想是解析和生成原始句子的依赖关系树,使用规则对其进行转换,并生成改写后的句子。
7.文字混合
- wordMixup
- sentMixup