15种NLP数据增强方法总结与对比

数据增强的方法

数据增强(Data Augmentation,简称DA),是指根据现有数据,合成新数据的一类方法。毕竟数据才是真正的效果天花板,有了更多数据后可以提升效果、增强模型泛化能力、提高鲁棒性等。然而由于NLP任务天生的难度,类似CV的裁剪方法可能会改变语义,既要保证数据质量又要保证多样性,使得大家在做数据增强时十分谨慎。

作者根据生成样本的多样性程度,将数据增强分为以下三种方法:

  • Paraphrasing:对句子中的词、短语、句子结构做一些更改,保留原始的语义
  • Noising:在保证label不变的同时,增加一些离散或连续的噪声,对语义的影响不大
  • Sampling: 旨在根据目前的数据分布选取新的样本,会生成更多的数据。
    在这里插入图片描述

Paraphrasing

在这里插入图片描述
该类方法根据替换的成分不同,又可以分为词、短语、句子级别。作者共总结了6种方法

  • Thesaurus
    利用词典,知识图谱等外部数据,随机将非停用词替换成同义词或上位词,如果增加多样性的话还可以替换成相同词性的其他词。
  • Semantic Embeddings
    利用语义向量,将词或短语替换成相近的(不一定是同义词)由于每个词都有语义表示,可替换范围更大,而上一种方法只能替换图谱里的。
  • MLMs
    利用BERT等模型,随机mask掉一些成分后生成新的
  • Rules
    利用一些规则,例如缩写、动词变位、否定等,对句子的一些成分进行改写,比如把 is not 变成 isn’t
  • Machine Translation
  • :分为两种,Back-translation指把句子翻译成其他语言再翻译回来,Unidirectional Translation指在跨语言任务中**,把句子翻译成其他语言**
  • Model Generation
  • 利用Seq2seq模型生成语义一致句子。
    在这里插入图片描述
    歧义」主要是指有些多义词在不同场景下意思不一样

Noising

人在读文本时对噪声是免疫的,比如单词乱序、错别字等。基于这个思想,可以给数据增加些噪声来提升模型鲁棒性

在这里插入图片描述

  • Swapping
    除了交换词以外,在分类任务中也可以交换instance或者sentence
  • Deletion
    在分类任务中也可以交换instance或者sentence
  • Insertion
    可以把同义词随机插入句子中
  • Substitution
    把一些词随机替换成其他词(非同义),模拟misspelling的场景。为了避免改变label,可以使用label-independent的词,或者利用训练数据中的其他句子
  • Mixup
    这个方法最近两年比较火,把句子表示和标签分别以一定权重融合,引入连续噪声,可以生成不同label之间的数据**,但可解释性较差**

总的来说,引入噪声的数据增强方法使用简单,但对句子结构和语义造成影响,多样性有限,主要还是提升模型的鲁棒性。

对抗样本
Dropout:也是SimCSE用到的,还有R-drop,都是通过dropout来加入连续噪声
Feature Cut-off:比如BERT的向量都是768维,可以随机把一些维度置为0,这个效果也不错

Sampling

在这里插入图片描述
从数据的分布中采取新样本,不同于较通用的paraphrasing,采样更依赖任务,需要在保证数据可靠性的同时增加更多多样性。比如 前两个数据增强方法更难,作者整理四种方法。
在这里插入图片描述
在这里插入图片描述

Method Stacking

实际应用时可以应用多种方法、或者一种方法的不同粒度。

总结

数据增强算是相当接地气的研究了,少样本、领域迁移、是每个NLPer都会遇到的问题,而在数据上做文章可能比其他模型改动的方法更为有效。同时从这篇综述也可以看到**,数据增强其实可以做得很fancy**,还不影响线上速度,比如我之前就用T5和ELECTRA做过数据增强,都有一些效果,可谓低调而不失奢华,典雅而不失大气,深度拿捏得稳稳的

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
我可以回答这个问题。数据增强是指通过对原始数据进行一系列变换,生成新的数据集,以增加数据量和多样性,提高模型的泛化能力。以下是100数据增强方法: 1. 镜像翻转 2. 随机裁剪 3. 随机旋转 4. 随机缩放 5. 随机亮度调整 6. 随机对比度调整 7. 随机色调调整 8. 随机饱和度调整 9. 随机噪声添加 10. 随机模糊 11. 随机锐化 12. 随机扭曲 13. 随机拉伸 14. 随机变形 15. 随机仿射变换 16. 随机透视变换 17. 随机擦除 18. 随机遮挡 19. 随机加入水印 20. 随机加入文字 21. 随机加入图案 22. 随机加入噪点 23. 随机加入线条 24. 随机加入形状 25. 随机加入边框 26. 随机加入阴影 27. 随机加入光晕 28. 随机加入光斑 29. 随机加入光点 30. 随机加入光线 31. 随机加入雾气 32. 随机加入烟雾 33. 随机加入火焰 34. 随机加入水波 35. 随机加入涟漪 36. 随机加入水滴 37. 随机加入雪花 38. 随机加入冰霜 39. 随机加入霜冻 40. 随机加入雾霾 41. 随机加入沙尘 42. 随机加入风景 43. 随机加入人物 44. 随机加入动物 45. 随机加入植物 46. 随机加入建筑 47. 随机加入车辆 48. 随机加入食物 49. 随机加入家具 50. 随机加入电子产品 51. 随机加入服装 52. 随机加入配饰 53. 随机加入化妆品 54. 随机加入文具 55. 随机加入玩具 56. 随机加入运动器材 57. 随机加入乐器 58. 随机加入书籍 59. 随机加入音乐 60. 随机加入电影 61. 随机加入电视剧 62. 随机加入游戏 63. 随机加入动画 64. 随机加入漫画 65. 随机加入艺术品 66. 随机加入建筑设计 67. 随机加入室内设计 68. 随机加入服装设计 69. 随机加入平面设计 70. 随机加入工业设计 71. 随机加入产品设计 72. 随机加入网页设计 73. 随机加入UI设计 74. 随机加入UX设计 75. 随机加入游戏设计 76. 随机加入交互设计 77. 随机加入数据可视化 78. 随机加入机器学习 79. 随机加入深度学习 80. 随机加入人工智能 81. 随机加入自然语言处理 82. 随机加入计算机视觉 83. 随机加入语音识别 84. 随机加入图像处理 85. 随机加入图像分割 86. 随机加入图像分类 87. 随机加入目标检测 88. 随机加入图像生成 89. 随机加入图像重建 90. 随机加入图像修复 91. 随机加入图像增强 92. 随机加入图像压缩 93. 随机加入图像转换 94. 随机加入图像识别 95. 随机加入图像分析 96. 随机加入图像处理算法 97. 随机加入图像处理工具 98. 随机加入图像处理库 99. 随机加入图像处理框架 100. 随机加入图像处理平台 以上就是100数据增强方法,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

big_matster

您的鼓励,是给予我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值