Bonky
Neither believe nor reject anything, because any other person has rejected or believed it. Heaven has given you a mind for judging truth and error, Use it.
By Thomas Jefferson

WAIS:联合意图检测和槽填充的单词注意力

用于联合意图检测和槽填充的基于注意力的递归神经网络模型已实现了最先进的性能。 先前的大多数工作都利用语义级别信息来计算注意力权重。 但是,很少有工作考虑到词级信息的重要性。 在本文中,我们提出了WAIS(单词注意),用于联合意图检测和槽填充。 考虑到意图检测和槽填充有很强的关系,我们进一步提出了一种融合门,它将词级信息和语义级信息集成在一起,以共同训练这两个任务。 大量的实验表明,所提出的模型具有优于竞争对手的鲁棒优势,并且为最先进的模型。

Introduction

口语理解(SLU)是口语对话系统中的重要组成部分。 SLU旨在形成一个语义框架,以捕获用户话语或查询的语义。 它通常涉及两项任务:意图检测和槽填充。 这两个任务的重点是预测说话者的意图并提取语义概念作为自然语言的约束。

考虑到流水线方法通常因其独立的模型而遭受错误传播,因此提出了联合模型以通过两个任务之间的相互增强来提升句子级语义。 此外,还引入了注意力机制,并在模型中加以利用,以提供精确的关注,从而使网络能够了解输入序列中应关注的地方。 每个输出标签。 Liu and Lane 提出的注意力模型达到了最先进的表现。 但是,先前的工作忽略了词级信息的重要性,而是仅利用语义信息来计算这两个任务的注意力权重。 受到NLP任务成功的启发,我们为该任务引入了词级注意。

这项工作的贡献有三点:(1)我们提出了一种单词注意力技术,以利用单词水平信息来联合训练这两项任务。 据我们所知,我们是第一个为这两项任务介绍单词级信息的人。 (2)此外,我们提出了一种融合门,该融合门整合了来自单词级别信息和语义级别信息的上下文向量。 (3)进行的实验证明了我们提出的设置最先进方法的有效性。

Methodology

双向LSTM模型将单词序列 \mathbf{x}=\left(x_{1}, \dots, x_{T}\right) 作为输入,然后生成前向隐藏状态 \overrightarrow{h_{i}} 和后向隐藏状态\overleftarrow h_{i},在时间步长i处的最终隐藏状态h_{i}\overrightarrow{h_{i}}, \overleftarrow{h_{i}}串联,即h_{i}=[\overrightarrow{h_{i}}, \overleftarrow{h_{i}}]

槽填充。 对于槽填充,x映射到其相应的槽标签\mathbf{y}=\left(y_{1}^{s}, \dots, y_{T}^{s}\right)。 对于每个隐藏状态,h_{i}我们通过学习的注意力权重,将槽的上下文向量c_{i}^{s}计算为隐藏状态的加权和:
c_{i}^{s}=\sum_{j=1}^{T} \alpha_{i, j}^{s} h_{j}
槽的注意力的计算公式如下:
\alpha_{i, j}^{s}=\frac{\exp \left(e_{i, j}\right)}{\sum_{k=1}^{T} \exp \left(e_{i, k}\right)}

e_{i, k}=\sigma\left(W_{h}^{s} h_{k}\right)

其中\sigma是激活函数,W_ {h} ^ {s}是前馈神经网络的权重矩阵。 然后利用隐藏状态和槽上下文向量来填充槽:
y_{i}^{s}=\operatorname{Softmax}\left(W_{h y}^{s}\left(h_{i}+c_{i}^{s}\right)\right)
其中W_ {h y} ^ {s}是权重矩阵,y_ {i} ^ {s}是输入中第i个单词的插槽标签。

意图检测。 对于意图检测,也可以以与c_ {i} ^ {s}相同的方式来计算意图上下文向量c ^ {I},但是意图检测部分仅采用BLSTM 的最后一个隐藏值h_{T}。意图预测可以如下建模:
y^{I}=\operatorname{Softmax}\left(W_{h y}^{I}\left(h_{T}+c^{I}\right)\right)
词汇注意力。 为了添加单词级别信息,在每个解码步骤中,我们利用源词嵌入x_ {j}一起计算单词注意力权重\beta_{ij},然后使用\beta_ {ij}对词嵌入进行加权求和 ,我们可以获得另一个上下文向量c_{i}^{\omega},我们称其为单词上下文向量。

具体来说,我们首先将注意力权重\beta_ {i j}计算为能量函数e_ {i j} ^ {\beta}softmax
\beta_{i j}=\frac{\exp \left(e_{i j}^{\beta}\right)}{\sum_{k=1}^{T} \exp \left(e_{i k}^{\beta}\right)}
能量函数e_ {i j} ^ {\beta}是通过第j个源词嵌入x_ {j}来计算的
e_{i j}^{\beta}=V^{T} \tanh \left(W_{h y}^{w} x_{j}\right)
其中V \in \mathbb{R} ^ {m},W_{hy} ^ {w} \in \mathbb {R} ^ {m \times m}是权重矩阵,其中词嵌入的维数表示作为m

获得所有源词的注意力权重\beta_ {ij}后,词上下文向量c_ {i} ^ {\omega}可以计算为:
c_{i}^{\omega}=\sum_{j=1}^{T} \beta_{i j} x_{j}
然后,将单词上下文向量作为附加输入来提供,以得出意图检测和槽填充。

融合门。 为了通过自适应控制两个上下文向量的权重在单词级别和语义级别的信息上实现更好的平衡。 我们设计了一个融合门来自动分配这两部分信息的重要性。 具体来说,可以计算全局上下文向量c_g
c_{g}=\lambda \odot c_{i}^{s}+(1-\lambda) \odot c_{i}^{\omega}

\lambda=V_{1}^{T} \tanh \left(W_{1} c_{i}^{s}+W_{2} c_{i}^{\omega}\right)

其中V_ {1} \in \mathbb {R} ^ {m},W_ {1} \in \mathbb {R} ^ {m \times n},W_ {2} \in \mathbb {R} ^ { m \times m}是权重矩阵,mn分别表示BLSTM层隐藏单元和词嵌入中的尺寸。

然后,可以将全局上下文向量作为两个任务的附加信息提供。 意图检测的预测可以如下计算:
y_{i}^{s}=\operatorname{Softmax}\left(W_{h y}^{s}\left(h_{i}+c_{g}\right)\right)

y^{I}=\operatorname{Softmax}\left(W_{h y}^{I}\left(h_{T}+c^{I}+c_{g}\right)\right)

由于这两个任务之间有很强的关系,我们还引入了用于意图检测的全局上下文向量c_g

Experiments

数据集。 在本文中,我们对两个广泛使用的数据集进行了实验:ATIS数据集和Snips。 ATIS数据集包含4,978言语,而测试集包含893句。 Snips数据集包含13,784句,而测试集包含700句。

训练。 给定数据集的大小,我们将LSTM单元中的数字单位设置为256。默认的遗忘门设置为1。我们在模型中仅使用了一层LSTM。 在正规化训练期间,dropout率设置为0.5。 我们使用Adam优化方法来优化我们的方法。

实验结果。 我们将我们的方法与RecNN + Viterbi和基于注意力的方法进行了比较。 WAIS优于两种基线方法。 在ATIS数据集上,我们在插槽填充方面达到了95.87%,在意图检测方面达到了98.6%。 对于Snips数据集,我们在插槽填充方面达到91.09%,在意图检测方面达到98.43%。

Share

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注