【NLP】工业界常用的NLP数据增强方法都在这了,你都会了吗

目录

1 EDA

1.1 具体方法

1.2 EDA 参数选择

1.3 EDA 的缺点

2 回译

3 拼接


1 EDA

EDA 使用传统的文本数据增强方法,可以在文本数据集小的情况下提升文本分类的性能。 出自论文《EDA: Easy Data Augmentation Techniques for Boosting Performance onText Classification Tasks》

1.1 具体方法

EDA 主要有三个参数:n (表示一个句子修改多少个单词),α (修改句子中多少比例的单词),n_aug (一个句子生成多少个新句子)。

论文中把 n 设置为 α×L,L 为句子长度,即句子越长可以修改的单词越多。

EDA 主要采用了四种操作进行数据增强:

(1) 同义词替换(Synonyms Replace SR):随机从句子中抽取 n 个词 (抽取时不包括停用词),然后随机找出抽取这些词的同义词,用同义词将原词替换。例如将句子 "我比较喜欢猫" 替换成 "我有点喜好猫"。通过同义词替换后句子大概率还是会有相同的标签的。

(2) 随机插入(Randomly Insert RI):随机从句子中抽取 1 个词 (抽取时不包括停用词),然后随机选择一个该词的同义词,插入原来句子中的随机位置,重复这一过程 n 次。例如将句子 "我比较喜欢猫" 改为 "我比较喜欢猫有点"。

(3) 随机交换(Randomly Swap RS):在句子中,随机交换两个词的位置,重复这一过程 n 次。例如将句子 "我比较喜欢猫" 改为 "喜欢我猫比较"。

(4) 随机删除(Randomly Delete RD):对于句子的每一个单词,都有 p (=α) 的概率会被删除。例如将句子 "我比较喜欢猫" 改为 "我比较猫"。

1.2 EDA 参数选择

上面说到 EDA 的三个参数,主要用到两个参数:α 和 n_aug,α 表示改变原句子中百分之多少的单词,n_aug 表示一个句子生成多少个新句子。

作者在论文中给出了不同数据量的情况下,推荐的参数组合。

【NLP】工业界常用的NLP数据增强方法都在这了,你都会了吗_第1张图片

1.3 EDA 的缺点

1、使用同义词替换少量的单词,同义词与原词往往具有比较相似的词向量,因此有时候未必可以真正起到扩充的作用。 2、随机插入和随机交换单词会改变原本句子的语法结构,在一些对语法结构、语义结构要求高的任务会有影响。 3、删除随机单词,如果删除的是一些核心词,可能会导致数据在特征空间中偏离原来的标签。

2 回译

回译指首先把句子翻译成另一种语言,然后再翻译回原来的语言。

原始句子:对面的女孩看过来

翻译成英文:The girl from the opposite looks over

回译:对面的女孩朝这边看了看

可以看到回译之后的句子和原始句子会存在不同,但是意思大体上一致。

3 拼接

采用BERT模型时,可以尝试将多个句子拼接到一起,达到512的长度

你可能感兴趣的:(自然语言处理,人工智能,自然语言处理,深度学习)