李志超,吐爾地·托合提,艾斯卡爾·艾木都拉
(新疆大學信息科學與工程學院,烏魯木齊 830046)
答案選擇在典型的問答系統(tǒng)中是一個很重要的環(huán)節(jié),它的目標是:給定一個問題和相應的候選答案池,要求從候選答案池中篩選出正確答案。這一任務的難點在于復雜的語義信息難以直接從目標句子之中獲得。之前關于答案選擇模型的構建主要是基于統(tǒng)計的機器學習方法實現(xiàn)的,這一類方法往往需要設計一系列特征;因此,這種基于特征工程的方法導致耗費大量人力資源,同時所建立的模型對特征依賴性過強。近年來,隨著深度學習的方法在越來越多的任務上有了突破性進展,尤其是預訓練模型作為通用框架應用到不同領域當中,基于神經(jīng)網(wǎng)絡的答案選擇方法也隨之迎來了迅猛的發(fā)展。在基于深度學習的答案選擇方法中,用的比較多的是長短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡,主要做法是首先采用雙向LSTM(Bidirectional LSTM,BiLSTM)網(wǎng)絡分別得到相應question和answer句子向量表示,然后應用平均池化和最大池化操作來獲得question和answer的最終的表示,最后計算兩者之間的cosine距離[1]。
基于卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)的方法也很常見,主要做法是使用CNN 分別對問句和答案句進行建模,提取多個粒度級別的特征并應用多種類型的池化操作[2]。由于卷積網(wǎng)絡在特征提取過程中可以對更小的粒度進行操作,因此更加有利于獲得更豐富的句子表征。
最近,基于預訓練模型的方法是一種新的趨勢,研究者們開始將預訓練模型遷移到多種自然語言處理(Natural Language Processing,NLP)任務中[3]?;陬A訓練模型的方法大致可分為基于特征和基于微調(diào)兩種形式。其中,基于微調(diào)方法是指在已訓練好的語言模型基礎上,加入少量目標任務的參數(shù),然后在新的語料上重新訓練來實現(xiàn)微調(diào)?;谔卣鞣椒ㄏ鄬唵?,一般指將在大型高質(zhì)量數(shù)據(jù)集上訓練出的模型所生成的詞向量作為特征,輸入到下游特定任務中。
然而,在當前這些主流的基于神經(jīng)網(wǎng)絡的方法中,它們要么更多專注句子表示,比如在文獻[4]中提出結合粗粒度(句子級別)和細粒度(單詞或n元單詞級)信息的句子表示模型,有效地獲取了句子本身包含的信息,而對于獲取句子之間的語義關聯(lián)特征所采取的操作比較單一;要么更多專注句子信息交互,比如在文獻[5]提出的方法中,通過利用多種深度學習模型來提取問題-答案對的語義匹配特征,而在句子對的表示上僅使用常用的詞向量來進行表示??梢钥闯觯@些方法在模型性能上的表達都有自己的不足。本文旨在提出一種有效的方法來同時解決句子表示和句子信息交互不充分的限制問題。
為了解決句子表示不充分的限制問題,本文利用預訓練語言模型的嵌入(Embeddings from Language Models,ELMo)[6]將詞向量嵌入到句子表示中,該預訓練語言模型生成的詞向量包含一定的上下文語義信息。其次,本文還引入了一種動態(tài)注意力機制,以此來過濾句子向量中不相關的信息,進而更好地獲得句子向量表征。為了解決句子之間信息交互不充分的限制問題,本文在匹配層引入了多角度匹配的方法,將得到的句子向量分別通過三種不同的操縱方法來使句子之間進行信息交互,從而更好地捕捉問句和候選答案句之間的語義關聯(lián)信息。
本文的主要工作如下:
1)提出了基于動態(tài)注意力機制和多角度匹配結合的方法。
2)巧妙地將預訓練模型遷移到上下文嵌入層,提供了一種新的句子對表達思路。
3)引入動態(tài)注意力機制有效地篩選句子表示中無關的信息,提升了對句子的表達。
4)引入多種匹配策略,更加充分地捕捉問句和候選答案句之間的信息交互。
從本質(zhì)上來說,答案選擇任務可以被認為是對目標問題和其候選答案之間的語義關系進行建模。之前已有很多研究將神經(jīng)網(wǎng)絡方法應用到答案選擇任務中來,這些方法整體可歸納為兩類,即基于孿生網(wǎng)絡的框架和比較聚合的框架?;趯\生網(wǎng)絡框架通過共享參數(shù)使得模型更小以及訓練更容易[7-9]。然而,這種方式在句子向量之間的相似度計算過程中,常常忽略句子之間的交互,因而會造成重要信息的丟失。為了解決這一問題,研究者提出了比較聚合框架[10-12]。簡單來說,就是先將待匹配問題和候選答案中的句子單元進行比較,然后將比較結果用LSTM/CNN 分別將問題和答案中的句子單元進行聚合表示成新的句子向量,最后輸入到?jīng)Q策層。在該框架下,文獻[13]提出了基于詞級別的句子表示和聚合操作的比較聚合模型。
隨著注意力機制在句子表示任務上展現(xiàn)出很好的性能,研究者們將注意力機制應用到答案選擇任務中,文獻[14]提出了QA-LSTM/CNN with Attention,該模型將通過LSTM/CNN得到的句子向量表示輸入到Attention 網(wǎng)絡中,得到句子向量中不同單元的注意力分布,從而得到包含了句子關聯(lián)信息的句子向量。其次,在Attention 機制的應用上也有不同的策略,文獻[15]提出了Attentive Pooling Networks,該模型提出了注意池的概念,在用神經(jīng)網(wǎng)絡進行成對排序或分類的情況下,注意池可以感知當前輸入對,這樣來自兩個輸入項的信息能夠直接影響彼此表示的計算。在答案選擇任務中,將目標任務看作是一個三元組的相似度求解。
預訓練模型被提出后,研究者們通過對預訓練模型進行微調(diào)來解決下游目標任務,其高效性很大程度上得到了驗證。其次,研究者們還對大型語料下的預訓練模型加以優(yōu)化設計,僅將其作為底層語言表示結構來獲得句子表示,再結合其他網(wǎng)絡結構來對目標任務進行建模[16]。
本文的模型結構整體與文獻[10]提出的比較聚合框架——動態(tài)滑動注意力網(wǎng)絡(Dynamic-Clip Attention Network,DCAN)類似,同時本文在注意力層采用了相同的過濾機制來增強表征。不同的是,本文在注意力層之前先調(diào)用了預訓練模型的詞嵌入方法來加強句子單元向量的語義信息,從而使得注意力層中的過濾機制能夠更好地表現(xiàn)。其次,在比較層中,本文額外考慮句子對之間的語義關聯(lián)對句子表征的影響,引入多種匹配策略實現(xiàn)句子單元之間的信息交互。相較于文獻[10]中只考慮本身句子單元之間的做法,本文方法獲得的句子表征更加豐富。此外,在聚合層,本文使用具有信息傳遞的循環(huán)神經(jīng)網(wǎng)絡,相較于卷積神經(jīng)網(wǎng)絡,本文采用的方法能夠很大程度減少參數(shù)量以及運算次數(shù)。總的來說,本文提出的模型結構相對簡單,可解釋性強且處理效率更高。
本文提出了基于動態(tài)注意力機制和多角度匹配(Dynamic Attention and Multi-Perspective Matching,DAMPM)的答案選擇模型,該模型的目標任務是預測匹配分數(shù)(Y|Q,A),其中,Q表示問句,A表示相應的候選答案句,Y∈{0,1},Y=1 表示Q與A相關,Y=0 表示Q與A不相關。本文模型的整體結構如圖1所示。
圖1 本文模型的整體結構Fig.1 Overall structure of proposed model
在這一層,采用單詞表示的全局向量(Global vectors for word representation,GloVe)[17]來表示本文模型的輸入Q和A,通過匹配映射分別得到Q和A中每個單詞的詞向量表示,根據(jù)每個詞對應的詞向量來組合形成最終的句子表示Q:,其中l(wèi)q表示問題Q的長度,la表示候選答案句A的長度。
考慮現(xiàn)有預訓練模型豐富的知識表示能力,本層調(diào)用了ELMo 預訓練模型來作為上下文語境嵌入的詞向量表示。ELMo是一種深層語境化的詞匯表征語言模型,它模擬了詞匯使用的復雜特征(如句法和語義),以及這些用法在不同語言環(huán)境中的變化(即多義現(xiàn)象建模)。不同于傳統(tǒng)的詞向量表示,比如Word2Vec(Word to Vector),每一個詞映射成唯一的詞向量。而ELMo 預訓練模型可以通過網(wǎng)絡結構中的內(nèi)部函數(shù)獲得具有語義信息的詞向量,根據(jù)上下文來主動判斷當前位置詞的準確語義,生成相應的詞向量表示。其次,該預訓練模型在大型文本語料庫上進行了訓練,使得其能夠作為通用的語言模型遷移到不同的NLP 任務中。本文工作中,采用在Benchmark 語料上訓練好的模型得到的詞向量作為上下文嵌入向量,再將得到的上下文嵌入詞向量與字詞表示層的詞向量進行拼接,歸一化得到新的句子向量表示Q和A。
在獲得Q和A的句子向量表示后,本層引入動態(tài)注意力機制去除句子表示中的冗余信息。傳統(tǒng)的靜態(tài)注意力機制在處理序列信息時,需要對問句中每個時間點的位置與答案句中所有時間點位置進行計算,該操作過程不僅計算量很大,且為重復計算。因此,本文在兩個基準數(shù)據(jù)集上分別應用兩種不同的基于動態(tài)注意力的過濾機制來實現(xiàn)去噪,即K-threshold filtering 和K-max filtering。通過在注意力層應用過濾策略,將不相關信息的權重置零,再根據(jù)新的權重分布得到最終的句子表示,從而使重要信息的權重在新的句子表示中占有更大的比重分配,進而提升在匹配層中的計算效率。
應用過濾操作之前,通過傳統(tǒng)的注意力機制方法獲得初始的注意力權重矩陣,即計算待匹配問題單元qi和候選答案單元aj之間的語義相似度。對于相似度打分函數(shù)eij(也稱注意力打分函數(shù))的計算,本文采用點乘操作,表達式如下:
得到相似度大小的分布后,采用Softmax 函數(shù)進行歸一化,歸一化后的結果可以看作該問題單元在候選答案序列中的注意力權重分布。
同理,求得候選答案單元aj在問題序列中的注意力權重分布。假定歸一化后qi和aj的權重分配系數(shù)為,表達式如下:
得到每個詞在句子中的權重系數(shù)后,分別應用前文提出的兩種過濾策略。對于問句Q,假定得到的權重矩陣可以表示為w=[w1j,w2j,…,wij,…,wlq j]T,其中wij是的簡寫。在K-Threshold filtering 方法中,假定一個表示相關性強度的閾值K,保留大于閾值K的權重,對于小于閾值K的權重采取置零操作,再根據(jù)新的權重分布來計算每個詞的權重分配系數(shù),表達式如下:
通過設定閾值K的方法,實現(xiàn)句子中不相關信息的過濾。其次,閾值K的大小可根據(jù)輸入來動態(tài)調(diào)整。
在K-Max filtering 方法中,首先將權重矩陣中的權重系數(shù)按降序排列得到權重序列表T,隨后保留前k位權重系數(shù)較大的權重值,對于k位之后的權重置零,再根據(jù)新的權重分布計算每個詞的權重系數(shù),表達式如下:
以往的句子匹配方式大多只采用單一的操作方法來對句子單元之間進行交互,很難捕捉到句子間深層次的語義關聯(lián)信息,因此本文采用多角度匹配的方法來進行問句和答案句之間的信息交互。通過應用多種不同匹配策略來進行句子單元之間的信息交互計算,從而獲得更好的匹配結果。本層采用了三種不同的匹配策略來進行不同方位的比較,即全匹配策略(Full-Matching)、注意力匹配策略(Attentive-Matching)和最大注意力匹配策略(Max-Attentive-Matching)。
先定義一個多維度的余弦匹配函數(shù)fm,通過該匹配函數(shù)來比較兩向量之間的匹配程度,并將結果返回給m:
其中,v1和v2是d維向量,W∈Rl×d是可訓練的參數(shù)矩陣,l表示匹配角度的個數(shù),匹配結果m=(m1,m2,…,mk,…,ml)為l維的向量。元素mk∈m表示第k個匹配角度的匹配結果,通過計算兩個加權向量之間的余弦相似度來獲得,表達式如下:
其中,Wk表示參數(shù)矩陣W=[W1,W2,…,Wk,…,Wl]T的第k行,控制第k個匹配角度,并為d維空間的不同維度分配權重。
為了充分讓問句的每個句子單元向量與候選答案句的所有句子單元向量進行比較,本層基于匹配函數(shù)fm,引入三種不同的匹配策略。在Full-Matching 策略中,將問句的每個句子單元向量與候選答案句中最后一個句子單元向量進行比較,網(wǎng)絡結構如圖2所示。
圖2 全匹配策略網(wǎng)絡結構Fig.2 Structure of Full-Matching network
整個匹配層中,采用雙向長短期記憶網(wǎng)絡來實現(xiàn)參數(shù)傳遞,因此在進行比較的時候區(qū)分了前向和后向傳遞。假定問句Q中的句子單元與答案句A中最后一個句子單元進行比較后的返回結果為,則:
Attentive-Matching 策略的網(wǎng)絡結構如圖3 所示。首先分別計算待匹配問句單元和答案句A中每個句子單元的余弦相似度,可以將相似度大小看作是該問句單元在答案句A中的注意力權重分配,接著進一步將得到的權重αij進行歸一化處理,最后對答案句中所有的句子單元進行加權求和,得到該問句單元對應的注意力向量表示。
圖3 注意力匹配策略網(wǎng)絡結構Fig.3 Structure of Attentive-Matching network
之后,將待匹配問句單元與得到的注意力向量表示進行匹配比較,表達式如下:
Max-Attentive-Matching 策略與Attentive-Matching 策略類似,先通過余弦相似度計算獲得相似度矩陣。不同的是,該方法直接將相似度矩陣中值最大的單元向量作為注意力向量,之后將待匹配問句單元與該注意力向量進行匹配比較,其網(wǎng)絡結構如圖4所示。
圖4 最大注意力匹配策略網(wǎng)絡結構Fig.4 Structure of Max-Attentive-Matching network
假定相似度矩陣中值最大的單元向量表示為,則匹配結果為:
同時應用上面三種匹配策略來對問句Q中的句子單元進行處理,此時每個句子單元都包含6 個向量,進一步將每個句子單元包含的所有向量進行拼接,得到該句子單元的最終表示。
本層的目的是將匹配層獲得的前向和后向信息進行整合,同時將問題句子表征和候選答案句子表征進行拼接,生成包含問題和候選答案信息表征的句子向量。本文采用雙向長短期記憶網(wǎng)絡來融合匹配層傳遞過來的前向句子單元向量以及后向句子單元向量的序列信息。考慮長短期記憶網(wǎng)絡具有信息傳遞的特性,將每個句子單元通過BiLSTM 網(wǎng)絡后得到新的句子單元向量,再取前向傳遞和后向傳遞中的最后一個單元向量作為連接向量,最后將連接后的向量rq和ra進一步拼接得到該層的輸出表示,即打分向量Score。最后,在輸出層,本文利用該打分向量來對候選答案進行排序,其中M是輸出層的可訓練參數(shù)變量。
為了有效地對候選答案列表中的答案進行排序,本文采用機器學習中排序方法來對列表中的答案進行排序。常用的排序方法有兩種:Point-wise 和List-wise。其中Point-wise 方法是將列表中每個答案看作一個樣本,分別與問題進行計算來獲取排序函數(shù)。而List-wise 方法是將整個列表看作一個樣本,通過直接優(yōu)化評價方法和定義損失函數(shù)來實現(xiàn)。在輸出層的設計中,為了充分考慮匹配問題和候選答案之間的關聯(lián)程度,本文采用了List-wise 方法進行答案抽取。與Point-wise方法不同,即先不對聚合層的輸出Score進行下一步的計算,而是將待匹配問題Q和對應的候選答案集合A={A1,A2,…,AN} 以及Label 集合Y={Y1,Y2,…,YN} 分別輸入到本文模型中,依次通過本文模型獲得問題Q與每個候選答案計算后的Score向量,然后應用Softmax 分類器來得到模型最終的輸出集合S。
最后,本文應用KL(Kullback-Leibler)散度損失函數(shù)來訓練本文模型:
在這部分中,本文將提出的框架與兩個選定基準數(shù)據(jù)集上的先進方法進行比較,整體評估本文模型的性能。另外,本文通過消融實驗對模型的魯棒性進行了實驗分析。
采用包含8.40 × 1011個單詞的公共Crawl 語料庫訓練的300維GloVe 詞向量模型初始化字詞表示層中的單詞嵌入,上下文嵌入層的ELMo 預訓練模型使用tensorflow-hub 中谷歌發(fā)布的基于tensorflow 實現(xiàn)的第一個ELMo版本。Hidden層采用Tanh 函數(shù),為了加快模型的訓練過程,使用自適應矩陣估計(Adaptive moment estimation,Adam)優(yōu)化器更新參數(shù),學習率為0.001。在訓練的時候,為了驗證ELMo 模型的上下文詞嵌入表達對模型性能的影響,保留了預先訓練的單詞嵌入。在K-threshold 方法中,根據(jù)經(jīng)驗對K閾值大小進行設置。根據(jù)問題和答案的長度,在TRECQA 數(shù)據(jù)集中,將問句的閾值K設置為0.07,答案句的閾值K設置為長度的倒數(shù);在WikiQA 數(shù)據(jù)集中,將問句和答案句的閾值K都設置成0.07。在K-max方法中,通過網(wǎng)格搜索的方法獲得相應K的值,具體為:將TRECQA 數(shù)據(jù)集中問句和答案句分別設置成3 和16,對WikiQA數(shù)據(jù)集中問句和答案句分別設置成5和10。
其次,實驗中,本文采用了平均準確率均值(Mean Average Precision,MAP)和平均倒數(shù)排名(Mean Reciprocal Rank,MRR)來作為本文模型性能的評價指標。
MAP是指所有問題的平均準確率均值。首先計算每一個問題的平均準確率,表達式如下:
其中:q∈Q,q代表單個問題;n代表單個問題下所有的候選答案;m代表相關的答案數(shù)。P(k)代表排在第k個位置的候選答案的準確率,rel(k)的值取0 或1,當?shù)趉個候選答案是相關答案時為1,否則為0??傻玫組AP最終表達式:
其中:Q代表整個問題集合;|Q|代表問題的數(shù)量。單個問題對應的所有相關答案在候選列表中位置排名越靠前,則MAP越大。當每個問題對應的所有相關答案位置排名都在不相關答案位置排名的前面,則MAP越接近于1;當每個問題對應的所有相關答案的位置排名都在不相關答案位置排名的后面,則MAP越接近于0。
MRR是指所有的問答對在模型給出的位置排名列表中,第一次出現(xiàn)相關答案的位置的倒數(shù)的平均值,表達式如下:
其中rankq代表問題q對應的第一個正確答案在其所有候選答案中的排名大小。當所有問題的正確答案都在第一個位置時,即模型所給出的相關答案的分數(shù)高于不相關的答案,則MRR的值接近于1;當所有問題的相關答案都不位于第一個位置,則MRR的值就越接近于0??梢钥闯?,MRR只關注模型所給出的排序列表中第一個正確答案所在的排名。
最后,在所有的實驗中,選擇在驗證集上表現(xiàn)最好的模型,進一步在測試集上進行評估。本文在文本檢索會議問答(Text REtrieval Conference Question Answering,TRECQA)數(shù)據(jù)集[18]和維基百科問答(Wiki Question Answering,WikiQA)數(shù)據(jù)集(Clean版)[19]進行實驗,詳細信息如表1所示。
表1 TRECQA和WikiQA數(shù)據(jù)集統(tǒng)計數(shù)據(jù)Tab.1 Statistics of TRECQA and WikiQA datasets
先將本文提出的模型(DAMPM)與不同的基線模型進行對比,以此來評估本文方法的性能表現(xiàn)。另外,考慮到本文構建模型的注意力層分別應用了兩種不同的過濾機制來進行效果比 對,因此將DAMPM(withK-Max)和DAMPM(withKThreshold)分別表示采用K-max 和K-threshold 兩種方法對應的結果。
基于TRECQA數(shù)據(jù)集和WikiQA數(shù)據(jù)集,本文采用了以下基線模型:1)文獻[1]中應用BiLSTM 將問答對分別表示成一個向量,進而通過比較向量之間的余弦距離來獲得最佳答案;2)文獻[2]中從句子相似度計算的角度出發(fā),應用多個卷積方法和多種類型的池化操作來對句子對進行相似度計算,進而得到最終的最佳問答對;3)文獻[10]中基于“比較聚合框架”,提出了動態(tài)滑動注意力網(wǎng)絡(DCAN),即在注意力層分別應用兩種不同的過濾策略(K閾值和K最大值)來加強句子的表征,進而提升問答對之間的相似度精度;4)文獻[13]中針對序列之間的比較匹配操作,提出了一個通用的“比較聚合”框架,并在該框架下執(zhí)行單詞級別的匹配,最后使用卷積神經(jīng)網(wǎng)絡進行聚合;5)文獻[16]中基于BERT(Bidirectional Encoder Representations from Transformers)預訓練模型來對答案選擇任務中的問答對進行相似性建模,并分別應用了基于微調(diào)以及特征的兩種方法;6)文獻[19]中構建了WikiQA 問答數(shù)據(jù)集,并將詞頻和逆文本頻率(Term Frequency-Inverse Document Frequency,TF-IDF)指數(shù)作為特征信息引入到句子的表征中;7)文獻[20]中提出了采用文檔對的排序方法來得到答案列表中的最佳答案,并將噪聲對比估計方法擴展為三重態(tài)的排序損失函數(shù),可以有效地利用三重態(tài)輸入中的交互作用;8)文獻[21]中引入多播注意力來深度挖掘句子之間的語義關聯(lián)特征,并應用高速(Highway)網(wǎng)絡結構對最終的句子表示進行壓縮聚合;9)文獻[22]中利用卷積網(wǎng)絡提取局部特征的能力,依次進行句子對之間的字詞匹配操作,進而獲得問答句的最佳表達;10)文獻[23]中提出了在深度學習模型框架下的句子交互部分應用多種匹配特征的計算方法,來更深層次地獲取句子對之間的語義關聯(lián)信息;11)文獻[24]中提出了一種基于偏序的答案選擇排序方法,有效地獲取不同候選答案之間可能的偏序關系。
表2~3 分別給出了在TRECQA 數(shù)據(jù)集和WikiQA 數(shù)據(jù)集上本文所提出的框架和相應基線模型的實驗結果。從表中實驗結果可以看出,本文提出的模型與基線模型相比,整體上具備更好的性能。在TRECQA 數(shù)據(jù)集上,與基線模型中最佳的方法(文獻[21]方法)相比,本文提出的方法在MRR指標上獲得了當前的最佳效果(提高了1.1 個百分點),且與文獻[10]方法相比,在MAP和MRR兩個性能指標上均提高了1.6 個百分點。同時,在WikiQA 數(shù)據(jù)集上,與基線模型中最佳的方法(文獻[10]方法)相比,本文提出的方法在MAP指標上也取得了當前的最佳效果(提高了0.7 個百分點),在MRR指標上提高了0.8個百分點。
其次,從表2~3 中的實驗結果中可以看出,在不同的數(shù)據(jù)集上,應用不同的動態(tài)注意力機制所得到的結果有明顯的差異。對這兩個數(shù)據(jù)集中的語料進行分析,發(fā)現(xiàn)TRECQA 中候選答案句中包含更多復雜的背景信息,這部分信息從言語理解的角度來看,與回答的問題內(nèi)容關系不大甚至是無關,K閾值的方法過濾了更多的噪聲信息,因此有更好的效果。
表2 TRECQA數(shù)據(jù)集上的實驗結果 單位:%Tab.2 Experimental results on TRECQA dataset unit:%
另外,在TRECQA 數(shù)據(jù)集中,文獻[21]的方法在MAP指標上略高于本文的方法,可能的分析是:文獻[21]方法在預測層之前增加了高速網(wǎng)絡結構,可以進一步提升句子表征,提高預測層的準確率。不過從提升的幅度來看,在深層次網(wǎng)絡中常應用的高速網(wǎng)絡結構對本文模型的性能影響極小,進而可以印證本文的模型結構較為簡單。其次,在WikiQA 數(shù)據(jù)集中,文獻[24]的方法在MRR指標上相較本文的方法有更好的表現(xiàn),可能的分析是:文獻[24]方法在考慮候選答案對之間的關聯(lián)性時,采用了局部排序的思想,類似于快速排序,相較于本文采用的全局排序方法,能更快地確定第一個正確答案的位置信息。
表3 WikiQA數(shù)據(jù)集上的實驗結果 單位:%Tab.3 Experimental results on WikiQA dataset unit:%
可以看到,在兩個數(shù)據(jù)集中MRR指標整體上來說要優(yōu)于MAP指標,其原因可以從理論上加以論證,從兩個指標的度量公式來看,可以看出MRR評價指標只關注候選答案列表中第一個正確答案的打分情況,而MAP衡量的是整個候選答案列表中所有相關答案的位置排名情況。
此外,為了驗證本文采用的List-wise 方法相較于Pointwise 方法更有效,本文在TRECQA 數(shù)據(jù)集上對這兩種方法進行了實驗對比。考慮保證不受其他因素的影響,采用相同的基線模型(DAMPM withK-Threshold)進行實驗,通過分別記錄不同EPOCH對應的MAP指標來進行比較分析。兩種方法對應的MAP指標變化軌跡如圖5 所示。從圖5 中可以觀察到,整體上對比,List-wise 收斂更快,同時其變化軌跡更加得平緩。分析其原因,List-wise 額外地考慮了候選答案列表中各候選答案句的位置信息以及它們之間的相關性,因此可以更快地實現(xiàn)收斂。
圖5 TRECQA數(shù)據(jù)集上兩種方法的MAP指標變化趨勢Fig.5 MAP index change trend of two methods on TRECQA dataset
最后,為了探究本文模型的性能影響因素,本文將在TRECQA 驗證集上表現(xiàn)最佳的模型——DAMPM(withK-Threshold)作為這部分實驗的基線模型,并在此模型上進行消融實驗。具體來說,為了探究匹配層對模型的性能影響,在實驗中依次去掉匹配層中三種策略中的一種,同時保證其他因素不變,根據(jù)獲得的MRR指標差異來分別評價不同匹配策略對模型性能的影響。本文將三種匹配策略的消融實驗對比方法分別表示為:w/o Full-Matching、w/o Attentive-Matching、w/o Max-Attentive Matching。其中w/o 表示“去掉”操作。因此w/o Full-Matching 表示在匹配層中,僅應用Attentive-Matching和Max-Attentive Matching 兩種匹配策略來進行問答對句子之間的比較匹配后的結果。而w/o Attentive-Matching 和w/o Max-Attentive Matching的表達類似。
同時,為了探究上下文語境嵌入表示層對模型性能的影響,將GloVe 表示的詞向量直接喂給上層注意力網(wǎng)絡中,且保證其他環(huán)節(jié)不改變,其對應的方法表示為w/o ELMo。
另外,為了探究GloVe 在本文數(shù)據(jù)語料上的表示能力,更好地與ELMo 的表示方法進行對比,選擇去掉模型結構中的字詞表示層,將模型輸入直接喂給上下文嵌入層中的ELMo預訓練模型來進行表示,其他結構保持不變,其對應的方法表示為w/o GloVe。實驗結果如表4 所示,從表4 中實驗結果可以看出,匹配層以及上下文嵌入層對模型的性能表現(xiàn)都有較大的影響,去掉某一層都會使得模型的性能表現(xiàn)明顯下降。其次,去掉GloVe 的字詞表示層對模型性能影響非常小,可以表明在字詞表示能力上,ELMo 更優(yōu)于靜態(tài)的GloVe 表示方法。綜上,與上下文嵌入層和字詞表示層相比,匹配層對模型的性能影響更大,且Full-Matching 策略相較于其他兩種策略表現(xiàn)更好。
表4 在TRECQA驗證集上的消融實驗結果 單位:%Tab.4 Ablation experimental results on TRECQA validation set unit:%
本文提出了一種基于動態(tài)注意力機制和多角度匹配的模型來實現(xiàn)答案選擇任務,該模型結合了預訓練模型在語言表示上的優(yōu)勢,同時,通過引入動態(tài)注意力機制去除了部分不相關的冗余信息,更好地獲得句子表征。其次,引入多角度匹配的方法來實現(xiàn)句子之間不同單元的比較,充分得到目標句子之間的語義關聯(lián)。在兩個公開的標準答案選擇數(shù)據(jù)集上進行了評測,實驗結果表明,本文所提出的模型在整體性能上與基線模型相比有更好的性能表現(xiàn)。此外,本文所提出的模型不僅可以應用在答案選擇任務上,同時還能夠用于匹配以及排序任務中,比如說自動問答、機器閱讀理解和對話系統(tǒng)等應用領域。
目前,本文僅簡單將已訓練好的ELMo 預訓練模型進行遷移,由于文本領域存在不可忽視的OOV(Out of Vocabulary)問題。因此,在未來的工作中,首先會進一步在自己的數(shù)據(jù)集上重新對ELMo 模型進行訓練,并將訓練得到的新的詞向量表示嵌入到上下文嵌入層,探究語料知識領域?qū)υ~向量表示的影響大小。同時,我們還將進一步探究其他現(xiàn)有預訓練模型對下游處理任務的影響,比如說當前應用很好的GPT(Generative Pre-Training)、BERT[25]、ULMFiT(Universal Language Model Fine-Tuning)[26]等,進而對語言模型的表征機理、適用場景以及遷移策略進行分析研究。另外,我們還將探索句子之間的深層交互的匹配策略。