赞
踩
数据增强(Data augmentation,DA)是指利用 现有 的数据生成额外的 合成的 数据的技术。在训练样本匮乏,标注成本较高时,尝试数据增强方法是很有必要的。
Figure 1. 数据增强(图源:https://neptune.ai/blog/data-augmentation-nlp)
数据增强在计算机视觉(CV)领域的应用广泛,一方面是因为图像数据的增强较为容易,比如只需执行一些旋转、剪切、缩放、扩大、噪声注入等操作就行了,另一方面,数据增强确实能为 CV 模型的性能带来实质性的提升。但在自然语言处理(NLP)领域,一直没有较为有效的数据增强方法的出现,本人认为这有两点原因:第一,NLP 需要面对的是“博大精深”的自然语言,而对于自然语言,一个句子中某个词语甚至标点符号的变化都可能带来整个句子含义的反转,这就直接增加了 NLP 数据增强的难度;第二,NLP 领域各个任务(命名实体识别、文本分类等)对文本信息的侧重点不一样,所以找到一个 NLP 领域各任务通用的数据增强方法是困难的。
虽然 NLP 领域仍缺乏像 CV 领域那样有效的数据增强方法,但还是存在一些可尝试使用的数据增强方法的,本文将对此进行 不全面 的总结,并给出几个在 NLP 领域使用数据增强方法时的注意事项。
把它排第一是因为在一般情况下它是最为有效的。
同义词替换通常的步骤如下:
以上最重要的是如何找到词语的近似词,常见的方法有:
具体使用哪种近似词选取方法可以通过实验决定,哪种方法好用哪种。
第一种同义词词林方法难点在于准备一个较为实用的同义词词林,虽然在网上已经存在一些同义词词林(如哈工大的同义词词林扩展版),但其包含的词语的范围有时很难满足数据增强的需要,所以应用也较少。
其实,我想重点介绍的是第二种使用词向量的方法,这种方法也是 TinyBERT 使用的方法。TinyBERT 同时采用静态和动态的词向量,即对于单个字使用经预训练好的 BERT 作为语言模型预测这个字的近似词(字),对于词语则使用静态词向量。使用 BERT 预测近似词时,需要在句子中将需被替换的字 masked 掉,再将句子输入到 BERT 中。具体细节可以参考 TinyBERT 的 GitHub 仓库。
Figure 2. TinyBERT 中的数据增强
这种方法实现起来也较为简单,步骤如下(以中文与英文为例):
这种方法对翻译质量的敏感度较高,翻译质量决定了数据增强的效果。
这种方法我没有尝试过,感觉和回译这种方法类似,可以把文本生成这种数据增强方法看作一种“另类”的翻译操作,它和回译的不同之处在于,它是一步到位的,而不像回译需要另一种语言作为中间状态。
这种方法的实现较前面几种来说更为复杂,在使用文本生成进行数据增强之前,需要首先训练出一个文本生成模型,这说明又要为文本生成模型准备训练语料而头疼了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。