【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

共计 2486 个字符,预计需要花费 7 分钟才能阅读完成。

Efficient Dialogue State Tracking by Selectively Overwriting Memory

概要

问题动机

  最近在对话状态跟踪 (DST) 方面的工作集中于基于开放词汇的设置,以解决基于预定义本体的方法的可伸缩性和泛化问题。然而,他们效率低下,因为他们从头开始预测对话状态。

主要贡献

  • 启用高效的 DST,利用之前的对话状态生成插槽最小子集的值。

  • 在基于开放词汇表的 DST 设置中,在 MultiWOZ2.0 和 MultiWOZ2.1 上实现了最先进的性能。

  • 强调了在我们提出的框架中提高状态操作预测精度的潜力。

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

模型

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

编码器输入

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

输入分为两个部分,包括最近两轮对话历史 $D$ 与前轮的状态 $B_{t-1}$,简单表示为:

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

编码器输出

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

编码器预测对应的每一个槽的操作,一共有 4 种操作 $[CARRYOVER,DELETE,DONTCARE,UPDATE]$, 只有当操作为 $UPDATE$ 时槽值生成器才生成新槽值 $v$:【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

槽值生成器

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

槽值生成器是一个 GRU 网络,初始隐藏层状态和输入分别为:【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory 并通过将一个单词嵌入 $e^{j,k}_t$ 作为输入,递归地更新隐藏状态 $g_t^{j,k}∈ \R^d$,直到生成[EOS] token:

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

在解码的第 $t$ 步,解码器隐藏状态转换为词汇表的概率分布,其中 $E∈R^{d{vcb}×d}$ 是编码器和解码器共享的单词嵌入矩阵,因此 $d{vcb}$ 是词汇表大小:

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory
【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

其中 【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory 且 $P_{val,t}^{j,k}$ 为最终分布

目标函数

在训练过程中,我们共同优化了状态操作预测器和插槽值生成器。

  • 状态操作预测器:

    除了状态操作分类外,我们还使用域分类作为辅助任务,迫使模型学习插槽操作和域的相关性,域分类使用 $h^X_t$ 之上的软最大层完成:

    【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

    每个状态操作分类和域分类的损失为负对数似然的平均值,如下:

    【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

  • 槽值生成器

    训练插槽值生成器的目标函数也是负对数可能性的平均值:

    【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

将 3 个任务联合训练,得道总目标函数:

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

实验

数据集

使用 MultiWOZ2.0(Budzianowski 等人,2018)和 MultiWOZ2.1(Eric 等人,2019)作为我们实验的数据集。这些数据集是两个最大的公开的多领域面向任务的对话数据集,包括 7 个领域内的大约 1 万次对话。MultiWOZ2.1 是 MultiWOZ2.0 的一个改进版本,其中可以更正注释错误。

结果

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

A Simple Language Model for Task-Oriented Dialogue

概要

动机

面向任务的对话通常被分解为三个任务:理解用户输入、决定操作和生成响应。虽然这种分解可能会为每个子任务提供一个专门的模型,但作者发现一个简单、统一的方法可以在 MultiWOZ 数据集上获得最先进的性能。

贡献

SimpleTOD 是一种面向任务的对话的简单方法,它使用单一的因果语言模型,对所有子任务重新转换为单一序列预测问题。这使得 SimpleTOD 能够充分利用来自预先训练的、开放领域的、因果语言模型的转移学习,如 GPT-2。SimpleTOD 提高了对话状态跟踪的现有最新的联合目标精度,我们的分析揭示了在这种设置下对噪声注释的鲁棒性。

  • SimpleTOD- 一种最先进的对话状态跟踪生成模型

  • SimpleTOD 也是第一个在端到端设置中一起实现对话状态跟踪、动作决策和响应生成度量的最新性能的模型

  • 分析表明,SimpleTOD 是存在噪声标记注释下的鲁棒对话状态跟踪器

  • 消融实验表明显示用户 / 系统和末端(段)标记的重要性

  • 显示预训练的重要性,也显示更大版本的简单训练,对于端到端 MiltieTOD 并不总是更好

模型

对话系统

面向任务的对话 (TOD) 对三个子任务进行评估:对话状态(信念状态)跟踪、对话管理(行动 / 决策预测)和响应生成。这种分解使得为每个子任务创建专用的模型成为可能,这是主要的方法。相比之下,我们探索了使用单模型的端到端方法的可能性,SimpleTOD。

设第 $t$ 轮对话为 $U_t$, 为了在推理过程中生成响应,SimpleTOD 将之前的所有回合读取为上下文,【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory , 并生成对话状态 $B_t$:

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

这是记录特定域中的插槽值的三元组列表:(域、slot_name、值)。此信念状态用于查询数据库中的信息。数据库搜索从数据库中返回满足信念状态条件的行。返回的行以后可用于将响应词汇化(填充生成的占位符),但 SimpleTOD 只将聚合的数据库搜索结果 $D_t$ 作为输入。$D_t$ 包括返回的行,以及根据实验设置,是否有预订状态信息。然后,SimpleTOD 将 $C_t、B_t 和 D_t$ 上的条件作为一个单一的序列连接在一起,以决定操作,$A_t$:

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

这些操作作为另一个三联体的列表生成:(域、action_type、slot_name)。根据连接为单一序列的所有先验信息生成分层响应 $S_t$:

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

当与来自信念状态和数据库搜索结果的信息相结合时,响应可以被词汇化,以恢复人类可读的响应文本。

因果语言模型

一个单一的训练序列由连接组成 【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory,允许我们建模序列 $x_t$ 上的联合概率。给定该形式的示例序列 【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory 其中每个 $x_i$ 来自一组固定的符号,语言建模的目标是学习 $p(x)$。利用概率链规则对这个分布进行因式分解是很自然的, 并训练一个具有参数 $θ$ 的神经网络,以最小化数据集 【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory 上的负对数似然,其中,序列 $x^t$ 的长度为 $n_t$:

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

架构

作者通过训练 Transformer 的一个变体来学习这些条件分布。一个包含 n 个 token 的序列被嵌入为 n 个 d 维向量的序列。每个向量都是学习的 token 嵌入和正弦位置嵌入的和。因此,输入矩阵为 【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory 由 $l$ 个注意层处理。第 $i$ 层由两个块组成,每个块保留模型维数 d。第一个块使用了带有 k 个头的多头注意力。

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

第二个块使用具有 ReLU 激活的前馈网络,将输入投影到内部维度 f。此操作由 【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory 参数化:

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

每个块在核心功能之前使用 layer normalization,之后是残差连接。它们一起生成 $X_{i+1}$:

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

然后根据最后一层的输出计算分数:

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

在训练过程中,这些分数是一个交叉熵损失函数的输入。在生成过程中,与最后一个令牌对应的分数用软最大值进行标准化,生成一个用于对新的 token 进行采样的分布。

实验

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

【论文笔记】Efficient Dialogue State Tracking by Selectively Overwriting Memory

正文完
 
yhlin
版权声明:本站原创文章,由 yhlin 2023-01-17发表,共计2486字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码