自然语言处理中一些常用的数据增强的方式

1. 加噪声。加噪尤以去信息为主(Dropout)。比如随机扔词(每次扔一类词,每次扔一个词),比如随机在 Embedding 上 dropout(这个几乎所有 Neural Model 都加了)。有结构的 Dropout 也就是所谓的 Mask,即使用带权的 mask 来遮盖掉一些词。

2. 同义词替换。 我们可以随机的选择一些词的同义词来替换这些词,比如:“她非常美丽” 改为 “她非常漂亮”。但是这种方法比较大的局限性在于同义词在 NLP 中通常具有比较相近的词向量,因此对于模型来说,并没有起到比较好的对数据增强的作用。

3. 反向翻译。 这是机器翻译中一种非常常用的增强数据的方法,主要思想就是通过机器将一个句子翻译为另一种语言,再把另一种语言翻译为原先的语言,得到一个意思相近但表达方式可能不同的句子。这种方法不仅有同义词替换、词语增删的能力,还具有对句子结构语序调整的效果,并能保持与原句子意思相近,是一种非常有效的数据增强方式。

4. 使用生成网络。使用GAN或者VAE这些生成式网络来生成一些数据。但这种方法的难点在于需要对 GAN 模型的训练达到比较好,才能更有效的生成高质量数据,这一点工作量相对较大也较为复杂。

参考:https://www.zhihu.com/question/305256736

发布了25 篇原创文章 · 获赞 1 · 访问量 1433

猜你喜欢

转载自blog.csdn.net/Matrix_cc/article/details/104864223