来自于论文:《Attention-Based Recurrent Neural Network Models for Joint Intent Detection and Slot Filling》
基于attention的encoder-decoder网络在机器翻译取得成功,本文提出基于attention的网络联合对齐模型用于IC和SF,在ATIS任务上实现了最先进的效果-ID错误率和SF的f1 score。
问题:
attention在seq2seq中用于学习soft对齐同时解码,本身SF就是对齐的情况下,attention应该如何应用。
前向和后向RNN的hi会丢失长依赖的信息,通过映入context向量ci,来提供hi没有捕捉到的长依赖的信息。对于IC,如果没有attention,对各个hi使用mean-pooling的方式输入IC,但加入attention之后,输入将是hi的加权和。
文章一共介绍了两种模型:
Embeding
窗口词向量:
x t d = e ( w t ) x^d_t = e(w_t) xtd=e(wt)
h t → = R N N → ( x t , h t − 1 → ) \overrightarrow{h_t} = \overrightarrow{RNN}(x_t, \overrightarrow{h_{t-1}}) ht=RNN(xt,ht−1)
h t ← = R N N ← ( x t , h t − 1 ← ) \overleftarrow{h_t} = \overleftarrow{RNN}(x_t, \overleftarrow{h_{t-1}}) ht=RNN(xt,ht−1)
输出: h t ↔ = [ h t → , h t ← ] \overleftrightarrow{h_t} = [\overrightarrow{h_t}, \overleftarrow{h_t}] ht =[ht,ht]
slot filling:
(1) c i S = ∑ j = 1 T α i , j S h j , c_i^S = \sum^T_{j=1} \alpha^S_{i,j} h_j,\tag{1} ciS=j=1∑Tαi,jShj,(1)
(2) α i , j S = e x p ( e i , j ) ∑ k = 1 T e x p ( e j , k ) \alpha^S_{i,j} = \frac{exp(e_{i,j})}{\sum_{k=1}^T exp(e_{j,k})} \tag{2} αi,jS=∑k=1Texp(ej,k)exp(ei,j)(2)
(3) e i , k = V T σ ( W h e S h k + W i e h i ) e_{i,k} = V^T \sigma(W_{he}^S h_k + W_{ie} h_i) \tag{3} ei,k=VTσ(WheShk+Wiehi)(3)
c i S ∈ R b s ∗ T c_i^S \in R^{bs*T} ciS∈Rbs∗T,和 h j h_j hj一致。
e i , k ∈ R 1 e_{i,k} \in R^1 ei,k∈R1, e i , k e_{i,k} ei,k计算的是 h k h_k hk和当前输入向量 h i h_i hi之间的关系。
作者TensorFlow源码 W k e S h k W_{ke}^S h_k WkeShk用的卷积实现,而 W i e S h i W_{ie}^S h_i WieShi用的线性映射_linear()。
T是attention维度,一般和输入向量一致,源码其实 e i , k = r e d u c e _ s u m ( V T σ ( W k e S h k + W i e h i ) ) e_{i,k} = reduce\_sum(V^T \sigma(W_{ke}^S h_k + W_{ie} h_i)) ei,k=reduce_sum(VTσ(WkeShk+Wiehi)),将其变为1维度,一共T个word,就有T个e。
(4) y i S = s o f t m a x ( W h y S ( R N N ( h i + c i S ) ) ) y_i^S = softmax(W_{hy}^S(RNN (h_i+c_i^S))) \tag{4} yiS=softmax(WhyS(RNN(hi+ciS)))(4)
计算和模型1类似,公式不在列出。
model | ic error | slot F1 |
---|---|---|
Attention Encoder-Decoder NN | 1.57 | 95.87 |
Attention BiRNN | 1.79 | 95.98 |
词槽抽取的实验结果比目前最好的要好0.1%左右。
意图识别的实验结果比目前最好的要提高1%左右。
获得了stae of the art的表现,但是没有指出未来的点,以及一些可能会有的问题,
个人认为数据集问题,有待在更大更多数据集验证效果,例如ATIS数据量其实还是比较小,一共4478+500+893,对于百分点的提升有一定的随机性,有待统计假设检验验证等。(其实模型还是挺靠谱的,只是实验还可以做得更严谨)
csdn原文:https://blog.csdn.net/shine19930820/article/details/83052232