网上找到资料:
http://www.shareditor.com/bloglistbytag/?tagname=%E8%87%AA%E5%B7%B1%E5%8A%A8%E6%89%8B%E5%81%9A%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA
倍感欣喜,这个资料太全面了。向科学致敬。
http://www.shareditor.com/blogshow?blogId=136 自己动手做聊天机器人 四十二-(重量级长文)从理论到实践开发自己的聊天机器人
目前来说这几个模型最为著名,有空可以拜读下哈。
什么是循环神经网络和LSTM
可以参考我的这篇文章自己动手做聊天机器人 二十六-图解递归神经网络(RNN),或者直接看Christopher Olah的http://colah.github.io/posts/2015-08-Understanding-LSTMs/,这篇博文被业界引用无数次了,经典中的经典。
什么是seq2seq模型
seq2seq是基于循环神经网络的一种序列到序列模型,语言翻译、自动问答等都属于序列到序列的场景,都可以使用seq2seq模型,用seq2seq实现聊天机器人的原理可以看下这篇文章http://suriyadeepan.github.io/2016-06-28-easy-seq2seq/。tensorflow中已经有实现好的api供我们使用,但因为参数较多、原理复杂,理解起来比较晦涩,本文就让我带着大家一步一步探索并使用。
什么是attention模型
attention模型(注意力模型)是为了解决seq2seq中解码器只接受编码器最后一个输出而远离了之前的输出导致的信息丢失的问题,从原理上讲,一个回答一般是基于问题中一些关键位置的信息,也就是注意力集中的地方,具体细节可以看下http://www.wildml.com/2016/01/attention-and-memory-in-deep-learning-and-nlp/
用tensorflow的seq2seq制作你自己的聊天机器人
到这里,假设你已经掌握了上面的理论部分,现在我们直接锁定在tensorflow提供给我们的强大api上。想真正利用好tensorflow必须理解好它的重要接口及其所有参数,所以第一步我们找到我们这次要使用的最关键的接口:https://www.tensorflow.org/api_docs/python/tf/contrib/legacy_seq2seq/embedding_attention_seq2seq
)