对话系统
北邮张博
读论文,写程序
展开
-
对话系统综述
在人工智能领域,模仿人类交谈能力的尝试可以追溯到人工智能的早期阶段。在1950年,艾伦·图灵(Alan Turing)提出了一种方法来测试一台机器的智能水平,这个机器被普遍称为图灵测试或模仿游戏。在图灵测试中,一台机器被要求与人交谈。机器的智能水平取决于机器如何能够欺骗人类评估者,使其相信机器是基于文本响应的人类。如果人类的评估者无法区分机器和人类的区别,那么就说机器已经通过了图灵测试,这意味着人工原创 2017-12-21 17:20:26 · 11547 阅读 · 2 评论 -
seq2seq模型详解
在李纪为博士的毕业论文中提到,基于生成的闲聊机器人中,seq2seq是一种很常见的技术。例如,在法语-英语翻译中,预测的当前英语单词不仅取决于所有前面的已翻译的英语单词,还取决于原始的法语输入;另一个例子,对话中当前的response不仅取决于以往的response,还取决于消息的输入。其实,seq2seq最早被用于机器翻译,后来成功扩展到多种自然语言生成任务,如文本摘要和图像标题的生成。本文将介绍原创 2017-12-25 09:41:04 · 23448 阅读 · 3 评论 -
tensorflow中的seq2seq的代码详解
seq2seq模型详解中我们给出了seq2seq模型的介绍,这篇文章介绍tensorflow中seq 2seq的代码,方便日后工作中的调用。本文介绍的代码是版本1.2.1的代码,在1.0版本后,tensorflow要重新给出一套seq2seq的接口,把0.x的seq2seq搬到了legacy_seq2seq下,今天读的就是legacy_seq2seq的代码。目前很多代码还是使用了老的seq2seq原创 2017-12-25 22:28:13 · 7980 阅读 · 0 评论 -
实现基于seq2seq的聊天机器人
前几篇博客介绍了基于检索聊天机器人的实现、seq2seq的模型和代码,本篇博客将从头实现一个基于seq2seq的聊天机器人。这样,在强化学习和记忆模型出现之前的对话系统中的模型就差不多介绍完了。后续将着重介绍强化学习和记忆模型在对话系统中的应用。基于检索的聊天机器人的实现seq2seq模型详解tensorflow中的seq2seq的代码详解闲聊机器人在网上有很多有趣的小例子:c原创 2018-01-17 17:42:21 · 15812 阅读 · 6 评论 -
记忆网络Memory Network
在本专栏的第一篇文章对话系统综述中提到,seq2seq中的记忆依靠rnnCell或者lstmCell实现,但是rnn和lstm的记忆能力实在有限,最多也就记忆十几个时间步长。因此当句子长度增长时或者需要添加先验知识时,seq2seq就不能满足此时对话系统的需求了。比起人工增加RNN隐藏状态大小,我们更愿意任意增加加入模型的知识量,同时对模型本身做出最小限度改变。基本上,我们能用独立存储器——作原创 2018-01-18 11:55:10 · 16557 阅读 · 1 评论 -
记忆网络系列之Key Value Memory Network
在上一篇End to end memory network中提到,在问答系统中加入KB(knowledge bases)能提高训练的效果。但是一些KB,如FreebaseKB有内在的局限性,即1、不完整;2、有固定的模式不能支持所有类型的答案。因此即使KB方式能够满足特定领域的问题,但是不能扩大规模,在任何所有领域都行得通。因此,本文Key-Value Memory Networks for Di原创 2018-01-26 16:30:06 · 6211 阅读 · 1 评论 -
记忆网络模型系列之End to End Memory Network
上文记忆网络介绍模型并非端到端的QA训练,该论文End-To-End Memory Networks就在上文的基础上进行端到端的模型构建,减少生成答案时需要事实依据的监督项,在实际应用中应用意义更大。本文分为三个部分,分别是数据集处理、论文模型讲解及模型构造、模型训练。主要参考代码为MemN2N。数据集处理==论文中使用了babi数据集,关于本数据集在文章Ask Me Anyt原创 2018-01-19 21:55:28 · 5793 阅读 · 2 评论 -
记忆网络系列之Recurrent Entity Network
这篇论文是facebook AI在2017年的ICLR会议上发表的,文章提出了Recurrent Entity Network的模型用来对world state进行建模,根据模型的输入对记忆单元进行实时的更新,从而得到对world的一个即时的认识。该模型可以用于机器阅读理解、QA等领域。本文参考了Google团队的NTM和其他的神经计算单元,能够基于内容和位置对记忆单元进行读写操作。本文在babi原创 2018-01-30 12:15:03 · 2502 阅读 · 0 评论