NeurlPS 2020 | 简约任务型对话,让对话实现不再繁琐

2020 年 12 月 5 日 AI科技评论

作者 | 蜗牛慢月

编辑 | 陈大鑫
目前,对话系统主要分为任务型,问答型和闲聊型三种对话类型。其中,任务型对话,具有明确的任务目标,需要将每一句话,转化为参数,明确其任务目的,并完成任务,其主要应用场景为智能助理,智能会议系统等。问答型对话,也有明确的目标,但是不需要将问题转化为参数,只需给出答案,应用领域主要是客服。闲聊型只需要吸引客户闲聊下去,没有任务目标,其主要虚拟陪伴助手。 任务型对话,在商业领域有这广泛的应用,主要是解决某一领域的具体问题。
任务型对话,主要包含三个部分:理解用户输入问题,对用户问题产生响应,以及处理用户问题和用户问题的结果生成。这种任务型对话,一般每一个子任务都会有一个专用的模型,将模型串联起来,完成任务型对话。
Ehsan Hosseini-Asl等人研究发现,在MultiWOZ数据集上, 一个简单、统一的模型拥有更好的性能,取得更好的结果 。本文的SimpleTOD模型,使用一个单一的因果模型,该模型训练所有子任务,并将其重定向一个单一序列预测问题。

论文标题:A Simple Language Model for Task-Oriented Dialogue


论文链接:https://arxiv.org/abs/2005.00796
开源代码:https://github.com/salesforce/simpletod

1

介绍

论文中提出SimleTOD任务对话模型,使得整个任务型对话只依赖一个任务模型,减少了任务型对话的复杂性。同时,在技术方面,也有其独特的优势。
传统的任务型对话包含三部分:基于自然语言理解(NLU)的对话状态跟踪、基于对话管理(DM)的决策和预测、基于自然语言生成方案(NLG)的答案生成。针对这三个组成部分,分别独立的进行有监督训练。
其中自然语言理解将意图和意图作为标签实现有监督的训练;对话管理模块以对话目标和对话行为作为标签实现有监督的训练;自然语言生成模块基于模块回复问题或者自然回复问题。
这种模块化的任务型对话系统,每个模块都依赖于上一个模块的输入,这种依赖关系可能会导致传播错误。 例如,许多传统的对话系统在每次对话过程,都不会考虑整个对话过程,只是依赖于自然语言理解模块(NLU)的结果可靠地传给后面的模块中。
论文中,研究者将面向任务型对话的三个部分,重铸为一个简单的、因果的(单项的)语言建模任务。
简单面向任务对话(Simple TOD)方法,通过端到端的方式优化所有任务,同时建模子任务之间的内在依赖关系。这种模型充分利用大型语言模型(如GPT-2)于面向任务对话, SimpleTOD的成功证明了高质量因果语言模型所要求的开放领域内的内隐语言理解与一个完整的面向任务的对话系统所要求的理解之间的紧密联系。
其模型图如图1所示。

如图1所示,该论文的任务型对话系统包含四部分:User,SimpleTOD,Database Query和Database。
(1)User:
  • 用户部分包含用户输入部分
  • Simple TOD返回给用户的答案
(2)SimpleTOD:
  • belief(信念状态):是用户文本处理机制,主要是用户信念提取(意图提取)。
  • Action(对话管理):对话流程的决策,主要依据从belief获取的信念状态,从数据库查询出的结果,生成问题答案。
  • 其中,belief产生的结果,作为SQL Query的查询条件,去数据库检索结果。其检索得到的结果返回给Action,用于生成问题答案。
(3)Database Query
  • sql query:基于belief的查询语句的生成。
  • query result:从数据库中获取的查询结果。
(4)Database:领域问答数据库。
评估结果表明了SimpleTOD的优越性,该算法在MultiWOZ上实现了55.76的联合目标精度,超过了之前对话状态跟踪子任务(即信念状态跟踪)的所有工作。在最近测试完整的任务导向对话系统的环境中,信念状态和行动决策是生成的,而不是oracle中检索的,SimpleTOD的性能超过了之前在每个子任务和反应生成指标(+8.1 inform rate, +9.7 success rate)。
论文贡献:
1、SimpleTOD是一种用于对话跟踪状态的先进生成模型
2、SimpleTOD是第一个端到端设置中实现对话状态跟踪,行动决策和影响生成度量的最先进的模型。
3、SimpleTOD是一个健壮的对话状态跟踪器,可以在有噪声标记的数据中使用。
4、这种模型能够使用预先训练过的,开放领域的,因果性语言模型(如GPT-2),实现迁移学习。
5、SimpleTOD还改进了评估决策。


2

模型

上一部分主要了解了论文中,SimpleTOD的整体任务型对话架构,以及这种任务型对话模型存在的优势。以下段落将会从模型架构、训练细节、数据集细节和评估指标进行分析和学习。
  • Task-Orientend Dialogue
任务型对话(TOD)主要对以下三个主任务进行评估:对话状态(信念状态)跟踪,对话管理(行动/决策预测)和影响生成。这种分解方案,是对每个子任务创建一个专用的模型。本文的研究者提出了一个单模型,端到端的模型方案。
任务型对话中包含多轮对话。在 t 轮对话中,针对用户的输入(用符号Ut表示第 t 轮的用户输入),对话系统将会生成一个响应(用符号St表示响应输出)。研究者为了在推理期间生成响应,提出的SimpleTOD模型将前t-1轮对话的输入和响应,以上文的形式作为输入,其输入如Ct=[U0,S0,U1,S1,...,Ut]。最后将Ct作为输入,生成信念状态Bt。
从公式1中获得到的信念状态,是一个特定领域的三元组:(domian,slot_name,value)。其中,domain是对话领域(如图1是餐厅的对话领域),slot_name是词槽,value是值(如图1,Price range:cheap,Area:center)。将信念三元组转换为SQL查询语句(select * from restaurant where pricerange=cheap and area=center),通过查询语句到数据库中检索,得到满足条件的结果(value count=6)。SimpleTOD将结果聚合,得到Dt。其中聚合后的结果Dt包含返回结果数量,以及是否预订状态信息(取决于实验设置)。最后,SimpleTOD将Ct,Bt,Dt整合单一序列输出,即At(即图1中粉红色文本框,文本框名标注着Action)。
从公式2中获得的序列,是一个特定领域的三元组序列:(domian,action_type,slot_name)。Simple将所有的先验信息拼接成一个序列,生成一个非正则化的想要St。
将信念状态和数据库搜索结果的信息相拼接,同时进行字典化,输出人类可阅读的文本。
  • Causal Language Modeling
因果语言模型其单一的训练序列输入是由多个序列拼接而成即,Xt=[Ct;Bt;Dt;At;St],然后对该序列建立联合概率模型。模型整体输入序列如下:X=(X1,X2,...,Xn),每个X i来自于一组固定的符号,语言建模的目标是学习p(x)。其语言模型使用概率的链式法则,并且训练一个带有参数的神经网络来最小化数据集D={X1,...,X|D|}。其序列Xt的长度为nt。
  • Architecture
研究者训练一个transformer来学习条件分布。每一个输入序列向量包含两部分:所有tokens嵌入向量的和,以及位置向量的正弦值。同时,此输入向量还要经过L层的注意力层。第i层由两个块组成,每个块保持模型维数d。第一个block使用基于k个head的multi-head注意力机制,同时因果模型未使用未来的tokens。
第二个block使用基于ReLU作为激活函数的前馈神经网络,将输入映射到f维度之上。
其中U是d*f维度的实数集,V是f*d维度的实数集。每一个block在核心功能之前都需要对输入数据进行归一化,其公式如下。
最后一层计算scores值,其计算公式如下:
在训练期间,socres值是交叉熵损失函数的输入;在生成模型期间,socres与最后一个token用softmax进行规范化,从而生成一个新分布的token。
  • Training Details
该模型的输入模块,使用预先训练好的BPE代码,它与DistilGPT2相关联,是GPT-2的蒸馏版本。SimleOTD模型的超参数,使用huggingface transformer中的GPT-2和DistllGPT2的默认超参数。
  • Dataset Details
使用的数据为Multi-domain Wizard-of-Oz(MultiWOZ),该数据包含10438个多回合对话,平均13.68个回合,跨越7个领域(餐厅,火车,景点,酒店,出租车,医院,警察)。由于警察和医院领域没有有效的测试分割,因此,未使用这两个领域。
  • Evaluation Details
评估方案中,针对单项指标,使用MultiWOZ的评估方案,针对综合评分,使用Mehr等人的评估方案。联合目标精度(joint goal accuracy)用于评价对话状态跟踪的性能,对话管理和文本生成阶段使用三个度量标准,inform rates、sucess rates和Bleu socre。对话系统的综合评估值(Combined)计算方式为(BLEU + 0.5*(Inform + Sucess))。

3

实验

SimpleTOD是一个面向任务对话的统一系统。 SimpleTOD是第一个根据对话状态跟踪以及针对MultiWOZ决策和响应生成的端到端来衡量问答结果的对话模型系统,是最先进的任务对话系统。 其实验主要由以下几个方面进行分析。
  • Dialogue State Tracking
       
表1比较了不同模型的联合目标精度。之前的模型采用了Bidirectional编码器来学习对话上下文,然而, SimpleTOD模型使用了一个单项(因果)解码器,没有使用额外的双向编码器,也没有额外的监督,但是联合目标精度确实最高。
其中许多模型都使用测试标签进行清洗,TRADE,DSTQA,DST-Picklist和SST使用了Wu等人提出的清洗方式。DSTQA还考虑了最初被认为是不正确的标签变化。TripPy应用自己的格式标准化、排版更正和处理标签变化。然而, SimpleTOD无需对原始的原始注释进行清理或规范化,就可以获得最佳性能。
  • Action and Response Generation
       
表2和表3在action、response generation两种模块进行对比分析。 SimpleTOD放弃了用oracle信息来评估不同组件模块化和流水线的方法。 其详细可以在补充资料中参考,在补充资料中找到oracle设置与HDSA、ARDM、LaRL、PARG不同设置之间的比较,但是这些比较对于端到端贡献来说不是必要的。事实上,与之前唯一的工作DAMD相比,SimpleTOD在端到端设置方面是最先进的,但在部分利用oracle信息的设置方面没有达到最先进的水平。这部分强调了, oracle的评估并没有可靠地转移到完整系统的端到端评估,只有端到端评估才能准确地描述完整系统的性能。
之前的工作使用oracle DB搜索结果在模型训练时实现嫉妒功能,同时作为推理时的输入,当然也包括使用oracle DB搜索结果直接对比实验。 研究者还基于完全忽略数据库搜索结果进行实验,以显示SimpleTOD在没有数据库搜索信息的情况下惊人的有效性。 最后还展示了一个带有动态DB搜索结果的设置。在这个设置中,使用从DB检索出的数据进行训练,并根据生成的信念状态进行推断,动态地计算出信念状态。在所有的变化中,SimpleTOD都优于之前的工作。
在先前工作中,DMAD是唯一在推理过程中使用信念状态来评估对话跟踪状态。 研究者在额外的消融实验中发现,可以通过训练三种独立的SimpleTOD语言模型来提高单个指标的分数,比如inform rete和sucess rate。 这三个独立语言模型分别是:一个用于对话状态跟踪,一个用于行动生成,一个用于响应生成。 然而,实验显示,完整的端到端,单一模型的方法,combined scores仍然几乎相同。 例如,分离模型可能会提高inform rate,但会损害由BLEU测量的反应生成。无论如何,在这的实验设置下,SimpleTOD模型在iform和sucess指标上有了完成的表现。SimpleTOD仅在BLEU指标低了1.59点,这可能是由于缺少DAMD使用的动作/响应增强。
进一步分析和讨论
  • The Role of Special Tokens
             
如表4,使用不同的特殊标记来评估SimpleTOD模型,这些标记是用于识别不同子任务对应的输入组件。实验结果分析显示,如果没有End token标记,SimpleTOD能够于产生更长的belief state, action, 和response generations。更重要的是SimpleTOD模型能够清楚区分的用户文本和系统文本。
  • Pre-training
             
表5强调的使用预训练过的权重初始化SimpleTOD的重要性。以及不同 的预训练,对SimpleTOD的影响。其最佳与训练数据集以及权重是GPT2.
  • Robustness to Noisy Annotation
为了理解对话状态跟踪错误的来源,研究者深入研究了MultiWOZ 2.1注释entity。在这个过程中,定义了四种主要类型的噪声标签,它们可以被认为是错误注释。
1、用户提供了多个选项,但是上下文没有提供足够的信息来确定真实的belief state。
2、belief state没有标记,但是上下文提供了足够的信息。
3、belief state被标记,但上下文缺少必要的信息。
4、belief state根据上下文信息拼错
实验结果和本文的分析表明,即使在有噪声标签的情况下,SimpleTOD也能够跟踪对话状态并生成正确的输出。


4

总结

论文中探索了一种简单的任务导向对话方法(SimpleTOD),它使用单一的因果语言模型。为此,在训练过程中,将对话状态跟踪、动作预测和响应生成的所有输入视为模型的单个序列。然后,SimpleTOD可以直接利用像GPT-2这样预先训练好的模型,从数据更容易获得的开放域设置中转移语言理解。在多领域对话数据集(MultiWOZ)上的实验结果表明,该方法在对话状态跟踪以及端到端设置的动作和响应生成方面优于所有已有方法。同时发现预先训练的权重是必要的,但是为了充分利用这些权重,我们必须使用标记用户和系统响应的特殊标记来指导系统,以及与不同子任务相关序列的不同部分。SimpleTOD能够有效地跟踪长上下文中的对话状态,并且不需要过多的贪婪解码就可以获得最新的最先进的结果,尽管数据中有嘈杂的注释。


由于微信公众号试行乱序推送,您可能不再能准时收到AI科技评论的推送。为了第一时间收到AI科技评论的报道, 请将“AI科技评论”设为星标账号,以及常点文末右下角的“在看”。

登录查看更多
2

相关内容

【AAAI2021】对话推理:上下文阅读理解提升回复生成
专知会员服务
43+阅读 · 2021年1月23日
达摩院基于元学习的对话系统
专知会员服务
24+阅读 · 2021年1月1日
专知会员服务
37+阅读 · 2020年11月24日
专知会员服务
67+阅读 · 2020年10月2日
专知会员服务
33+阅读 · 2020年9月25日
【KDD2020-UCLA-微软】GPT-GNN:图神经网络的预训练
专知会员服务
62+阅读 · 2020年8月19日
[综述]基于深度学习的开放领域对话系统研究综述
专知会员服务
79+阅读 · 2019年10月12日
基于RASA的task-orient对话系统解析(一)
AINLP
16+阅读 · 2019年8月27日
Rasa介绍:对话系统、产品与技术
AINLP
7+阅读 · 2019年8月20日
NLP实践:对话系统技术原理和应用
AI100
34+阅读 · 2019年3月20日
博客 | 总结 | 对话系统中的口语理解(SLU)(一)
赛尔原创 | 最新任务型对话数据集大全
哈工大SCIR
9+阅读 · 2018年11月12日
一文读懂智能对话系统
数据派THU
16+阅读 · 2018年1月27日
Arxiv
0+阅读 · 2021年2月11日
Adversarial Mutual Information for Text Generation
Arxiv
13+阅读 · 2020年6月30日
Arxiv
4+阅读 · 2018年9月25日
VIP会员
相关VIP内容
【AAAI2021】对话推理:上下文阅读理解提升回复生成
专知会员服务
43+阅读 · 2021年1月23日
达摩院基于元学习的对话系统
专知会员服务
24+阅读 · 2021年1月1日
专知会员服务
37+阅读 · 2020年11月24日
专知会员服务
67+阅读 · 2020年10月2日
专知会员服务
33+阅读 · 2020年9月25日
【KDD2020-UCLA-微软】GPT-GNN:图神经网络的预训练
专知会员服务
62+阅读 · 2020年8月19日
[综述]基于深度学习的开放领域对话系统研究综述
专知会员服务
79+阅读 · 2019年10月12日
相关资讯
基于RASA的task-orient对话系统解析(一)
AINLP
16+阅读 · 2019年8月27日
Rasa介绍:对话系统、产品与技术
AINLP
7+阅读 · 2019年8月20日
NLP实践:对话系统技术原理和应用
AI100
34+阅读 · 2019年3月20日
博客 | 总结 | 对话系统中的口语理解(SLU)(一)
赛尔原创 | 最新任务型对话数据集大全
哈工大SCIR
9+阅读 · 2018年11月12日
一文读懂智能对话系统
数据派THU
16+阅读 · 2018年1月27日
Top
微信扫码咨询专知VIP会员