推荐理由:自然语言处理(nlp),小姜机器人(闲聊检索式chatbot),BERT句向量-相似度(Sentence Similarity),XLNET句向量-相似度(text xlnet embedding),文本分类(Text classification), 实体提取(ner,bert+bilstm+crf),数据增强(text augment, data enhance),同义句同义词生成,句子主干提取(mainpart),中文汉语短文本相似度,文本特征工程,keras-http-service调用 nlp_xiaojiang AugmentText

适用人群:自然语言

推荐指数:1.4k

项目名称:nlp_xiaojiang

自然语言处理nlp小姜机器人(闲聊) nlp_xiaojiang - 996station | 996技术站

=========================================================================

nlp_xiaojiang

AugmentText


- 回译(效果比较好)

- EDA(同义词替换、插入、交换和删除)(效果还行)

- HMM-marko(质量较差)

- syntax(依存句法、句法、语法书)(简单句还可)

- seq2seq(深度学习同义句生成,效果不理想,seq2seq代码大都是 [https://github.com/qhduan/just_another_seq2seq] 的,效果不理想)

- 预训练(UNILM生成、开源模型回译)

ChatBot


- 检索式ChatBot

- 像ES那样直接检索(如使用fuzzywuzzy),只能字面匹配

- 构造句向量,检索问答库,能够检索有同义词的句子

- 生成式ChatBot(todo)

- seq2seq

- GAN

ClassificationText


- bert+bi-lstm(keras) approach 0.78~0.79% acc of weBank Intelligent Customer Service Question Matching Competition

- bert + text-cnn(keras) approach 0.78~0.79% acc of weBank Intelligent Customer Service Question Matching Competition

- bert + r-cnn(keras) approach 0.78~0.79% acc of weBank Intelligent Customer Service Question Matching Competition

- bert + avt-cnn(keras) approach 0.78~0.79% acc of weBank Intelligent Customer Service Question Matching Competition

Ner


- bert命名实体提取(bert12层embedding + bilstm + crf)

- args.py(配置一些参数)

- keras_bert_embedding.py(bert embedding)

- keras_bert_layer.py(layer层, 主要有CRF和NonMaskingLayer)

- keras_bert_ner_bi_lstm.py(主函数, 定义模型、数据预处理和训练预测等)

- layer_crf_bojone.py(CRF层, 未使用)

FeatureProject


- bert句向量、文本相似度

- bert/extract_keras_bert_feature.py:提取bert句向量特征

- bert/tet_bert_keras_sim.py:测试xlnet句向量cosin相似度

- xlnet句向量、文本相似度

- xlnet/extract_keras_xlnet_feature.py:提取bert句向量特征

- xlnet/tet_xlnet_keras_sim.py:测试bert句向量cosin相似度

- normalization_util指的是数据归一化

- 0-1归一化处理

- 均值归一化

- sig归一化处理

- sim feature(ML)

- distance_text_or_vec:各种计算文本、向量距离等

- distance_vec_TS_SS:TS_SS计算词向量距离

- cut_td_idf:将小黄鸡语料和gossip结合

- sentence_sim_feature:计算两个文本的相似度或者距离,例如qq(问题和问题),或者qa(问题和答案)

run(可以在win10下,pycharm下运行)

  • 1.创建tf-idf文件等(运行2需要先跑1):
    python cut_td_idf.py
  • 2.计算两个句子间的各种相似度,先计算一个预定义的,然后可输入自定义的(先跑1):
    python sentence_sim_feature.py
  • 3.chatbot_1跑起来(fuzzy检索-没)(独立):
    python chatbot_fuzzy.py
  • 4.chatbot_2跑起来(句向量检索-词)(独立):
    python chatbot_sentence_vec_by_word.py
  • 5.chatbot_3跑起来(句向量检索-字)(独立):
    python chatbot_sentence_vec_by_char.py
  • 6.数据增强(eda): python enhance_eda.py
  • 7.数据增强(marko): python enhance_marko.py
  • 8.数据增强(translate_account): python translate_tencent_secret.py
  • 9.数据增强(translate_tools): python translate_translate.py
  • 10.数据增强(translate_web): python translate_google.py
  • 11.数据增强(augment_seq2seq): 先跑 python extract_char_webank.py生成数据, 再跑 python train_char_anti.py 然后跑 python predict_char_anti.py
  • 12.特征计算(bert)(提取特征、计算相似度): run extract_keras_bert_feature.py run tet_bert_keras_sim.py

Data


- chinese_L-12_H-768_A-12(谷歌预训练好的模型)

github项目中只是上传部分数据,需要的前往链接: https://pan.baidu.com/s/1I3vydhmFEQ9nuPG2fDou8Q 提取码: rket

解压后就可以啦

- chinese_xlnet_mid_L-24_H-768_A-12(哈工大训练的中文xlnet, mid, 24层, wiki语料+通用语料)

- 下载地址[https://github.com/ymcui/Chinese-PreTrained-XLNet](https://github.com/ymcui/Chinese-PreTrained-XLNet)

- chinese_vector

github项目中只是上传部分数据,需要的前往链接: https://pan.baidu.com/s/1I3vydhmFEQ9nuPG2fDou8Q 提取码: rket

- 截取的部分word2vec训练词向量(自己需要下载全效果才会好)

- w2v_model_wiki_char.vec、w2v_model_wiki_word.vec都只有部分,词向量w2v_model_wiki_word.vec可以用这个下载地址的替换[https://pan.baidu.com/s/14JP1gD7hcmsWdSpTvA3vKA](https://pan.baidu.com/s/14JP1gD7hcmsWdSpTvA3vKA)

- corpus

github项目中只是上传部分数据,需要的前往链接: https://pan.baidu.com/s/1I3vydhmFEQ9nuPG2fDou8Q 提取码: rket

- ner(train、dev、test----人民日报语料)

- webank(train、dev、test)

- 小黄鸡和gossip问答预料(数据没清洗),chicken_and_gossip.txt

- 微众银行和支付宝文本相似度竞赛数据, sim_webank.csv

- sentence_vec_encode_char

- 1.txt(字向量生成的前100000句向量)

- sentence_vec_encode_word

- 1.txt(词向量生成的前100000句向量)

- tf_idf(chicken_and_gossip.txt生成的tf-idf)

requestments.txt


- python_Levenshtei

- 调用Levenshtein,我的python是3.6,

- 打开其源文件: https://www.lfd.uci.edu/~gohlke/pythonlibs/

- 查找python_Levenshtein-0.12.0-cp36-cp36m-win_amd64.whl下载即可

- pyemd

- pyhanlp

- 下好依赖JPype1-0.6.3-cp36-cp36m-win_amd64.whl

参考/感谢

  • eda_chinese:https://github.com/zhanlaoban/eda_nlp_for_Chinese
  • 主谓宾提取器:https://github.com/hankcs/MainPartExtractor
  • HMM生成句子:https://github.com/takeToDreamLand/SentenceGenerate_byMarkov
  • 同义词等:https://github.com/fighting41love/funNLP/tree/master/data/
  • 小牛翻译:小牛翻译开放平台 - 机器翻译找小牛

其他资料

  • bert(keras):https://github.com/CyberZHG/keras-bert
  • NLP数据增强汇总:https://github.com/quincyliang/nlp-data-augmentation
  • 知乎NLP数据增强话题:自然语言处理中有哪些常用的数据增强的方式呢? - 知乎
  • chatbot_seq2seq_seqGan(比较好用):https://github.com/qhduan/just_another_seq2seq
  • 自己动手做聊天机器人教程: https://github.com/warmheartli/ChatBotCourse

开源地址

https://github.com/yongzhuo/nlp_xiaojiang

开源是一种精神,致敬屏幕背后的你!

自然语言处理nlp小姜机器人(闲聊) nlp_xiaojiang-996station GitHub鉴赏官相关推荐

  1. 闲聊机器人实例四:python实现小姜机器人(检索式chatbot_sentence_vec_by_bert_bert句向量)

    bert构建生成句向量,再计算相似度,匹配问答库中的标准问题.为什么使用bert倒数第二层输出构建句向量. 小姜机器人.python.tensorflow.chatbot.dialog.bert中文短 ...

  2. 闲聊机器人实例二:python实现小姜机器人(检索式chatbot_fuzzywuzzy)

    小姜机器人.python.tensorflow.chatbot.dialog.fuzzywuzzy.搜索.检索式.生成式.聊天.闲聊.对话.问答.多轮.单轮.开放.封闭.任务.垂直等等描述,都属于自动 ...

  3. 闲聊机器人实例三:python实现小姜机器人(检索式chatbot_sentence_vec_by_word_词向量句向量)

    word2vec词向量构建生成句向量,再计算相似度,匹配问答库中的标准问题. 小姜机器人.python.tensorflow.chatbot.dialog.fuzzywuzzy.检索式.生成式.聊天. ...

  4. 闲聊机器人实例一:python实现小姜机器人chatbot_xiaojiang聊天(概述)

    小姜机器人.python.tensorflow.chatbot.dialog.检索式.生成式.聊天.闲聊.对话.问答.多轮.单轮.开放.封闭.任务.垂直等等描述,都属于自动问答领域.而且已经有了比较大 ...

  5. 闲聊机器人实例四:python实现小姜机器人,BERT检索模型,新增一个余弦相似度Cosine层, 解决BERT句向量编码传输耗时问题。部署tf-serving

    BERT检索模型,新增一个余弦相似度Cosine层, 解决BERT句向量编码传输耗时问题.部署tf-serving 业务需求 BERT向量召回问答对, FAQ标准问答对数据量不大 不能把BERT编码部 ...

  6. NLP强者!小i机器人再入“AI最佳掘金案例年度榜单”

    12月18日,雷锋网正式揭晓 "2018 AI最佳掘金案例年度榜单",小i机器人作为AI+金融领域的杰出代表获得"最佳NLP综合应用解决方案奖",这也是小i机器 ...

  7. 自然语言处理NLP星空智能对话机器人系列:NLP on Transformers 101 第16章:Kaggle BERT比赛CommonLit Readability Prize赛题解析

    自然语言处理NLP星空智能对话机器人系列:NLP on Transformers 101 第16章:Kaggle BERT比赛CommonLit Readability Prize赛题解析 第16章: ...

  8. 自然语言处理NLP星空智能对话机器人系列:深入理解Transformer自然语言处理 Noisy relationships

    自然语言处理NLP星空智能对话机器人系列:深入理解Transformer自然语言处理 Noisy relationships 目录 Case 2: Noisy relationships Case 3 ...

  9. 自然语言处理NLP星空智能对话机器人系列:深入理解Transformer自然语言处理 基于BERT模型微调实现句子分类

    自然语言处理NLP星空智能对话机器人系列:深入理解Transformer自然语言处理 基于BERT模型微调实现句子分类 目录 基于BERT模型微调实现句子分类案例实战 Installing the H ...

最新文章

  1. 《转》Java Process应用之惑
  2. Python的构造函数和析构函数,对象和类的不一样
  3. Mysql数据库Sql语句执行效率-Explain
  4. 三菱fx2n做从站的modbus通讯_三菱FX2N与昆仑通态(MCGS)无线编程口通讯例程
  5. Python + Selenium 自动发布文章(一):开源中国
  6. (转载)Web各大服务器区分(整理)
  7. 51nod 1133 不重叠的线段
  8. 《程序员》: Andrew Ng谈Deep Learning
  9. php和r关系,R和php之间的集成
  10. java做游戏前端_小游戏——金庸奇侠传(JAVA,对面向对象的进一步了解)
  11. 苹果手机服务器暂时不可用,服务暂时不可用【操作途径】
  12. win10电脑插上U盘不显示盘符如何办?
  13. Leetcode 2233. Maximum Product After K Increments
  14. 微信小程序font-family中提供的十四种字体
  15. 【V2ray 报错 failed to read response header】
  16. stm32f407探索者开发板资料
  17. 获取UNIX系统时间
  18. 中科云网控制人与董事长反目
  19. JAVA执行javascript方法
  20. 2021最新零基础入门—网站建站教程(新手必备)

热门文章

  1. ht城市介绍人口数量Html,城市人口热力图 城市热力图查询
  2. Mac-homebrew使用(Mac下包管理工具)
  3. WARNING: Waited 15 secs for write IO to PST disk 4 in group 3 in alert_asm.log
  4. 【视觉-单目三维重建-理论篇】单目视觉三维重建----论文调研1
  5. 计算机关机时出现蓝屏,关机蓝屏,教您电脑关机蓝屏怎么解决
  6. DevOps元素周期表——1号元素 Gitlab
  7. php数字转换题目,PHP将整数数字转换为罗马数字实例分享
  8. python断点续传下载_Python 3 爬虫|第12章:并发下载大文件 支持断点续传
  9. Java多线程面试题:子线程循环10次,接着主线程循环100,接着又回到子线程循环10次, 接着再回到主线程又循环100,如此循环50次
  10. 数仓第6篇:大数据可视化BI工具