問題:
Natural language sentence matching (NLSM),自然語言句子匹配,是指比較兩個句子並判斷句子間關系,是許多任務的一項基本技術。針對NLSM任務,目前有兩種流行的深度學習框架。一種是Siamese network: 對兩個輸入句子通過同樣的神經網絡結構得到兩個句子向量,然后對這兩個句子向量做匹配。這種共享參數的方式可以有效減少學習的參數,讓訓練更方便。但是這種方式只是針對兩個句子向量做匹配,沒有捕捉到兩個句子之間的交互信息。於是有了第二種框架matching-aggregation:先對兩個句子之間的單元做匹配,匹配結果通過一個神經網絡(CNN或LSTM)聚集為一個向量后做匹配。這種方式可以捕捉到兩個句子之間的交互特征,但是之前的方式只是基於詞級別的匹配忽略了其他層級的信息,匹配只是基於一個方向忽略了相反的方向。
為了解決matching-aggregation框架的不足,這篇文章提出了一種雙向的多角度匹配模型(bilateral multi-perspective matching)。該模型在同義識別、自然語言推理、答案選擇任務上都取得了比較好的結果。
主要方法:
NLSM中每個樣例可以表示為這樣一個三元組:(P, Q, y),其中P表示長度為M的句子序列,Q表示長度為N的句子序列,y表示P和Q之間關系的標簽。模型的目標就是學習概率分布Pr(y|P,Q),整體結構如下:
Word Representation Layer:將句子中的每個單詞表示為d維向量,這里d維向量分為兩部分:一部分是固定的詞向量,另一部分是字符向量構成的詞向量。這里將一個單詞里面的每個字符向量輸入LSTM得到最后的詞向量。
Context Representation Layer:將上下文信息融合到P和Q每個time-step的表示中,這里利用Bi-Lstm表示P和Q每個time-step的上下文向量。
Matching Layer:
雙向:比較句子P的每個上下文向量(time-step)和句子Q的所有上下文向量(time-step),比較句子Q的每個上下文向量(time-step)和句子P的所有上下文向量(time-step)。為了比較一個句子的某個上下文向量(time-step)和另外一個句子的所有上下文向量(time-step),這里設計了一種 multi-perspective匹配方法。這層的輸出是兩個序列,序列中每一個向量是一個句子的某個time-step對另一個句子所有的time-step的匹配向量。
Aggregation Layer.:聚合兩個匹配向量序列為一個固定長度的匹配向量。對兩個匹配序列分別應用BiLSTM,然后連接BiLSTM最后一個time-step的向量(4個)得到最后的匹配向量。
Prediction Layer:預測概率Pr(y|P;Q),利用兩層前饋神經網絡然后接softmax分類。
Multi-perspective Matching
首先,定義比較兩個向量的multi-perspective余弦函數:
這里和
是d維向量,W是
的可訓練的參數,
表示的是perspcetive的個數,所以m是一個
維的向量,每一維度表示的是兩個加權向量的余弦相似度:
接着,為了比較一個句子的某個time-step與另一個句子的所有time-step,制定了四種匹配策略。為了避免重復,僅從一個方向進行描述,以從P到Q為例:
這里的Multi-perspective Matching可以分為以下四種方案:
(1) Full-Matching
取一個句子的某個time-step和另一個句子的最后一個time-step做比較
(2) Max-pooling-Matching
取一個句子的某個time-step和另一個句子的所有time-step比較后取最大
(3) Attentive-Matching
首先計算一個句子的某個time-step和另一個句子的所有time-step的余弦相似度
利用上面的余弦相似度對另一個句子的所有time-step加權取平均
后比一個句子的某個time-step與另一個句子的加權time-step
(4) Max-Attentive-Matching
方法與(3)類似,只是加權平均變成了取最大
實驗結果:
1 paraphrase identification 同義識別
首先判斷perspective數目對模型的影響:
判斷雙向的有效性和模型融合策略的有效性:
和當前state-of-art的結果比較,證明本模型的有效性。
2 Natural Language Inference 自然語言推理
3 Answer Sentence Selection 答案選擇
簡評:
這篇文章主要是研究句子匹配的問題:
用biLSTM對兩個給定句子分別編碼,從兩個方向P->Q,Q->P對其匹配。在匹配過程中,從多視野的角度,一個句子的每一步都與另一個句子的所有time-steps對應匹配。最后用一個BiLSTM被用來集合所有匹配結果到一個固定長度的向量,連上一個全連接層得到匹配的結果。本文模型在三個任務上的實驗結果證明了模型的有效性。此外,本文用到詞級別和字符級別的詞向量。傳統的Siamese網絡結構忽視了低層級的交互特征,重點放在向量表示上。現階段的一些模型更加注重句子之間交互信息,從不同層次不同粒度來匹配句子的模型越來越多。本文就是基於matching-aggregation框架,從多個視角不同方向去提取句子的特征,得到了更好的結果。
參考:https://zhuanlan.zhihu.com/p/26548034