nlp_xiaojiang/AugmentText
2021-09-23 11:34:12 +08:00
..
augment_eda fix syn_words and CRF 2020-11-28 09:27:07 +08:00
augment_keyword get word-sim by label 2020-10-26 11:28:46 +08:00
augment_marko Add files via upload 2019-04-09 23:26:23 +08:00
augment_nmt add augment-nmt and augment-simbert 2021-09-23 11:34:12 +08:00
augment_seq2seq Update train_word_anti.py 2019-04-21 22:01:06 +08:00
augment_simbert add augment-nmt and augment-simbert 2021-09-23 11:34:12 +08:00
augment_syntax Update augment_mainpart.py 2019-04-11 10:23:02 +08:00
augment_translate fix sample 2021-04-16 22:37:04 +08:00
__init__.py Add files via upload 2019-04-09 23:26:23 +08:00
README.md add augment-nmt and augment-simbert 2021-09-23 11:34:12 +08:00

AugmentText

概述

- 相较于图像数据增强,文本数据增强,现在还是有很多问题的;
- 往更严格的角度看,文本数据增强更像是同义句生成,但又不完全是,它是一个更大范围的概念;
- 很多时候,需要文本数据增强,一个是常常遇到的数据不足,另一个就是数据不均衡。
- 我的感觉是,文本数据增强的有效方法:
- 一个是回译(翻译两次,例如中文到英文,然后英文再到中文),
- 另外一个就是EDA同义词替换、插入、交换和删除插入和交换当时确实没有想到用

###github项目地址为### https://github.com/yongzhuo/nlp_xiaojiang/tree/master/AugmentText

回译(相对靠谱)

- 1.在线翻译工具(中文->[英、法、德、俄、西班牙、葡萄牙、日、韩、荷兰、阿拉伯]等语言)
   - 谷歌翻译(google),谷歌翻译不用说,应该是挺好的,语言支持最多,不过我暂时还不会翻墙注册账户
   - 百度翻译(baidu),百度翻译不用说,国内支持翻译语言最多的了(28种互译)而且最大方了注册账户后每月有200万字符的流量大约是2M吧超出则49元人民币/百万字符
   - 有道翻译(youdao)初始接触网络的时候我最喜欢用有道翻译了但死贵只有100元体验金差评。才支持11种语言48元/百万字符
   - 搜狗翻译(sougou)对于搜狗印象还行吧毕竟是能做搜索引擎的公司嘛。78种语言200元体验金常见语言40元/百万字符,非常见语言60元/百万字符
   - 腾讯翻译(tencent)总觉得腾讯AI是后知后觉了公司调用腾讯接口老是变来变去的这次也是被它的sign加密给恶心到了空格改为+。或许对企鹅而言,人工智能不那么重要吧。
                      -有两个一个是翻译君一个是AIlab什么的支持的语言少些。似乎还在开发中不限额不保证并发php开发没有python的demo
   - 必应翻译(bing),微软的东西,你懂的,没有尝试,直接在网页上试试还可以吧
   - 可以采用工具、模拟访问网页、或者是注册账号等
- 2.离线翻译工具
   - 1.自己写收集些语料seq2seq,nmt,transformer
   - 2.小牛翻译比较古老的版本了win10或者linux都可以不过只有训练好的中英互译
         地址:http://www.niutrans.com/index.html

同义词替换(还行)

- 1.eda(其实就是同义词替换、插入、交换和删除)   论文《Easy data augmentation techniques for boosting performance on text classification tasks》
    - 中文实现的demogithub项目zhanlaoban/eda_nlp_for_Chinese地址:https://github.com/zhanlaoban/eda_nlp_for_Chinese
- 2.word2vec、词典同义词替换
    - 不同于1中使用synonyms工具查找同义词可以使用gensim的词向量找出某个词最相似的词作为同意词。
    - 还可以使用同义词典机械查找词典可用fighting41love/funNLPgithub地址:https://github.com/fighting41love/funNLP/tree/master/data/

句法、句子扩充、句子缩写(比较困难、)

- 1.句子缩写,查找句子主谓宾等
    - 有个java的项目调用斯坦福分词工具(不爱用),查找主谓宾的
    - 地址为:主谓宾提取器https://github.com/hankcs/MainPartExtractor
- 2.句子扩写  todo
- 3.句法 todo

HMM-marko质量较差

- HMM生成句子原理: 根据语料构建状态转移矩阵jieba等提取关键词开头生成句子
    - 参考项目:https://github.com/takeToDreamLand/SentenceGenerate_byMarkov

深度学习方法 todo

- seq2seq
- bert
- transformer
- GAN

预训练模型-UMILM

使用BERT(UNILM)的生成能力, 即BERT的NSP句对任务 - simbert(bert + unilm + adv): https://github.com/ZhuiyiTechnology/simbert - simbert: 鱼与熊掌兼得融合检索和生成的SimBERT模型 - roformer-sim: https://github.com/ZhuiyiTechnology/roformer-sim - simbert-v2(roformer + unilm + adv + bart + distill): SimBERTv2来了融合检索和生成的RoFormer-Sim模型

回译(开源模型效果不是很好)

中文转化成其他语言(如英语), 其他语言(如英语)转化成中文, Helsinki-NLP开源的预训练模型 - opus-mt-en-zh: https://huggingface.co/Helsinki-NLP/opus-mt-en-zh - opus-mt-zh-en: https://huggingface.co/Helsinki-NLP/opus-mt-zh-en

参考/感谢