NLP中简单的数据增强方法

2021-03-29  本文已影响0人  骆旺达

1、为什么要进行数据增强?

训练机器学习或深度学习模型时,良好的数据往往是影响模型的效果最重要的因素之一。而数据不足时数据增强是一个常用的方法。

数据增强的方法可以作为我们训练nlp模型时一个快速改善数据不平衡数据缺失的等问题。

2、数据增强的作用

1,增加训练的数据量,提高模型的泛化能力
2,增加噪声数据,提升模型的鲁棒性

3、NLP中数据增强

现有NLP的Data Augmentation大致有两条思路,

3.1 加噪:EDA方法

(1) 同义词替换(SR: Synonyms Replace):不考虑stopwords,在句子中随机抽取n个词,然后从同义词词典中随机抽取同义词,并进行替换。

Eg: “我非常喜欢这部电影” —> “我非常喜欢这个影片”,句子仍具有相同的含义,很有可能具有相同的标签。

(2) 随机插入(RI: Randomly Insert):不考虑stopwords,随机抽取一个词,然后在该词的同义词集合中随机选择一个,插入原句子中的随机位置。该过程可以重复n次。

Eg : “我非常喜欢这部电影” —> “爱我非常喜欢这部影片”。

(3) 随机交换(RS: Randomly Swap):句子中,随机选择两个词,位置交换。该过程可以重复n次。

Eg: “如何评价 2017 知乎看山杯机器学习比赛?” —> “2017 机器学习?如何比赛知乎评价看山杯”。

(4) 随机删除(RD: Randomly Delete):句子中的每个词,以概率p随机删除。

Eg: “如何评价 2017 知乎看山杯机器学习比赛?" —> “如何 2017 看山杯机器学习 ”。

3.2 回翻

回翻方法中,我们用机器翻译把一段中文翻译成另一种语言,然后再翻译回中文。

Eg: “周杰伦是一位华语乐坛的实力唱将,他的专辑卖遍了全球。
" —>“Jay Chou is a strength singer in the Chinese music scene, his albums are sold all over the world.
”—>“周杰伦是中国音乐界的优秀歌手,他的专辑畅销全世界。”

这个方法已经成功的被用在Kaggle恶意评论分类竞赛中。反向翻译是NLP在机器翻译中经常使用的一个数据增强的方法,其本质就是快速产生一些翻译结果达到增加数据的目的

回译的方法往往能够增加文本数据的多样性,相比替换词来说,有时可以改变句法结构等,并保留语义信息。但是,回译的方法产生的数据依赖于翻译的质量,大多数出现的翻译结果可能并不那么准确。

3.3 其他的文本增强方法

采用深度学习模型的方法主要为生成和原数据相类似的数据

4、数据增强要做到以下内容才会发挥作用

(1)增加的数据要保证和原数据一致的语义信息。
(2)增加的数据需要多样化。

抄自原文:

NLP数据增强方法总结:EDA、BT、MixMatch、UDA

上一篇下一篇

猜你喜欢

热点阅读