使用TensorFlow实现Sequence to Sequence的聊天机器人

聊天机器人

我们说的聊天机器人是指智能聊天机器人。现在主要用在对话系统(Dialogue Systems),问答系统(QA)和语音助手。

基于检索的模型 vs. 产生式模型

基于检索的模型(Retrieval-Based Models)有一个预先定义的"回答集(repository)",包含了许多回答(responses),还有一些根据输入的问句和上下文(context),以及用于挑选出合适的回答的启发式规则。这些启发式规则可能是简单的基于规则的表达式匹配,或是相对复杂的机器学习分类器的集成。
产生式模型(Generative Models)不依赖于预先定义的回答集,它会产生一个新的回答。经典的产生式模型是基于机器翻译技术的,只不过不是将一种语言翻译成另一种语言,而是将问句"翻译"成回答。

Seq2Seq

Sequence To Sequence最早应用在机器翻译领域,后来谷歌发现也可以把它用到问答系统。


使用TensorFlow实现Sequence to Sequence的聊天机器人_第1张图片
image

简单的例子

最简单的例子来自于Chatbots with Seq2Seq
中文实现Seq2Seq_Chatbot_QA
这个例子用到了Padding, Bucketing,word vectors,Attention Mechanism等技术来满足Seq2Seq的要求。

链接

Seq2Seq_Chatbot_QA
easy_seq2seq
Tensorflow搞一个聊天机器人

你可能感兴趣的:(使用TensorFlow实现Sequence to Sequence的聊天机器人)