Github|斯坦福大学教你 用tensorflow开发Seq2Seq聊天机器人(附源代码)
来源:GitHub 作者:
一种使用注意力解码的序列模型神经网络的聊天机器人。它是一个功能完整的聊天机器人。
系统是基于谷歌翻译的tensorflow模型,地址是: https://github.com/tensorflow/models/blob/master/tutorials/rnn/translate/.
序列模型基于 Cho et al.(2014),由chip huyen生成,作为作业3的开始代码,CS20SI课程“TensorFlow for Deep Learning Research" ,cs20si.stanford.edu
详细的作业讲义和有关训练时间的信息可以在 http://web.stanford.edu/class/cs20si/assignments/a3.pdf找到。
对话示例
在下面GitHub链接中的output_convo.txt文件里有更多的对话内容。
使用方法
第一步:
在你的工程目录下创建一个数据文件夹,从https://www.cs.cornell.edu/~cristian/Cornell_Movie-Dialogs_Corpus.html下载“康奈尔”电影对话框语料库(Cornell Movie-Dialogs Corpus)并解压。
第二步:
执行 python data.py
这个操作是对康奈尔数据集进行预处理。
第三步:
执行 python chatbot.py --mode[train/chat]
如果现在是训练模式,那么程序将会是在训练聊天机器人。默认情况下,如果之前有训练过的模型,新的模型会从旧模型中恢复相关参数来继续进行训练。
当然,如果您想从头开始训练,请删除检查点文件夹中的所有检查点。
如果是聊天模式,那么你将会和机器人进行交流互动。
运行反馈
默认情况下,你和机器人所有的聊天记录都会写入保存到output_convo.txt。如果你运行聊天机器人,我诚恳地请求您能将交流记录文件output_convo.txt发送给我,这样我将会改善聊天机器人。我的邮件地址:huyenn@stanford.edu
GitHub资源:
https://github.com/chiphuyen/tf-stanford-tutorials/tree/master/assignments/chatbot