NLP数据扩增方法

Posted AI浩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NLP数据扩增方法相关的知识,希望对你有一定的参考价值。

扩增方法:回译

将文本数据翻译成某种语言,然后再将其翻译回原始语言。回译可以生成带有不同单词的文本数据,同时保留文本数据的上下文。

一般情况下回译需要借助翻译API来完成,需要耗费一定的时间。

扩增方法:同义词替换

句子中随机选择N个非停止词,随机选择的同义词替换这些单词。

替换前:This article will focus on summarizing data augmentation techniques in NLP.

替换后:This write-up will focus on summarizing data augmentation methods in NLP.

在进行同义词替换时,关键是计算得到同义词的方法:

  • word2vec距离

  • Bert Mask预测

扩增方法:同义词插入

在句子中随机找一个非停止词的同义词。把同义词插入句子中的任意位置。

替换前:This article will focus on summarizing data augmentation techniques in NLP.

替换后:This article will focus on write-up summarizing data augmentation techniques in NLP methods.

扩增方法:随机替换

从句子中随机选取两个单词,互换它们的位置。

替换前:This article will focus on summarizing data augmentation techniques in NLP.

替换后:This techniques will focus on summarizing data augmentation article in NLP.

扩增方法:随机删除

随机删除句子中的单词。

替换前:This article will focus on summarizing data augmentation techniques in NLP.

替换后:This article focus on summarizing data augmentation in NLP.

扩增方法:对抗训练

对抗样本是让能够模型误分类的样本,且对抗样本与原始样本区别不大。将模型生成的对抗样本加入训练过程,即为对抗训练

对抗训练思路:通过产生对抗样本的思路,如FGSM来计算出扰动,添加到到连续的Word Embedding上产生,然后将再进行一次正向传播和反向传播。

https://arxiv.org/abs/1605.07725

扩增库:EDA

EDA是Easy Data Augmentation的缩写,原始提出于论文EDA: Easy Data Augmentation techniques for boosting performance on text classification tasks.

EDA库实现了同义词替换、随机插入、随机交换和随机删除等操作,使用起来非常简单。

英文版:https://github.com/jasonwei20/eda_nlp

中文版:https://github.com/zhanlaoban/EDA_NLP_for_Chinese

扩增库:nlpaug

nlpaug是一个非常常用的数据扩增库,支持文本和音频数据。nlpaug实现了较多的同义词替换方法,底层支持pytorch和tf。

https://github.com/makcedward/nlpaug

使用案例:https://github.com/makcedward/nlpaug/blob/master/example/textual_augmenter.ipynb

以上是关于NLP数据扩增方法的主要内容,如果未能解决你的问题,请参考以下文章

单细胞mRNA测序技术

扩增子分析解读3格式转换 去冗余 聚类

数据扩增(data augmentation)

用samtools的rmdup去除PCR重复reads

扩增子分析解读1质控 实验设计 双端序列合并

正则化方法:L1和L2 regularization数据集扩增dropout