《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个月的日夜编写,在十一长假后终于完稿.今天抽出一点时间来,给广大热心小伙伴们汇报一下书籍概况 ...
随机推荐
- loadrunner中组合场景的应用
进行性能测试的回归测试时,可以设置组合场景,例如: 这时可以以组的形式运行: 运行效果如下: 当login运行完成后,运行goodslist脚本 . 运行时可以查看运行用户数.事务平均响应时间.吞吐量 ...
- Ansible 脚本运行一次后,再次运行时出现报错情况,原因:ansible script 的格式不对,应改成Unix编码
Ansible 脚本运行一次后,再次运行时出现报错情况,原因:ansible script 的格式不对,应改成Unix编码 find . -name "*" | xargs do ...
- 【安卓进阶】LiveData
最近参与到后端的工作中,虽然以前在工作中使用过PHP,但是这次使用的是Java,开发思路和方式有所不同.后端开发中,做接口也是需要处理大量的业务逻辑关系,同时一些事务之类的技术因素也要考虑好,在架设项 ...
- Python 用下划线作为变量前缀和后缀指定特殊变量
_xxx 不能用’from module import *’导入 __xxx__ 系统定义名字 __xxx 类中的私有变量名 核心风格:避免用下划线作为变量名的开始. 因为下划线对解释器有特殊的意义, ...
- 微信小程序1rpx border ios真机显示不全问题
无意间测试发现,把border的颜色的透明度颜色改成0.99就可以了.1就不行. 边框显示不全的写法: border:1rpx solid rgba(244,84,80,1); 将边框代码的透明度改成 ...
- 当前 .NET SDK 不支持将 .NET Core 2.1 设置为目标。请将 .NET Core 2.0 或更低版本设置为目标,或使用支持 .NET Core 2.1 的 .NET SDK 版本。
解决方案:项目>属性>应用程序>目标框架>安装其他框架. 此处我下载了2.1的x64的框架并安装. 安装后,重新打开vs即可点击切换新框架.
- react .net core 发布 Access-Control-Allow-Origin Cors
本案例用IIS部署 1. 在react上先publish: npm run build 生成了build文件,在此文件里添加web.config,注意httpProtocol是用来跨域的. <? ...
- Xshell配置使用linux的图形界面
1.配置Xshell如下图 2.在命令行中执行"gnome-panel". 3.或者使用xstart,配置如下图:
- Kubernetes 入门之Kubernetes 的基本概念和术语
Kubernetes是什么? 他是一个全新的基于容器技术分布式架构领先方案: 他也是一个开放的开发平台: 他也是一个完备的分布式系统支撑平台: Kubernetes的基本慨念和术 ...
- PHP基础入门(二)---入门基础知识必备
前言 在上一章中,我们初步了解了PHP的网页基础和PHP的入门基础,今天继续给大家分享更多有关PHP的知识. 理论知识看起来可能比较枯燥一些,但是我们的实践(敲代码)毕竟离不开它. 只有理论与实践相结 ...