论文-A Bi-model based RNN Semantic

2019-12-28  本文已影响0人  魏鹏飞

1. 简称

论文《A Bi-model based RNN Semantic Frame Parsing Model for Intent Detection and Slot Filling》简称Bi-Model,作者Yu Wang(Samsung Research America),经典的NLU论文(Semantic Frame)

2. 摘要

意图检测和时隙填充是构建口语理解(SLU)系统的两个主要任务。基于多种深度学习的模型已经在这些任务上展示了良好的结果。最有效的算法是基于序列到序列模型(或“编码器-解码器”模型)的结构,并使用单独的模型生成意图和语义标签((Yao等人,2014; Mesnil等人等人(2015; Peng和Yao,2015; Kurata等,2016; Hahn等,2011))或联合模型((Liu和Lane,2016a; Hakkani-Tür等,2016; Guo等)等人,2014年))。然而,大多数先前的研究要么将意图检测和插槽填充视为两个单独的并行任务,要么使用序列到序列的模型以生成语义标签和意图。这些方法大多数都使用一个(联合)基于NN的模型(包括编码器-解码器结构)来对两个任务进行建模,因此可能无法充分利用它们之间的交叉影响。在本文中,新的基于Bi-Model的RNN语义框架解析网络结构旨在通过使用两个相关的双向LSTM(BLSTM)相互考虑相互影响来共同执行意图检测和时隙填充任务。我们的带解码器的Bi-Model结构在基准ATIS数据上获得了最先进的结果(Hemphill等,1990; Tur等,2010),意图精度提高了约0.5%,插槽填充提高了0.9%改善。

3. 引言

在过去的几十年中,对口头语言理解(SLU)系统的研究进展非常迅速。 SLU系统中的两个重要任务是意图检测和插槽填充。这两个任务通常被视为并行任务,但可能会相互影响。意图检测被视为话语分类问题,可以使用传统的分类器,包括回归,支持向量机(SVM)甚至是深层神经网络。可以将时隙填充任务表述为序列标记问题,而性能最佳的最受欢迎方法是使用条件随机字段(CRF)和递归神经网络(RNN)作为最近的工作。

一些工作还建议使用一个联合RNN模型,通过利用序列到序列的模型(或编码器-解码器)模型来一起生成两个任务的结果,这也提供了不错的结果。

本文提出了一种基于双模型的RNN结构,以考虑两个任务之间的交叉影响,从而可以进一步提高SLU系统建模的性能。这些模型可以为每种话语同时生成意图和语义标签。在我们的Bi-Model结构中,构建了两个任务网络以实现意图检测和插槽填充。每个任务网络都包含一个带有或不带有LSTM解码器的BLSTM。

4. 核心

尽管基于RNN的序列到序列(或编码器/解码器)模型在两个任务上都取得了成功,但是文献中的大多数方法仍对每个任务或两个任务都使用一个单个RNN模型。他们将意图检测和插槽填充视为两个单独的任务。在本节中,提出了两个新的Bi-Model结构,以考虑它们的交叉影响,从而进一步提高其性能。一种结构采用解码器结构的优势,而另一种则不需要。基于两个模型的成本函数的异步培训方法旨在适应这些新结构。

4.1 Bi-model RNN Structures

图1显示了两个带解码器和不带解码器的Bi-Model结构。这两个结构彼此非常相似,不同之处在于图1(a)包含基于LSTM的解码器,因此存在一个额外的解码器状态s_t。除了编码器状态h_t之外,还可以级联。

备注:
使用来自多模型/多模式的信息来获得更好的性能的概念已在深度学习中得到了广泛使用以及最近的强化学习领域。在本文中,我们没有使用集体信息,而是引入了一种全新的方法,即通过共享内部状态信息来异步训练多个神经网络。

4.1.1 Bi-model structure with a decoder

具有解码器的双模型结构如图1(a)所示。结构中有两个相互连接的双向LSTM(BLSTM),一个用于意图检测,另一个用于插槽填充。每个BLSTM向前和向后读入输入话语序列(x_1,x_2,...,x_n),并生成两个隐藏状态序列hf_thb_thf_thb_t的串联形成一个BLSTM状态h_t=[hf_t,hb_t]在时间步t时刻。因此,我们的双向LSTMf_i(·)生成一个隐藏状态序列(h_1^i,h_2^i,...,h_n^i),其中i=1用于意图检测任务,i=2是用于插槽填充任务。

为了检测意图,将隐藏状态h^1_t与来自另一个双向LSTMf_2(·)h^2_t组合到时隙填充任务网络中,以在时间步t生成g_1(·)s^1_t的状态:

s_t^1=\phi(s_{t-1}^1,h_{n-1}^q,h_{n-1}^2) \\y_{intent}^1=\argmax_{\hat{y}_n^1}P(\hat{y}_n^1|s_{n-1}^1,h_{n-1}^1,h_{n-1}^2) \tag{1}

其中\hat{y}_n^1包含最后一个时间步骤n的所有意图标签的预测概率。

对于时隙填充任务,使用BLSTM f_2(·)和LSTMg2(·)构建类似的网络结构。通过读取一个单词序列作为输入,f_2(·)f_1(·)相同。区别在于,对于g_2(·),每个时间步长t都会有一个输出y_t^2,因为这是一个序列标记问题。在每个步骤t

s_t^2=\psi(h_{t-1}^2,h_{t-1}^1,s_{t-1}^2,y_{t-1}^2) \\y_t^2=\argmax_{\hat{y}_n^2}P(\hat{y}_n^2|h_{t-1}^1,h_{t-1}^2,s_{t-1}^2,y_{t-1}^2) \tag{2}

其中y_t^2是时间步t的预测语义标签。

4.1.2 Bi-Model structure without a decoder

没有解码器的双模型结构如图1(b)所示。在此模型中,没有以前的模型中的LSTM解码器。
对于意图任务,在BLSTM f_1(·)处仅生成一个预测输出标签y_1

最后一个时间步长n,其中n是话语的长度。同样,状态值h^1_t和输出意图标签生成为:
h_t^1=\phi(h_{t-1}^1,h_{t-1}^2) \\ y_{intent}^1=\argmax_{\hat{y}_n^1}P(\hat{y}_n^1|h_{n-1}^1,h_{n-1}^2) \tag{3}

对于插槽填充任务,其基本结构BLSTM f_2(·)与意图设计相似,检测任务f_1(·),只不过有一个插槽标签在每个时间步t生成的标签y_t^2。它也是从两个BLSTM f_1(·)获取隐藏状态,然后f2(·),即h_{t-1}^1h_{t-1}^2,加上输出标签y_t^2一起生成其下一个状态值h^2_t和插槽标签y_t^2。将此数学表示为一个函数:

h_t^2=\psi(h_{t-1}^2,h_{t-1}^1,y_{t-1}^2) \\ y_t^2=\argmax_{\hat{y}_t^2}P(\hat{y}_t^2|h_{t-1}^1,h_{t-1}^2,y_{t-1}^2) \tag{4}

4.1.3 Asynchronous training

Bi-Model结构的主要区别之一是其异步训练,该训练以异步方式根据其自身的成本函数训练两个任务网络。意向检测任务网络的损失函数为L_1,插槽填充的损失函数为L_2。使用交叉熵将L_1L_2定义为:

L_1=-\sum_{i=1}^k\hat{y}_{intent}^{1,i}log(y_{intent}^{1,i})\tag{5}

-\sum_{j=1}^n\sum_{i=1}^m\hat{y}_j^{2,i}log(y_j^{2,i})\tag{6}

其中k是意图标签类型的数量,m是语义标签类型的数量,n是单词序列中单词的数量。在每次训练迭代中,意图检测和时隙填充网络都将根据先前迭代中的模型生成一组隐藏状态h^1h^2。意图检测任务网络批量读取输入数据x_i和隐藏状态h^2的总和,并生成估计的意图标签y_{intent}^1。意图检测任务网络根据功能L_1计算其成本并对其进行训练。然后,将同一批数据x_i与意图任务网络的隐藏状态h_1一起馈入插槽填充任务网络,并为每个时间步生成一批输出y_i^2。然后根据成本函数L_2计算其成本值,并对其进行进一步训练。

使用异步训练方法的原因是,对于不同的任务,必须保留两个单独的成本函数。这样做有两个主要优点:

  1. 通过捕获更多有用的信息并克服一种模型的结构限制,与仅使用一种联合模型相比,它可以过滤掉两项任务之间的负面影响。
  2. 只能通过共享两个模型的隐藏状态来学习两个任务之间的交叉影响,这两个模型分别使用两个成本函数进行训练。

5. 实验

在本节中,我们在两个数据集上对我们提出的新的双模型结构进行了训练和测试,一个是包含航班预定录音的公共ATIS数据集,另一个是我们自行收集的数据集在三个不同的领域中:食物,家庭和电影。本文使用的ATIS数据集遵循与相同的格式。训练集包含4978个发声,测试集包含893个发声,总共有18个意图类别和127个插槽标签。我们的自收集数据集的数据数量将在相应的实验部分中给出,并提供更详细的说明。基于意图检测任务的分类准确性和针对插槽填充任务的F1分数对性能进行评估。

5.1 Training Setup

在我们的模型中,LSTM和BLSTM网络的层大小均选择为200。基于数据集的大小,隐藏层的数量选择为2,而Adam优化的使用方式为。单词嵌入的大小为300,在实验开始时会随机初始化。

5.2 Performance on the ATIS dataset

我们的第一个实验是在ATIS基准数据集上进行的,并通过评估其意图检测准确性和广告位填充F1得分与现有方法进行了比较。


表1给出了详细的比较。某些模型是为单槽填充任务设计的,因此仅给出F1分数。可以观察到,新提出的Bi-Model结构在意图检测和插槽填充任务方面均胜过当前最新技术,并且在我们的ATIS数据集上,具有解码器的Bi-Model也胜过没有解码器的Bi-Model 。当前带有解码器的Bi-Model显示了ATIS基准数据集的最新性能,F1得分提高了0.9%,意图准确性提高了0.5%。

备注:

  1. 值得注意的是,基于编解码器的模型通常比没有使用编解码器结构的模型复杂度更高,因为使用了两个网络,需要更新更多的参数。这也是为什么我们使用两个有/没有使用编解码器结构的模型来演示新的双模型结构设计的另一个原因。还可以观察到,带解码器的模型由于其更高的复杂度而给出了更好的结果。
  2. 表中还显示中的联合模型实现了在意图检测任务上具有更好的性能,而在插槽填充上的性能略有下降,因此对于两个任务来说,联合模型不一定总是更好。双模型方法通过分别生成两个任务的结果来解决此问题。
5.3 on multi-domain data

在本实验中,我们在三个方面的食物(家庭,电影)中对Bi-Model的结构进行了进一步测试,这些结构是从我们的用户收集的内部数据集中进行的。每个领域有3个意图,食品领域有15个语义标签,家庭领域有16个语义标签,电影领域有14个语义标签。表2列出了每个域的数据大小,对于训练而言,拆分为70%,对于验证,为10%,对于测试,为20%。

由于篇幅所限,文献中仅对ATIS数据集执行最佳的语义框架解析模型。基于注意力的BiRNN用于与我们的Bi-Model结构进行比较。表2显示了在三个数据域中性能进行比较。带有解码器的双模型结构基于其意图准确性和时隙填充F1分数在所有情况下均具有最佳性能。意向准确性至少提高了0.5%,不同领域的F1分数提高了大约1%至3%。

6. 重点论文

7. 代码编写

# 后续追加代码分析

参考文献

  1. Wang, Y., Shen, Y., & Jin, H. (2018). A Bi-Model Based RNN Semantic Frame Parsing Model for Intent Detection and Slot Filling. Naacl-Hlt.
上一篇下一篇

猜你喜欢

热点阅读