1. 词汇替换
这种方法试图在不改变句子主旨的情况下替换文本中的单词
1.1 基于词典的替换
从句子中随机取出一个单词,并使用同义词词典将其替换为同义词。例如,我们可以使用WordNet的英语词汇数据库来查找同义词,然后执行替换。
1.2 基于词向量的替换
我们采用预先训练好的单词嵌入,如Word2Vec、GloVe、FastText、Sent2Vec,并使用嵌入空间中最近的相邻单词替换句子中的某些单词。
1.3 Masked Language Model
我们可以使用一个预训练的BERT模型并屏蔽文本的某些部分。然后,我们使用BERT模型来预测遮蔽掉的token,然后使用预测出来的结果作为样本
2. 反向翻译
- 把一些句子(如英语)翻译成另一种语言,如法语
- 将法语句子翻译回英语句子
- 检查新句子是否与原来的句子不同。如果是,那么我们使用这个新句子作为原始文本的数据增强
3. 随机噪声注入
在文本中加入噪声,使所训练的模型对扰动具有鲁棒性
3.1 拼写错误注入
在句子中的一些随机单词上添加拼写错误
3.2 句子打乱
4. 语法树操作
解析和生成原始句子的依赖关系树,使用规则对其进行转换,并生成改写后的句子;例如,一个不改变句子意思的转换是句子从主动语态到被动语态的转换,反之亦然。
5. 其他
EDA
- 同义词替换
- 随机插入
- 随机交换
- 随机删除