自然语言处理(nlp),小姜机器人(闲聊检索式chatbot),BERT句向量-相似度(Sentence Similarity),XLNET句向量-相似度(text xlnet embedding),文本分类(Text classification), 实体提取(ner,bert+bilstm+crf),数据增强(text augment, data enhance),同义句同义词生成,句子主干提取(mainpart),中文汉语短文本相似度,文本特征工程,keras-http-service调用
Go to file
2021-04-16 22:37:04 +08:00
AugmentText fix sample 2021-04-16 22:37:04 +08:00
ChatBot fix sample 2021-04-16 22:37:04 +08:00
ClassificationText bert layers 2019-08-24 23:40:02 +08:00
conf bert layers 2019-08-24 23:40:02 +08:00
Data xlnet embedding and similarity 2019-08-28 01:51:17 +08:00
FeatureProject fix sim 2019-11-12 19:59:53 +08:00
Ner fix syn_words and CRF 2020-11-28 09:27:07 +08:00
result_test Add files via upload 2019-04-17 20:21:40 +08:00
utils Update text_tools.py 2019-05-12 09:49:24 +08:00
.gitignore Initial commit 2019-04-09 15:17:06 +08:00
LICENSE Initial commit 2019-04-09 15:17:06 +08:00
python-version-time Add files via upload 2019-04-09 15:26:07 +08:00
readme.md url 2020-05-06 20:11:27 +08:00
requestments.txt xlnet embedding and similary 2019-08-28 02:01:02 +08:00
setup.py Add files via upload 2019-07-05 02:08:02 +08:00

nlp_xiaojiang

AugmentText

- 回译(效果比较好)
- EDA同义词替换、插入、交换和删除效果还行
- HMM-marko质量较差
- syntax依存句法、句法、语法书简单句还可
- seq2seq深度学习同义句生成效果不理想seq2seq代码大都是 [https://github.com/qhduan/just_another_seq2seq] 的,效果不理想)

ChatBot

- 检索式ChatBot
    - 像ES那样直接检索(如使用fuzzywuzzy),只能字面匹配
    - 构造句向量,检索问答库,能够检索有同义词的句子
- 生成式ChatBottodo
    - 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 featureML
    - distance_text_or_vec:各种计算文本、向量距离等
    - distance_vec_TS_SSTS_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_idfchicken_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

参考/感谢

其他资料