1. 简称
论文《A Joint Model of Intent Determination and Slot Filling for Spoken Language Understanding》简称Joint BiGRU,作者Xiaodong Zhang and Houfeng Wang(Institute of Computational Linguistics, Peking University)。经典的NLU论文(Semantic Frame)。
2. 摘要
语音理解(SLU)的两个主要任务是意图确定(ID)和空位填充(SF)。事实证明,递归神经网络(RNN)在SF中是有效的,而以前没有在ID中使用RNN的工作。基于句子的意图和语义槽是相互关联的思想,
我们提出了两种任务的联合模型。门控递归单元(GRU)用于学习每个时间步长的表示,由此可以预测每个时隙的标签。同时,最大池化层用于捕获句子的全局特征以进行意图分类。
表示由两个任务共享,并且模型由联合损失函数训练。我们在两个数据集上进行了实验,实验结果表明,我们的模型在这两个任务上都优于最新方法。
3. 引言
人机对话系统中的口语理解(SLU)旨在自动识别以自然语言表达的用户意图,并提取实现目标的相关论据或内容。近年来,随着其在许多领域的广泛应用,例如自动客户服务,自动问题解答,语音助手等,SLU已成为研究社区的热点。通常,SLU系统首先通过自动语音识别器(ASR)将用户的语音转录为文本,或者输入内容是用户直接键入的文本。然后,确定用户的意图和相关的参数。系统可以根据提取的信息采取下一个适当的动作,以帮助用户实现他们的需求。
表1中用输入/输出/开始(IOB)表示展示了一个示例句子“Show flights from Boston to New York today”(显示今天从波士顿到纽约的航班)。这句话来源于航空旅行信息系统(ATIS)语料库
,这是SLU领域使用最广泛的数据集。
这个句子的范围是航空旅行,其意图是找到航班。“Boston”一词被贴上出发城市的标签,“New York”被贴上目的城市的标签。还有命名实体标签。
“Boston”和“New York”被贴上了城市的标签,这两个城市的插槽标签更容易预测。领域和意图的确定通常被视为语义话语分类(SUC)问题,而插槽填充通常被视为序列标注问题。由于意图的类别比域更细粒度,因此我们在这项工作中重点关注意图确定。
近年来,RNN已经证明了其在语言建模中的有效性。 SF任务的最新方法也基于RNN 。尽管如此,在ID任务中还没有探索RNN,更不用说这两个任务的联合模型了。
联合模型值得考虑有两个原因。首先,这两个任务通常在SLU系统中都是必需的。其次,可以将一项任务的信息用于另一项任务以相互促进,并可以进行联合预测。
例如,如果一个句子的目的是寻找航班,则很可能包含出发和到达的城市,反之亦然。基于这个想法,我们提出了两个任务的联合模型。输入文本可以视为一个序列。 GRU用于学习序列中每个时间步的表示。一方面,这些表示用于预测插槽标签。另一方面,可以通过这些表示的最大池来学习意图分类序列的全局表示。因此,由GRU学习的表示由两个任务共享,并且具有联合损失函数,这两个任务可以通过共享的表示相互交互。
实验结果表明联合任务模型胜过每个任务的单独模型。此外,我们的模型在两个数据集上优于ID和SF的最新方法。结合这两个任务的另一种可能的方法是管道方案。它首先对话语意图进行分类,然后使用额外的意图信息来帮助填充插槽。该方案不如我们的联合模型,因为信息共享的方向是单向的,并且存在错误传播问题。
4. 核心
我们的模型的结构如图1所示。网络的输入是话语的文本,它是单词的序列,是话语的长度。该网络由两种输出组成,即,预测的时隙标签序列和预测的意图标签。接下来,我们将详细描述我们的模型。
4.1 Embeddings
作为传统表示法(例如“独热”表示法)的替代,单词嵌入适合用作神经网络的输入。通常在大型语料库上以无监督的方式训练这些嵌入,然后在有监督的训练过程中对其进行微调。
Mesnil等。 [2015]发现上下文词窗口可以提高RNN在SF上的性能。在他们的工作之后,我们还将上下文窗口用作循环层的输入。在将每个单词映射到嵌入矢量的情况下,将考虑当前单词的个之前的单词和个之后的单词,上下文单词窗口定义为有个单词嵌入矢量的有序串联。正式地
是的向量,并且单词窗口大小是。
命名实体是SLU的一种重要功能。至
利用这些功能,我们将每个命名实体(包括表示非实体的特殊标签)与嵌入相关联,该嵌入根据区间[0,1]上的均匀分布随机初始化,并在培训过程。与单词窗口一样,定义了名为实体窗口的上下文。使用命名实体嵌入,在时间步t处的递归层输入表示为:
是命名实体的向量,并且命名实体窗口大小是。
4.2 Recurrent Hidden Layers
作为传统前馈神经网络的扩展,RNN可以通过使用递归隐藏状态并考虑过去状态的影响来处理可变长度序列。
通常,给出一个序列,隐藏层状态计算为:
其中是时间的隐藏状态,和分别是输入和先前隐藏状态的变换矩阵。
训练RNN以捕获长期依赖关系很困难,因为梯度趋于消失或消失。因此,设计了带有门控单元的一些更复杂的激活功能。两个代表性的改进是长短期记忆(LSTM)[Hochreiter and Schmidhuber,1997]和最近提出的门控递归单元(GRU)。我们在这项工作中使用GRU,因为在我们的实验中,GRU的性能与LSTM相当,但是参数较少。
GRU定义:
对于序列标记,同时考虑过去和将来的信息是有益的。因此,我们使用GRU的双向变体来学习每个时间步的表示。
首先,我们定义前向和后向隐藏层:
前后向隐藏层表示:
4.3 Task Specific Layers
双向隐藏状态由两个任务共享。一方面,隐藏状态会在每个时间步捕获特征,因此它们可直接用于预测插槽标签。另一方面,我们使用最大池化层来获取整个序列的表示。全局表示定义为:
其中max函数是逐元素函数,是话语中的单词数。池化层将长度可变的文本转换为固定长度的向量,通过该向量可以捕获整个文本中的信息。
最后一部分是输出层。将softmax函数应用于具有线性变换的表示,以给出第个时隙标签上的概率分布和意图标签上的分布。正式地
其中和分别是SF和ID的变换矩阵,和是偏置矢量。
引入过渡分数来衡量从标签跳到标签的概率。对于标签序列,句子级别的分数由每个时间步的标签过渡分数和预测分数之和给出:
其中是在时间步处标签的预测概率,它由公式12计算得出。一种特殊情况是,当t = 1时,涉及但不存在。因此,我们再添加一个标签“ BOS”来表示。最后,预测的插槽标签序列是所有可能的标签序列中得分最高的一个:
4.4 Training
我们网络中的参数包括:
接下来,我们为网络定义损失函数。我们用S表示话语文本,ls和lu表示槽位和意图的地面真相标签。
意图损失函数是一个交叉熵代价函数。
插槽标签序列的损失函数定义为:
网络的培训目标是最大程度地减少联合损失函数:
通过统一联合函数,GRU学习到的共享表示可以共同考虑两个任务。此外,可以学习并促进两个任务的相关性。
5. 实验
5.1 Results and Analysis
结果显示在表2中。第二列列出了每种方法使用的功能。 W,N和S分别表示词汇,命名实体和句法特征,只是W在CQUD上表示汉字特征。
我们可以看到CRF在SF上胜过SVM,这表明通过序列级优化,CRF适用于序列标记任务。此外,RNN可以捕获长期依赖性,因此胜过了CRF。为了模拟标签转移并获得整个序列的全局最优,
R-CRF将RNN和CRF结合在一起,并在SF任务上实现了最新的性能。实际上,在我们的模型中使用的句子级别的插槽标签的推理类似于R-CRF。对于ID任务,最先进的方法是句子简化,它使用依赖项解析器来提取句子的关键字。此方法不是联合工作,两个单独的分类器用于两项任务。RecNN在深度学习方案中使用语法信息。但是,结果比简化句子更糟。我们认为这可能是因为数据集的规模很小,使得人类编写的句法功能表现更好。尽管如此,郭等。 比较了RecNN的联合模型和单独模型,结果证明了联合模型的有效性。
在ATIS数据集上,我们的联合模型优于最新的ID,F1分数的绝对改善为1.34%,相对误差减少了44%。对于SF,我们的模型优于最新方法0.43%(相对12%)。绝对的提高可能不是很高,因为对该数据集进行了十多年的研究,并且最新技术方法的得分很高。尽管如此,我们仍然实现了明显的相对误差减少。我们还观察到,由于命名实体和插槽标签的高度相关性,命名实体功能仅对ID有所帮助,但对SF的贡献很大。由于递归神经网络对序列进行建模的强大功能以及可以调节两个任务权重的统一损失函数,因此我们的方法大大优于以前的联合研究RecNN。
在CQUD数据集上的得分低于ATIS。这可能是因为CQUD的难度较高。正如4.1节所提到的,CQUD中的意图比ATIS中的更多样化,槽的表达也更非正式。此外,输入的是汉字序列,而不是单词。然而,CQUD的改善是一致的。我们的模型在ID和SF上的性能分别比最新的方法高出1.59%和1.24%。
5.2 Joint Model vs Separate Models
首先,我们给出联合模型和单独模型的定义。联合模型是我们在图1中提出的模型。单独模型与联合模型相似,不同之处在于只有一个任务。对于ID,仅存在共享层和ID特定层,而没有SF特定层。对于SF,它的方式相同。我们还实现了管道方法。首先,对RNN进行ID训练,然后将预测的意图用作添加特征,为SF训练另一个RNN。
联合模型的速度优势是不言而喻的,因为只需训练和测试一个模型即可。对于这两个任务,模型的共享部分仅计算一次。为了进行定量分析,我们使用相同的参数设置和硬件运行了联合模型和独立模型的程序。在ATIS数据集上,使用联合模型训练一个历元的时间为124秒,而使用单独模型的训练时间总计为212秒。
接下来,我们比较联合模型和单独模型的性能。在这些实验中,仅使用词汇功能。在这里,介绍了一个新的概念,该概念是联合完成的,并且完成了一项任务。在联合模型中,我们可以对这两个任务给予不同的关注。这是通过调整公式20中的权重因子and并使用一项任务的得分作为目标来选择超参数来实现的。 r越大,表示对SF的关注越多。结果列于表3。
对于两个任务,联合模型的性能优于单独的模型,这表明联合训练是有效的。两个任务的相关性是通过我们的联合模型学习的,并有助于这两个任务。由于双向信息共享和监督,我们的联合模型优于单向管道方法。
请注意,如果我们将一个任务设置为面向联合模型的对象,则与同等对待两个任务相比,可以获得更高的性能。如果需要很高的分数,或者在实际应用中甚至只需要一项任务,这会使灵活性倾向于执行一项任务。
在ATIS中,equal model的设置为1.6,面向ID的设置为1.6,面向SF的设置为1.8。在CQUD中,三种模型的分别设置为1.5、2.0和1.8。直观地说,一项任务的权重越高,其性能越好。在我们的实验中,这并不总是正确的,这可能是因为对于一个任务来说,权重太大会导致太快的收敛,从而不能很好地调整该任务的参数。
6.重点论文
- Sepp Hochreiter and Ju ̈rgen Schmidhuber. Long short-term memory. Neural computation, 9(8):1735–1780, 1997.
- Gre ́goire Mesnil, Yann Dauphin, Kaisheng Yao, Yoshua Bengio, Li Deng, Dilek Hakkani- Tur, Xiaodong He, Larry Heck, Gokhan Tur, Dong Yu, et al. Using recurrent neural networks for slot filling in spoken language understanding. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 23(3):530–539, 2015.
- Gre ́goire Mesnil, Xiaodong He, Li Deng, and Yoshua Bengio. Investigation of recurrent-neural- network architectures and learning methods for spoken lan- guage understanding. In INTERSPEECH, pages 3771–3775, 2013.
7. 代码编写
# 后续追加代码分析
参考文献
- Zhang, X., & Wang, H. (2016). A Joint Model of Intent Determination and Slot Filling for Spoken Language Understanding. Ijcai.