论文略读 | Key-Value Retrieval Networks for Task-Oriented Dialogue

  • 总的来说,这篇论文提出了一个数据集incar personal assistant,并提出添加指向KB的注意力机制,和复制增强网络这篇好像A Copy-Augmented Sequence-to-Sequence Architecture Gives Good Performance on Task-Oriented Dialogue,不过这篇是在解码时向输入语句中添加注意力,这样可以复制原句中的词,减缓OOV问题。(自己暂时的理解是这样的)

  • 数据集下载:https://nlp.stanford.edu/blog/a-new-multi-turn-multi-domain-task-oriented-dialogue-dataset/

  • 发表于ACL 2017

1.简介

  1. 问题:任务型对话难和KB平滑交互,需要明确模拟对话状态或信念追踪器,需要额外的数据注释。

  2. 本文方案:通过键值检索机制有效的维持基础多域对话。端到端,不需要明确模拟对话状态或信念追踪器。提出以知识库为基础的车载个人助理数据集incar personal assistant,包括日历安排,天气检索和兴趣导航三个不同任务(多域),包含3031个对话。

  3. 相关模型:key-value memory networks

  4. 贡献:
    1)引入了键值检索网咯,通过新颖的键值检索机制顺利地整合来自基础知识库的信息,而不仅仅依赖于先前的对话历史。
    2)在车载个人助理空间的三个不同领域发布了一个新的公开对话语料库,这将有助于进一步开展面向任务的对话代理。

2.模型

从编码器-解码器架构开始,并进一步增强了基于注意力的检索机制,该机制有效地推理了基础知识库的键值表示。
encoder-decoder
论文略读 | Key-Value Retrieval Networks for Task-Oriented Dialogue

Key-Value Knowledge Base Retrieval
键值结构化存储允许高效的读取文档,使用(subject, relation, object)存储KB条目,一个KB条目别分开存储成几个,例如(dinner, time, 8pm),每个KB最多有230个标准化三元组,类似于RDF形式。
最近的研究表明,将复制机制纳入到神经网络架构可以提高各种Seq2Seq任务的性能。本文使用如下,在解码时,用解码器

隐藏层状态和KB中的key计算注意力得分。其中,一个实体的key是subject (meeting) and relation (time)的嵌入和,attention logits就变成了这个KB实体的value的logits。对于KB attentions,我们用规范化的token 表示来替换值嵌入,例如,值5pm被替换成meeting_time。在运行时,如果我们解码这个规范化表示token,我们将其替换成KB项的实际值通过一个KB lookup(查找),即例子中的5pm。(是解码成数值吗??)这样就把我们原始的输出 vocabulary 改成了|V| + n大小,其中n是KB实体的规范化key表示。
vt的m个实体对应KB中非零值,剩下的项对应原始词库中为0的词。
即想实现在在问句What time is my meeting的回复中,模型在实体(meeting, time,5pm)上有一个较高的attention值。
图2展示了KeyValue Retrieval Network的可视化。
论文略读 | Key-Value Retrieval Networks for Task-Oriented Dialogue

3. 数据集

两种模式DriverCar Assistant (这个没有仔细看哎,后面需要再看下)
Driver:用户提出一个任务并且列出来他们想要从助手中获得的信息以及在当前点用户和助手的对话历史。

Car Assistant:用户被提供到当前点的对话历史和一个仅Car Assistant知道的私有KB(包含用于满足Driver询问的信息)。KB可能包含事件信息的日历,附近城市的每周预测,附近相关信息点的集合等。然后Car Assistant通过这个私有KB提供信息来推动话语的进行。Car Assistant也被要求为提及的slots填充对话状态信息以及为该点的对话历史填充值。

每个私有KB有6-7个不同的行,以及5-7个不同的属性类型。使用到的私有KB通过为给定的属性类型选择一个值来统一选择的,其中每个属性类型有一个数量可变的候选值。一些知识库故意缺乏属性以鼓励话语的多样性。

在数据收集过程中,日历查询域的某些对话没有显式的要求使用KB。例如在任务Set a meeting reminder at 3pm中,我们希望鼓励对话要求Car Assistant运行,同时要求Driver澄清未指定的信息。大约有一半的对话属于此类。

在向Driver提供的每个任务中指定属性类型和值时,我们可以将每个对话的主题与我们想要的实体相对应,它偶尔会导致更多的机械话语交流。为了鼓励更自然,更公正的话语,我们让用户自己记录命令,以响应汽车助手可以执行的动作的未指定的视觉描绘。这些命令被转录,然后作为代表驾驶员的给定对话中的第一次交换插入。

数据统计信息
论文略读 | Key-Value Retrieval Networks for Task-Oriented Dialogue

slot类型和值

论文略读 | Key-Value Retrieval Networks for Task-Oriented Dialogue

4. 实验及对比

对比模型:

  • Rule-Based Model:
  • Copy-Augmented Sequence-to-Sequence Network:

评估:

  • BLEU
  • F1

copy Net有最低的实体F1性能,虽然在天气领域中有最高的F1,表明其无法更好的概括多个对话与并准确地将实体集成到其响应中。但它具有第二高的BLUE分数,因为它是Seq2Seq的扩展,具有非常的