【论文笔记】2018-ACL-Global-Locally Self-Attentive Dialogue State Tracker

2018-ACL-Global-Locally Self-Attentive Dialogue State Tracker

2021-05-15

概要

问题动机

 先前的方法无法对稀有槽值对进行准确预测,因为每个状态都是由一组槽值对组成的,其中许多是罕见的,对罕见的槽值对的糟糕推断随后会导致糟糕的回合级状态跟踪。

主要贡献

 与之前独立估计每个槽值对的方法相比,GLAD使用全局模块(global module)在不同槽的估计器之间共享参数,并用局部模块(local module)学习特定于槽的特征表示。实验表明,在WOZ对话状态跟踪任务上,GLAD达到了88.1%的目标精度和97.1%的请求精度(Wen等人,2017),比之前好3.7%和5.5%。在DSTC2(Henderson等,2014a)上,我们实现了74.5%的目标精度和97.5%的请求精度,比之前好1.1%和1.0%。

相关研究

  • 2018-ICLR-A deep reinforced model for abstractive summarization
  • 2017-ACL-Get to the point: Summarization with pointer generator networks
  • 2017-ICLR-Bidirectional attention flow for machine comprehension

模型

Overview

image-20210511101144545

 GLAD通过对构成对话状态的每个槽值对使用一个不同的估计器(estimator),将多标签状态预测问题分解为一组二分类预测问题。因此,我们根据模型所预测的槽值对来描述GLAD。

 如上图GLAD由一个编码器模块和一个评分模块组成。编码器模块由独立的Global-Local Self-Attentive编码器组成,用于用户话语、之前的系统动作和正在考虑的槽值对。评分模块由两个评分者组成。一个评分者考虑话语的贡献,而另一个评分者考虑以前系统行为的贡献。

Global-Local Self-Attentive Encoder

image-20210511102300561

 如上图,该模块由一个双向LSTM组成,它捕获序列内的时间关系,然后是一个自我注意层来计算序列的摘要。

 考虑对特定插槽 $s$ 的序列的编码过程,设$n$为序列的token数量,$d{emb}$为嵌入维度,$X \in \R^{n \times d{emb}}$ 序列的词嵌入输入序列。将其馈入biLSTM:

$d_{rnn}$: LSTM的隐藏层状态维度

再用同样的方式的到$H^s$:

两个LSTM的输出通过混合层组合,产生$X$的全局局部编码$H$:

$\beta^s$: 可学习参数,范围(0,1)之间

接下来,计算 $H$ 上的全局-局部自注意力上下文 $c$,在本文中,使用一个全局自注意模块来计算适合通用状态跟踪的attention context,以及一个局部自注意模块来计算特定于槽的attention context。

对于$H$中的每一个元素$H_i$,计算一个标量分数 $a_i^g$,然后使用softmax将所有分数进行标准化得到一个分布$p^g$:

全局自注意力上下文$c^g$计算如下:

用相似的方法计算局部自注意力上下文$c^s$:

最终,全局-局部自注意力上下文 $c$ 为:

Encoding module

$encode(X)$: $X \rightarrow H,c$ 表示将输入X映射为编码$H$以及自注意力上下文 $c$.

Scoring module

Utterance scorer

首先计算每一个$H_i^{utt}$与自注意力上下文 $c^{val}$的评分:

然后计算注意力分布:

$m$: 用户语句中词的数量

得到自注意力上下文:

最后用自注意力上下文对槽对进行评分:

其中 $y^{utt}$的值就表示了用户话语表达该槽的程度(与该槽的相关度)

image-20210511193117338

Action scorer

 该模块是当用户语句无法提供足够信息时做补充使用。比如在系统询问用户”Would you like a restaurant in the centre of town ?” 时用户只是回答了句 “Yes !”。这时候我们在考虑了用户话语后还要额外考虑之前的系统动作。

 假设之前的系统动作为$C^{act} = [C_1^{act},…,C_l^{act}]$, 首先计算其与自注意力上下文的相关度得分:

然后计算注意力分布:

得到自注意力上下文:

最后用自注意力上下文对槽值对进行评分:

其中$y^{act}$的值表示了先前系统动作与槽值对的相关度。

最终得分为两个评分模块结果的组合:

$w$ : 可学习的参数

实验

数据集

采用DSTC2 和 WoZ 数据集

主要结果

image-20210511192244422

消融实验

image-20210511192323105