首发于知识传递
使用递归神经网络的上下文口语理解论文阅读

使用递归神经网络的上下文口语理解论文阅读

前言

论文原标题为:CONTEXTUAL SPOKEN LANGUAGE UNDERSTANDING USING RECURRENT NEURAL NETWORKS

如果有哪些地方翻译的不对,或者有哪些地方不太理解,欢迎大家留言,我会修正或者解答大家的问题。

这篇文章理解起来难度不大,作者把观点阐述的非常清晰,还举例子来帮助读者理解。

摘要

作者提出了一个使用递归神经网络来处理上下文口语理解的方法。之前的工作已经表明,尤其是先前估计的领域分配,对于领域识别很有用。我们进一步说明了其他上下文信息,比如先前估计的意图和位置标签,对于SLU中的意图分类和位置填充任务都是有用的。我们提出了一种基于step-n-gram模型的句子层级的特征提取方法。step-n-gram模型结合一组卷积神经网络用于训练领域/意图分类。

因此,我们的方法利用了领域/意图分类和位置填充之间可能存在的相关性,并结合了来自过去对于领域/意图和位置的预测的上下文信息。该方法在ATIS上获得了最新的研究成果,并且在大型上下文敏感的SLU数据集上,与基线技术(如条件随机字段)相比,效果得到了提升。

索引词-递归神经网络,卷积网络,口语理解

1.引言

一个口语理解(SLU)系统是由领域识别,意图分类以及位置填充组成。SLU是口语对话系统中重要的组成部分。SLU通常按顺序处理输入查询;它首先识别查询中的领域,然后对其意图进行分类,最后从自然语言查询中提取语义位置。例如,一个关于“I want to fly from Seattle to Paris,”的查询,在“Flight”领域中,应该被分类为“Departure”意图。单词“Seattle”应该被标记为旅行的出发城市,以及“Paris”应该被标记为到大城市。

近年来SLU已经被广泛的研究。领域识别,意图分类以及位置标记通常分别建模。因此,对于SLU最明显的方法可能是使用支持向量机(SVMs)将领域和意图这两者都当作分类问题来对待,并且对于位置标记的任务使用序列标记方法,比如条件随机场(CRF),该任务为查询中的每一个单词分配一个位置。

在上下文的SLU中,用户通过一系列连续的自然语言查询与系统进行交互。每一个查询都有来自以前查询的内在会话历史信息,这些信息与之前预测的领域,意图以及位置标签有关系。一个关于由5个查询/回答组成的用户会话实例如下:

在这个例子中,用户以询问两个城市的天气作为会话的开始,然后问第二个城市的路径信息。用户最后要求设定一个指定时间的闹钟。如果忽略了领域,意图以及位置标签,对于SLU将会产生歧义,尤其对于查询T2,T3和T5;从当前查询中提取的特征不足以让统计模型做出准确的判断。比如,“seven o’clock in the morning”可以有不同的领域/意图解释,比如“set alarm”或者“time”(设定“闹钟”或者“设定时间”)。如[4,5]所示,这些上下文信息对于提高系统在领域分类方面的性能是有用的。

近年来,递归神经网络(RNN)在各种自然语言处理任务中表现出了优异的性能。与前馈神经网络相似[15-19],RNN将每个输入的单词表示为一个高维实值向量。在这个向量空间中,相似的单词往往彼此接近,单词之间的关系被保留为[20];因此,调整模型参数以增加包含特定单词的训练示例的目标函数,可以提高相似单词在相似上下文中的性能。然而,RNN不同于前馈神经网络,它具有隐藏层的活动循环连接。因此,当前隐藏层的活动会引发对过去活动的记忆。这可能使得RNN特别适用序列标记任务,比如位置填充,RNN在一些基准测试任务中表现出了良好的性能。在本文中,我们提出了一种基于RNN的SLU方法,用于上下文SLU的领域识别,意图分类以及位置填充的联合训练。我们方法中的RNN用于执行位置填充任务。然而,它的特性是用于位置填充和领域/意图分配而联合训练的。卷积神经网络置于step-n-gram模型提取的特征之上,从RNN序列隐藏层提取句子层级特征。该方法的一个明显优点是可以联合训练神经网络参数。相比之下,传统的SLU方法是领域/意图分类和位置填充的模型训练是分开进行的。该方法的另一个优点是包含了上下文信息,包括过去预测的领域/意图分配和位置标记。

2.相关工作

由于线性核函数支持向量机(linear SVM)的简单和鲁棒性,已经在领域和意图分类中得到了广泛的应用。最近,神经网络和卷积神经网络也被应用在领域分类和意图检测。与基于神经网络的方法相比,线性SVM可能被认为有些肤浅。

条件随机场(CRF)被广泛应用到位置填充任务。最近基于神经网络的技术和基于循环神经网络方法已经成功应用在该任务上。基于循环神经网络的方法在一些数据集,比如ATIS,已经获得了很高水准的效果。本文的工作通过对位置填充和领域/意图分类任务的联合训练,进一步提高了该领域的研究水平。

联合训练涉及了多任务学习。最近,[4,25]研究了意图检测和位置填充的联合建模。本文结合前面查询的领域/意图分类和位置填充的预测的上下文信息,对他们的工作做了进一步研究。位置标签不能使用时,我们训练语言模型作为替代。该方法实现了参数的半监督训练,在[26]中也进行了讨论。因此,我们的方法可以利用未标记的数据潜在地提高SLU的效果。虽然我们主要关注于使用语言模型作为位置填充模型的补充,但是该方法同样也可以用于其它的SLU任务。

我们提出了一个提取句子层级的step-n-gram模型。最近的工作是一个用于序列到序列的映射[32]新方法,它使用RNN的最后一个隐藏层活动,用于初始化输出序列的隐藏层活动。step-n-gram模型不局限于最后一个隐藏层活动,通过最大池和目标函数的最大化来优化选择精确的位置。通过增加step-n-gram模型的阶数,可以从具有一定时间分辨率的序列特征中提取一定的句子层级的特征。

最近,Xu和Sarikaya[25]研究了领域识别,意图分类和位置填充的联合训练。他们的方法是使用了三角形的CRF[33],有表示处查询中的领域/意图分配的附加变量。通过建立新引入的变量和隐藏的为指标及序列之间的依赖关系,实现了联合训练。另一个新奇之处的使用卷积神经网络(CNNs)[21]来提取特征,我们的工作与他们的不同之处在于使用了RNN,结合上下文信息,并使用step-n-gram模型提取句子层级特征。

3.基于递归神经网络的联合训练

该方法如图1所示。图的底部是一个破折号圆角的正方形,它演示了一个使用RNN的槽填充模型。输出层 y_i∈R^k 产生了一个概率分布的在 i 位置的可能的语义标签。K是标签的数量。隐藏层 s_i∈R^D 维护了句子历史的表示。D是隐藏层的维度。输入层 w_i∈R^N 的维度等于词汇量N。隐藏层和输出层的值计算如下:

S_i=σ(Uw_i+Ws_(i-1) ) (1)

z_i=Vs_i (2)

y_i=g(z_i) (3)

其中

σ(Z)=1/(1+e^(-Z) ),g(Z_m )=e^(Z_m )/(∑_ke^(z_k ) )

编辑于 2019-06-25 12:00