forked from zhaoyingjun/chatbot
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
zhaoyingjun
committed
Jun 9, 2022
1 parent
fc0d434
commit 2d4b339
Showing
112 changed files
with
36 additions
and
1,433,361 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.