TensorFlow练习13: 制作一个简单的聊天机器人

现在很多卖货公司都使用聊天机器人充当客服人员,许多科技巨头也纷纷推出各自的聊天助手,如苹果Siri、Google Now、Amazon Alexa、微软小冰等等。前不久有一个视频比较了Google Now和Siri哪个更智能,貌似Google Now更智能。

本帖使用TensorFlow制作一个简单的聊天机器人。这个聊天机器人使用中文对话数据集进行训练(使用什么数据集训练决定了对话类型)。使用的模型为RNN(seq2seq),和前文的《RNN生成古诗词》《RNN生成音乐》类似。

相关博文:

数据集

我使用现成的影视对白数据集,跪谢作者分享数据。

下载数据集:

数据预处理:

创建词汇表,然后把对话转为向量形式,参看练习1和7:

生成的train_encode.vec和train_decode.vec用于训练,对应的词汇表是train_encode_vocabulary和train_decode_vocabulary。

训练

需要很长时间训练,这还是小数据集,如果用百GB级的数据,没10天半个月也训练不完。

使用的模型:seq2seq_model.py

代码:

聊天机器人

使用训练好的模型:

测试

TensorFlow练习13: 制作一个简单的聊天机器人

额,好差劲。

上面的实现并没有用到任何自然语言的特性(分词、语法等等),只是单纯的使用数据强行提高它的“智商”。

后续练习:中文语音识别、文本转语音

相关文章

《TensorFlow练习13: 制作一个简单的聊天机器人》有10个想法

  1. 在CPU训练的情况下,我训练了两天都没收敛(利用第三段代码进行训练),不知道什么情况(数据集是也是Blog中对话数据集)?

发表评论

电子邮件地址不会被公开。 必填项已用*标注