一个可以使用自己语料进行训练的聊天机器人开源项目

背景

自定义语料训练聊天机器人,可以用于智能客服、在线问答、智能聊天等场景。目前包含seq2seq、seqGAN版本和tf2.0版本。

https://github.com/chatopera/chatbot-seq2seq

后续计划更新pytorch版本,欢迎大家实践交流。

关于语料的说明

以小黄鸡的语料为例子,地址

corpus-小黄鸡

其它语料:

心理咨询问答语料库

保险行业语料库

seq2seq版本代码执行顺序

1、在下载好代码和语料之后,将语料文件放入data目录下。

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

3、超参配置在seq2seq.ini和seq2seq_sever.ini文件中配置。

seqGAN版本代码执行顺序

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

参考代码和文献

seqGan_chatbot

deep-qa

建议环境

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

已更新功能清单

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

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

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

版本路线图

V4.0:

  • a、增加pytorch版本;
  • b、对当前的工程结构进行调整;
  • 敬请期待。
Hai Liang Wang 深度学习 算法 自然语言处理
Chatopera 联合创始人 & CEO,运营聊天机器人平台 https://bot.chatopera.com,让聊天机器人上线!2012年开始从事业务流程云,业务流程引擎开发,2015年开始探索聊天机器人的商业应用,实现基于自然语言交互的流程引擎、语音识别、自然语言理解,2018年出版《智能问答与深度学习》一书。
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值