Enhanced LSTM for Natural Language Inference(ESIM)为文本匹配模型,在之前的短文本匹配比赛中取得了不错的效果,故现对该模型进行一些总结。该模型综合利用了biLSTM和attention机制,将一个句子各单词与另一个句子各单词特征相关性进行表示,再进行差积分析,凸显了局部推理信息,可以说这是这个模型的一大亮点。原论文中还有编码以及推理合成部分都利用TreeLSTM替代biLSTM,鉴于效果不如biLSTM本文不做讨论,感兴趣的可以去查看原论文。
论文链接:https://arxiv.org/pdf/1609.06038.pdf
-
biLSTM编码
假设输入句a、句b,首先采用biLSTM分别对这两个句子进行编码。
ai‾=BiLSTM(a,i)bi‾=BiLSTM(b,i) \overline{a_{i}}=BiLSTM(a,i) \\ \overline{b_{i}}=BiLSTM(b,i)ai=BiLSTM(a,i)bi=BiLSTM(b,i)
ai‾\overline{a_{i}}ai为 将a再输入时间i的隐藏状态,也就是a句中i单词进行编码时的输出状态,b句也按此操作。此处利用双向LSTM模型在单词的上下文关联上会有更好的效果,单词所在的语境可以表现在编码后。 -
Local Inference Modeling
这个模块为该模型最大的创新点,主要在句子基础上表征了两句词之间的关系,并凸显了某一句单词对另一句各单词之间的产生的影响。
先采用点积计算两句间各单词的attention权重:
ei,j=ai‾Tbj‾e_{i,j}=\overline{a_i}^T\overline{b_j}ei,j=aiTbj
然后对两句各单词之间进行交互性计算,可见该词与另一句子联系越大,则计算出的值也会越大:
ai~=∑j=1lbexp(ei,j)∑k=1lbbj‾\tilde{a_i}=\sum^{l_b}_{j=1}\frac{exp(e_{i,j})}{\sum^{l_b}_{k=1}}\overline{b_j}ai~=∑j=1l