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