美文网首页
NLP中简单的数据增强方法

NLP中简单的数据增强方法

作者: 骆旺达 | 来源:发表于2021-03-29 17:36 被阅读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 其他的文本增强方法
    • 语法树结构替换
    • 篇章截取
    • seq2seq序列生成数据
    • 生成对抗网络 GAN
    • 预训练的语言模型

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

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

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

    抄自原文:

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

    相关文章

      网友评论

          本文标题:NLP中简单的数据增强方法

          本文链接:https://www.haomeiwen.com/subject/ztgbhltx.html