任务导向的对话系统

第四章概述

首先概述了面向任务的对话系统的基本概念,术语和典型架构。
其次,它回顾了对话系统评估的代表性方法。这部分与用于构建这些系统的具体技术大致正交。
接下来的三个部分重点关注典型对话系统中的三个主要组成部分,重点是近期的神经方法。
最后,我们回顾了最近关于端到端对话系统的几项工作,这些工作是由深度学习和强化学习的最新进展所促成的,最后一节提供了进一步的讨论和指示。

插槽填充对话

一些对话在完成任务之前预定义一组插槽填充值,通过与用户交谈收集必要信息。应用于电影、餐馆、机票预订领域。如果该插槽可以约束对话(如电话号码)则称其为有价值的;如果该插槽可以被询问(如票价),则称其为可请求的。也可以兼具两者特性,如电影名称。

对话动作(Dialogue Acts)

对话动作是对话代理人选择的系统话语作为动作。在该框架中,使用者或代理人的话语可以改变使用者和系统的状态,甚至是对话的状态。一个例子是问候:“Hello! How may I assist you?”.它允许系统以这样的形式尾喉使用者。一些对话动作也有插槽,如在订电影票时:“How many tickets do you need?”一个确定插槽的要求信息是:要求票的数量。
总之,对话动作有特定的领域。

对话作为最优决策(Dialogue as Optimal Decision Making)

在用户和对话机器人多伦对话中配备对话动作搭建一个RL问题,其中对话系统是RL代理,每轮对话有:1、代理基于对话中释放的信息跟踪对话状态并采取行动;这些行动可能是对话动作,获知数据库查找之类的内部操作;2、用户响应下一轮预料,这可以用来更新内部对话状态;3、计算立刻的奖励以测量对话的质量或成本。
一个好的奖励函数应该能捕捉对话系统中有用的特征。在以任务为导向的系统中,我们想要系统以尽可能少的对话轮次解决问题。因此在问题解决后给定一个较高的分数,否则给一个较低的分数。此外,我们也可以在每一个轮次对话给一个小的惩罚,以期望对话轮次尽可能少。该系统算法流程如下图所示:在这里插入图片描述
上图为多轮任务导向对话系统结构,由NLU(自然语言理解),DM(对话管理器)和NLG(自然语言生成)。DM包含两个子模块:DST(对话状态跟踪器)和POL(对话策略),DB表示外部数据库。
NLU:用户原始预料作为输入,并将其转换为对话动作的语义形式。
DM:对话系统的中央控制器。其中DST负责跟踪当前对话状态;POL依赖于DST提供的内部状态选择动作(决策过程)。注意,动作可以是对用户的响应,或者是对后端数据库的某些操作。
NLG:如果选择回应使用者,这个模块将把对话动作转换为自然语言形式。

4.2评价指标(略)

4.3自然语言理解和对话状态跟踪(NLU和DST)

NLU以用户预料作为输入,并执行三个任务:领域检测、意图确定、语义槽填充。NLU是对话系统中后续任务的预处理模块,对于系统整体质量有重大影响。
例如,用户输入“播放周杰伦的稻香”,首先通过领域识别模块识别为"music"领域,再通过用户意图检测模块识别出用户意图为"play_music"(而不是"find_lyrics" ),最后通过槽填充对将每个词填充到对应的槽中:“播放[O] / 周杰伦[B-singer] / 的[O] / 稻香[B-song]”。

从上述例子可以看出,通常把领域识别和用户意图检测当做文本分类问题,而把槽填充当做序列标注(Sequence Tagging)问题,也就是把连续序列中每个词赋予相应的语义类别标签。
双向LSTM可以用于NLU任务中:
在这里插入图片描述
在这里插入图片描述
DST任务:
在语义槽填充问题中,对话状态包含了用户当前意图的所有信息,这一状态是对话政策决定下一步采取何种行动的输入。在过去,DST既可由专家创建,也可以通过统计学习方法从数据中获取。最近深度神经网络和循环神经网络开始被使用。
最近的DST模型是Mrksi’c等人提出的Neural Belief Tracker.如下图:
在这里插入图片描述
该模型将三个项目作为输入。前两个是系统输出和用户预料,每个系统首先映射到内部矢量表示。作者研究了两种基于多层感知机和CNN的表示学习模型,都利用了预训练词向量。第三个输入时DST跟踪的语义槽键值对。然后三个输入何以在他们之间相互作用进行上下文建模,以对话流和语义解码提供进一步的上下文信息,确定用户是否明确表达了输入语义槽键值对匹配的意图。最终通过softmax层易产生最终预测。

对话政策的学习(Dialogue Policy Learning)

深度强化学习方法:
对话决策可以用许多深度强化学习算法优化,这有两种方式:在线(online)和batch。在线方式要求使用者和用户互动改进决策方法。batch方式假定一组固定转换,并仅基于数据优化,不予用户交互。在这章,我们将讨论将batch作为在线学习的内部设置。以DQN为例说明基本工作流程。
(过程略)暂时不研究

4.5自然语言生成

自然语言生成(NLG)负责将对话管理器选择的通信目标转换为自然语言形式。它是影响对话系统自然性的重要组成部分,从而影响用户体验。
存在许多语言生成方法。实践中最常见的可能是基于模板或规则的,领域专家设计一组模板或规则,手工启发法选择合适的方法来生成句子。尽管机器学习可用于训练这些系统的某些部分(Langkilde和Knight,1998; Stent等,2004; Walker等,2007),但编写和维护模板和规则的成本导致了适应性的挑战到新域或不同的用户群。此外,这些NLG系统的质量受到手工制作的模板和规则质量的限制。
这些挑战激发了更多数据驱动方法的研究,这些方法被称为基于语料库的方法,旨在优化语料库中的生成模块(Oh和Rudnicky,2002; Angeli等,2010; Kondadadi等,2013; Mairesse和年轻,2014)。大多数此类方法基于监督学习,而Rieser和Lemon(2010)采用决策理论观点并使用强化学习在句子长度和信息显示之间进行权衡.3近年来,人们越来越关注语言生成的神经方法。一个优雅的模型,称为语义控制LSTM(SC-LSTM)(Wen等,2015),是LSTM的变体(Hochreiter和Schmidhuber,1997),有一个额外的组件,可以对语言生成结果进行语义控制。如图4.8所示,基本的SC-LSTM单元有两部分:典型的LSTM单元(图中的上半部分)和用于语义控制的句子规划单元(下部)。
在这里插入图片描述

4.6 端到端学习

传统上,大多数对话系统中的组件都是单独优化的。这种模块化方法提供了灵活性,允许以相对独立的方式构建和优化每个模块。然而,它经常导致更复杂的系统设计,并且各个模块的改进不一定转化为整个对话系统的改进。
相比之下,Lemon(2011)认为并在经验上证明了在强化学习框架内共同优化对话管理和自然语言生成的好处。
最近,随着神经模型的日益普及,人们越来越关注联合优化多个组件,甚至是对话系统的端到端学习。
神经模型的一个好处是它们通常是可微分的,并且可以通过基于梯度的方法(如反向传播)进行优化(Goodfellow等,2016)。除了语言理解,状态跟踪和政策学习之外,前面部分已经介绍过,语音识别和合成(用于语音对话系统)可以通过神经模型和反向传播来学习,以实现最先进的性能(Hinton等) al。,2012; van den Oord et al。,2016; Wen et al。,2015)。在极端情况下,如果面向任务的对话系统(图4.1)中的所有组件都是可区分的,整个系统就会变成一个更大的可微系统,可以通过反向传播来优化整个系统整体质量的指标。与分别优化单个组件的传统方法相比,这是一个潜在的优势。
建立端到端对话系统有两种一般方法:
监督学习。第一种是基于监督学习,首先收集所需的系统响应,然后用于训练对话系统的多个组成部分,以便最大化预测准确性(Bordes等,2017; Wen等,2017; Yang等。,2017b; Eric等人,2017; Madotto等人,2018; Wu等人,2018)。
温等人。 (2017)引入了模块化神经对话系统,其中大多数模块由神经网络表示。然而,他们的方法依赖于不可区分的知识库查找操作符,因此组件的训练是以监督的方式单独完成的。 Dhingra等人解决了这一挑战。 (2017)谁提出了“软”知识库查找;见第二节3.5了解更多详情。
Bordes等人。 (2017)将对话系统学习视为学习从对话历史到系统响应的映射的问题。它们显示内存网络和监督嵌入模型在许多模拟对话任务上优于标准基线。 Madotto等人采取了类似的方法。 (2018)在他们的Mem2Seq模型中。该模型使用来自指针网络的机制(Vinyals等,2015a),以便整合来自知识库的外部信息。
最后,Eric等人。 (2017)提出了一种端到端可训练的键值检索网络,该网络在KB的条目上配备了基于注意力的键值检索机制,并且可以学习从KB中提取相关信息。
**强化学习。**虽然有监督的学习方法可以产生有希望的结果,但它们需要获得可能很昂贵的训练数据。此外,这种方法不允许对话系统探索可能比为监督培训产生响应的专家政策更好的不同政策。这启发了另一项工作,使用强化学习来优化端到端对话系统(Zhao和Esk’enazi,2016; Williams和Zweig,2016; Dhingra等,2017; Li等,2017d; Braunschweiler和Papangelis,2018; Strub等,2017; Liu和Lane,2017; Liu等,2018a)。
Zhao和Esk’enazi(2016)提出了一种模型,它将用户话语作为输入并输出语义系统动作。他们的模型是基于LSTM的DQN的循环变体,其学习压缩用户话语序列以推断对话的内部状态。与传统方法相比,该方法能够联合优化策略以及超出标准监督学习的语言理解和状态跟踪。
威廉姆斯等人采取的另一种方法。 (2017),是利用LSTM避免状态跟踪工程的繁琐步骤,并共同优化状态跟踪器和策略。他们的模型称为混合代码网络(HCN),也使工程师可以轻松地整合业务规则和其他规则通过软件和动作模板获得先验知识。他们表明,HCN可以进行端到端的培训,比几种端到端技术表现出更快的学习速度。
Strub等人。 (2017)应用政策梯度来优化GuessWhat中以视觉为基础的面向任务的对话?!游戏以端到端的方式进行。在游戏中,用户和对话系统都可以访问图像。用户秘密地选择图像中的对象,并且对话系统通过询问用户是 - 否问题来定位该对象。
最后,有可能将监督和强化学习结合在一个端到端的可训练系统中。刘等人。 (2018a)提出了这种混合方法。首先,他们在人与人对话中使用有监督的学习来预先培训政策。其次,他们使用了一种模仿学习算法,称为DAgger(Ross et al。,2011),与可以建议正确对话行为的人类教师一起微调政策。在最后一步中,强化学习被用于通过在线用户反馈继续政策学习。

总结

在本章中,我们研究了面向任务的对话系统的最新神经方法,重点关注槽填充问题。这是一个拥有许多令人兴奋的研究机会的新领域。虽然全面覆盖更广泛的对话问题和所有研究方向超出了本文的范围,但我们将简要介绍其中的一小部分样本,以便总结本章。
超越语义槽口填充对话。实践中面向任务的对话可能比填充语义插槽的对话更加多样化和复杂化。信息搜索或导航对话是在不同背景下提到的另一个流行的例子(例如,Dhingra等人(2017),Papangelis等人。
(2018b)和Sec。 3.5)。另一个方向是丰富对话背景。我们的日常对话通常是多模式的,而不是纯文字或纯语言对话,而且涉及视觉等语言和非语言输入(Bohus等,2014; DeVault等,2014; de Vries等,2017; Zhang等,2018a)。
诸如如何将来自多种形式的信息组合以做出决定的挑战自然而然地产生。
到目前为止,我们已经查看了涉及双方的对话 - 用户和对话代理,后者是为了帮助前者。总的来说,任务可能更复杂,例如混合主动对话(Horvitz,1999)和谈判(Barlier等,2015; Lewis等,2017)。更一般地说,谈话可能涉及多方,其中轮流变得更具挑战性(Bohus和Horvitz,2009,2011)。在这种情况下,采用游戏理论视图是有帮助的,比单一代理决策制定中的MDP视图更通用。
较弱的学习信号。在文献中,可以通过监督,模仿或强化学习来优化对话系统。一些需要专家标签/演示,而一些需要来自(模拟)用户的奖励信号。还有其他较弱的学习信号形式可以促进大规模的对话管理。一个有希望的方向是考虑优惠投入:而不是对政策质量进行绝对判断(以标签或奖励的形式),只需要一个优先输入来指示两个对话中哪一个更好。这种可比较的反馈通常更容易和更便宜,并且比绝对反馈更可靠。
相关领域。评估仍然是一项重大的研究挑战虽然用户模拟很有用(见4.2.2),但更有吸引力和更强大的解决方案是直接使用真实的人 - 人对话语料库进行评估。不幸的是,这个被称为RL文献中的非政策评估的问题在当前许多研究工作中都具有挑战性(Precup等,2000; Jiang和Li,2016; Thomas和Brunskill,2016; Liu等,2018c) 。这种非政策技术可以在评估和优化对话系统中发挥重要作用。
另一个相关的研究领域是应用于文本游戏的深度强化学习(Narasimhan等,2015; Cot’e等,2018),它们在很多方面类似于对话,除了场景是由游戏预定义的设计师。解决文本游戏的最新进展,例如处理自然语言行为(Narasimhan等,2015; He等,2016; Cot’e等,2018)和可解释的政策(Chen等,2017c)可能启发类似的算法,这些算法对于面向任务的对话非常有用。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值