答案選擇|語義匹配任務目前表現最好的幾個模型

答案選擇|語義匹配任務目前表現最好的幾個模型

來自專欄檢索式問答系統的語義匹配模型17 人贊了文章

Answer selection是QA中的一個重要任務。基本定義是:給出問題q和該問題的答案候選池 left{ a_{1}, a_{2},...,a_{s}
ight} (s是池大小),目標是從答案池中找到可以準確回答問題最佳答案候選 a_{k},1leq k leq s 。這項任務的主要挑戰是正確的答案可能不會直接與問題共享辭彙單位。相反,它們可能只是在語義上相關。此外,答案有時很嘈雜,並且包含大量不相關的信息。

text matching是nlp中一個重要的基礎問題,nlp中的許多任務都可以抽象為文本匹配任務。文本匹配的演算法,主要用於搜索引擎、問答系統等,主要是為了找到與目標文本最相關的文本,比如在問答系統中找到和問題最相關的答案,在搜索引擎中找到與搜索框中關鍵詞最相關的網頁等。

解決answer selction的一般思路是:首先用LSTM或者CNN的神經編碼器學習問題和答案的表示,然後進行text matching,將任務轉換為分類或者learning-to-rank問題。神經排序模型在QA中對候選答案進行排序以回答問題,核心是問答表示之間交互函數的設計。

下表是answer selection近幾年表現最好的幾個模型,本篇閱讀筆記主要針對表中的幾個模型進行闡述:

TrecQA數據集:

QA答案選擇任務廣泛應用的基準評估數據集,評價標準是MAR和MPP。形式為一個問題及其所有答案(包括一個positive-answer和多個negative-answer)。任務是對這些答案進行排序。

an example of TrecQA corpus

《Lstm-based Deep Learning Models for Non- factoid Answer Selection》&《Improved Representation Learning for Question Answer Matching》

Tan(2015)-QA-LSTM/CNN+attention

這兩篇來自同一個作者,第一篇發於ICLR 2016,第二篇發於ACL 2016,內容基本一致。

本文針對答案選擇任務應用了通用深度學習框架,該框架不依賴於手動定義的特徵或語言工具。基本框架是建立基於雙向長期短期記憶(biLSTM)模型的問題和答案的嵌入,並通過餘弦相似度來衡量它們的相似程度。

在兩個方面進一步擴展這個基本模型。一個方向是通過將卷積神經網路CNN與基本框架相結合,為問題和答案學習更複合的表示。另一個方向是利用簡單而有效的注意力機制來根據問題上下文生成答案表示。模型由兩個數據集檢驗,包括TREC-QA和InsuranceQA。

1、QA-LSTM

(1)給定一個(q,a)對,q是問題,a是一個候選答案,首先生成問題和答案的詞向量,然後將兩個詞向量序列分別輸入到biLSTM中,生成問題和答案的固定長度的分散式向量表示,然後利用餘弦相似度來衡量它們的距離。有三種方式得到表示:

  • 將biLSTM的兩個方向的最後一個輸出向量進行拼接;
  • 對biLSTM的所有輸出向量做average pooling;
  • 對biLSTM的所有輸出向量做max pooling。

(2)將訓練目標定義hinge loss:

其中a +是ground truth答案,a-是從整個答案空間中隨機選取的一個不正確答案,M是常量margin。

2、QA-LSTM/CNN

模型1僅通過簡單操作(如max或mean pooling)生成問題和答案表示。模型2在biLSTM輸出基礎上加入CNN結構,以便給出問題和答案的更多複合表示。CNN用在biLSTM後面可以獲取biLSTM輸出的向量之間的局部信息。這裡還做了一個變換,將biLSTM輸出的 R^{h	imes L} 矩陣以每個詞為中心向兩邊擴展k個(這也是卷積層的filter gram size),得到 R^{kh	imes L} 矩陣再做卷積,這樣做可以增強對局部信息的利用,在模型複雜度不是很高的情況下,確實有更好的效果。經過卷積層以後(c個卷積核),得到 R^{c	imes L} 的輸出矩陣,接著利用max pooling得到 o_{q}o_{a} :

3、QA-LSTM with attention

當biLSTM模型必須在問題和答案上長距離傳播依賴關係時,隱藏向量的固定寬度成為瓶頸。通過動態調整問題答案的更多信息部分,可以使用注意力機制來緩解這種弱點。這一策略已被用於許多其他自然語言處理任務中。在max或mean pooling之前,每個biLSTM輸出向量將乘以softmax權重,該權重由biLSTM的問題嵌入確定。具體來說,就是將 o_{q}h_{a} 之間做一個特徵的交互,給定在時間t時答案側的biLSTM的輸出向量 h_{a}(t) 和問題嵌入 o_{q} ,每個答案標記的更新向量如下獲得:

從結果來看, Attentive LSTM達到了最好的效果。attention機制已經成了序列模型中的一個經典的應用了。本文主要結合了CNN與LSTM的優點,並驗證了attention機制在Answer Selection任務上的有效性,這對以後相關方向的工作提供了一個簡單的指引。

《Attentive Pooling Networks》

dos Santos (2016) - Attentive Pooling CNN (AP-CNN & AP-biLSTM )

傳統的Attention機制被應用於特徵抽取器,例QA_LSTM_ATTENTION。但是該attention設計僅僅只是通過問題對答案進行特徵加權,而忽略了答案對問題的影響,本文考慮到可以同時將attention應用到問題和答案,從而提高演算法的準確率,提出了一種雙向注意力機制Attentive Pooling(AP),通過實現聯合學習兩種輸入的表示以及它們的相似性測量,可以顯著提高這種判別模型在pair-wise ranking或分類方面的表現。創新點在於將成對輸入投射到一個共同的表示空間,用Q和A的representation構造了一個矩陣G,分別對G的row和column做max pooling, 這樣就能分別能得到Q和A的attention vector。

1、模型概述:

AP-BILSTM演算法的設計是將問題和答案經過BILSTM抽取特徵,然後通過問題和答案的特徵計算soft alignment,該矩陣包含了問題和答案相互作用的重要性得分,對該矩陣的列取最大,即可得到答案對問題的重要性得分,而對該矩陣行取最大,即可得到問題對答案的重要性得分。

模型前期的處理與基本模型-Siamense network部分相同,在獲得question和candidate answer的特徵矩陣後,計算矩陣G: G=tanh(Q^{T}UA)。在矩陣G上應用column-wise max pooling和row-wise max pooling,並使用softmax函數處理後可分別獲得question和candidate answer對應的注意力向量 sigma^{q}sigma^{a} ,與question矩陣和answer矩陣對應相乘後得到向量 r_{q}r_{a}

2、細節

(1)假設問題、答案長度分別為M、L,經過CNN或者biLSTM後生產問題和答案嵌入為 Qin R^{c	imes M}Ain R^{c	imes L}

計算矩陣 G=tanh(Q^{T}UA),Gin R^{M	imes L}。其中U是神經網路待學習的參數矩陣, Uin R^{c	imes c}

(2)對於CNN:

對於問題或答案中的一個詞,它以這個詞為中心,將它與附近的k個詞向量拼接組成新的問題(答案)矩陣,這裡的k其實相當於filter的寬度,之後卷積filter的size是 1	imes kd ,d是embedding size。矩陣G包含q和a的卷積大小為k的上下文窗口之間的soft alignment的分數。

對於biLSTM:

矩陣G包含q和a每個標記的隱藏層向量之間的soft alignment的分數。對G應用column-wise和row-wise max-pooling,分別生成向量 g^{q}in R^{M},g^{a}in R^{L} :

其中: g^{q} 的第j個元素代表 問題q中的第j個詞對答案a的重要程度, g^{a} 的第j個元素代表 答案a中的第j個詞對問題q的重要程度。

(3)然後用softmax生成q的attention vector(a同理):

Q、A分別點乘各自的attention vector:

(4)計算 r^{q}和r^{a} 的cosine值,表徵問題和答案的語義相似度。

(5)訓練損失函數用的是hinge loss(pair-wise loss function):

《aNMM: Ranking Short Answer Texts with Attention-Based Neural Matching Model 》

Yang (2016) - Attention-Based Neural Matching Model

在基於檢索的問答系統中,很重要的一步是將檢索到的答案進行排序得到最佳的答案。使用深度學習的方法,如建立在CNN和LSTM模型基礎上的神經網路模型,不需要手動設計語言特徵,也能自動學習問題與答案之間的語義匹配。CNN最初是為計算機視覺設計的,它使用位置貢獻權重和局部感知過濾器來學習CV任務中的空間規律。然而在問題和答案的語義匹配中可能不存在這樣的空間規律,由於自然語言的複雜屬性,問題和答案term之間的重要相似性信號可能出現在任何位置。同時基於LSTM的模型是序列模型,如果沒有問題和答案term之間的交互作用,模型就不能捕捉到它們之間的豐富信息。本文針對這兩點提出了一種基於注意力的神經匹配模型來對答案進行排序。主要引入兩個創新:

  • CNN一般用的是position-shared weighting,這對於問答對語義匹配是不太適合的。採用值共享權重(value-shared weights)代替卷積網路中的位置共享權重(position-shared weights)方案來組合不同的匹配信號。
  • 用注意力機制來衡量問題中重要的部分。在最後的全連接層中使用attention機制來給問題中不同單詞進行加權,不太重要的詞權重會很小,重要的詞權重會很大。

本文提出了兩種模型,aNNM-1(Attention-Based NeuralMatching Model)和aNNM-2,aNMM-1隻是用了一組共享權重,而aNMM-2使用多組共享權重。

1、aNMM-1

模型的構建主要分成三步:

(1)對問題和答案對中的詞使用word Embedding進行編碼,然後使用餘弦相似度計算QA 匹配矩陣。假設一個問題對<Q,A> 中,問題Q長度為M,答案A長度為N,先訓練詞向量,然後構建M*N的QA匹配矩陣P, P_{j,i} 表示 q_{j}a_{i} 之間的語義相似度,用cosine計算。那麼問題來了,同一個問題的不同答案的詞的個數不一樣,得到的匹配矩陣的大小不一樣,不利於後面神經網路中的全連接計算。

(2)以前一般的處理思路是用CNN+max pooling來控制矩陣維度。CNN的關鍵思想是,相對位置一致的一些結點權值共享,這也是基於圖像的像素點和周圍像素點關係很大的假設之上的。使用基於位置的權值共享時,可表示成如下所示,其中同樣顏色的邊表示相同的權值。

然而,問題與答案之間的語義匹配可能不存在這樣的空間規律性,因此本文的做法是,使用基於值的權值共享將匹配矩陣變成相同維度。首先應用一個value-shared weighting深度神經網路,然後連接全連接層,學習問題和答案term的語義匹配的層級抽象。

如下圖所示,採用相同的值共享權重的方式來組織網路。因為不同值範圍的匹配信號決定了不同的匹配分數。所以可以用值共享權重來學習不同等級的匹配信號的重要性。節點的值表示QA匹配矩陣中某一個term pair的匹配信號強度。比如,匹配矩陣中相似度為1的所有節點共享一個權值,相似度在[0,0.5)之間的節點,共享一個權值,相似度在[0.5,1)之間的節點,共享一個權值。本文用bin表示一個特定範圍的匹配信號, 設bin的大小為0.1,P_{j,i}in left[ -1,1 
ight] ,當 P_{j,i}=1 ,表示這兩個term完全匹配,則一共有21個bin。通過這樣的方式,可以將計算得到的匹配矩陣轉換為相同維度,並且不管輸入矩陣的維度怎麼樣,隱藏層節點的個數是固定的。

完成這步後,隱藏層表示的大小固定,然後就能用全連接層來學習更高級別的表示。設j表示q中的第j個問題詞, x_{jk} 表示第k個bin節點(value range)上的所有匹配信號的和。對於QA匹配矩陣的每一行,經過隱藏層第j個節點的激活函數之後的結合分數計算如下:

(3)使用問題的注意力機制,學習問題中每個詞的重要性,並生成最後的排序分數。經過前兩步,每一個QA對都可以計算得到一個M* 1 的向量,向量中的每一個元素代表了這個答案與問題中的每一個詞的相似度,為了計算最後的相似度,並不是將這些值直接相加,得到整個問題與答案之間的相似度,而是為問題中的每個詞賦予不同的權值,然後再加權。為了完成這一點,增加了一個參數v 並使用作為問題的權值加權:

最後得到問答對之間的相似度。

與之前的模型如CNN和biLSTM 不同,它們通過匹配矩陣或問題/答案對序列的表示學習來學習問題和答案之間的語義匹配分數,而aNMM通過問題注意力網路的輸出加權來組合問題和答案的term pairs的語義匹配信號,其中softmax函數有助於區分term的重要性或不同問題term的注意力。

2、aNMM-2

aNNM-2相對於aNMM-1的改進是,使用多個基於值的權值網路,就像CNN有多個濾波器一樣,這樣做可以提取多方面的特徵。因為隱層的結構由M*1 變成了M*k,其中k為 共享權值的組數,為了讓網路的結構與aNMM-1 儘可能相似,aNMM-2 多了一個隱層,即將從第一個隱層學到的多個分值合併起來,其他結構沒有改變,結構如下所示:

總結:

本文提出了一種基於注意力的神經匹配模型來排序簡短的答案。採用值共享加權方案,而不是位置共享加權方案來組合不同的匹配信號,並且使用注意力機制完成問題相關詞的重要性學習。與沒有附加特徵的使用語言特徵工程的狀態方法相比,本文提出模型可以實現更好的性能。

《Learning to Rank Question Answer Pairs with Holographic Dual LSTM Architecture》

Tay(2017) - Holographic Dual LSTM Architecture

深度學習架構一直是學習單詞、句子或文檔的分散式表示的極其流行的選擇。通常,這被稱為表示學習,通過神經網路學習單詞或文檔的低維向量。通過張量層模擬向量之間的關係是一種流行的方式。最近,卷積神經張量網路(CNTN)在基於社區的問答中表現出了令人印象深刻的結果。CNN用於學習問題和答案的表示,而張量層用於使用附加張量參數來模擬表示之間的關係。由於張量層模擬了問答對之間的二元交互的多個視圖,因此能夠實現豐富的表徵性學習。然而,張量層的使用存在缺點。首先,添加張量層會嚴重增加參數的數量,這自然會不可避免地增加過擬合的風險。其次,這顯著增加了整個網路的計算和內存成本。第三,張量層也間接地限制了QA表示的表達性。

貢獻

為了解決上述弱點,本文提出了張量層的替代方案。首次採用全息組合來模擬問題和答案嵌入之間的關係。主要基於具有全息組成的長期短期記憶(LSTM)網路,並採用互相關來學習QA對之間的關係。模型稱作Holographic Dual LSTM (HD-LSTM),這是一種用於深層句子建模和語義匹配的統一架構,採用是端到端訓練的。貢獻歸納如下:

  • 首次採用全息組合來建模QA對表示之間的相互作用。與張量層不同,全息組合提供了可擴展且豐富的表徵學習方法的益處,而不會產生巨大的參數成本。此外,還通過採用互相關來實現豐富的表示學習。
  • 實現了一個新的深度學習框架HD-LSTM(全息雙LSTM),用於學習對QA對排序。使用多層長短期記憶LSTM神經網路來代替CNN來學習問題和答案的表達。
  • 在基於事實的問答系統和CQA提供了模型的廣泛的有效實驗證據。本文提出的方法在TREC QA任務和Yahoo CQA數據集上優於許多其他神經架構。

用一對多層LSTM分別表示Q-LSTM和A-LSTM。首先,LSTM學習問題和答案對的句子表示,然後用全息組合來建模Q-LSTM和A-LSTM輸出之間的相似性。最後,通過一個全連接層並執行二元分類。

1、學習QA表示

問題和答案序列首先通過look-up層。在該層,每個索引被轉換為低維向量表示。使用預先訓練的SkipGram 嵌入來初始化look-up層的參數W:

然後將來自問答序列的這些嵌入分別饋入Q-LSTM和A-LSTM。隨後,來自Q-LSTM和A-LSTM的最後隱藏輸出分別被認為是問題和答案的最終表示。

2、QA對的全息匹配

QA嵌入然後被傳遞到全息層,將q?a表示為應用於向量q和a的組合運算符,使用向量的互相關來學習問答嵌入之間的關係。

其中:

代表互相關操作數。

F(.)和 F^{-1}(.) 分別代表快速傅里葉變換(FFT) 和反快速傅里葉變換。 ar{F(q)} 表示F(q)的共軛。

此外,互相關可以被視為壓縮張量積。在張量積中,單獨的元素用於存儲q和a之間的每個成對乘法或交互。 在互相關中,組合向量的每個元素是q和a在一個固定總和模式上的乘法相互作用的和。 圖2描述了這個過程,其中圓形箭頭描繪了求和過程,其中向量c是組成q和a互相關的結果。

該組合方法的一個關鍵優點是參數沒有增加。事實上,組合向量與其構成向量保持相同的長度,這是我們提出的模型的一個非常有效的保證。在問題和答案表示具有不同維度的情況下,我們可以簡單地對向量進行零填充以使它們具有相同的長度。

註:神經張量網路

Neural Tensor Network是一種參數化組合技術,可以學習兩個向量之間的關係。 兩個向量之間的評分函數定義如下:

其中f是非線性函數,例如tanh。 M^{[1:r]}in R^{n	imes n 	imes r} 是張量(3維矩陣)。對於張量M的每個切片,每個雙線性張量積返回標量值以形成r維向量。 其他參數是神經網路的標準形式。 我們可以清楚地看到NTN通過使用大量參數實現了對嵌入對的豐富表徵性學習。

3、全息隱藏層

隨後,組合操作數之後鏈接一個完全連接的隱藏層,形成全息層。

一般大多數模型使用連接的組合運算符,表示為⊕來組合問題和答案的向量,將一個向量追加一個向量形成一個長度合併的向量:oplus = R_{d1} 	imes R_{d2}
ightarrow R_{d1} + R_{d2}

顯然,這種連接不考慮QA嵌入的潛在特徵之間的關係。我們必須從深度學習模型中學習參數,即後續的隱藏層中學習這種關係。總之,將[q?a]映射到 h_{out} 的全連接的dense層形成了我們網路的全息隱藏層。

4、整合額外特徵

在QA嵌入之間包含一個額外的相似性度量。這種相似性度量被稱為雙線性相似性:

其中M是網路的附加參數。 sim(q,a)的輸出是與[q?a]連接的標量值。參考論文《Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks》中單詞重疊特徵 X_{feat} 包含在連接層的隱藏層之前。這樣做的理由如下:首先,將word overlap等特徵編碼到深度學習架構中是很困難的。其次,word overlap特徵相對容易實現和合併。因此,當使用外部特徵時,全息隱藏層的輸入變為矢量:

5、softmax層

然後將來自全息隱藏層的輸出傳遞到全連接的softmax層:

6、訓練和優化

監督學習排序的任務通常可以被視為二元分類問題。給定一組問題qi∈Q,任務是對候選答案列表進行排序ai∈A。具體而言,我們嘗試學習輸出相關性得分函數f(q,a),並對每個問題答案對輸出得分f(q,a)∈[0,1]。然後使用得分來對可能的答案候選進行排名。通常,text ranking有三種不同的方式,pair-wise,point-wise和list-wise。pair-wise考慮使用如hinge loss之類的目標函數來最大化正向和負向問答對之間的邊界。point-wise分別考慮每個問答對是正向還是負向。list-wise將問題和所有候選答案視為訓練實例。自然地,由於必須處理更多實例,因此pair-wise和list-wise更難以訓練,實施並花費更長的時間。因此,我們主要在設計深度學習模型時考慮point-wise方法。

loss函數:(cross-entropy loss)

《Hyperbolic Representation Learning for Fast and Efficient Neural Question Answering》

Tay et al. (2017) - HyperQA (Hyperbolic Embeddings)

解決神經排序模型的一般思路是,首先用如CNN或者LSTM學習問題和答案的表示,然後設計問答表示的單詞交互層,例如基於相似性矩陣的匹配,軟注意力對齊和attentive pooling,這些創新伴隨著巨大的計算成本等,導致顯著更長的訓練時間以及更大的內存佔用。因此,本文解決了是否有可能通過簡單的神經結構實現競爭性的表現。

受到論文 《Poincaré Embeddings for Learning Hierarchical Representations》的啟發,它展示了雙曲空間中泛化的優越性和有效性。此外,這減輕了歐幾里德嵌入可能面臨的許多過度和複雜性問題,特別是如果數據具有內在的層次結構。雙曲空間是具有恆定負曲率的嵌入空間,其中朝向邊界的距離呈指數增長。直觀地,這使得它適合於學習反應自然層級(例如,網路,文本等)的嵌入,我們認為這可能有利於QA的神經排序模型。具體而言,雙曲空間的定義特徵相對於歐幾里德空間的擴展速度要快得多,自然具有層次結構建模的能力。在早期的經驗實驗中,作者發現在雙曲空間中訓練的簡單前饋神經網路能夠在幾個標準基準數據集上超越更複雜的模型。

本文提出了一個極其簡單的問題回答神經排序模型用於快速有效的問答排名和檢索,用於快速有效的問答排序和檢索。

  • 提出了一種新的神經排序模型HyperQA,用於排列問題答案對。模型模擬了雙曲空間中QA對之間的關係,而不是歐幾里德空間。這使模型具有自組織能力,並且能夠在學習嵌入問題和答案的同時自動發現潛在的層次結構。模型不需要特徵工程,沒有相似性矩陣匹配,沒有複雜的注意機制,也沒有過度參數化的層,但是在許多基準測試中具有這些功能的許多模型都表現優異並且仍然具有競爭力。
  • HyperQA是一種極其快速且參數有效的模型,可在多個QA基準測試中獲得極具競爭力的結果,例如TrecQA,WikiQA和YahooCQA。 HyperQA的效率和速度歸因於我們不使用任何複雜的神經編碼器並且沒有複雜的單詞交互層。實際上,HyperQA只是一個單層神經網路,只有90K參數。在多個QA基準測試中優於其他最先進的參數密集型模型,如Attentive Pooling BiLSTM和Multi-Perspective CNN。這使我們能夠重新考慮這些複雜的單詞交互層中是否對於良好的性能而言確實是必要的。

1、embedding layer

2、projection layer

單層神經網路,對於每個詞向量,有:

3、學習QA表示

4、QA對的雙曲表示:計算問題和答案之間的雙曲距離:

5、相似度打分函數:

《Bilateral Multi-Perspective Matching for Natural Language Sentences》

Wang et al. (2017) – BiMPM

Natural language sentence matching (NLSM)是指比較兩個句子並判斷句子間關係。針對NLSM任務,目前有兩種流行的深度學習框架。一種是Siamese network: 對兩個輸入句子通過同樣的神經網路結構得到兩個句子向量,然後對這兩個句子向量做匹配。這種共享參數的方式可以有效減少學習的參數,讓訓練更方便。但是這種方式只是針對兩個句子向量做匹配,沒有捕捉到兩個句子之間的交互信息。於是有了第二種框架matching-aggregation:先對兩個句子之間的單元做匹配,匹配結果通過一個神經網路(CNN或LSTM)聚集為一個向量後做匹配。這種方式可以捕捉到兩個句子之間的交互特徵,但是之前的方式只是基於詞級別的匹配忽略了其他層級的信息,匹配只是基於一個方向忽略了相反的方向。

為了解決matching-aggregation框架的不足,這篇文章提出了一種雙向的多角度匹配模型bilateral multi-perspective matching(BiMPM)。該模型在同義識別、自然語言推理、答案選擇任務上都取得了比較好的結果。設需要匹配的句子為P和Q,作者在P->Q,Q->P兩個方向上進行了匹配,使用了四種匹配策略,這些策略可以理解為不同的Attention,這裡也是Attention機制方面創新一個很好的參考。下面以P->Q方向為例進行說明,Q->P方向同理。

模型自下而上分為五層,分別為單詞表示層、上下文表示層、匹配層、聚合層和預測層,其中匹配層為模型的核心。單詞表示層對單詞進行Word embedding處理。上下文表示層與聚合層類似,都是利用BiLSTM對輸入序列進行處理。匹配層包含的四種匹配策略。

NLSM中每個樣例可以表示為這樣一個三元組:(P, Q, y),其中P表示長度為M的句子序列,Q表示長度為N的句子序列,y表示P和Q之間關係的標籤。模型的目標就是學習概率分布 P_{r}(y|P,Q) ,整體結構如下:

1、Word Representation Layer

將句子中的每個單詞表示為d維向量,這裡d維向量分為兩部分:一部分是用GloVe或者word2vec預訓練的固定的詞向量,另一部分是字元向量構成的向量,這裡將一個單詞裡面的每個字元向量輸入到LSTM得到最後的character-composed詞向量。

2、Context Representation Layer

將上下文信息融合到P和Q每個time-step的表示中,這裡利用Bi-Lstm表示P和Q每個time-step的上下文向量。

3、Matching Layer (Multi-perspective Matching)

比較一個句子的某個上下文向量和另外一個句子的所有的上下文向量,這裡設計了一種 multi-perspective匹配方法。這層的輸出是兩個序列,序列中每一個向量是一個句子的某個上下文向量對另一個句子所有的上下文向量的匹配向量。

(1)首先,定義比較兩個向量的multi-perspective餘弦匹配函數:

v_{1}v_{2} 是d維向量, Win R^{l	imes d} 是訓練參數,l是perspective的個數。生成的m是l維向量

m=left[ m_{1},...,m_{k}...,m_{l} 
ight] ,每個元素 m_{k}in m 是來自第k個perspective的匹配值:

circ 是element-wise乘積, W_{k} 是W的第k行,控制第k個視角給d維空間的不同維度分配不同權重。

(2)接著,為了比較一個句子的某個上下文向量與另一個句子的所有上下文向量,制定了四種匹配策略。以從P到Q為例。這裡的Multi-perspective Matching可以分為以下四種方案:

  • Full-Matching

取一個句子的某個上下文向量和另一個句子的最後一個上下文向量做比較。即P中每一個前向(反向)上下文向量與Q前向(反向)的最後一個時間步的輸出進行匹配。

  • Maxpooling-Matching

取一個句子的某個time-step和另一個句子的所有time-step比較後取最大。即P中每一個前向(反向) 上下文向量與Q前向(反向)每一個時間步的輸出進行匹配,最後僅保留匹配最大的結果向量。

  • Attentive-Matching

先計算P中每一個前向(反向) 上下文向量與Q中每一個前向(反向) 上下文向量的餘弦相似度,然後利用餘弦相似度作為權重對Q各個上下文向量進行加權求平均作為Q的整體表示,最後P中每一個前向(後向) 上下文向量與Q對應的整體表示進行匹配。步驟如下:

首先計算一個句子的某個上下文向量和另一個句子的所有上下文向量的餘弦相似度:

利用上面的餘弦相似度對另一個句子的所有上下文向量加權取平均:

比較一個句子的某個上下文向量與另一個句子的加權上下文向量:

  • Max-Attentive-Matching

方法與Attentive-Matching類似,不同的是不進行加權求和,變成了取最大,直接取Q中餘弦相似度最高的單詞上下文向量作為Q整體向量表示,與P中每一個前向(反向)上下文向量進行匹配。

4、Aggregation Layer

聚合兩個匹配向量序列為一個固定長度的匹配向量。對兩個匹配序列分別應用BiLSTM,然後連接BiLSTM最後一個上下文向量(4個)得到最後的匹配向量。

5、Prediction Layer

預測概率 P_{r}(y|P,Q) ,利用兩層前饋神經網路然後接softmax分類輸出預測結果。

總結:

用biLSTM對兩個給定句子分別編碼,從兩個方向P->Q,Q->P對其匹配。在匹配過程中,從多視角的角度,一個句子的每一步都與另一個句子的所有time-steps對應匹配。最後用一個BiLSTM來集合所有匹配結果到一個固定長度的向量,連上一個全連接層得到匹配的結果。本文模型在三個任務上的實驗結果證明了模型的有效性。此外,本文用到詞級別和字元級別的詞向量。傳統的Siamese網路結構忽視了低層級的交互特徵,重點放在向量表示上。現階段的一些模型更加註重句子之間交互信息,從不同層次不同粒度來匹配句子的模型越來越多。本文就是基於matching-aggregation框架,從多個視角不同方向去提取句子的特徵,得到了更好的結果。

《A Compare-Aggregate Model for Matching Text Sequences》

ICLR 2017 Compare-Aggregate

Weijie Bian, Si Li, Zhao Yang, Guang Chen, Zhiqing Lin. 2017. A Compare-Aggregate Model with Dynamic-Clip Attention for Answer Selection. In CIKM 2017.

從標題可以看出, 文章主要的關注點在「compare-aggregate model」上面,簡單的說,不是通過比較序列對的整個向量表示,「compare」是對sequence-pair的embedding中的每一個單元進行計算(element-wise),「aggregate」就是將計算的結果向量輸入到一個feed forward的模型中進行學習。

論文主要工作在於:

1. 在4個數據集MovieQA,InsuranceQA,WikiQA和SNLI上面都取到了非常好的效果,驗證了模型的有效性

2. 詳細討論了該採取什麼樣的「compare」才能達到最好的效果(主要工作)。對於未來的sequence matching的工作提供了一個參考。

模型對於如何「compare」進行了很多設計:

1、Preprocessing(圖中未標出)

處理 Qin R^{d 	imes Q}Ain R^{d 	imes A} 生成兩個新矩陣 ar{Q}in R^{l 	imes Q}ar{A}in R^{l 	imes A} 。目的是為了給兩個序列的每個詞都生成一個新的詞向量,以捕獲更多上下文信息。

上圖中的ar{a}ar{q}都是預處理後的vectors(擁有了一些上下文信息)。主要是利用了略作修改的LSTM/GRU(只保留輸入門)。

2、Attention

ar{Q}ar{A}之間利用注意力機制,對於ar{A}的第j個context vector ar{a_j},我們得到一個權重h_jh_j是由ar{a_j}ar{Q}的每一個列向量的注意力權重求和得到。h_j 表示Q中最匹配A中第j個詞的部分,是矩陣H的第j行向量。生成的 Hin R^{l	imes A} 是加權注意力矩陣。

3、Comparison

comparison layer的目標是為了匹配每個 ar{a_j}h_jar{a_j} 代表A的第j個context vector,h_j 表示Q中最匹配A中第j個詞的部分。f是線性變換+非線性激活函數的神經網路層,用於對每一個ar{a_j}h_j計算t_j。這裡主要採用了7種方案

  • NN

  • NTN

  • EUCCOS

  • SUB

  • MULT

  • SUBMULT+NN

4、Aggregation:

ar{a_j}h_{j}經過comparison layer得到 t_j ,然後利用CNN處理t_j的序列來進行分類。

論文與之前的baseline進行了充分的對比。其中,利用SUBMULTNN組合的compare方法在前面提到的4個數據集上均得到了state-of-the-art的表現。論文最後也給出了一些可視化的展現來驗證attention的重要性。

《Inter-Weighted Alignment Network for Sentence Pair Modeling》

Shen et al. (2017) – IWAN EMNLP 2017

句子對建模是自然語言處理領域的一個重要問題。 本文提出了一個模型來衡量一個關注交互信息的句子對的相似性。利用單詞級別的相似度矩陣來發現兩個句子的細粒度對齊。句子中的每個單詞從語義構成的角度來看具有不同的重要性,因此利用兩種新穎有效的策略來明確計算每個單詞的權重。雖然所提出的模型僅使用序列LSTM進行句子建模而沒有任何外部資源,但實驗結果表明我們的模型在兩個任務三個數據集中實現了最先進的性能。

給定兩個句子S和T,目的是計算一個分數來衡量它們的相似性。為了學習具有上下文信息的表示,首先使用雙向LSTM句子模型,該模型將單詞嵌入作為輸入,以獲得每個位置的上下文感知表示。上下文感知表示用於計算單詞級別相似度矩陣。受到注意力機制的啟發,利用軟對齊在一個句子中為其他句子中每個位置找到語義對應部分,並利用alignment layer計算一個句子的加權和向量作為另一個句子的每個位置的對齊表示。同時,將S和T的上下文感知表示表示作為輸入,應用一個加權層來計算S和T中每個位置的權重。我們認為這個權重可以表明語義交互的重要性,並且每個位置的表示的加權求和比包括最大或平均pooling以及LSTM層的其他組合方法更容易理解。我們提出了兩種計算權重的策略。加權向量被饋送到全連接層,並且soft-max層用於給出最終預測。本文把答案選擇問題看成一個「yes"or"no"二分類問題,訓練loss函數用的是負對數似然:

下面來看模型的具體細節:

1、Word Level Similarity Matrix

相似性矩陣M的每個元素代表 s_{h}^{i}t_{h}^{j} 的相似性:

2、alignment layer

M的第i行代表S的第i個位置和T的每個位置的相似度:

然後用 left{ t_{h}^{j} 
ight} 的加權和執行soft-alignment, 計算對齊表示 S_{a} = [s_{a}^{1},...,s_{a}^{m}]

同理,T的對齊表示為 T_{a} = [t_{a}^{1},...,t_{a}^{m}]

對齊特徵:衡量對齊表示和原始表示的gap

  • direct strategy

直接計算對齊表示和原始表示差值的絕對值: s_{r}^{i} = left| s_{h}^{i} -s_{a}^{i} 
ight|

S_{r}=left[ s_{r}^{1},..., s_{r}^{m}
ight] 為對齊殘差,即用於後續處理的對齊特徵。

  • orthogonal decomposition

s_{a}^{i} 平行的 s_{h}^{i} 的分量 s_{p}^{i} 表示對齊分量,與 s_{a}^{i} 正交的分量 s_{o}^{i} 表示對齊殘差。按如下方式計算這兩個成分:

3、Inter-Weighted Layer

(1)Inter-Attention Layer

衡量每個詞之間的語義交互的重要性,計算結合了交互信息的權重。

輸入 S_{h} ,inter-attention層輸出 w_{s},大小為m:

其中:

w_{s} 沿著位置維度將 s_{r},s_{p},s_{o} 有權重地加起來:

(2)Inter-Skip Layer

如果S中第i個詞對語義表示貢獻不大,則得到一個相似表示 s_{skip}^{i}

skip特徵計算如下:

s_{skip}^{i}s_{h}^{i} 的區別反映了第i個詞對於語義組成的貢獻。如果區別小,說明對應詞的重要性小。 sf_{skip}=[sf_{skip}^{1},...sf_{skip}^{m}] 是一個衡量單詞重要性的特徵。

按同樣的方式用inter-skip層輸出的 w_{s} 得到inter-features.

4、輸出層

為了更豐富的信息,結合S和T的句子向量的對齊信息來進行最後預測:

(1)在 S_{h} 上應用self-attention模型,得到嵌入:

(2)按元素計算乘積 h_{	imes} = s_{wh}odot t_{wh} 以及差值 h_{+} =left| s_{wh}- t_{wh} 
ight| 作為self-features

  • 直接結合這些特徵:

  • 正交分解策略:

(3)用兩層神經網路計算概率分布:

總之,貢獻如下:

1、為SPM提出了一個加權間對齊網路(IWAN),它建立了一個對齊層,根據對齊程度計算相似度得分。

2、考慮到句子中每個單詞的重要性是不同的,我們認為用於評估每個單詞的權重的加權層對於語義組合是至關重要的。我們提出了兩種計算權重的策略。 實驗結果證明了它們的有效性。

3、語義相關性基準數據集SICK和兩個答案選擇數據集TRECQA,wikiQA的實驗結果表明,所提出的模型在沒有任何外部信息的情況下實現了最先進的性能。

《Multi-Cast A ention Networks for Retrieval-basedQuestion Answering and Response Prediction》

Tay et al. (2018) - Multi-Cast Attention Networks (MCAN)

query-document對之間的文本相關性建模是信息檢索(IR)研究的核心。關鍵思想是學習query-document對之間的評分函數,並輸出一個排序的候選列表。這種IR系統應用廣泛,例如,回答基於事實的問題,在基於聊天的系統中選擇最佳相應,基於檢索的問答系統等等。本文提出了一種用於此類任務的通用神經排序模型

貢獻:

  • 首次提出了一種新的思路,不是將attention作為pooling操作,而是作為一種特徵增強方式使用,即casted attention。提出了一種用於通用序列對建模的整體架構,稱為多播注意力網路Multi-Cast Attention Networks(MCAN)。這是一種新的注意力機制和通用模型架構,用於對話建模和問答系統領域中的排序任務。我們的方法執行一系列soft-attention操作,每次返回一個壓縮的標量特徵,重新附加到原始的單詞表示上。關鍵思想是為後續編碼器層提供實值提示(特徵),旨在改進表示學習過程。這種設計有幾個優點,例如,它允許投射任意數量的注意力機制,允許多種注意力類型(例如,co-attention, intra-attention)和注意力變體(例如,alignment-pooling, max-pooling, mean-pooling)同時執行。這不僅消除了調整co-attention層的昂貴需求,而且還為從業者提供了更大的可解釋性。
  • 根據四個基準任務評估提出的模型,即對話回復預測(Ubuntu對話語料庫),Factoid問答(TrecQA),社區問答(來自SemEval 2016的QatarLiving論壇)和推特回復預測(客戶支持)。在Ubuntu對話語料庫中,MCAN的表現優於現有的最先進模型9%。MCAN在經過充分研究的TrecQA數據集上也取得了0.838 (MAP) 和0.904 (MRR) 的最佳表現評分。

模型:

模型的輸入是兩個文本序列,將其表示為查詢q和文檔d。query-document可以適用於不同的問題域,例如問答系統或消息響應預測。下圖顯示了QA檢索的整體模型體系結構。

MCAN是一個廣泛的multi-attention架構,它利用壓縮函數和注意力作為特徵

這個模型目前在Answer Selection任務上表現最好,值得重點關注,之前在一篇閱讀筆記中詳細討論了這個模型,由於字數限制,細節請參考用於檢索式問答系統的多播注意力網路。

reference paper:

Ming Tan, Cicero dos Santos, Bing Xiang & Bowen Zhou. 2015. LSTM-Based Deep Learning Models for Nonfactoid Answer Selection. In ICLR 2016.

Ming Tan, Cicero dos Santos, Bing Xiang & Bowen Zhou. 2015. Improved Representation Learning for Question Answer Matching.In ACL 2016.

Cicero dos Santos, Ming Tan, Bing Xiang & Bowen Zhou. 2016.Attentive Pooling Networks

Liu Yang, Qingyao Ai, Jiafeng Guo, W. Bruce Croft. 2016. aNMM: Ranking Short Answer Texts with Attention-Based Neural Matching Model. In CIKM 2016.

Yi Tay, Minh C. Phan, Luu Anh Tuan and Siu Cheung Hui. 2017 Learning to Rank Question Answer Pairs with Holographic Dual LSTM Architecture. In SIGIR 2017.

Hua He, Kevin Gimpel and Jimmy Lin. 2015. Multi-Perspective Sentence Similarity Modeling with Convolutional Neural Networks. In EMNLP 2015.

Yi Tay, Luu Anh Tuan, Siu Cheung Hui. 2017. Enabling Efficient Question Answer Retrieval via Hyperbolic Neural Networks

Zhiguo Wang, Wael Hamza and Radu Florian. 2017. Bilateral Multi-Perspective Matching for Natural Language Sentences

Shuohang Wang, Jing jiang.2017. A Compare-Aggregate Model for Matching Text Sequences. In ICLR 2017.

Gehui Shen,Yunlun Yang, Zhi-Hong Deng. 2017. Inter-Weighted Alignment Network for Sentence Pair Modeling.. In EMNLP 2017.

Yi Tay, Luu Anh Tuan, Siu Cheung Hui, Multi-Cast Attention Networks, In KDD 2018

推薦閱讀:

TAG:問答系統 | 自然語言處理 | 深度學習DeepLearning |