对话系统 | (9) 《Incremental Learning from Scratch for Task-Oriented Dialogue Systems》

本篇博客主要参考/节选中科院自动化所王唯康博士的博士论文《任务型对话系统中对话管理方法研究》。

《Incremental Learning from Scratch for Task-Oriented Dialogue Systems》

1. 引言

本文提出了一个基于增量学习框架的任务型对话系统设计方法。设计任务型对话系统的第一步是明确系统所能解决的用户需求。如果开发者在训练系统时考虑到了用户所有的需求以及用户表达需求的各种方式,那么系统在部署后会运行良好。然而,这一假设往往不成立。在实际情况中,系统会遇见新的用户需求。在处理新的用户需求时,系统可能会给出不合理的回复。
在这里插入图片描述
造成这一问题的主要原因是开发者对真实用户行为的理解存在偏差。事实上,在部署系统前,开发者无法得知用户在使用系统时会提出什么样的请求。例如上图所示,该系统的设计目的是帮助用户寻找心仪的商品。但是用户却在对话过程中咨询如何更新产品的操作系统。在遇到该项请求时,系统无疑会给出不合理的回复。在实际的系统开发过程中,人们可以通过更加完善的需求分析缓解这一问题。但是,开发者无法保证所有的用户需求全都被考虑到了。此外,用户在交互时会用不同的方式表达相同的意图。自然语言的复杂性使得所收集到的数据难以覆盖同一语意所有的表达形式。因此,使用有偏数据训练得到的模型在部署后必然会给出不合理的回复。

我们希望对话系统在交互时尽可能不要给出不合理的回复,同时能够在线地学习如何处理新的用户需求。因为真实用户的行为是难以捉摸的,所以如果开发者事先限定了系统所能处理的用户需求,那么系统在部署后将无可避免地给出不合理的回复。因此,不对用户需求作任何假设是一个更好的选择。依据这一观点,本文提出了基于增量学习的对话系统(Incremental Dialogue System,IDS)。和以往先训练后部署的设计范式不同,IDS 不对用户需求以及用户表达需求的方式作任何限制。在该设计范式下,所有和当前对话任务相关的用户输入都是合法的,系统会在线地累积对话知识,开发者也无需事先收集对话数据用于模型训练。

当用户输入某一提问后,IDS会通过不确定性估计模块评估给出正确回复的置信度。如果 IDS 有较强的信心给出正确回复,那么它会把和当前上下文匹配度最高的回复返回给用户。否则,IDS 将拒绝回复,同时要求人类接管对话。在人工介入阶段,人们可以从现有的候选回复集合中选择一个合适的回复。如果候选回复集合中没有合适的,人们可以编写一个新的回复。与此同时,IDS 会把新的回复添加到候选回复集合中。在这之后,人工介入所产生的数据会反馈到对话模型中,并通过在线学习模块更新模型的参数。在系统部署的早期阶段,IDS 不具备任何对话知识,所以它基本依赖人类给出正确的回复。但随着部署时间的增加,IDS 会累积越来越多的对话知识,并逐渐减少人工介入的频率,直到完全摆脱对人类的依赖。

为了评估 IDS 的性能,本章提出了一个新的对话数据集。这个数据集由五个子数据集组成。五个子数据集分别称为 SubD1、SubD2、SubD3、SubD4 和 SubD5。 每个子数据集中的对话任务均和客服场景有关。但是,不同子数据集覆盖的对话场景有所不同:SubD1 仅包含最基本的导购场景,此后每个子数据集覆盖的对话场景会逐渐增加。为了模拟系统在部署后遇到新的用户需求,本章将使用场景较为单一的子数据集训练模型,然后在场景较为丰富的子数据集下测试模型。实验结果显示,当 IDS 给出正确回复的置信度较低时,它会主动要求人工客服人员接管对话。因此 IDS 对新的用户行为较为鲁棒。除此之外,IDS 只有在置信度较低时才会要求人工介入。所以,和现有的对话模型相比,IDS 能够以更少的数据标注量取得更好的性能。

2. 相关工作

对话管理模块的可维护性问题 近几年来,强化学习以及有监督学习等方法均被广泛地应用到任务型对话系统的设计中,并取得了丰硕的成果。然而,这些工作中的对话系统只能在一个封闭的领域下运行。在遇到了新的用户行为之后,这些系统会给出不合理的回复。在本文之前,人们 研究了对话管理模块的扩展策略。例如,利用核函数扩展系统的领域,利用用户反馈信号修正原始系统的对话策略,利用 BBQ 网络提升领域扩展的效率,以及利用教师-学生框架实现对话管理模块的低成本扩展。

在上述工作中,开发人员只有在发现系统给出不合理回复后才能够对系统进行扩展。与之相比,本文提出的 IDS 会主动避免给出不合理的回复,同时在人类的辅助下在线地学习如何处理新的用户行为。

累积学习 本文提出的对话管理方法受到了累积学习(cumulative learning) 的启发。累积学习是终身学习(lifelong learning)的一个特例,其目标是构建一个可以从零开始逐步累积知识的机器学习系统。为了达到这一目标, 系统需要在学习过程中发现新的样本类别并高效地适应新的类别。在挖掘新样本类别时,系统可以采取主动学习中的不确定性估计方法。在输出空间中添加新的类别时,系统应该避免重新训练整个模型。此外,累积学习系统可能会面临灾难性遗忘的问题。灾难性遗忘指的是,如果系统在预训练后继续学习新的任务,那么在原任务中学得的知识会被新任务的信息所覆盖掉。在本文中,系统如果在简单的任务上预训练后继续在复杂的任务下调 优,则会出现灾难性遗忘问题。但是当系统从零开始直接在某一场景下在线地学习对话知识时则不会出现这一问题。

贝叶斯神经网络与变分推断 本文中的不确定性估计模块和在线学习模块受到了贝叶斯神经网络与变分推断方法的启发。在贝叶斯神经网络中,模型的参数并非一个固定值而是一个分布。当观测到新的数据后,贝叶斯神经网络的模型参数可以通过变分推断方法进行更新。

已有工作主要关注利用这两项技术提升对话系统回复生成的多样性程度。和现有工作不同的是,本章利用贝叶斯神经网络估计对话系统的不确定性程度。在估计不确定性时,模型将从某一分布下采样多组参数。如果在不同参数下,模型的输出存在较大分歧,则不确定程度高; 反之,不确定程度低。当不确定程度较高时,人类会接管对话。同时系统将通过变分推断方法从人工介入所产生的数据中学习如何处理新的用户需求,从而实现模型的在线更新。

3. 基于增量学习的对话系统

现有端到端任务型对话系统的实现方法可以分为基于生成的方法和基于检索的方法。由于基于检索的模型总会给出一句流畅的回复,因此本文关注基于检索的方法。

在一个基于检索的任务型对话系统中,假设用户在第𝑡轮输入的句子为 x t = ( x t , 1 , . . . , x t , N ) x_t = (x_{t,1},...,x_{t,N}) xt=(xt,1,...,xt,N). 此后,系统会依据概率 p ( y t ∣ C t ) p(y_t | C_t) p(ytCt)从候选回复集合 𝑅 中选择回复 y t = ( y t , 1 , . . . , y t , M ) y_t = (y_{t,1},...,y_{t,M}) yt=(yt,1,...,yt,M).其中,当前对话上下文 C t = ( x 1 , y 1 , . . . , x t − 1 , y t − 1 , x t ) C_t = (x_1,y_1,...,x_{t-1},y_{t-1},x_t) Ct=(x1,y1,...,xt1,yt1,xt). 它包含了从对话开始到现在所有的用户输入以及系统回复。

在以往的工作中,研究者假设用户的需求和候选回复集合是可以被预先定义清楚的,系统也只能从限定的候选回复集合中选择回复。因此,系统所能处理的场景有限。而本文认为用户需求是无法被全部枚举出来的,因此系统将在线地学习如何处理用户需求,候选回复集合也会在系统部署后不断地扩增。可见,和已有的工作相比,本文的问题设置更加符合实际情况。
在这里插入图片描述
如上图所示,IDS 主要由三个模块构成:对话上下文表征模块、不确定性估计模块以及在线学习模块。

在客服场景中,IDS 首先通过对话上下文表征模块将第 𝑡 轮的对话历史 C t C_t Ct编码为某一向量 E ( C t ) E(C_t) E(Ct)。然后,不确定性估计模块会评估系统给出正确回复的置信度。当置信度较高时,IDS 会把和当前上下文匹配度最高的回复返回给用户。 当置信度较低时,人工客服人员将接管对话并提供一个合理的回复。人工客服回答结束后,IDS 会把 C t C_t Ct和人工回复构成的上下文回复对存储在数据池中。当新数据产生之后,IDS 将通过在线学习模块更新模型的参数。

3.1 对话上下文表征模块

在这里插入图片描述
对话上下文表征模块是一个层次BiGRU,底层BiGRU对每个utterance(用户的输入/系统的回复)进行进行编码,把编码输出通过一个自注意力层得到每个utterance的表示,在把每个utterance的表示输入到顶层BiGRU中进行编码,把顶层BiGRU最后时刻的输出作为对话上下文 C t C_t Ct的表示。

3.2 不确定性估计模块

在相关工作中,计算完当前上下文的表征之后,对话系统将根据回复概率 p ( y t ∣ C t ) p(y_t|C_t) p(ytCt)给出回复 y t y_t yt。然而,当遇到没有考虑到的用户需求时,对话系统可能会给出不合理的回复。因此,为了避免给出不合理的回复,本文引入了不确定性估计模块评估系统给出正确回复的置信度。

为了评估对话模型的置信度,本文按照如下形式分解回复概率:
在这里插入图片描述
下图解释了上式的分解过程,从概率图模型的角度来讲,上式中分解得到的隐变量 𝑧 是对回复选择过程的解释。当给定上下文 C t C_t Ct后,存在无数条从 C t C_t Ct到回复 y t y_t yt的解释路径 𝑧. p ( y t ∣ C t ) p(y_t|C_t) p(ytCt) p ( y t ∣ z , C t ) p(y_t|z,C_t) p(ytz,Ct)在解释路径 𝑧 的先验分布 p ( z ∣ C t ) p(z|C_t) p(zCt)上的积分。如果系统在训练阶段没有遇到和 C t C_t Ct相似的对话上下文,那么 C t C_t Ct的编码将位于对话上下文编码空间中没有被探索过的区域。在这种情况下,先验分布 p ( z ∣ C t ) p(z|C_t) p(zCt) 的信息熵会很大。假如从先验分布 p ( z ∣ C t ) p(z|C_t) p(zCt) 中重复采样隐变量 𝑧,并根据采样到的隐变量计算回复概率 p ( y t ∣ z , C t ) p(y_t|z,C_t) p(ytz,Ct),可以发现在不同采样下 p ( y t ∣ z , C t ) p(y_t|z,C_t) p(ytz,Ct)的方差较大。(图中灰色节点和白色节点分别表示可观测的变量和不可观察的变量)
在这里插入图片描述
上述不确定性估计的思想来源于主动学习中的委员会投票法(query by committee)。在委员会投票法中,系统需要维持多个模型,每个模型是委员会中的一个成员。在估计不确定程度时,这些模型会对某一样本的类别进行预测。 如果不同模型的预测结果存在较大的差异,那么系统的不确定程度高。本文提出的方法与之类似。但不同的是,本文并不需要维持多个不同的对话模型,而是从先验分布 𝑝(𝑧|𝐶𝑡) 中重复采样多个隐变量 𝑧,并通过不同隐变量下系统决策的差异程度度量模型的不确定性。采样到的隐变量 𝑧 可以被视作对回复选择过程的扰动。给定上下文 C t C_t Ct后,如果对话模型在不同扰动下的回复分布存在较大差异, 那么系统的不确定程度高; 反之,系统的不确定程度低。

基于上述分析,本文设计了如下不确定性估计方法。假设隐变量 𝑧 服从多元对角高斯分布。为了使得隐变量 𝑧 参与梯度更新,本文首先从标准正态分布中采样变量 𝜖 ∼ 𝒩 (0, I),然后通过再参量化技巧(reparametrization trick)把 𝜖 变化为隐变量 𝑧 = 𝜇 + 𝜎 ⋅ 𝜖。其中,再参量化技巧中的均值 𝜇 和标准差 𝜎 可以通过下式计算得到:
在这里插入图片描述
从先验分布 𝑝(𝑧|𝐶𝑡) 中采样隐变量 𝑧 后,本文为候选回复集合 𝑅 中的每个元素计算回复概率。在基于增量学习的设计框架中,候选回复集合 𝑅 的规模会随着系统部署时间的推移逐渐地扩大。因此,本章采用排序模型实现回复选择。对于每个候选回复,本文按照下式计算其排序打分:
在这里插入图片描述
其中, E ( y t ) E(y_t) E(yt)是候选回复 y t ∈ R y_t \in R ytR的编码,W 是回复选择模型的参数.
在这里插入图片描述
为了估计不同隐变量下 p ( y t ∣ z , C t ) p(y_t|z,C_t) p(ytz,Ct)的差异程度,本文重复上述步骤 𝐾 次。假设在第 𝑘 次采样下模型的输出分布为 P k P_k Pk,𝐾 次重复后模型的输出分布的平均为 P a v g P_{avg} Pavg。然后,本文将通过Jensen-Shannon散度度量 P k P_k Pk P a v g P_{avg} Pavg的距离:
在这里插入图片描述
在 𝐾 次重复下,对话系统输出分布的平均 Jensen-Shannon 散度为:
在这里插入图片描述
上式中的 J S D a v g JSD_{avg} JSDavg可以度量分布 { P 1 , P 2 , . . . , P K } \{P_1,P_2,...,P_K\} {P1,P2,...,PK}的发散程度。因此,当 J S D a v g JSD_{avg} JSDavg高于某个阈值 τ 1 \tau_1 τ1时,系统的不确定程度高(准则 1)。上图a给出了该不确定性准则成立的一个示例。在这个实例中,不同隐变下系统输出分布的差异较大,因此系统将拒绝回复。

值得注意的是,在模型训练的早期,对话系统没有学到太多对话知识。在这种情况下,虽然分布 { P 1 , P 2 , . . . , P K } \{P_1,P_2,...,P_K\} {P1,P2,...,PK} 的发散程度较小,但是系统会为不同的候选回复赋予相近的权重值。可见, { P 1 , P 2 , . . . , P K } \{P_1,P_2,...,P_K\} {P1,P2,...,PK}的平均 Jensen-Shannon 散度小并不一定意味着模型具有足够高的置信度给出正确回复。因此,除了第一个不确定性准则之外,本文还设立了另外一个准则:当 P a v g P_{avg} Pavg中的最大值小于某一阈值 τ 2 \tau_2 τ2时,系统的不确定程度高(准则 2)。上图b给出了该不确定性准则成立的一个示例。在这个实例中,不同隐变下系统输出分布的差异虽然不大,但是系统为每个候选回复都赋予了较小的权重,因此系统同样将拒绝回复。

述任意一个不确定性准则成立时,系统都应该拒绝回复。不确定性算法流程如下:
在这里插入图片描述

3.3 在线学习模块

如果系统给出正确回复的置信度足够高,那么 IDS 会把 P a v g P_{avg} Pavg中概率最大的回复返回给用户。否则,IDS 将要求人工客服人员接管对话。在人工客服介入阶 段,人们可以从 P a v g P_{avg} Pavg前 𝑇 个最大概率所对应的候选回复中选择一个合适的回复。 如果没有合适的,人们将编写一个新的回复,并把该回复添加到候选回复集合 𝑅 中。假设人工客服人员给出的回复为 r t r_t rt,那么系统将观察到一个新的上下文回复对 𝑑𝑡 = (𝐶𝑡, 𝑟𝑡)。该数据样本 d t d_t dt可以用于更新模型的参数。
在这里插入图片描述一般而言,在更新模型参数时,模型的优化目标是最大化 𝑑𝑡 的似然。然而, 上式显示,计算 𝑑𝑡 的似然需要在隐变量 𝑧 的先验分布下进行积分操作。所以, 直接采用最大似然法优化模型参数是不可取的。为了避免计算积分,本文通过最大化 𝑑𝑡 的变分下界更新参数。模型优化时的损失函数采用下式定义:
在这里插入图片描述
在这里插入图片描述
其中,L 被称为证据下界(Evidence Lower Bound,ELBO),它是对似然 log 𝑝(𝑟𝑡|𝐶𝑡) 的近似。𝑞(𝑧|𝑑𝑡) 被称为推断网络(inference network)。模型更新的本质是根据 𝑑𝑡 学习隐变量的后验分布。上图解释了模型优化的过程。在上图所示的在线学习过程中,可观测的变量是对话上下文 𝐶𝑡 和人工回复 𝑟𝑡,需要学习的则是隐变量 𝑧 的后验分布。

和先验分布 𝑝(𝑧|𝐶𝑡) 类似,从推断网络 𝑞(𝑧|𝑑𝑡) 中采样得到的隐变量 𝑧 同样服从多元对角高斯分布。所不同的是,推断网络的目的是近似观测到 𝑑𝑡 后隐变量 𝑧 的后验分布。推断网络采用下式估计后验分布的均值 𝜇′ 和标准差 𝜎′:
在这里插入图片描述
其中 E ( C t ) E(C_t) E(Ct) E ( r t ) E(r_t) E(rt)分别表示对上下文的编码和对人工客服回复的编码。编码人工客服回复的模型和编码用户输入的模型相同。更新模型参数时,本文首先采用再参量化技巧从推断网络中采样隐变量 𝑧,然后通过蒙特卡洛法估计损失函数中的期望,最后采用梯度下降(上升)算法最大化证据下界 L。

值得注意的是,出于减少计算量的考虑,本文采取了基于流(Stream-Based Fashion)的方式优化模型。也就是说,在更新模型参数时,数据池中的每个数据样本只使用了一次。事实上,系统还可以重复采样数据池中的数据,并利用采样到的数据多次更新模型。这样将会提高人工介入数据的利用率。但本文的实验发现,采用基于流的方式优化 IDS 时,其性能依然优于基线模型。因此,本文在更新模型参数时依然采取了基于流的方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值