Skip to content

Commit

Permalink
ReleaseV1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
zhaoyingjun committed Jun 9, 2022
1 parent fc0d434 commit 2d4b339
Show file tree
Hide file tree
Showing 112 changed files with 36 additions and 1,433,361 deletions.
2 changes: 0 additions & 2 deletions .idea/.gitignore

This file was deleted.

2 changes: 1 addition & 1 deletion .idea/chatbot.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

73 changes: 34 additions & 39 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,68 +1,63 @@
# chatbot
一个可以使用自己语料进行训练的中文聊天机器人,目前包含seq2seq tf1.x和tf.2x版本,seqGan版本为tf1.x版本,pytorch版本,欢迎大家实践交流。
# 关于2022年项目更新路线计划
这本是一个我自己学习NLP练手的项目,随着不断和更新和完善,得到了大家的关注和喜爱。但是我知道现在这个项目工程是比较糟糕的,不管是代码结构还是项目融合上都有问题,而且还存在BUG.
这是一个可以使用自己语料进行训练的中文聊天机器人项目,包含tensorflow.2x版本和pytorch版本,欢迎大家实践交流以及Star。

因此准备做以下更新计划:
# ReleaseNote:
V1.0:

1、项目工程重新构建,更加合理,减少冗余的同时保证各个模块的独立性。
1)重新整合了工程架构,实现全工程项目的统一,并正式发布1.0版本;

2、整改前端页面,增加后端管理页面(这块其实主要是找开源的项目来修改),支持可视化配置。
2)新增了大规模分布式训练版本,依托horovod分布式训练框架;

3、只保留TF2.X版本和pytorch版本,模型上优先是seq2seq、seqGAN,增加BERT模型,并引入大规模分布式训练;在功能上增加FAQ问答机器人。
3)pytorch版本进行了更新,增加batch_size训练模式。
# RoadMap:
V1.1:Update:2022-09-30

4、前两项计划在1月31日(大年夜)之前完成并更新,第三项计划在5月1日前完成并更新,因此如果需要保留现在的版本,可以提前下载到本地。
1)增加FAQ问答机器人模块,可以实现闲聊与FAQ问答之间的无缝切换;

# 关于语料的说明
大家可以使用小黄鸡的预料,地址https://github.com/zhaoyingjun/chatbot/blob/master/chineseChatbotWeb-tf2.0/seq2seqChatbot/train_data/xiaohuangji50w_nofenci.conv
2)增加大规模分布式训练的pytorch版本,同样依托horovod分布式训练框架;

# seq2seq版本代码执行顺序

1、在下载好代码和语料之后,将语料文件放入data目录下。
3)优化pytorch版本的效果和代码,使代码结构更加合理。

2、按照 数据预处理器(data_utls.py)-->execute.py(执行器)-->app.py(可视化对话模块)的顺序执行就可以了。
V1.2:Update:2022-12-30

3、超参配置在seq2seq.ini和seq2seq_sever.ini文件中配置
1)引入基于 Transformer的预训练模型作为聊天机器人的后台支撑模型,并实现基于自有语料的fine tune

# seqGAN版本代码执行顺序
1 、在下载好代码和语料之后,将语料文件放入source_data目录下。
2、按照 数据预处理器(source_data_utls.py)-->execute.py(执行器)-->app.py(可视化模块)的顺序执行就可以了
V1.3:Update:2023-03-30

# 参考代码和文献
1)发布SeqGAN版本

http://blog.topspeedsnail.com/archives/10735/comment-page-1#comment-1161。
# seq2seq版本代码执行顺序
大家可以使用小黄鸡的语料,下载地址https://github.com/zhaoyingjun/chatbot/blob/master/chineseChatbotWeb-tf2.0/seq2seqChatbot/train_data/xiaohuangji50w_nofenci.conv

http://www.easyapple.net/?p=1384&from=singlemessage&isappinstalled=0
1)、在下载好代码和语料之后,将语料文件放入train_data目录下,超参配置在config/seq2seq.ini文件中配置。

https://github.com/zpppy/seqGan_chatbot
2)、按照数据预处理器(data_utls.py)-->execute.py(执行器)-->app.py(可视化对话模块)的顺序执行就可以了。

3)、大规模分布式训练版本,参照horovod的启动方式 horovodrun -np n -H host1_ip:port,host2_ip:port,hostn_ip:port python3 excute.py
# 建议环境

ubuntu14.04
python3.5
TF1.X:
tensorflow==1.10.1或者tensorflow-gpu==1.10.1
flask==0.11.1
ubuntu==18.04
python==3.6

TF2.X:
tensorflow==2.0.0
flask==0.11.1

pytorch:
torch==1.11
tensorflow==2.6.0

flask==0.11.1

horovod==0.24(分布式训练)

# 已更新功能清单:
Pytorch:

V1.1:已经增加中文分词,效果是变得更好了。注意在使用分词后,需要增加词典的大小,否则的话会导致词典无法覆盖训练集,导致出现很多的UNK。直接在seq2seq.ini中修改超参数enc_vocab_size和dec_vocab_size的值即可。
torch==1.11.0

V2.0:增加一个基于SeqGan的版本,以增加训练的效果。
flask==0.11.1

V3.0:增加TensorFlow2.0版,训练效果见文件夹内图片,训练数据已经准备好,直接执行python3 execute即可进行训练。 PS:预训练好了一个模型,链接:https://pan.baidu.com/s/1zcrBn8dpOhtBZu_T7TOO9w 密码:s7sq,可以下载使用,模型的效果见效果图,在使用预训练模型前需要先执行data_utl.py文件更新字典。
# 参考代码和文献

V4.0:a、seq2seq模型增加pytorch版本,seqGAN模型pytorch版本稍后更新;b、对当前的工程结构进行调整
# 版本路线图:
V4.1:seqGAN模型增加tf2.0和pytorch版本,敬请期待。
http://blog.topspeedsnail.com/archives/10735/comment-page-1#comment-1161
http://www.easyapple.net/?p=1384&from=singlemessage&isappinstalled=0。
https://github.com/zpppy/seqGan_chatbot

# 交流、联系方式

QQ:934389697
64 changes: 0 additions & 64 deletions chineseChatbotWeb-pytorch/seq2seqChatbot/app.py

This file was deleted.

71 changes: 0 additions & 71 deletions chineseChatbotWeb-pytorch/seq2seqChatbot/data_util.py

This file was deleted.

Loading

0 comments on commit 2d4b339

Please sign in to comment.