一、概述
用于自然語(yǔ)言推斷的加強(qiáng)LSTM。顧名思義,這篇論文的目的是做自然語(yǔ)言推斷,即推斷兩個(gè)句子的關(guān)系,關(guān)系有三種:相等(或蘊(yùn)含),對(duì)立和中立。
作者主要是用句子間的注意力機(jī)制(intra-sentence attention),來(lái)實(shí)現(xiàn)局部的推斷,進(jìn)一步實(shí)現(xiàn)全局的推斷。
ESIM主要有3個(gè)組成部分:input encoding,local inference modeling, and inference composition。
正常詞向量+BiLSTM實(shí)現(xiàn),如圖1左邊;如果可以做句子的語(yǔ)法分析的話,那么也可以做下語(yǔ)法分析 + treeLSTM,如圖1右邊;最后,二者預(yù)測(cè)結(jié)果融合,效果更好。ESIM就是圖1左邊的實(shí)現(xiàn)。圖1左+圖1右,稱(chēng)為HIM(hybrid inference model)。

二、ESIM的組成部分
2.1?Input Encoding
對(duì)于輸入的詞向量,首先使用 BILSTM來(lái)學(xué)習(xí)如何表示一個(gè)word以及上下文,即對(duì)原始的word embedding在當(dāng)前的語(yǔ)境下重新編碼,得到兩個(gè)句子的新的詞向量:

2.2?Local Inference Modeling(局部推斷建模)
BiLSTM: 序列模型可以收集和word以及上下文的推斷。
treeLSTM: 語(yǔ)法樹(shù)的結(jié)構(gòu)可以收集詞組和從句直接的局部信息。(HIM才做,ESIM不做)
要想做局部推斷,必須要把兩個(gè)句子的子部分做一定程度的對(duì)齊(嚴(yán)格對(duì)齊或者軟對(duì)齊),這里是使用句子間對(duì)齊(inter-sentence attention)。
?2.2.1 先計(jì)算兩個(gè)句子word之間的相似度,得到2維的相似度矩陣,用Dot實(shí)現(xiàn)

2.2.2 然后計(jì)算基于句子的局部推斷
就是用上一步的相似度矩陣,用句子q2的word bj來(lái)生成相似度加權(quán)的q1的word ai(hat)。
反過(guò)來(lái),用句子q1的word ai來(lái)生成相似度加權(quán)的q2的word bj(hat)。 如下:
實(shí)際上加權(quán)是用softmax(相似度vector)實(shí)現(xiàn)的。

2.2.3?Enhancement of local inference information(加強(qiáng)局部推斷信息)
????把a(bǔ) 和a(hat)計(jì)算差和點(diǎn)積, b和b(hat)也一樣。這樣做的目的是 更清晰地區(qū)別a和a(hat)的局部的推斷信息,獲取例如“對(duì)立”的推斷關(guān)系,所以擴(kuò)展了a的詞向量為Ma:
假設(shè)句子的長(zhǎng)度為20,Ma的每個(gè)詞向量維度為800,那么得到Ma為20*800的矩陣,可以認(rèn)為我們得到800維特征,每個(gè)特征都在20個(gè)word中比較得出來(lái)的。

2.3?Inference Composition(推斷組件)
用pooling 抽取特征的過(guò)程,用了maxPooling和avgPooling,這是為了防止結(jié)果對(duì)句子長(zhǎng)度敏感。所以800維特征的抽取過(guò)程如下:

2.4 MLP的過(guò)程
全連接輸出的過(guò)程。