一.中文文本数据增强

(中文、同义句生成、enhance、augment、text、data、nlp、样本不均衡、语料不够、数据不足、扩充增加),相较于图片,中文文本数据强的效果似乎没那么靠谱(效果没那么好),也更加困难,但是捏,很多时候,使用中文文本数据增强还是很有必要的,尤其是项目初期语料不够(估计只能手工构建),或者是样本严重不均衡的情况(比如说分类中一个类有200条数据,另外一个类有100万条数据)。

这个时候,我们就需要使用中文文本数据增强了,通俗的说,也可理解成同义句生成。看见过paperweekly上的一篇论文介绍,说中文文本的语序不是那么重要,如果存在部分词语顺序错误、错别字,人类也能get这句话是什么意思,比如说“大漠帝国并不是一个历史上存在的国度,人类在实真的史历上没有录记,这是真的。”一眼看去,我们就能识别这句话什么意思,少部分语序错误我们也能够区分。

又比如如果遮挡住,一句话的小半边或者是一半,我们依旧可以理解它们。

所以,在分类、阅读理解、对话系统、检索......大多数领域,是可以容忍噪声的,我们引入同义句,也是有一定道理的。

二.同义词方案

记得有一篇分类augment论文《Easy data augmentation techniques for boosting performance on text classification tasks》,

paper地址是:  https://arxiv.org/abs/1901.11196

github实现是: https://github.com/jasonwei20/eda_nlp

主要还是对英文语料进行词语操作,替换(用同义词替换文本中的部分词语,这个很容易想得到的)、删除(删除一个词语可以理解吧,这个也容易想到)、插入(即随机选择一个原句的词语的同义词插入,这个确实没想到,感觉比较赏心悦目)、交换(随机抽取词语交换顺序,这也很有意思)。

EDA对不同模型的提升:

EDA对分类准确率的提升:

EDA四个方法的效果:

EDA的增强比率:

虽然看起来效果不明显,但也聊胜于无吧,尤其是分类训练语料少的时候,比如说几十条数据,想想都让人绝望呀。

三、中文实现:

相信这个算法很容易理解, 自己的中文版在初始版本的基础上加了一些过滤,同时调高了同义词替换、同义词插入的权重。

github的实现在: https://github.com/yongzhuo/nlp_xiaojiang/blob/master/AugmentText/augment_eda/enhance_eda.py

初始版本在: https://github.com/zhanlaoban/eda_nlp_for_Chinese

四.  改进:

1.  同义词获取的方案,除了那个Synonyms,你也可以用自己的,或者公开的词向量模型,获取最相似的。

希望对你有所帮助!

文本数据增强二(EDA、同义词替换-新增-交换-删除-生成同义句)相关推荐

  1. 文本数据增强(EDA、同义词替换-新增-交换-删除-生成同义句)

    在中文数据少的情况下,可以尝试做数据增强,进行 同义词替换-新增-交换-删除-生成同义句,刚好用到,效果还可以,转载一篇使用博客 原文链接: https://blog.csdn.net/rensihu ...

  2. 数据增强_NLP 数据增强方法 EDA

    当数据集比较少的时候,往往会导致模型陷入过拟合.数据增强是一种比较有效的扩充数据集的方法,在计算机视觉领域有比较重要的作用.但是在 NLP 领域数据增强的方法相对少一些,本文介绍一种比较传统的 NLP ...

  3. 文本数据增强三(回译,不同语种间的翻译)

    一.中文文本数据增强 (中文文本.同义句生成.扩充,增加,enhance.augment.text.nlp.样本不均衡.语料不够.数据不足.扩充增加),相较于图片,中文文本数据强的效果似乎没那么靠谱( ...

  4. 文本数据增强-同义词替换、随机交换、随机插入、随机删除

    根据zhangy代码改写,主要针对千言问题匹配进行文本数据增强. 依赖安装 pip install jieba pip install synonyms eda.py import jieba imp ...

  5. 人机交互系统(3.1)——NLP文本数据增强方法

    一.数据增强的背景和应用场景 随着AI技术的逐步发展,更好的神经网络模型对数据规模的要求也逐步提升.而在分类任务中,若不同类别数据量相差很大,模型则会出现过拟合现象,严重影响预测的正确性. 从广义上来 ...

  6. 文本数据增强一(概述、中文、同义句生成、enhance、augment、text、nlp)

    文本数据增强(扩充增加.中文.同义句生成.enhance.augment.text.nlp) AugmentText 概述 - 相较于图像数据增强,文本数据增强,现在还是有很多问题的: - 往更严格的 ...

  7. NLP文本数据增强热门技术

    NLP文本数据增强热门技术 背景 word替换 同义词替换 词向量替换 掩码语言模型(Masked Language Model,MLM) 基于tfidf的词替换 反向翻译 文本表面转换 随机噪声 注 ...

  8. nlp文本数据增强_如何使用Texthero为您的NLP项目准备基于文本的数据集

    nlp文本数据增强 Natural Language Processing (NLP) is one of the most important fields of study and researc ...

  9. 【NLP】文本数据分析文本特征处理文本数据增强

    一.文本数据分析 文本数据分析的作用: 文本数据分析能够有效帮助我们理解数据语料, 快速检查出语料可能存在的问题, 并指导之后模型训练过程中一些超参数的选择. 常用的几种文本数据分析方法: 标签数量分 ...

最新文章

  1. Android--Otto事件总线 -- 组件之间通讯框架使用 --模式解析
  2. 使用Json.NET来序列化所需的数据
  3. tomcat如何增大并发_Tomcat 7最大并发连接数的正确修改方法
  4. The proctime attribute ‘rowtime‘ must not replace an existing field.
  5. vue父组件异步获取动态数据传递给子组件获取不到值
  6. python linux调试_python调试
  7. 深入理解计算机系统第四版_《深入理解计算机系统》读书笔记 —— 第一章 计算机系统漫游...
  8. 24解析函数的级数表示(三)
  9. JAVA数组元素的遍历_Java数组元素的遍历
  10. CAXA_三维电子图板v2
  11. 机载激光雷达原理与应用科普(三)
  12. Android 启动性能、启动性能分析以及常见的启动性能问题分类
  13. 央行:个人征信基本实现金融信用信息广覆盖
  14. Springboot访问静态页面
  15. Win11怎么关闭休眠?Win11禁止休眠设置方法
  16. 【Java异常】Variable used in lambda expression should be final or effectively final
  17. imchat视频聊天室 linux,基于Nuxt+Vant聊天模板|nuxt.js仿微信界面|红包|朋友圈
  18. 学习经验分享之十一:硕士论文撰写心得
  19. nginx 404解决
  20. html p行间距离 p标签上下行间距CSS设置

热门文章

  1. Linux常用软件总结
  2. 理解 AI 最伟大的成就之一:卷积神经网络的局限性
  3. 香港特区银行怎么开帐户?
  4. A8 CPRS结构
  5. @ConfigurationProperties报错问题
  6. 区块链快速入门(六)——区块链密码学与安全相关技术
  7. 1.Supervised Learning with Projected Entangled Pair States
  8. 【论文精度】CodeBERT——基于自然语言和编程语言的预训练模型
  9. java 多线程 从无到有_多线程断点续传(简单demo)——从无到有
  10. WebMvcConfigurer配置HandlerInterceptor拦截器失效