Multi-Level Memory for Task Oriented Dialogs
Recent end-to-end task oriented dialog systems use memory architectures to incorporate external knowledge in their dialogs. Current work makes simplifying assumptions about the structure of the knowledge base (such as the use of triples to represent knowledge) and combines dialog utterances (context), as well as, knowledge base (KB) results, as part of the same memory. This causes an explosion in the memory size, and makes reasoning over memory, harder. In addition, such a memory design forces hierarchical properties of the data to be fit into a triple structure of memory. This requires the memory reader to learn how to infer relationships across otherwise connected attributes.
In this paper we relax the strong assumptions made by existing architectures and use separate memories for modeling dialog context and KB results. Instead of using triples to store KB results, we introduce a novel multilevel memory architecture consisting of cells for each query and their corresponding results. The multi-level memory first addresses queries, followed by results and finally each key-value pair within a result. We conduct detailed experiments on three publicly available task oriented dialog data sets and we find that our method conclusively outperforms current state-of-the-art models. We report a 15-25% increase in both entity F1 and BLEU scores.
1 Introduction
Task oriented dialog systems are designed to complete a user specified goal, or service an information request using natural language exchanges. Unlike open domain end-to-end neural dialog models, task oriented systems rely on external knowledge sources, outside of the current conversation context, to return a response (Henderson et al., 2014a; Su et al., 2016; Bordes and Weston, 2017a; Eric and Manning, 2017; El Asri et al., 2017). For instance, in the example shown in Table 1, a dialog agent giving tour package recommendations needs to be able to first query an external knowledge source to determine packages that meet a user’s requirement, and then respond accordingly.
面向任务的对话系统旨在完成用户指定的目标,或使用自然语言交换服务信息请求。与开放域端到端神经对话模型不同,面向任务的系统依赖于当前对话上下文之外的外部知识源来返回响应(Henderson等人,2014a; Su等人,2016; Bordes和Weston ,2017a; Eric和Manning,2017; El Asri等,2017)。例如,在表1所示的示例中,提供旅行套票建议的对话代理程序必须能够首先查询外部知识源,以确定满足用户要求的套票,然后做出相应的响应。
∗Work done during internship at IBM Research AI
∗在IBM Research AI实习期间完成的工作
Table 1: A goal oriented dialog based on the Frames dataset (El Asri et al., 2017) along with an external knowledge source with each row containing a tour package.
表1:基于框架数据集的面向目标的对话(El Asri等人,2017)以及外部知识源,每行包含一个旅游套餐。
In order to enable end-to-end goal oriented dialog tasks, current state of the art methods use neural memory architectures to incorporate external knowledge (Su et al., 2016; Eric and Manning, 2017; Madotto et al., 2018). As can be seen in Table 1, agent responses may also include entity values present only in the dialog context (eg: “Munich” in the Agent response in Turn 2). In order to support such utterances, models also include tokens from the input dialog context in the same memory (Madotto et al., 2018).
为了实现端到端面向目标的对话任务,当前最先进的方法使用神经记忆架构来整合外部知识(Su等人,2016; Eric和Manning,2017; Madotto等人,2018)。如表1所示,代理响应还可以包括仅在对话框上下文中存在的实体值(例如,回合2中代理响应中的“慕尼黑”)。为了支持这种话语,模型还将来自输入对话框上下文的标记包含在同一存储器中(Madotto等,2018)。