nlp_xiaojiang/AugmentText/README.md
2021-09-23 11:34:12 +08:00

74 lines
5.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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](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
# 参考/感谢
* 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)