面向任务对话系统(TOD)综述

  1. 本文从系统类型的角度,将面向任务的对话系统开放领域的对话系统作为两个研究热点进行了讨论。
  2. 此外,我们全面回顾了对话系统的评估方法和数据集,为未来的研究铺平道路。
  3. 最后,根据最近的研究成果,提出了一些可能的研究趋势

对话系统一般分为两类:面向任务的对话系统(TOD)和开放域对话系统(OOD)
面向任务的对话系统解决了某一领域的具体问题,如电影票预订、餐厅预订等。
开放域对话系统不是专注于任务完成,而是旨在与用户聊天而不受任务和领域的限制(Ritter et al.,2011) 这通常是完全数据驱动的

传统的面向任务的对话系统采用pipeline 结构,由四个功能模块组成:自然语言理解、对话状态跟踪、策略学习和自然语言生成,将在第3节详细讨论
与流水线方法相比,许多先进的作品设计了端到端面向任务的对话系统,以实现更好的优化。开放领域对话系统一般分为三大类:生成系统、检索系统和集成系统

1、简介

第二部分介绍了任务导向对话系统的原理和相关工作
讨论了研究的挑战和热点问题;
第五部分回顾了对话系统的主要评价方法;
第6节全面总结了对话系统常用的数据集;
第七部分对全文进行了总结,并对研究趋势进行了展望。

2、任务导向对话系统的原理和相关工作

本节介绍面向任务的对话系统,包括模块化和端到端系统。面向任务的系统解决了某一领域的具体问题,如电影票预订、餐厅预订等。由于其卓越的性能,我们专注于基于深度学习的系统。对于那些想要了解更多关于传统的基于规则和统计模型的读者,有几个调查可以参考(Theune, 2003;Lemon和Pietquin, 2007年;Mallios和布尔巴基2016;陈等人, 2017a;Santhanam和Shaikh,2019)。
在这里插入图片描述

面向任务的对话系统需要更严格的响应约束,因为它的目标是准确地处理用户消息。因此,提出了模块化方法,以更可控的方式生成响应。上图描述了一个基于模块的系统的体系结构。它由四个模块组成:

  • Natural Language Understanding (NLU). 该模块将原始用户消息转换为语义槽,并对域和用户意图进行分类。然而,一些最近的模块系统忽略了这个模块,并使用原始用户消息作为下一个模块的输入,如上图所示。这样的设计旨在减少错误在模块之间的传播,减轻原始错误的影响。
  • Dialogue State Tracking (DST). 这个模块根据当前输入和对话历史迭代地校准对话状态。对话状态包括相关的用户操作和槽值对。
  • Dialogue Policy Learning(PL). 根据DST模块中经过校准的对话状态,该模块决定对话代理的下一步行动
  • Natural Language Generation (NLG) 。这个模块将所选择的对话行为转换成表层的自然语言,这通常是最终的回应形式。

3.1 Natural Language Understanding

在这里插入图片描述

NLU模块将用户产生的自然语言信息转换成语义槽并进行分类。表2显示了NLU模块的输出格式示例。NLU模块管理三个任务:域分类、意图检测和槽位填充
领域分类和意图检测是分类问题,它们使用分类器来预测从输入语言序列到预定义标签集的映射。在给定的例子中,预测的域是“movie”,而意图是“find_movie”。槽填充是一个标记问题,可以看作是一个序列到序列的任务。它将原始用户消息映射为槽名序列。在本例中,NLU模块读取用户消息“Recommend a movie at Golden Village tonight. ”并输出相应的标签序列。它将“Golden Village ”识别为目的地,分别标记为“B_desti”和“I_desti”这两个单词。类似地,token “tonight”被转换为“B_time”。'B’表示一个块的开始,'I’表示该标记位于目标块内。对于那些不相关的标记,使用’O’表示该标记在任何感兴趣的块之外。这种标记方法被称为“内-外-始”(IOB)标记(Ramshaw和Marcus, 1999),这是命名实体识别(NER)任务中常见的方法。

3.1.1 领域分类和意图检测的相关技术

领域分类和意图检测属于同一类任务。提出了深度学习方法来解决对话域和意图的分类问题。Deng et al.(2012)和Tur et al.(2012)是第一个成功提高对话意图识别准确性的人。他们建立了深凸网络,将先前网络的预测和当前的话语结合起来,作为当前网络的综合输入。深度学习框架也被用于以半监督的方式对对话域和意图进行分类(Yann等人,2014)。为了解决训练深度神经网络进行领域和意图预测的困难,应用Restricted Boltzmann Machine (RBM)和deep Belief Networks (dbn)对深度神经网络的参数进行初始化(Sarikaya et al., 2014)。为了利用神经网络在序列处理中的优势,一些研究将神经网络作为话语编码器,并对意图和领域类别进行预测(Ravuri和Stolcke, 2015, 2016)。Hashemi等人(2016)使用CNN来提取层次结构用于意图检测的文本特征,并说明了cnn的序列分类能力。Lee和Dernoncourt(2016)提出了一种简短话语意图分类模型。简短的话语很难发现意图,因为在单个对话回合中缺乏信息。本文利用RNN和CNN架构将对话历史结合起来,从而获得上下文信息作为当前回合信息之外的附加输入。该模型在三个意图分类数据集上取得了良好的性能。最近,Wu等人(2020a)预先训练了面向任务的对话BERT (TOD-BERT),显著提高了意图检测子任务的准确性。该模型还表现出较强的少镜头学习能力,能够有效缓解特定领域的数据不足问题。

3.1.2 槽填充的相关技术

槽填充问题也称为语义标记,是一个序列分类问题。更具有挑战性的是,该模型需要同时预测多个对象。深度信念网(Deep Belief Nets, dbn)在深度架构学习中表现出良好的能力,并已被应用于包括语义标记在内的许多任务中。Sarikaya等人(2011)使用dbn初始化的神经网络来完成呼叫路由任务中的槽位填充。Deoras和Sarikaya(2013)构建了一个基于dbn的序列标记器。除了传统标记器使用的NER输入特征外,它们还将部分语音特征和句法特征作为输入的一部分。循环架构使序列标记任务受益,因为它们可以沿着过去的时间步骤跟踪信息,以充分利用序列信息。Yao等人(2013)首先提出,RNN语言模型(RNN- lm)可以应用于序列标记,而不是简单地预测单词。在rnn - lm的输出端,标签标签被预测而不是正常词汇。Mesnil等人(2013)和Mesnil等人(2014)进一步研究了不同循环结构对槽填充任务的影响,并发现所有rnn都优于条件随随场(CRF)基线。LSTM作为一种强大的循环模型,由于其门机制的记忆控制,在ATIS数据集上显示出良好的标记精度(Yao等,2014)。Gangadharaiah和Narayanaswamy(2020)认为,传统语义标签的浅层输出表征缺乏表达结构化对话信息的能力。为了改进,他们通过迭代生成和填充模板,将槽填充任务视为基于模板的树解码任务。与传统的序列标记方法不同,cooper等人(2020)将槽位填充任务作为基于回合的跨度提取任务来处理。他们采用会话预训练模型ConveRT,利用预训练向量中蕴含的丰富语义信息,解决了域内数据不足的问题。ConveRT的输入是所请求的槽和语句,而输出是一组感兴趣的槽值。

3.1.3 领域分类、意图检测、槽填充的统一

一些研究选择将领域分类、意图检测和槽位填充结合到一个多任务学习框架中,共同优化共享的潜在空间。Hakkani-Tür等人(2016)采用双向RNN-LSTM架构,共同执行三个任务。Liu和Lane(2016)在传统的RNN编码器-解码器模型中加入了一种注意力机制来管理意图检测和槽位填充。槽填充应用显式对齐。Chen等人(2016)提出了一种端到端记忆网络,并使用记忆模块在历史话语中存储用户意图和槽值。注意在解码阶段迭代地选择相关的意图和槽值。三个NLU子任务的多任务学习有助于领域的扩展,并在转移到新领域时促进零镜头或少镜头训练(Bapna et al., 2017;李和杰哈,2019年)。Zhang等人(2018a)通过应用基于胶囊的神经网络捕获了NLU多任务学习中对话语义的层次结构。通过采用动态协议路由策略,该架构提高了在SNIPS-NLU和ATIS数据集上的意图检测和插槽填充的准确性。

3.1.4 新的观点

近年来,NLU研究中出现了一些新的观点,为进一步的改进提供了新的可能性。传统的NLU模块依赖于使用自动语音识别(ASR)模块从用户的音频信息转换而来的文本。然而,Singla et al.(2020)跳过了ASR模块,直接使用音频信号作为NLU的输入。他们发现,通过减少管道系统的模块数量,预测更加稳健,因为传播的错误更少。
Su等人(2019b)认为自然语言理解(NLU)和自然语言生成(NLG)是反向过程。因此,他们的双重关系可以利用训练与双监督学习框架。实验在这两项任务中都显示出了进步

3.2 Dialogue State Tracking

对话状态跟踪(DST)是对话管理器的第一个模块。它会根据整个对话历史记录跟踪每一轮用户的目标和相关细节,为Policy Learning模块(下一个模块)决定agent行动提供信息。
在这里插入图片描述

3.2.1 NLU和DST的不同

NLU和DST模块的区别是密切相关的。NLU和DST都为对话执行槽填充。然而,他们实际上扮演着不同的角色。NLU模块尝试对当前用户消息进行分类,例如意图、域类别以及每个消息令牌所属的槽位
但是,DST模块不对用户消息进行分类和标记。相反,它试图根据整个对话历史为预先存在的槽列表中的每个槽名找到一个槽值。例如,有一个预先存在的槽列表“intent:;域:;名称:;pricerange: ;类型的目的地:;Date:",其中冒号后面的下划线是一个占位符,表示这个位置可以用值填充。每一回合,DST模块将查找到当前回合的整个对话历史,并决定哪些内容可以填入插槽列表中的特定插槽中。如果对话框中只有用户信息“推荐今晚黄金村的电影”,那么该列表可以填入“意图:通知;域:电影;名称:没有;pricerange:没有;类型:没有;目的地:GoldenVillage;date: today”,其中用户到当前回合未指定的槽位可以用“None”填充。最后,NLU模块试图标记用户消息,而DST模块试图从用户消息中查找值,以填写预先存在的表单。一些对话系统将NLU模块的输出作为DST模块的输入(Williams et al., 2013;Henderson等人,2014a,b),而其他人则直接使用原始用户消息来跟踪状态(Kim等人,2019;Wang et al., 2020e;胡等人,2020年)。

3.3 Policy Learning

Policy学习模块是对话管理器的另一个模块。该模块根据DST模块的输出对话框状态控制系统将采取的操作。假设我们拥有当前回合的对话状态St,并且行动集合A = [a1,…, an),该模块的任务是学习映射函数f: St→ai ∈ A。该模块在任务定义方面比其他模块相对简单,但实际上,任务本身具有挑战性(Peng et al.,2017)。
例如,在电影票和餐厅餐桌预订任务中,如果用户预定了两个小时的电影时段,并打算在那之后去吃晚餐,那么agent应该意识到电影时段和餐厅时段的时间差必须超过两个小时,因为要考虑从电影院到餐厅的通勤时间。
监督学习和强化学习是对话政策学习的主流训练方法(Chen等人,2017a)。在监督方式下学习的政策表现出很强的决策能力(苏等人,2016;丁格拉等人,2016年;Williams等人,2017;刘,莱恩,2017)。在某些特定的任务中,监督策略模型可以精确地完成任务,但训练过程完全取决于训练数据的质量。此外,标注的数据集需要大量的人工劳动,决策能力受到特定任务和领域的限制,传递能力较弱。随着强化学习方法的普及,越来越多的任务导向对话系统使用强化学习来学习策略。对话策略学习适合强化学习设置,因为强化学习的agent也会学习一种将环境状态映射到行动的策略。
通常,强化策略学习的环境是一个用户或一个模拟用户,在其中设置的训练称为在线学习。然而,在在线学习场景中从头学习策略需要数据和时间,因此需要使用暖启动方法来加快训练过程。Henderson et al.(2008)使用专家数据来限制初始行动空间探索。Chen等(2017b)应用师生学习框架将教师专家知识转移到目标网络,以预热系统。

3.3.1强化策略学习技术

最近几乎所有的对话式政策学习作品都是基于强化学习方法。在线学习是一种迭代获取训练样本的理想方法,但人力非常有限。Zhang等人(2019c)提出了预算意识调度(budget - conscious Scheduling, BCS),以更好地利用有限的用户交互,其中用户交互被视为预算。BCS在训练过程中使用概率调度器来分配预算。此外,控制器决定是使用真实的用户交互还是模拟的用户交互。在此基础上,采用基于目标的抽样模型模拟策略学习的经验。这种预算控制机制在实际培训过程中取得了理想的效果。考虑到获取真实在线用户交互的难度和训练用户模拟器所需的大量标注数据,Takanobu等人(2020)提出了Multi-Agent Dialog Policy Learning,其中他们有两个agent相互交互,同时执行用户和agent,同时学习策略。此外,他们还加入了特定角色的奖励,以促进基于角色的反应产生。在实验中观察到较高的任务完成率。王等。(2020d)引入了采用双q Dueling网络(MCTS-DDU)的蒙特卡罗树搜索(Monte Carlo Tree Search with Double-q Dueling network, MCTS-DDU),提出了决策时间规划而不是背景规划。他们使用蒙特卡罗模拟来执行对话状态的树搜索。Gordon-Hall等人(2020)以一种弱监督的方式训练专家演示人员进行演示中的深度q -学习(DQfD)。此外,还提出了增强微调学习(reinforcement Fine-tune Learning)来促进区域迁移。在强化对话策略学习中,agent通常在对话结束时才收到反馈,这不利于学习效率的提高。Huang等(2020b)根据专家论证,提出了一种约束对话进度的创新奖励学习方法。专家演示可以被注释,也可以不被注释,所以这种方法不是劳动密集型的。王等。(2020b)提出共同生成对话行动和响应,以保持对话的固有语义结构。同样,Le等人(2020b)提出了一个统一的框架,可以同时进行对话状态跟踪、对话策略学习和响应生成。实验表明,统一框架在子任务和领域适应性方面都有较好的表现。Xu等人(2020a)使用知识图提供行动集的先验知识,并以图为基础的方式解决政策学习任务。通过结合知识图,获得长期奖励,为政策主体在选择行动时提供长期愿景。此外,由于先验知识,候选动作的质量更高。策略学习进一步以更可控的方式进行。

3.4 Natural Language Generation

在这里插入图片描述

传统的NLG模块是pipeline 系统。由Siddharthan(2001)定义,NLG的标准管道由四个组件组成,如图15所示。
这个pipeline 的核心模块是由Reiter(1994)提出的内容确定、句子规划和表面实现。Cahill等人(1999)通过增加三个组件进一步改进了NLG管道:词汇化、引用表达式生成和聚合。然而,该模型的缺点是系统的输入不明确。

3.4.1端到端的NLU技术

3.4.2 健壮的NLU

健壮的自然语言生成最近的研究关注于生成的响应的可靠性和质量。
为了避免在生成的响应中出现槽值缺失或冗余等错误,Li等人(2020d)提出了迭代整改网络(IRN),这是一个用监督学习训练、用强化学习微调的框架。它通过将槽位不一致的惩罚整合到奖励中,迭代地纠正生成的令牌
Oraby等人(2019)提出了一种方法,可以从容易获得的用户评论中创建带有丰富风格标记的数据集。他们进一步根据生成的数据训练多个NLG模型,实现语义正确性和语言风格的联合控制。
同样,Elder et al.(2020)提出了一种数据增广方法,限制了响应生成。尽管这种限制导致了反应迟钝和缺乏多样性,但他们认为,在任务导向系统中,可靠性比多样性更重要

4、最近的研究和热点话题

4.1Pretrained Models for NLU

自然语言理解任务将用户消息转换为预定义的语义槽格式。执行NLU的一种流行方法是对大规模的预训练语言模型进行微调。Wu和Xiong(2020)在面向任务的对话系统的三个子任务——领域识别、意图检测和插槽标注中比较了许多预先训练的语言模型,包括基于bert和基于gpt的系统。本研究旨在为相关研究提供预训练模型选择与应用方面的见解与指导。Wu等人(2020a)对TOD-BERT进行了预训练,在意图检测任务中优于强基线。该模型还具有较强的少镜头学习能力,可以缓解数据不足的问题。cooper等人(2020)提出了Span-ConveRT,这是一个为槽位填充任务而设计的预训练模型。它认为槽位填充任务作为一种基于回合的跨度提取问题,在少镜头学习场景下也表现良好。

4.2 Domain Transfer for NLU

NLU研究的另一个挑战或热点是领域转移问题,这也是面向任务的对话系统的关键问题。Hakkani-Tür等人(2016)为领域分类、意图检测和槽填充问题的多任务学习构建了一个RNN-LSTM体系结构。来自多个领域的训练样本被组合在一个单一的模型中,其中各自的领域数据相互加强。Bapna等人(2017)使用了一个多任务学习框架来利用槽名编码和槽描述编码,从而隐式地将槽填充模型跨域对齐。同样,Lee和Jha(2019)也应用槽描述来利用不同领域槽之间的相似语义概念,解决了过去涉及多领域槽填充的工作中遇到的次优概念对齐和长训练时间的问题。

4.3 Domain Transfer for DST

领域适应性也是对话状态跟踪器的一个重要话题。DST中的域转移具有挑战性,主要有三个原因(Ren et al., 2018):(1)当域发生变化时,本体中的槽值不同,这导致了模型的不兼容性。(2)当域发生变化时,槽位号也会发生变化,导致模型参数的数量不同。(3)手工制作的词汇使得领域的泛化变得困难。Mrksié等人(2015)使用非exicicalized n-gram特征,通过用泛型符号替换所有指定的槽位名称和值来解决域不兼容问题。Lin等人(2020c)引入了Levenshtein信念广度(Lev),它是与用户信息相关的短上下文广度。与以往从头生成对话状态的方法不同,该方法基于过去的状态进行替换(SUB)、删除(DEL)和插入(INS),减少了对带注释的域内训练样本的依赖。Huang等人(2020c)应用模型不可知的元学习(MAML),首先在几个源领域学习,然后在目标领域进行适应,而Campagna等人。(2020)利用抽象会话模型和领域本体综合领域内数据,改进了零镜头迁移学习。欧阳等人(2020)对显式槽连接建模,以利用出现在其他领域的现有槽。因此,跟踪器可以直接从连接的槽中复制槽值,减轻了推理和学习的负担。Wang等人(2020e)提出了价值归一化(Value Normalization, VN),将支持的对话范围转换为状态值,可以在只有30%可用本体的情况下实现高精度。

4.4 Tracking Efficiency for DST

跟踪效率是对话状态跟踪挑战的另一个热门话题。通常,对话框中有多个状态,因此在试图减少系统的反应时间时,如何在没有任何冗余步骤的情况下计算槽值就变得非常重要。Kim等人(2019年)认为,从头到尾预测对话状态是没有效率的。他们建议首先预测在每个槽上要采取的操作(例如,结转、删除、Dontcare、更新),然后按照预测执行各自的操作。欧阳等(2020)采用槽位连接机制,直接从源槽位复制槽位值,减少了推理开销。Hu et al.(2020)和Wang et al. (2020e)提出了槽位关注来计算槽位与对话上下文之间的关系,从而在每个回合只关注相关槽位。

4.5 Training Environment for PL

政策学习框架的环境问题一直是一个长期存在的问题。李等人。(2017b)构建了一个用户模拟器,将用户反馈建模为环境的奖励信号。他们模拟了一个类似堆栈的用户议程,以迭代地改变用户目标,从而改变对话状态。虽然使用用户模拟器进行环境建模似乎很有前途,因为它涉及较少的人类交互,但Zhang等人(2019c)认为,训练用户模拟器需要大量注释数据。Takanobu等人(2020)提出了Multi-Agent Dialog Policy Learning,其中两个agent相互作用,同时执行user和agent,学习策略。此外,他们还加入了特定角色的奖励,以促进基于角色的反应生成,在这种情况下,两个代理都扮演着另一个代理的环境。

4.6 Response Consistency for NLG

在神经网络中,响应一致性是一个具有挑战性的问题,因为它不能简单地通过增加训练样本来解决。相反,应该设计额外的修正或规定。Wen等(2015b)提出了语义控制LSTM (semantic Controlled LSTM, SC-LSTM),它使用语义规划门来控制对话动作的保留或放弃,从而保证响应的一致性。同样,Tran和Nguyen(2017)也应用门控机制共同执行句子规划和表面实现,对话动作特征在进入GRU细胞之前被门控。Li等人(2020d)提出了迭代整改网络(IRN),将槽位不一致的奖励结合到强化学习框架中。因此,该模型反复检查槽和相应值的正确性

4.7 End-to-end Task-oriented Dialogue Systems

端到端系统通常是完全数据驱动的,这有助于它们的健壮和自然响应。然而,由于标注训练样本的局限性,如何在数据有限的情况下提高端到端任务对话系统的响应质量成为研究的热点。使用基于规则的方法来约束响应生成是提高响应质量的一种方法。Balakrishnan等人(2019)使用线性化的树状结构表示作为输入,以获得对话语级和句子级语义概念的控制。Kale和Rastogi(2020)使用模板来提高生成的回答的语义正确性。他们将响应生成分解为两个阶段:首先基于模板的约束,生成语义正确但可能不连贯的响应;然后在第二阶段,使用预先训练好的语言模型将生成的话语重新组织成连贯的话语。用强化学习训练网络是减轻对标注数据依赖的另一种策略。他等人(2020a)使用强化学习框架训练了两个教师网络,目标分别是知识检索和响应生成。然后,学生网络学会通过模仿教师网络的输出来产生反应。Dai等人(2020)以监督的方式训练网络,或者尝试优化学习策略,以在有限的数据下提高模型的学习效率。他们将元学习算法与人机交互结合起来,与不使用元学习算法训练的强基线相比,取得了显著的改善。解决有监督学习中数据有限性问题更直接的方法是增加数据集(Elder et al., 2020),这也在一定程度上提高了响应质量。此外,在公共语料库上对大规模模型进行预训练,然后将它们应用于缺乏注释数据的领域是一种流行的方法近年来(Henderson et al., 2019b;Mehri等人,2019年;Bao等人,2019b)。

4.8 Retrieval Methods for Task-oriented Dialogue Systems

在面向任务的系统中,基于检索的方法是非常少见的,因为候选条目不足以覆盖所有可能的响应,而这些响应通常涉及到来自外部知识库的特定知识。然而,Henderson et al. (2019b)认为,在一些不涉及特定知识事实的情况下,基于检索的方法更精确和有效。他们首先在通用领域语料库上预训练响应选择模型,然后在小目标领域数据上进行微调。在6个不同领域的数据集上进行实验,验证了该模型的有效性。Lu等人(2019b)构建了时空上下文特征来促进响应选择,并在Ubuntu IRC数据集上实现了显著改进。

5 评价方法

评价是对话系统研究的一个重要部分。它不仅是评估agent表现的一种方式,而且也可以成为学习框架的一部分,提供信号以促进学习(Bao et al., 2019a)。本节讨论面向任务和开放领域对话系统中的评价方法。

5.1 Evaluation Methods for Task-oriented Dialogue Systems

面向任务的系统以完成任务为目标,因此有更直接的指标来评估其性能,如任务完成率和任务完成成本。一些评估方法还包括像BLEU这样的指标来比较系统响应和人类响应,这将在后面讨论。此外,基于人的评估和用户模拟器能够提供真实的会话样本。任务完成率是所有任务完成尝试中成功事件的比率。它衡量对话系统完成任务的能力。例如,在电影票预订任务中,任务完成率是满足用户指定的所有需求的对话的比例,如电影时间、电影院位置、电影类型等。任务完成率被应用于许多面向任务的对话系统(Walker et al., 1997;威廉姆斯,2007;彭等人,2017)。此外,一些作品(Singh et al., 2002;Yih et al., 2015)采用部分成功率。任务完成成本是指完成任务所需的资源。时间效率是任务完成成本中的一个重要指标。在对话类任务中,通常用对话轮数来衡量时间效率,在完成相同任务时,优先选择轮数较少的对话。人性化评价为系统评价提供用户对话和用户满意度评分。以人为本的评估有两大主流。一种是通过众包平台招募人力来测试使用对话系统。众包工作者与对话系统就预定义的任务进行对话,然后就可以计算出任务完成率和任务完成率等指标。另一种是计算真实用户交互中的评估指标,这意味着评估是在系统部署到实际使用后完成的。
用户模拟器提供基于预定义规则或模型的模拟用户对话。由于招募人力成本高昂,并且在部署成熟的系统之前无法进行真实的用户交互,因此用户模拟器能够以较低的成本提供面向任务的对话。有两种用户模拟器。一个是基于议程的模拟器(Schatzmann和Young, 2009;Li等,2016e;Ultes等人,2017),它只将预先定义的用户目标作为用户消息提供给对话系统,而没有表面实现。另一种是基于模型的模拟器(Chandramohan et al., 2011;Asri等人,2016),使用给定约束信息的语言模型生成用户话语。

6 数据集

数据集是对话系统研究中最重要的组成部分之一。如今,无论是面向任务的还是开放领域的对话系统,数据集都是不够的,特别是那些需要额外标注的任务(Novikova et al., 2017)。对于面向任务的对话系统,可以通过两种主要方法收集数据。一种是通过众包平台招募人力,在给定的任务中生成对话。另一种是收集实际任务完成中的对话,如电影票预订。对于开放领域的对话系统来说,除了真实互动中收集的对话之外,社交媒体也是重要的数据来源。一些社交媒体公司,如Twitter和Reddit,为一小部分帖子提供API访问,但这些服务受到许多法律条款的限制,影响了研究的可重复性。因此,许多对话系统的最新工作都收集了自己的数据集来进行训练和测试。
在本节中,我们将回顾和分类这些数据集,并进行全面的总结。据我们所知,表3和表4涵盖了最近面向任务或开放领域对话系统中使用的几乎所有可用的数据集。

6.1 Datasets for Task-oriented Dialogue Systems

He X, Chen S, Ju Z, Dong X, Fang H, Wang S, Yang Y, Zeng J, Zhang R, Zhang R, et al. (2020b)Meddialog: Two large-scale medical dialogue datasets. arXiv e-prints pp arXiv–2004

7 总结与展望

越来越多的研究人员正在研究会话任务。导致会话任务流行的一个因素是工业和日常生活中对聊天机器人的需求不断增加。苹果的Siri、微软的Cortana、Facebook的M、谷歌助手、亚马逊的Alexa等行业代理为人们的生活带来了巨大的便利。另一个原因是大量的自然语言数据是以对话的形式出现的,这有助于对话研究的努力。
本文从模型和系统类型两个角度对对话系统进行了探讨。对话系统是一项复杂而有前途的任务,因为它涉及到主体与人之间交流的整个过程。近年来的研究表明,无论是在面向任务的对话系统还是开放领域的对话系统中,神经方法都具有压倒性的优势。神经网络方法优于传统的基于规则的方法、统计方法和机器学习方法,因为神经网络模型具有更强的拟合能力和更少的手工特征工程需求。
我们系统地总结和分类了对话系统和其他对话相关工作的最新成果。我们希望这些讨论和见解能够为这一领域的最新进展提供一个全面的画面,并为进一步的研究铺平道路。最后,我们讨论了一些可能的研究趋势:
Multimodal dialogue systems 世界是多模态的,人类通过视觉、听觉、嗅觉、味觉和触觉等多种感官来观察世界。在对话互动中,人类往往不仅根据文本做出回应,还根据他们的所见所闻做出回应。因此,一些研究人员认为,聊天机器人也应该有这样的能力来混合来自不同模式的信息。最近有一些作品试图构建多模式对话系统(Le等人,2019年;Chauhan等人,2019年;Saha等人,2020年;Singla等人,2020年;Young等人,2020),但这些系统仍远未成熟。
Multitask dialogue systems 多任务对话系统可以分为面向任务的对话系统和开放领域的对话系统。由于面向任务的对话系统涉及到对话状态,这一研究边界已经存在了很长一段时间,限制了解码过程。然而,在端到端面向任务的对话系统和基于知识的开放领域系统中工作,提供了将这两种类别混合到单一框架甚至单一模型的可能性。这种混合对话系统同时扮演助手和聊天机器人的角色。
Corpus exploration on Internet 网络语料库的探索 在第6节中,我们回顾了许多对话系统训练的数据集。然而,要想培养出一个完美的对话系统,数据还远远不够。许多学习技术都旨在缓解这个问题,如强化学习、元学习、迁移学习和主动学习。但是很多作品都忽略了一个重要的信息来源,那就是网络上的对话语料库。互联网上有大量的会话语料库,但人们无法访问原始语料库,因为它是在一个混乱的情况下。在未来,对话代理应该能够在互联网上实时探索有用的语料库进行培训。这可以通过规范在线语料库访问及其相关法律术语来实现。此外,实时会话语料库的研究是一项值得研究的独立任务
User modeling 用户建模是对话生成中的一个热点话题(Gür等人,2018;Serras等人,2019)和对话系统评估(Kannan和Vinyals, 2017)。基本上,用户建模模块试图模拟人类用户的真实决策和操作。它根据对话状态或对话历史做出决定。在对话生成任务中,基于背景信息甚至说话习惯,对用户建模可以帮助代理更连贯地交谈。此外,一个成熟的用户模拟器可以提供一个交互式的训练环境,减少了在训练对话系统时对带注释的训练样本的依赖。在对话系统评估任务中,用户模拟器提供用户消息来测试对话代理。最近的用户模拟器还提供关于对话代理生成的响应的反馈。然而,用户建模是一项具有挑战性的任务,因为无论显式用户模拟还是隐式用户建模实际上都与响应生成一样困难。由于响应生成系统还不完善,用户建模仍然是一个值得研究的课题。
Dialogue generation with a long-term goal 我们大多数的日常对话都是无意义的闲聊。然而,在很多情况下,我们会故意引导对话内容以达到特定的目的。目前开放领域的对话系统往往对对话进行建模,而没有一个长期的目标,这没有显示出足够的智慧。最近有一些研究将强化策略学习应用于一个鼓励agent与长期目标对话的长期奖励模型,如Xu等人的工作(2020a)。这个话题将导致强大的人工智能,这在一些现实生活中的应用中是有用的,如谈判或讲故事的聊天机器人。

未完待续…
后续还会加入一些技术的具体实现~

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

与 或

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值