论文解析《Sequicity:Simplifying .........》

本文主要解析的是这篇论文《Sequicity:Simplifying Task-oriented Dialogue Systems with Single Sequence-to-Sequence  Architectures》

 

一、概述

论文提出了一个名为 Sequicity 的框架,可将任务型对话的状态追踪和文本生成通过 Seq2Seq 模型来完成。此外,在此任务的基础上,还提出了 Two Stage CopyNet 模型。相比传统模型,该模型参数较少且训练速度更快。实验表明,本文模型在大规模语料中优于当前最新模型的 baseline,并且在处理 out-of-vocabulary 问题时,也有着出色表现。

 

二、一些基本概念

1、论文引入了一个新概念:belief span简称(bspan),其实就是状态追踪的槽位信息,比如当前轮次对话的inform_slot的槽位与request_slot槽位。bspan有一个信息字段(标有<Inf> </ Inf>)存储可信任时隙的值,这个值对知识库搜索很重要。如果相应的值为True,Bspans还显示一个请求的字段(标有<Req> </ Req>),用于存储可请求的插槽名称。

2、copyNet :还是属于seq2seq类型的模型,它包含了encoder 和 decoder 两个部分。和比较经典的基于LSTM 或 RNN 的seq2seq 模型相比,它主要的区别是在copyNet 的decoder 部分,分为了 Generate-Mode 和 Copy-Mode。Generate-Mode 主要任务是根据语义来决定输出。而Copy-Mode 就是根据输入文本的位置来决定copy。并且在decoder过程中,上一个step的输出作为当前step输出的形式有所不同。

copyNet的优势是 能够比较好的处理 OOV 问题,比如人名、地名等等,因为它可以直接把这部分内容copy到输出中。

 

三、Sequicity模型介绍

这个图是Sequicity, 左边显示了一个示例对话,右边为Sequicity工作过程。

 

先介绍一下基本单元

Bt:表示当前对话的隐藏状态,即当前所涉及到的slot信息,包括request_slot与inform_slot,理解为上文到时间t的一个状态追踪。 Bt仅由模型使用,对用户不可见。

Ut:为t时刻的用户的回答.

Rt:为t时刻的机器回复。

Kt:为知识库搜索结果(表示为kt)

 

在t轮次中,系统只需要参考Bt-1,Rt-1和Ut来生成Bt和Rt,不需要了解所有过去的表达。这种马尔可夫假设允许sequicity框架串联Bt-1,Rt-1和Ut(标记为Bt-1Rt-1Ut)作为源序列,用于seq2seq建模,生成Bt和Rt作为目标输出序列。

论文将对话表示为{(B0R0U1; B1R1); (B1R1U2; B2R2); ...; (转Bt-1RT-1Ut; BtRt)}其中B0和R0被初始化为空序列。

注意论文中分别处理Bt和Rt的:Bt仅取决于Bt-1Rt-1Ut,而响应Rt另外取决于Bt和kt ;也就是说,Bt报告Rt的内容。例如,当传达满足知识库中发现的请求的实体时,Rt必须包括来自Bt的所有请求时隙。在这里,kt有助于实际生成Rt。

通常,kt有三种可能性:1)多个匹配,2)精确匹配和3)不匹配,不同的Kt得到的Rt也相应的不同。

例如,假设用户请求意大利餐厅。在多匹配的情况下,系统会增加一些限制的提示,比如餐厅价格范围,用于消除歧义等。

在精确匹配下,系统应该找到锁定目标(餐厅),接着系统向用户提供询问的信息,如餐厅地址。

如果不匹配的话,系统会通知用户,并且有可能生成另一个响应去重试不同的响应。

 

训练时序列初始化为空。从图中可以看到,训练的时候采用的是模板的形式,测试的时候会从实际的KB中寻找替换成具体的value,如餐厅的具体名字。由于B的分布与R的分布不一样,Sequicity将面向任务的对话问题分解为生成bspans和机器响应,将此问题转换为序列优化问题。在实践中,Sequicity分两个阶段进行decoder :第一阶段,它解码bspan以促进知识库(KB)搜索;在第二阶段,它根据知识库搜索结果和bspan的条件对机器响应进行解码。

表达式可以写成如下:

 

 

 

seq2seq模型无条件地解码Bt。一旦获得Bt,解码暂停,然后以基于Bt执行必要的知识库搜索,得到kt。之后seq2seq模型继续到第二个解码阶段,其中Rt在基于Bt和kt的条件下生成。

 

Sequicity框架具有以下两个优点,1. 状态追踪只要根据上一轮的用户回答以及bspan的信息B_{t-1}以及上一轮的机器回复——即可以表示整个对话的走向。2. 还有一个优点是由于bspan是个固定大小的表示,整体的算法复杂度下降。

并且它还可以通过监督或强化学习进行优化。

 

 

 

四、Two-Stage CopyNet 介绍

在Sequicity任务中,仅用CopyNet架构是不够的,因为Bt和Rt是不同的分布。论文中使用两个单独的RNN(实现用的GRU):一个用于Bt,另一个用于Rt。

在第一个解码阶段,用copy-attention mechanism从X解码得到Bt,然后计算生成概率。

对于每个单词v的copy 概率是

 

其中Z是归一化项,ψ(xi)是“copying”词xi的得分,ψ(xi)通过以下公式计算:

 

第二解码阶段(解码Rt),将Bt的最后隐藏状态应用为Rt GRU的初始隐藏状态。将copy-attention mechanism用于Bt:将所有的Bt都用于copying和attention。Bt GRU生成的隐藏状态,即h(y),...,h(y),用以下公式计算copying。因为X的所有关键信息都包含在Bt中,所以它有助于减少搜索空间。

 

 

此方法有两个优势:一、通过压缩以前对话的关键点,bspans从U1R1......UtRt的搜索空间减少到Bt-1Rt-1Ut。二、因为bspans固定长度处理Bt,所以TSCP的时间复杂度降低。

在解码Rt时涉及kt。由于kt有三个可能的值。将kt表示为一个三维的向量,并将kt嵌入yj,如下所示。 将其送入GRU以生成h(y)。这种方法也称为语言模型类型条件。

 

五、模型训练

1.采用交叉熵进行监督学习

2.采用强化学习微调上述训练好的模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值