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

来源:互联网 发布:java七牛上传图片demo 编辑:程序博客网 时间:2024/06/10 06:27

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

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

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

相关博文:

  • 使用深度学习打造智能聊天机器人
  • 脑洞大开:基于美剧字幕的聊天语料库建设方案
  • 中文对白语料
  • https://www.tensorflow.org/versions/r0.12/tutorials/seq2seq/index.html
  • https://github.com/tflearn/tflearn/blob/master/examples/nlp/lstm_generator_shakespeare.py

数据集

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

下载数据集:

数据预处理:

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

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

训练

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

使用的模型:seq2seq_model.py。

代码:

聊天机器人

使用训练好的模型:

测试

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

额,好差劲。

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

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



http://blog.topspeedsnail.com/archives/10735

阅读全文
0 1
原创粉丝点击