NLP中的数据增广方式

2021-05-03  本文已影响0人  三方斜阳

数据增广(Data Augmentation)是自动扩充训练数据的一种技术,单纯表示扩大数据规模,深度学习模型需要有大量的标注数据进行支撑。真实应用情景中,经常会出现缺乏标注数据、数据分布不均衡导致模型鲁棒性差、模型性能不佳的问题,而数据增广能在一定程度上解决这些问题。
主要有以下几种方式:

1. 单词替换:

  1. 基于近义词表的替换:
    使用近义词表,将句子中的部分单词利用其近义词替代,使增广数据尽量贴合原始语义
  2. 基于词向量的替换:
    采用预训练好的词向量,如Glove、Word2Vec、FastText等,用向量空间中距离原始单词最近的词将其代替。
  3. 基于掩码语言模型的替换:
    将文本中的部分单词用[MASK]替换,用训练好的掩码语言模型,如 bert , RoBERTa 等对该位置的单词进行预测,补全句子信息。

2. 回译:

指原始文档通过翻译变为其他语言的文本,然后再被翻译回来得到原语言的新文本。与单词替换的方法类似,回译产生的增广数据与原始数据的语义尽量相同。不同的是,回译不直接基于同义词关系对单个单词逐一替换,而是通过生成的方式复述句子,达到了数据扩充的目的。

3. 加入噪声:

  1. 文本形式相关的噪声:
  1. 文本顺序相关的噪声:
  1. 文本语义相关的噪声:
    这类方法通常指通过单词或句子级别的删除、插入、替换等操作,为原始语料带入语义相关的噪声。

4. 基于同标签样本的句子级文本语义噪声:

  1. 基于随机插入的文本语义噪声:
    例如:由于具有相同指控的案件在其文书中有很多相似的句子,在法律文书分类的任务中使用句子级随机插入的方法,即随机选择带有相同标签的其他样本中的句子插入原始样本,得到新的数据。
  2. 基于随机替换的文本语义噪声:
    例如:在推文情感分析的任务中,将标签相同的推文分别分成两半,给定一个原始的前半段推文,在后半段推文的集合中随机采样,并与该原始前半段推文拼接,得到新数据。虽然这样产生的数据可能包括不完整的句子,相比于单个单词,它仍携带相对完整的语义和情感极性。

5. 生成式模型:

根据任务相关的启发式信息训练模型,再有针对性地生成增广数据。与基于同标签样本的句子级文本语义噪声方法类似的是,生成式模型同样引入标签信息,来保证生成的增广数据的标签不变。

6. Mixup方法:

运用前面5种方法进行数据增广并投入任务训练可分为三步:(1)人为指定增广规则或通过训练得到增广模型;(2)利用固定的规则或模型对原始文本做数据增广,得到自然语言形式的增广数据;(3)将原始数据和增广数据一起输入任务模型进行训练。与之不同的是,Mixup方法可以将三个步骤合在一起:直接将原始数据输入任务模型,增广步骤随着训练过程同步进行,得到的词向量形式的增广数据直接与原始数据一起参与模型的训练。


这篇笔记来自:
赛尔笔记 | 自然语言处理领域的数据增广方法
作者:哈工大SCIR 李博涵

上一篇下一篇

猜你喜欢

热点阅读