Sequential Dialogue Context Modeling for Spoken Language Understanding《口语理解的上下文构建》

摘要

口语理解(SLU)是面向目标的对话系统的重要组成部分,该系统将用户的发言解析为语义框架表示。传统上,SLU不会利用对话系统之前的对话历史,而上下文的歧义由下游组件来解决。在本文中,我们探索了在基于递归神经网络(RNN)的语言理解系统中建模对话上下文的新颖方法。我们提出了顺序对话编码器网络,该网络允许按时间顺序从对话历史中编码上下文。我们将我们提出的体系结构的性能与两个上下文模型进行比较,一个仅使用前一个转弯上下文,另一个在内存网络中对对话上下文进行编码,但在对话历史中失去话语顺序。多域对话数据集的实验表明,提出的体系结构可降低语义帧错误率。

 

1 Introduction

 

面向目标的对话系统通过与用户进行自然交互,帮助用户完成任务,例如进行餐厅预订或预订航班。理解用户话语并将其分解为特定于任务的语义的能力是这些系统的关键要求。这是在口头语言理解模块中完成的,该模块通常将用户话语解析为由域,意图和位置组成的语义框架(Tur和De Mori,2011),然后可以由下游对话处理。
随着对话系统支持的任务的复杂性增加,需要在用户和代理之间增加来回交互。例如,饭店预订任务可能要求用户指定饭店名称,日期,时间和预订所需的人数。另外,根据预订的可用性,用户可能需要与代理协商日期,时间或任何其他属性。这将解析对话上下文用户话语的负担放在了语言理解模块上。当系统支持多个任务并且允许用户在同一对话中跨越多个域的目标时,复杂性会进一步增加。自然语言的话语通常是模棱两可的,以前的用户和系统转变所带来的上下文可以帮助解决由于这些歧义而引起的错误。

 

图1:遵循插槽值的IOB(从头开始)表示后,对带有插槽(S),域(D),意图(I)注释的话语(u2)的示例语义解析。
日志系统组件。图1中显示了与餐厅预订相关的查询的示例语义框架。

 

 

在本文中,我们探索了在基于递归神经网络(RNN)的口语语言理解系统中改善对话上下文建模的方法。 我们提出了一种新颖的模型架构,以改善对话上下文建模,从而在多域对话数据集。拟议的架构是分层递归编码器(HRED)的扩展(Sordoni等,2015),在将查询级别编码与当前话语表示结合之前,将其馈入会话电平编码器。我们将这种模型的性能与仅注入前一转弯上下文的RNN标记器以及使用对话上下文的注意加权组合的单跳存储网络进行了比较(Chen等人,2016年; Weston等人。 ,2014)。此外,我们描述了一种对话重组技术,通过注入合成域开关来提高训练数据集的复杂性,从而与测试数据集中的混合域对话更好地匹配。从原则上讲,这是(Jia and Liang,2016)的多圈扩展。我们没有引入和组合语法来综合增强单回合文本,而是将单域对话会话合并为多域对话以在培训期间提供更丰富的上下文。

2 Related Work

理解用户话语的任务通常分为三项任务:域分类,意图分类和空位填充(Tur and De Mori,2011)。大多数现代的口语理解方法都涉及在标记的训练数据上训练机器学习模型(Young,2002; Hahn等,2011; Wang等,2005等)。最近,基于递归神经网络(RNN)的方法已被证明在口头语言理解任务上表现出色(Mesnil等人,2015;Hakkani-Tütal,2016; Kurataetal。,2016等)。基于RNN的方法也已成功应用于其他任务,
对话系统,例如对话状态跟踪(Henderson,2015; Henderson等,2014; Perez和Liu,2016等),政策学习(Su等,2015)和系统响应生成(Wen等,2015)。 ,2015、2016等)。
同时,任务的联合建模和上下文信号的添加已显示出可以在几种应用程序中获得性能提升。研究表明,在联合RNN模型中对域,意图和时隙进行建模会降低总体帧错误率(Hakkani-Tür等人,2016)。意图分类和语言建模的联合建模显示出在意图识别方面的有希望的改进,特别是在存在嘈杂语音识别的情况下(Liu和Lane,2016年)。
同样,从对话历史中合并更多上下文的模型(Chen等人,2016)或从框架中合并语义上下文的模型(Dauphin等人,2014; Bapna等人,2017)倾向于在没有上下文的情况下胜过模型。在口头语言理解和相关任务上显示出更大的推广潜力。 (Dhingra等人,2016)通过将知识库上下文纳入他们的对话系统,显示了信息对话代理人的绩效提高。事实证明,使用对话上下文可以提高端到端对话(Bordes和Weston,2016)和下一个话语预测(Serban等,2015)的表现。
在接下来的几节中,我们将介绍所提出的模型架构,数据集和对话重组方法。随后是实验结果和分析。

3 Model Architecture

我们比较了3种模型架构的编码对话环境多域对话数据集的性能。 令对话为系统话语和用户话语的序列Dt ={u1,u2 ... ut},在时间步t处,我们尝试输出给定Dt的用户话语ut的解析。 令任何话语uk为{xk,xk ... xk}给定的标记序列。
1 2 NK
我们将模型分为2个部分,
文本编码器作用于Dt上,以ht = H(Dt)表示对话上下文,并使用标记器将对话上下文编码为ht,并将当前话语ut作为输入并产生 域,意图和广告位注释作为输出。

3.1 Context Encoder Architectures

在本节中,我们描述了用于实验的上下文编码器的体系结构。 我们比较了3种不同架构的性能,这些架构编码不同级别的对话上下文。

3.1.1 Previous Utterance Encoder

这是基线上下文编码器体系结构。我们提供与以下内容相对应的嵌入:kens在以前的系统话语中,ut-1 ={xt-1,xt-1 ... xt-1},变成单个双向1 2 nt-1具有门控循环单元(GRU)的RNN(BiRNN)层(Chung等,2014)和128个维度(每个方向64个)。 嵌入与标记器共享。 上下文编码器GRU的最终状态用作对话上下文

3.1.2 Memory Network

这种架构与(Chen et al。,2016)中描述的方法相同。 我们使用双向GRU(BiGRU)编码器使用128个维度(64英寸)将所有对话上下文话语{u1,u2 ... ut-1}编码为由{m1,m2,... mt-1}表示的存储向量 每个方向)。 要将时间上下文添加到对话历史话语中,我们将特殊的位置标记附加到每个话语上。

我们还使用另一个具有128个维度(每个方向64个)的BiGRU编码器,将当前的发声编码为c表示的上下文向量,如等式3所示。这在概念上如图2所示。

令M为矩阵mi给出的第i行。 我们获得每个内存向量mi和上下文向量c之间的余弦相似度。 这种相似性的softmax用作存储器M上的注意力分布,并且M的注意力加权总和用于生成对话上下文向量ht(公式4)。 从概念上讲,这如图3所示。

3.1.3 Sequential Dialogue Encoder Network

我们通过添加会话编码器(Sordoni等人,2015)来增强上面描述的存储网络体系结构,该编码器在时间上将当前话语编码c(等式3)和存储向量的联合表示组合在一起。 ,{m1,m2 ... mt-1},(等式2)。
对于1≤k≤nk,我们将上下文向量c与每个内存向量mk组合在一起,方法是将它们串联并通过前馈层(FF),以产生128维上下文编码,用{g1,g2表示。 ..gt−1}(式5)

 

 

这些上下文编码作为令牌级别的输入馈入会话编码器,该编码器是一个128维BiGRU层。 会话编码器的最终状态表示对话上下文编码ht(等式6)。

3.2 Tagger Architecture

对于我们所有的实验,我们都使用堆叠式BiRNN标记器来联合建模域分类,意图分类和时隙填充,类似于(Hakkani-Tür等人,2016)中描述的方法。 我们将与当前话语标记相对应的学习到的256维嵌入嵌入到标记器中。
第一RNN层使用等式7中具有256维(每个方向128个)的GRU单元。将令牌嵌入馈送到第一RNN层的令牌级别输入中,以生成令牌级别输出o1 = {o1,o12 ... o1nt}。

第二层使用256个维度(两个维度均为128个)的长期短期内存(LSTM)(Hochreiter和Schmidhuber,1997)。 我们使用基于LSTM的第二层,因为它提高了所有体系结构验证集上的时隙填充性能。 我们将dropout应用于两层的输出。 用等式8的对话编码ht初始化第二个标记器层的前向和后向LSTM的初始状态。将第一个RNN层o1的令牌级别输出作为输入馈入第二个RNN 生成令牌级别输出o2 = {o21,o2 ... o2nt}和最终状态s2。

第二层的最终状态s2用作域和意图分类的分类层的输入。

第二层的令牌级别输出o2用作输出IOB插槽标签的softmax层的输入。 对于具有N个插槽的域,这将导致softmax层具有2N +1个维度。

The architecture is depicted in Figure 5.

4 Dataset

我们将多轮对话的会话集中到三个任务上:购买电影票,寻找餐厅和在餐厅预订桌子。我们的数据收集过程包括两个步骤:(i)基于模拟用户的交互作用和基于规则的对话策略,生成包括对话行为和广告位的用户-代理交互。 (ii)使用众包平台引出与所产生互动的语义相吻合的自然语言话语。
我们的对话系统的语言理解模块的目标是将每个用户的话语映射到可以由下游组件处理的基于框架的语义。可以在附录中找到描述数据集中存在的意图和槽位的表。
我们使用基于随机议程的用户模拟器(Schatzmann等,2007; Shah等,2016)与基于规则的系统策略相互作用。用户目标是根据表示用户约束的插槽元组指定的。可能未指定某些约束,在这种情况下,用户对这些插槽的值无动于衷。在任何给定的回合上,模拟器都基于(i)用户目标和议程(包括仍需要指定的广告位),(ii)随机选择的用户个人资料( -手术/攻击性,详细/简洁等),以及(iii)以前的使用者和系统操作。基于选择的用户对话行为,基于规则的策略可能会进行后端调用,以查询餐厅或电影的可用性。基于用户行为和后端响应,系统基于手动设计的基于规则的策略以对话行为或对话行为的组合进行响应。然后,将这些产生的交互作用翻译成其自然语言对应物,然后发送给群众工作者,以解释自然语言的人机对话。
模拟器和策略也得到了扩展,可以处理跨越不同领域的多个目标。在此设置中,模拟器的用户目标将包括多个任务,并且广告位值可以以之前的任务为条件,例如,模拟器将要求在“电影之后”预订餐桌,或搜索餐厅”靠近剧院”。该模拟器支持的插槽组在表1中列出。我们收集了1319个用于餐厅预订的对话,976个用于查找餐厅的对话和1048个用于购买电影票的对话。所有单域数据集均为
用于训练。多域模拟器用于收集467个对话进行培训,50个对话进行验证以及273个测试集。由于自然语言对话是已知对话和广告位组合的解释版本,因此会自动标记它们。这些标签由专家注释者验证,缺少注释的转弯由专家手动注释。

 

 

 

5 Dialogue Recombination

 

如前一节所述,我们在大量的单域对话数据集和少量的多域对话中训练模型。 然后,在由多域对话组成的测试集上评估这些模型,其中用户尝试实现跨越多个域的多个目标。 这导致分布漂移,可能导致性能下降。 为了应对训练测试数据分布中的这种漂移,我们采用了一种对话重组方案,可以从单域训练数据集中生成多域对话。重组方法背后的关键思想是旨在实现不同任务的子对话的条件独立性(Grosz和Sidner,1986)。 我们利用任务意图或表示用户试图执行的主要任务切换的意图的存在,因为它们是对话重点切换的有力指示。 根据先前对话上下文中的这些意图,我们利用子对话的独立性来生成具有多域上下文的合成对话。 重组过程如下:
假设对话d被定义为一系列转弯和相应的语义标签(域,意图和位置注释){(td1,fd1),(td2,fd2),...(tdnd,fdnd}。 重新组合了由数据集1和数据集2的对话组成的数据集,对于(数据集1,数据集2)域数据集的每个组合,我们重复以下步骤10000次。从三单

•分别从数据集1和数据集2采样对话x和y。
•在y中找到标有任务意图的第一个用户话语。 让它变成l。
•随机抽取图x中的插入点。 让它变成k。

•The new recombined dialogue is {(tx1, fx1), ...(txk, fxk), (tyl, fyl),...(tyny , fyny )}.

表2中描述了使用上述过程生成的示例对话。由于在没有先前上下文的情况下,这些对话变得模棱两可或令人困惑,因此我们将对话x的内容丢弃到重组对话中插入点(回合k)之后。 。 从某种意义上说,我们的方法是部分对话重组的一种。

6 Experiments

我们在上述数据集上比较了域分类,意图分类和时隙填充性能,以及编码器-解码器,存储网络和顺序对话编码器网络的总体帧错误率。 SLU系统的帧错误率是发话的百分比,在该发话中,SLU系统做出错误的预测,即对域,意图或时隙中的任何一个进行错误的预测。
我们使用RMSProp训练了所有3个模型,进行了100000个训练步骤,批量大小为100。我们从0.0003的学习率开始,学习率每3000步下降了0.95。 如果渐变规范的大小超过2.5,则会对其进行裁剪。 所有模型和优化超参数均基于网格搜索进行选择,以最大程度地减少验证设置帧错误率

 

  表4:来自测试集的对话,带有带有重组数据(ED + DR)的编码解码器的预测,带有重组数据(MN + DR)的内存网络和带有对话重组(SDEN + DR)的顺序对话编码器网络。 在对话中被斜体显示为词汇量不足或被特殊标记代替。 对话历史记录右侧的列详细说明了注意力分布。 对于SDEN + DR,我们使用会话GRU状态的变化幅度作为注意力分布的代理。 如果历史填充的关注度不为零,则关注度权重之和可能不会为1。

我们限制模型词汇表仅包含在训练集中出现超过10次的令牌,以防止过度适合训练集实体。 数字被特殊的“#”标记代替,以便更好地泛化到看不见的数字。 对话历史记录被填充为40种语音,用于批处理。 我们在表3中报告了包含和不包含重组数据集的结果。

7 Results

仅在先前的转弯上下文中训练的编码器解码器模型在几乎所有度量上均表现最差,而与是否存在重组数据无关。这可能是由于对话中说话的表现较差所致,在这种情况下,仅上一个转弯上下文不足以准确识别域,在某些情况下还不能准确确定说话的意图和位置。
在没有重组数据的情况下,内存网络是性能最佳的模型,这表明
即使只有少量的多域数据可用,该模型也能够有效地编码其他上下文以提高所有任务的性能。
在没有重组数据的情况下,顺序对话编码器网络的性能比存储网络稍差。可以通过模型过度拟合到训练期间看到的单个域上下文,以及无法在多域设置中有效利用上下文来说明这一点。在重新组合对话的情况下,其性能优于所有其他实现。
除了增加对话环境中的噪音外,在训练集中添加重新组合的对话会增加训练数据的平均转弯长度,使其更接近于测试对话。从本质上讲,我们的扩充方法是将(Jia和Liang,2016)中描述的数据重组扩展到对话。我们假设合成上下文的存在对模型具有类似正则化的影响。 (Jia and Liang,2016)观察到了类似的效果,其中使用更长的合成增强话语进行训练可以在更简单的测试集上提高语义解析性能。观察结果也证明了这一点,即随着模型复杂度的增加,通过添加重组数据而获得的性能改进也会增加。

 

表5:来自测试集的对话,其中包含带有重组数据的编码解码器(ED + DR),带有重组数据的存储网络(MN + DR)和带有对话重组的顺序对话编码器网络(SDEN + DR)的预测。 对话中已被斜体显示的令牌超出了词汇量或被特殊令牌取代。 对话历史记录右侧的列详细说明了注意力分布。 对于SDEN + DR,我们使用会话GRU状态的变化幅度作为注意力分布的代理。 如果历史填充的关注度不为零,则关注度权重之和可能不会为1。

8 Discussion and Conclusions

表4展示了测试集中的示例对话,以及所有3个模型的金色和模型注释。我们观察到,编码器解码器(ED)和顺序对话编码器网络(SDEN)能够成功识别域,意图和插槽,而内存网络(MN)无法识别电影名称。
从注意力分布来看,我们注意到MN的注意力非常分散,而SDEN专注于最近的最后2种话语,这些话语直接确定了最终用户话语的域和电影版位的存在。 ED还能够从先前的话语上下文中识别出最终用户话语中电影的存在。
表5显示了另一个示例,其中SDEN模型的性能优于MN和ED。仅限于前一个话语ED不能正确识别用户话语的范围。 MN模型将重点放在承担任务意图的话语上,从而正确地识别了域,但是它无法在用户话语中识别出餐厅的存在。这突显了它无法结合多种历史话语的背景。另一方面,正如在最后两种话语上的注意力分布所表明的那样,尽管存在多个语音提示,SDEN还是能够成功地将对话中的上下文组合起来,从而从用户话语中正确识别域名和餐厅名称。语外标记。上面的两个示例表明,在多个历史记录对补充信息进行编码的场景中,SDEN的性能更好,这些信息可能有助于解释用户的话语。通常情况下,在面向目标的自然对话中,几个任务和子任务进入和离开了对话的焦点(Grosz,1979)。
另一方面,我们还观察到,在没有重新组合数据的情况下,SDEN的性能明显较差。由于其复杂的体系结构和更大的参数集,SDEN在低数据场景中易于过拟合。
在本文中,我们收集了面向目标的人机对话的多域数据集,并分析和比较了多种基于神经网络的模型体系结构的SLU性能,这些体系结构可以对不同数量的上下文进行编码。我们的实验表明,通过对话对更多的上下文进行编码,并使模型能够按顺序组合上下文信息,可以降低总体帧错误率。我们还引入了一种数据增强方案,以在更丰富的上下文中生成更长的对话,并凭经验证明,它可以提高多种模型体系结构的性能。

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值