作者提出了HCAN (Hybrid Co-Attention Network),包含:
(1)混合編碼模塊:CNN與LSTM混合的encoder;
(2)多粒度的相關性匹配模塊;
(3)co-attention的語義匹配模塊
背景
兩類匹配模型未必能混用,語義匹配強調意思的對應和成份的結構,而相關性匹配關注關鍵詞的匹配;
三個特征識別相關性匹配:精確匹配信號,匹配查詢詞的重要性,和多樣化的需求;
相關性匹配模型(DRMM,Co-PACRR)采用基於交互的設計,在query和doc乘積相似性矩陣上構建模型;
語義匹配模型關注上下文感知的表示學習
研究兩個問題:
(1)現有的兩類模型是否可用於對方的問題?
(2)兩類模型捕獲的信息是否互補?
混合encoder
模型的輸入為查詢(query)和與之比較的文本(context),目標就是讓模型判斷兩者間的匹配程度。為了捕獲短語級的表示,這里使用了三種類型的encoder,作者將其稱為deep、wide和contextual。
針對句子的embedding 矩陣,encoder分為:
(1)堆疊的多層CNN;
(2)並行多個CNN;
(3)雙向LSTM。
三種類型的encoder在理想情況下應該起到一種互補的效果,前兩種可以顯式控制卷積核大小且速度更快,最后一個更容易捕獲長程特征。
相關性匹配 Relevance Matching
word-level -> phrase-level -> sentence-level
inverse document frequency (IDF)
語義匹配 Semantic Matching
在每個編碼層應用共同注意機制 Co-Attention,實現多語義層的上下文感知表示學習。
使用了Co-Attention來計算查詢向量和文本向量之間的注意力分數,將其作為語義匹配得分。
得到Uq和Uc,首先使用 bilinear attention:
REP算子通過重復缺失維度中的元素將輸入向量轉換為Rn*m矩陣。
從兩個方向進行co-attention:query-to-context和context-to-query,如下所示:
max col == > max pooling
concatenated contextual embeddings H:
然后接Bi-LSTM:
分類
兩種匹配方式得到的d+2維輸出,接上兩層全連接+ReLU、softmax,損失函數采用NLL negative log likelihoold loss
N是編碼器的個數,相關性和語義匹配模塊在每一個編碼器層中都被應用,最終被集成用於分類。
實驗
任務:
Answer Selection: TrecQA
評價標准:mean average precision (MAP) and mean reciprocal rank (MRR).
Paraphrase Identification: TwitterURL
評價標准:正例:F1值,負例:macro-F1
Semantic Textual Similarity (STS):Quora
評價標准:class prediction accuracy
Tweet Search: TREC Microblog 2013-2014,此任務是根據短查詢的相關性對候選tweet進行排序。
評價標准:MAP and precision at rank 30 (P@30)
一些實現細節:
300d word2vec (Mikolov et al., 2013) embeddings
SGD optimizer
initialize word embeddings: uniform distribution from[0, 0.1]
CNN層N=4,filter size = 2,hidden_size = 150,卷積核數量 [128, 256, 512]
學習率:[0.05, 0.02, 0.01]
batch_size: [64, 128, 256]
drop_out: 0.1~0.5
三種HCAN model變體:
(1) only relevance matching signals (RM),
(2) only semantic matching signals (SM),
(3) the complete model (HCAN).
整體上來看,相關性匹配模型效果優於語義匹配模型,雖然SM一直比不上RM,但卻對融合模型效果有提升。可能是SM模型獲得到的語義信息有限。just few words
如圖,比BERT還是不如,之后測試了它的推理速度,和ERNIE比還是慢很多。
不同的編碼器比較
deep 和 wide 編碼器的表現差不多。contextual編碼器在TrecQA數據集不如前兩個,其它差不多。
SM需要更多的數據支持。(Quora上,RM和SM表現相近,因為Quora數據集較其它數據集龐大很多)
編碼器數量的影響:
樣本質量分析
總體而言,RM在捕獲重疊信號方面表現得更好,而結合語義匹配信號改善了表示學習。
others:
SM 是依賴於大量數據集的。
RM 需要關注各個level的相似性信號。
對兩個text的語義理解和推理是SM的核心。
現有的最新SM技術通常包括三個主要部分:
(1)序列句子編碼器,它結合了單詞上下文和句子順序以獲得更好的句子表示
(2)交互和注意機制
(3) 結構建模
推理速度對比:
Batch_size = 64 , P40 單卡
Ernie - 2層: 15~16 steps/s
Ernie - 4層: 13~14 steps/s
Hcan: 1.1~ 2.6 steps/s 平均 2.1 steps/s