论文阅读:《Efficient Dialogue State Tracking by Selectively Overwriting Memory》

论文阅读:《Efficient Dialogue State Tracking by Selectively Overwriting Memory》

背景

英文名:《Efficient Dialogue State Tracking by Selectively Overwriting Memory》
中文名:《基于选择性复写内存的高效对话状态跟踪》
这篇轮文的SOM-DST是今年最好的多领域任务型问答模型之一。

多领域DST大致可以分为fixed-vocabulary与open-vocabulary两大流派,两种方法各有优缺点。

fixed-vocabulary-based DST:(或predefined ontology-based方法、检索式方法),即固定词表/基于预定义本体的方法。这种方法是传统的单领域任务型问答中的传统方法。基本思想是,预定义一个所以可能的槽值的本体(ontology of possible slot values),在这个本体上运行状态跟踪(分类)机制。由于这种方法能够让系统流畅地预测那些未出现在给定对话历史中的槽值,简化任务,所以在DSTC2、WOZ 2等单领域数据集上的测试中取得了杰出的表现,但是,这种方法的缺陷也是很明显的,主要问题是死板,必须在训练阶段为每一个领域定义潜在的槽值大列表,这个是很困难的;其次,计算的复杂性会随着需要跟踪的预定义槽位数量的增加而增加;第三,难以应对unseen slot values问题。

open-vocabulary-based DST:(或open-vocabulary candidate-generation DST,生成式方法)。又名“生成式”方法,最初的思想来自SpanPtr,目的是在缺失预定义本体的情况下实现状态跟踪,并处理未知的槽值。这种方法的基本思想是基于每轮的状态(源序列)派生候选集,相当于序列生成问题。这种方法从对话历史中灵活地抽取或生成槽值,但是要努力预测出对话历史中未出现的槽值。在解决unseen slot values问题上有所成果,但是DST的运行效率低,因为它们要在每一轮对话的一开始预测对话状态。由于open-vocabulary-based DST的槽值生成思想极大解决了对本体的依赖,所以在多领域问答上大受欢迎,目前已经成为重要的研究热点。

总结而言,只要预定义的slot ontology足够好,fixed-vocabulary-based DST无限好。但是如果考虑复杂性和可扩展性,open-vocabulary-based DST更好。

这篇论文的的SOM-DST模型是针对Open vocabulary-based DST的最好模型,比起过去的TRADE,COMER等,显式地把DST分解成两个子任务,降低了训练的难度,又在训练中利用上一轮对话状态的信息,以及在槽位的一个最小子集上预测槽值,极大提高了效率。

SOM-DST基本思想

SOM-DST把对话状态看做可以选择性覆写的memory。
SOM-DST把DST分解为两个子任务:
(1)state operation prediction,状态操作预测。预测将在每一个memory slot上运行的operations的类型。
(2)slot value generation,槽值生成。生成将新写入memory slots子集的values。
这是第一次提出Selectively Overwriting Memory的思想和两步DST的思想。
过去的方向,是在每一个对话turn中,为全部slots抽取values。但是我们的模型,通过子任务分解,使得可以仅仅为slots的一个最小子集(minimal subset )生成values,生成效率更高。

整体架构如下图所示,输入当前话语,上一轮话语,以及上一轮状态(输入每一轮的前一轮对话状态,即利用了更多的信息),输出当前状态。predictor对每个slot预测,如果某slot预测的operation是UPDATE,就用generationer生成其槽值。状态表现为槽值对表,各slot可能的operation包括CARRTOVER、DELETE、DONTCARE、UPDATE等。槽位符号 S t i S^i_t Sti,表示领域 t t t i i i槽位,领域标签也加了进去,相当于领域分类作为状态操作预测器的一个副功能。两个组件联合训练。

在这里插入图片描述
如果把我们的DST组件看做一个encoder-decoder模型的话,那么相当于state operation predictor是encoder(slots selector),slot value generationer相当于是decoder(slot value generator)。这样明确分工的设计,降低了open-vocabulary based setting下DST的难度。

总结本文的贡献,主要包括:
(1)通过最小化槽位子集和利用前一轮状态,提供了值生成任务的计算效率
(2)在MultiWOZ 2上达到open vocabulary-based DST setting上SOTA性能。
(3)突出了提高state operating prediction准确率的潜力。

Open Vocabulary-based DST简史

目前,面向多领域问答的,运行在MultiWOZ 2上的Open Vocabulary-based DST模型,包括TRADE、DSTreader、COMER、NADST、ML-BST等等

一般思想是运行autoregressive generation算法来生成槽值。

TRADE模型体现了encoder-decoder framework的潜力,但在计算上效率不高,因为它在每一turn为全部slots生成values。

COMER模型通过使用hierarchical decoder,一定上解决了TRADE的上述缺陷。hierarchical decoder,层次堆叠的解码器,以分层的方法解码domains, slots, and values,把当前轮对话状态本身生成为target sequence。此外,它们第一次提出了ICT的概念,以衡量不同DST模型对话状态预测的efficiency。COMER同样在slot values子集上生成,但是由于没有利用上一轮的对话状态信息,所以性能还是不如我们的模型。

DSTreader将DST建模为阅读理解任务,提出了DST Reader模型,从输入中提取槽值。 由于DST需要跟踪abstractive values as well as extractive ones,因此它们的完全提取方法受到限制。 在DST中加入一个槽位携带模块(slot carryover module),对是否将槽位的值从先前的对话状态转移到当前的对话状态做出二值决定,这个概念很重要。也相当于加入是否update的判断。

DS-DST企图结合使用Open Vocabulary和fixed Vocabulary,结果却依然在fixed-vocabulary based DST上转圈圈。
NADST和ML-BST的模型比较有争议,这里略过。

SOM-DST具体流程

对话状态:用槽值对的集合表示。此处“槽位”=领域名称+槽位名称。

特殊的value:除了本体中该有的value,另外定义两个特殊的value,NULL和DONTCARE。NULL表示空值,DONTCARE表示这个slot不需要被跟踪。

operations:共有四种操作,CARRYOVER表示槽值保持不变,其余三个相当于传统的update。
在这里插入图片描述

predictor相当于每个slot一个四分类器,判断它的operation。第t轮下,输入当前话语,上一轮话语,以及上一轮状态,拼接为input represenation,如下:
在这里插入图片描述
[CLS]标注每一个input的开始。上一轮状态相当于对话历史(基于马尔科夫假设)。
predictor采用预训练BERT, 输入包括全部Xt嵌入、id嵌入、position嵌入,得到slot的
operation。
generator类似TRADE,使用GRU decoder和拷贝机制,通过context和vocabulary共同决定,如下:
在这里插入图片描述

实验

数据集:MultiWOZ 2.1,数据预处理方法照搬TRADE。和TRADE一样砍掉2个领域,所以是5个领域、30个槽位。
predictor:使用预训练的BERT-base-uncased model
optimizer:BertAdam
generator:greedy decoder
结果比较:
在这里插入图片描述
(注意DS-DST和HyST是同时使用两种方式的,性能都不如本文模型)
除了在纵向上超越了所有以有的open-vocabulary模型外,SOM-DST还首次实现了MultiWOZ2.1比2.0上表现更好,原因可能是SOM-DST更显式地使用了dialogue state labels作为输入,从而受益于MultiWOZ 2.1上对话状态的标注信息的修正。
在这里插入图片描述
SOM-DST继承并发展了COMER提出的ITC概念,分别考察了最好cases和最坏cases上的ITC;由于SOM-DST仅对UPDATE operations的槽位生成values,所以最好case是Ω(1),即没有slot需要UPDATE;同理最坏case是O(J),所有slots的values都需要被更新。

在MultiWOZ 2.1上,平均每一轮的生成数是1.12,最大是9,考虑到数据集中总共的槽位数量是30,显然SOM-DST是高效的。

Domain-Specific Accuracy:特定领域准确率,指在predicted dialogue state的子集上计量的准确率。这个指标只有最新的三个模型使用,比较结果如下表,表明SOM-DST主要是成功在Taxi和Train领域。这是由于跨多个领域的对话,即领域切换次数超过一次的对话,最终多数都结束在Taxi领域。在这里插入图片描述

Ablation

  1. 四种operations比两种好
  2. 把state operation换成groundtruth,联合准确率从52.57%提升到86.87%,而在decoding中换上groundtruth只有55.17%。这说明本模型在state operation prediction上有很大的提升空间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值