nlp_xiaojiang/AugmentText/README.md

74 lines
5.4 KiB
Markdown
Raw Permalink Normal View History

2019-04-09 23:26:23 +08:00
# AugmentText
2019-04-13 00:21:18 +08:00
# 概述
- 相较于图像数据增强,文本数据增强,现在还是有很多问题的;
- 往更严格的角度看,文本数据增强更像是同义句生成,但又不完全是,它是一个更大范围的概念;
- 很多时候,需要文本数据增强,一个是常常遇到的数据不足,另一个就是数据不均衡。
- 我的感觉是,文本数据增强的有效方法:
- 一个是回译(翻译两次,例如中文到英文,然后英文再到中文),
- 另外一个就是EDA同义词替换、插入、交换和删除插入和交换当时确实没有想到用
2019-04-09 23:26:23 +08:00
2019-04-13 00:21:18 +08:00
###github项目地址为###
2019-04-09 23:26:23 +08:00
https://github.com/yongzhuo/nlp_xiaojiang/tree/master/AugmentText
2019-04-13 00:21:18 +08:00
# 回译(相对靠谱)
- 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
2019-04-09 23:26:23 +08:00
- seq2seq
- bert
- transformer
- GAN
2021-09-23 11:34:12 +08:00
## 预训练模型-UMILM
使用BERT(UNILM)的生成能力, 即BERT的NSP句对任务
- simbert(bert + unilm + adv): [https://github.com/ZhuiyiTechnology/simbert](https://github.com/ZhuiyiTechnology/simbert)
- simbert: [鱼与熊掌兼得融合检索和生成的SimBERT模型](https://spaces.ac.cn/archives/7427)
- roformer-sim: [https://github.com/ZhuiyiTechnology/roformer-sim](https://github.com/ZhuiyiTechnology/roformer-sim)
- simbert-v2(roformer + unilm + adv + bart + distill): [SimBERTv2来了融合检索和生成的RoFormer-Sim模型](https://spaces.ac.cn/archives/8454)
## 回译(开源模型效果不是很好)
中文转化成其他语言(如英语), 其他语言(如英语)转化成中文, 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
2019-04-09 23:26:23 +08:00
2019-04-13 00:21:18 +08:00
# 参考/感谢
* eda_chinese[https://github.com/zhanlaoban/eda_nlp_for_Chinese](https://github.com/zhanlaoban/eda_nlp_for_Chinese)
* 主谓宾提取器:[https://github.com/hankcs/MainPartExtractor](https://github.com/hankcs/MainPartExtractor)
* HMM生成句子[https://github.com/takeToDreamLand/SentenceGenerate_byMarkov](https://github.com/takeToDreamLand/SentenceGenerate_byMarkov)
* 同义词等:[https://github.com/fighting41love/funNLP/tree/master/data/](https://github.com/fighting41love/funNLP/tree/master/data/)
* 小牛翻译:[http://www.niutrans.com/index.html](http://www.niutrans.com/index.html)