Mem2Seq: Effectively Incorporating Knowledge Bases into End-to-End Task-Oriented Dialog Systems

Mem2Seq是一种端到端的可微分模型,旨在解决将知识库有效融入任务型对话系统的问题。模型结合了多跳注意力和指针网络,能够学习记忆之间的相关性并控制生成过程。实验表明,Mem2Seq在多个任务对话数据集上表现出优越性能,且训练更快。
摘要由CSDN通过智能技术生成

abstract

面向任务的端到端对话系统通常面临着整合知识库的挑战。 在本文中,我们提出了一种新颖而简单的端到端可微分模型,称为内存到序列(Mem2Seq)来解决这个问题。 Mem2Seq是第一个神经生成模型,它结合了对存储器的多跳注意和指针网络的思想。 我们凭经验展示了Mem2Seq如何控制每个生成步骤,以及它的多跳注意机制如何帮助学习记忆之间的相关性。 此外,我们的模型非常通用,没有复杂的任务特定设计。 因此,我们展示了Mem2Seq可以更快地进行训练,并在三个不同的面向任务的对话框数据集上获得最先进的性能。

1 Introduction

面向任务的对话系统帮助用户使用自然语言实现特定目标,例如餐厅预订和日程安排。 传统上,它们是由几个流水线模块构建的:语言理解,对话管理,知识查询和语言生成(Williams和Young,2007; Hori等,2009; Lee等,2009; Levin等,2000) ; Young et al。,2013)。 此外,查询外部知识库(KB)的能力在面向任务的对话系统中是必不可少的,因为响应不仅由对话历史引导,而且还由查询结果引导(例如表1)。 然而,尽管这种流水线系统通过结合领域特定知识和槽填充技术的稳定性,模拟模块之间的依赖性是复杂的,KB解释需要人力。
在这里插入图片描述

最近,使用递归神经网络(RNN)编码器 - 解码器模型的端到端对话建模方法已经显示出有希望的结果(Serban等,2016; Wen等,2017; Zhao等,2017;)。 由于它们可以直接将纯文本对话历史映射到输出响应,并且对话状态是潜在的,因此不需要手工制作的状态标签。 此外,最近引入了基于注意力的复制机制(Gulcehre等,2016; Eric和Manning,2017),以直接从输入源复制单词到输出响应。 使用这种机制,即使未知令牌出现在对话历史中,模型仍然能够生成正确且相关的实体。

然而,尽管上述方法是成功的,但它们仍然存在两个主要问题:1)它们难以有效地将外部KB信息纳入RNN隐藏状态(Sukhbaatar等,2015),因为已知RNN不稳定 长序列。 2)处理长序列非常耗时,尤其是在使用注意机制时。

另一方面,端到端存储器网络(MemNN)是可能大的外部存储器上的反复关注模型(Sukhbaatar等,2015)。他们将外部存储器写入几个嵌入矩阵,并使用查询向量重复读取存储器。此方法可以记忆外部KB信息并快速编码长对话历史记录。此外,MemNN的多跳机制经验证明在推理任务中实现高性能至关重要(Bordes和Weston,2017)。然而,MemNN只是从预定义的候选池中选择其响应而不是逐字生成。此外,内存查询需要显式设计而不是学习,并且不存在复制机制。

为了解决这些问题,我们提出了一种新颖的架构,我们将其称为内存到序列(Mem2Seq),以端到端的方式学习面向任务的对话框。简而言之,我们的模型使用顺序生成架构扩充了现有的MemNN框架,使用全局多跳注意机制直接从对话历史或KB中复制单词。我们总结了我们的主要贡献:1)Mem2Seq是第一个将多跳注意机制与指针网络结合起来的模型,它允许我们有效地合并KB信息。 2)Mem2Seq学习如何生成动态查询来控制内存访问。此外,我们可以对内存控制器和注意力的跳跃之间的模型动态进行可视化和解释。 3)Mem2Seq可以更快地进行训练,并在几个面向任务的对话框数据集中实现最先进的结果。

2 Model Description

在这里插入图片描述
Mem2Seq包含2两部分,Mennn编码器和记忆解码器,如图1所示,MemNN编码器创建对话历史的向量表示。 然后,存储器解码器读取并复制存储器以生成响应。我们将对话历史中的所有单词定义为标记序列 X = { x 1 , x 2 , . . . , x n , X=\{x_1,x_2,...,x_n, X={ x1,x2,...,xn, $ } \} } ,$ 是哨兵,KB元组为 B = { b 1 , . . . , b l } B=\{b_1, ...,b_l \} B={ b1,...,bl},另外定义 U = [ B ; X ] U=[B;X] U=[B;X]作为集合 X X X B B B的concatenation, Y = { y 1 , . . . , y m } Y=\{y_1,...,y_m\} Y={ y1,...,ym}作为系统反应的词集合, P T R = { p t r 1 , . . . , p t r m } PTR=\{ptr_1,...,ptr_m\} PTR={ ptr1,...,ptrm}是指针下标集合,即:
(1) p t r i = { m a x ( z ) , i f   ∃ z   s . t . = y i = u z

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值