《Mem2Seq: Effectively Incorporating Knowledge Bases into End-to-EndTask-Oriented Dialog Systems》
- Multihop Attention Networks (MANs)
以往基于注意力的方法的一个共同特点是,问题由一个特征向量表示,并应用一轮注意力来学习答案的表示。然而,在许多情况下,答案的不同部分可能与问题的不同部分有关。作者根据这一点展开本文的工作,构建一个attention,也就是标题说的multihop attention来获得问题的不同部分的语义,然后再通过sequentional attention获得答案的语义表示;进行多次匹配得出score,最后将score相加得到最终的score表示。
COPY ATTENTION MECHANIC:
《pointing the unknown words》
https://zhuanlan.zhihu.com/p/36368316
https://arxiv.org/pdf/1603.08148.pdf、
《pointer networks》
https://arxiv.org/pdf/1506.03134.pdf
https://www.jianshu.com/p/bff3a19c59be
《How to construct deep recurrent neural networks》
https://arxiv.org/pdf/1312.6026.pdf
《Generating Natural Answers by IncorporatingCopying and Retrieving Mechanisms in Sequence-to-Sequence Learning》
https://aclweb.org/anthology/P17-1019
https://zhuanlan.zhihu.com/p/26826765
MEMORY NETWORK:
https://zhuanlan.zhihu.com/c_129532277
《End-To-End Memory Networks》
https://zhuanlan.zhihu.com/p/29679742
https://arxiv.org/pdf/1503.08895.pdf
《Memory Network》
https://zhuanlan.zhihu.com/p/29590286
《Key-Value Memory Networks for Directly Reading Documents》
https://arxiv.org/pdf/1606.03126.pdf
《Tracking The World State With Recurrent Entity Networks》
https://arxiv.org/pdf/1612.03969.pdf
《Hierarchical Memory Networks》
https://arxiv.org/pdf/1605.07427v1.pdf
https://zhuanlan.zhihu.com/p/30117735
《Hierarchical Memory Networks for Answer Selection on Unknown Words》
https://www.aclweb.org/anthology/C16-1216
《Neural Turing Machines》
https://arxiv.org/pdf/1410.5401.pdf
正文:《Mem2Seq: Effectively Incorporating Knowledge Bases into End-to-EndTask-Oriented Dialog Systems》
https://arxiv.org/pdf/1804.08217.pdf
https://zhuanlan.zhihu.com/p/44110616
introduction
任务型对话系统一般由几个流水线模型组成:语言理解,对话管理,知识查询和语言生成。

目前现有的
- RNN 编码器-解码器模型:它们可以直接将纯文本对话历史映射到输出响应,并且对话状态是潜在的,因此不需要手工标注状态的标签。
RNN 编码器-解码器模型+基于attention的复制机构:它们直接从输入源复制单词到输出响应。即使未知标记出现在对话历史中,模型仍然能够生成正确且相关的实体。
存在的问题:
1)因为RNN对于长序列是不稳定的。所以难以有效地将外部知识库信息与RNN隐藏状态相结合。
2)处理长序列非常耗时,尤其是在使用注意力机制时。
所以,基于MemNN,本文提出了Mem2Seq模型,以端到端的方式学习任务型对话。简而言之,Mem2Seq模型使用序列生成框架扩充了现有的MemNN框架,使用全局多跳注意力(multi-hop attention)机制直接从对话历史或知识库中复制单词。
主要贡献:
1)Mem2Seq是第一个将多跳注意力机制与指针网络结合起来的模型,并允许我们有效地结合知识库信息。
2)Mem2Seq学习了如何动态生成查询去控制Memory的访问,可以可视化memory控制器和attention的跳跃之间的模型动态。
3)Mem2Seq可以更快地进行训练,并在几个任务型对话数据集中实现最先进的结果。
model:
Mem2Seq是第一个结合了multi-hop attention机制和指针网络(pointer network)的生成网络模型。
简单来说,Mem2Seq=MemNN+pointer network,由两个组件组成:memory encoder和memory decoder。如图1所示,MemNN编码器创建对话历史的矢量表示。 然后,存储器解码器读取并复制存储器以产生响应。

实验

在表5中,我们的模型可以达到最高12.6 BLEU分数。此外,Mem2Seq在Entity F1得分(33.4%)方面显示出有希望的结果,一般来说,远远高于其他基线。 值得注意的是,如Seq2Seq或Ptr-Unk这类在此数据集中的性能尤其差,因为RNN方法编码较长知识库信息的效率非常低,这是Mem2Seq的优势。

Mem2Seq拥有最高75.3%的Entity F1得分和55.3 BLEU得分。这进一步证实了Mem2Seq在使用多跳机制而不丢失语言建模的情况下可以很好地检索正确的实体。但是可以发现,每个模型的每个响应精度都小于50%,这是因为数据集非常嘈杂,所以很难生成与黄金响应完全相同的响应。

比如,具有6跳的Mem2Seq在T5中可实现每次响应97.9%和每个对话69.6%的准确度,在T5-OOV中达到84.5%和2.3%,这远远超过现有方法。此外,在任务3-5中证明了跳跃的有效性,因为它们需要对知识库信息具有推理能力。请注意,QRN,MemNN和GMemNN将bAbI任务视为分类问题。虽然与我们的生成方法相比,他们的任务更容易,但Mem2Seq模型也仍然可以超越性能。
结论
传统的任务型对话系统需要在系统设计和数据收集方面进行大量的人力工作。另一方面,尽管端到端对话系统还不完善,但它们需要的人为干预少,特别是在数据集构建中,因为原始会话文本和知识库信息可以直接使用而无需大量预处理(例如NER,依赖解析)。在这种程度上,Mem2Seq是一个简单的生成模型,能够将知识库信息与较好的泛化能力结合起来。
本文为任务型对话系统提供了端到端的可训练的Memory-to-Sequence模型。Mem2Seq将端到端memory网络中的多跳注意力机制与指针网络的概念相结合,以结合外部信息。本文显示了模型使用外部知识库信息和预定义词汇表生成相关答案的能力,并将多跳注意机制如何帮助学习记忆之间的相关性可视化。Mem2Seq快速,通用,能够在三个不同的数据集中实现最先进的结果。
《Mem2Seq: Effectively Incorporating Knowledge Bases into End-to-EndTask-Oriented Dialog Systems》的更多相关文章
- 《Do Neural Dialog Systems Use the Conversation History Effectively? An Empirical Study》
https://zhuanlan.zhihu.com/p/73723782 请复制粘贴到markdown 查看器查看! Do Neural Dialog Systems Use the Convers ...
- 《C#微信开发系列(Top)-微信开发完整学习路线》
年前就答应要将微信开发的学习路线整理给到大家,但是因为年后回来这段时间学校还有公司那边有很多事情需要兼顾,所以没能及时更新文章.今天特地花时间整理了下,话不多说,上图,希望对大家的学习有所帮助哈. 如 ...
- Smart3D系列教程3之 《论照片三维重建中Smart3D几个工作模块的功能意义》
[摘要] 近年来,倾斜摄影测量技术是国际测绘遥感领域近年发展起来的一项高新技术,利用照片进行三维重建成为一项关键性的技术.Smart3D软件,是照片三维重建主流软件之一,本文将就Smart3D建模软件 ...
- [连载]《C#通讯(串口和网络)框架的设计与实现》-1.通讯框架介绍
[连载]<C#通讯(串口和网络)框架的设计与实现>- 0.前言 目 录 第一章 通讯框架介绍... 2 1.1 通讯的本质... 2 1 ...
- C++ 11学习和掌握 ——《深入理解C++ 11:C++11新特性解析和应用》读书笔记(一)
因为偶然的机会,在图书馆看到<深入理解C++ 11:C++11新特性解析和应用>这本书,大致扫下,受益匪浅,就果断借出来,对于其中的部分内容进行详读并亲自编程测试相关代码,也就有了整理写出 ...
- 【读书笔记】读《高性能网站建设指南》及《高性能网站建设进阶指南:Web开发者性能优化最佳实践》
这两本书就一块儿搞了,大多数已经理解,简单做个标记.主要对自己不太了解的地方,做一些记录. 一.读<高性能网站建设指南> 0> 黄金性能法则:只有10%~20%的最终用户响应时间 ...
- 《编写高质量代码--Web前端开发修炼之道》读书笔记
前言 这两周参加公司的新项目,采用封闭式开发(项目成员在会议室里开发),晚上加班到很晚,所以没时间和精力写原创博客了,今天就分享下这篇<编写高质量代码--Web前端开发修炼之道>读书笔记吧 ...
- 文《左右c++与java中国的垃圾问题的分析与解决》一bug分析
文<左右c++与java中国的垃圾问题的分析与解决>一bug分析 DionysosLai(906391500@qq.com) 2014/10/21 在前几篇一博客<关于c++与jav ...
- 《Unity3D/2D游戏开发从0到1(第二版本)》 书稿完结总结
前几天,个人著作<Unity3D/2D游戏开发从0到1(第二版)>经过七八个月的技术准备以及近3个月的日夜编写,在十一长假后终于完稿.今天抽出一点时间来,给广大热心小伙伴们汇报一下书籍概况 ...
随机推荐
- asp.net 虹软 人脸识别 实现刷脸住宿、刷脸签到、刷脸进入等
先看看效果图,我把demo改成自动运行了,暂时借用别人的图片: 最左侧的大图为选择上传的, 中间的小图是大图的脸, 右侧的大图是人脸文件夹中已经存在的,并且相似度较高的一张脸,也就是比对的结果. 先记 ...
- java日期和时间Date、Calendar、SimpleDateFormat
1 时间和日期 1.1 日期类Date和格式化SimpleDateFormat 日期使用过程中需要将日期Date对象转化为字符串,或者将字符串形式的日期转化为日期Date对象.可 ...
- windows平台 python生成 pyd文件
Python的文件类型介绍: .py python的源代码文件 .pyc Python源代码import后,编译生成的字节码 .pyo Python源代码编译优化生成的字节 ...
- js判断输入的input内容是否为数字
有时候我们输入的input的内容需要判断一下是否是数字,所以为了更好的客户体验,在前端先处理一下: <input type="text" name="val&quo ...
- java第一次,第二次实训
本次作业通过自己的练习和理解还是可以写出来的,最后两个题目我暂时没有写 编写程序: 声明一个整型变量a,并赋初值5,在程序中判断a是奇数还是偶数,然后输出判断的结果. 编写程序:从键盘输入圆的半径,计 ...
- Git笔记整理
git 分支: &.创建分支 创建分支很简单:git branch <分支名> &.切换分支 git checkout <分支名& ...
- 对XML里的属性或元素进行模糊搜索的方法
最近发现几个贴子都是问关于对XML的属性或元素进行模糊搜索的方法,在此发出代码片段示例,希望能够对你有所帮助:) 示例XML private var xml:XML=<employees> ...
- hbase-0.92.1表备份还原
原表结构和数据 hbase(main):021:0* describe 'test' DESCRIPTION ENABLED {NAME => ', TTL = true > ', COM ...
- day2作业
购物车(两个程序)用户入口1商品信息存在文件里2已购商品,余额记录商家入口2可以添加商品,修改商品价格
- WPF程序打包发布
1.新建安装项目: 新建项目——其他项目类型——安装与部署——InstallShield Limited Edition Project 2.配置安装信息: 选择Project Assistant进入 ...