2018年最好的nlp文章,先说结论,有些参考的价值可以分享一下:
总结:
SSG模型细节和实现。
模型图:
Encoder
令 (X1,X2,X3,Xm)为 m 个单词的序列。我们首先通过一个嵌入矩阵 (embedding matrix),把 嵌入成一个稠密的嵌入向量 , |V|是词汇表的大小, k 是嵌入向量的维度。
我们使用一个bidirectional LSTM 从两个方向上来读取文本序列 x,并且计算每个单词的隐藏状态:
我们通过连接两个方向上的隐藏状态来得到第 i个单词的最终隐藏状态,
这使得状态具有以第 i 个单词为中心的序列信息。
这里的pack可以去pytorch官网搜一下这个官方定义的函数
pack_padded_sequence
当模型预测不同的标签的时候,并不是所有的单词贡献相同。注意力机制会通过关注文本序列中的不同部分,产生一个上下文向量 (context vector)。
特别的,本文采用的 Attention 是 global attention,什么是global a