毛 鵬 劉瑞芳 苗 航 陸樹棟 李 思
(北京郵電大學(xué)信息與通信工程學(xué)院 北京 100876)
答案選擇任務(wù)是各種機(jī)器閱讀理解問題中常見的需求,任務(wù)目標(biāo)為給出一個(gè)問題句,從一組候選答案句中挑選出最相關(guān)的一個(gè)或幾個(gè)。來自外部知識庫的背景信息在問答中存在巨大的利用價(jià)值,合理利用這些知識信息可以提升模型的效果。文獻(xiàn)[1]已經(jīng)證明引入知識庫實(shí)體信息的方法能優(yōu)化模型效果。
本文利用知識庫中的實(shí)體關(guān)系,優(yōu)化注意力機(jī)制,同時(shí),利用實(shí)體關(guān)系向量得到的基于關(guān)系向量的問答句編碼有效地豐富了問答句編碼信息。此方法在自然語言推理任務(wù)中取得了比較明顯的效果[2]。
本文提出基于知識庫關(guān)系信息的雙向長短時(shí)記憶網(wǎng)絡(luò)(KBR-BiLSTM),主要貢獻(xiàn)可歸納如下:1)利用知識庫中的實(shí)體關(guān)系,優(yōu)化注意力機(jī)制;2)利用實(shí)體關(guān)系向量結(jié)合問答句上下文,得到基于關(guān)系向量的句編碼,豐富了原有的句編碼信息;3)結(jié)合不同的基準(zhǔn)模型進(jìn)行實(shí)驗(yàn),證明方法與適合的基準(zhǔn)模型結(jié)合能提升模型效果。
深層神經(jīng)網(wǎng)絡(luò)已被廣泛應(yīng)用,如卷積神經(jīng)網(wǎng)絡(luò)(CNN)[3]、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[4]、長短期記憶網(wǎng)絡(luò)(LSTM)[5~6]、雙向長短期記憶網(wǎng)絡(luò)(BiLSTM)[7]等。其關(guān)鍵思想是將句子編碼為句向量,對句向量進(jìn)行計(jì)算,得到需要的結(jié)果。
文獻(xiàn)[1,9]提出了引入外部知識庫實(shí)體信息的方法,將知識庫中的實(shí)體向量編碼進(jìn)行問答句的句表示中,從而豐富問答句的句表示信息。然而,這種方式未能充分利用知識庫中的關(guān)系信息,而這些關(guān)系信息同樣可以豐富問答句的句表示。
本文借鑒了自然語言推理任務(wù)中的思想[2],引入知識庫關(guān)系信息,根據(jù)問答句中詞與詞之間的關(guān)系,優(yōu)化注意力矩陣;同時(shí),利用實(shí)體關(guān)系向量,得到問答句基于知識庫關(guān)系向量編碼的句向量。
本文在常用的答案選擇基準(zhǔn)模型的基礎(chǔ)上,本文對基準(zhǔn)模型進(jìn)行優(yōu)化。
利用BiLSTM模型對問題、答案句進(jìn)行句子編碼。根據(jù)問答句中的詞獲取對應(yīng)的空間詞向量,組成的問題句矩陣Q和答案句矩陣A,(Q∈RLq×d g,A∈RLa×dg,d g是空間詞向量維度,Lq、La是問答句長度),通過BiLSTM編碼生成包含上下文信息的問答句隱藏層矩陣Qg、Ag,Qg∈RLq×dh、Ag∈RLq×dh,dh是隱層向量維度:
為豐富問答句的句表示信息,我們利用n-gram[10]方法進(jìn)行實(shí)體檢測,針對問答句中的每個(gè)詞,在知識庫多個(gè)候選實(shí)體中抽取前K個(gè)進(jìn)行編碼。由于實(shí)體向量有一定的模糊性,模型結(jié)合BiL?STM編碼模塊輸出的隱藏層矩陣,并采用結(jié)合上下文信息的注意力機(jī)制[1],對問答句進(jìn)行基于知識庫實(shí)體向量的句編碼表示。其中,知識庫中實(shí)體向量由TransE[11]預(yù)訓(xùn)練得到。將句子中第t個(gè)詞對應(yīng)的候選實(shí)體向量所組成的矩陣表示為Et={e1,e2,…,eK},Et∈RK×de,其中,de是知識庫中實(shí)體向量的維度,K表示有K個(gè)候選實(shí)體:
其中,Wem,Whm和wms是待訓(xùn)練的參數(shù)矩陣,H g為問答句BiLSTM句子編碼模塊輸出的隱藏層矩陣(Qg或Ag)。Mt是矩陣Et結(jié)合隱藏層矩陣H g(Qg或Ag)信息編碼得到的實(shí)體信息矩陣,st表示Et中每個(gè)候選實(shí)體隱藏層矩陣H g上下文信息后得到的注意力向量。實(shí)體矩陣Et與注意力向量st相乘得到第t個(gè)詞更高級的實(shí)體向量表示:(1≤t≤L,L為句子長度),一句話中獲取的若干實(shí)體向量組成該句的實(shí)體矩陣?∈RL×de,將輸入CNN層進(jìn)行編碼,得到基于知識庫實(shí)體向量示的問答句隱藏層矩陣Qk、Ak:
其中,Qk∈RLq×d f、Ak∈RLa×d f,df是CNN輸出的隱藏層向量維度。
Qg和Ag是由空間詞向量經(jīng)過BiLSTM編碼得到的問答句隱藏層表示,而Qk和Ak則是基于知識庫的實(shí)體向量得到的問答句隱藏層表示。將這兩種句編碼矩陣分別用文獻(xiàn)[8]中計(jì)算雙向注意力機(jī)制的方法得到兩個(gè)注意力矩陣M k、M k:
其 中M g∈RLq×La,M k∈RLq×La;U g∈Rdh×dh,U k∈Rdf×df是待訓(xùn)練的參數(shù)矩陣。
將問題句中第i個(gè)詞和答案句中第j個(gè)詞之間的關(guān)系表示為r ij∈Rd r,r ij為低維向量,所組成的矩陣為RQ→A。F∈RLq×La表示問答句之間逐詞的關(guān)系矩陣,F(xiàn)中第i行第j列的元素fij的計(jì)算方式如下:
其中,wr∈Rdr為需要訓(xùn)練的參數(shù)向量。
對注意力矩陣M g進(jìn)行逐列和逐行的最大值池化,得到問題句和答案句的注意力向量和:
同樣方法由矩陣M g、M k、M r得到注意力向量
將兩種句表示矩陣H g(Qg、Ag)、H k(Qk、Ak)進(jìn)行拼接,并與式(8)中得到的注意力向量相乘,得到句向量表示:
從文獻(xiàn)[7]、文獻(xiàn)[12]中得到啟發(fā),首先將問答句注意力向量kq、ka結(jié)合得到兩個(gè)注意力向量之間的相似度得分:
其中,W∈RLq×La是參數(shù)矩陣。為了增加句表示的豐富度,模型加入詞重疊特征Xfeat∈R4[7]。將[q,sim(kq,kq),a,Xfeat]輸入歸一化層進(jìn)行二進(jìn)制分類。用最小化交叉熵?fù)p失函數(shù)訓(xùn)練整體模型:
其中pi是歸一化層的輸出,θ包含網(wǎng)絡(luò)的所有參數(shù)是L2的正則化。
圖1 優(yōu)化注意力機(jī)制后的模型結(jié)構(gòu)
首先,對矩陣M r進(jìn)行逐行、逐列的歸一化處理,得到問答句權(quán)重矩陣α、β:
圖2 結(jié)合關(guān)系向量句編碼后的模型結(jié)構(gòu)
利用關(guān)系向量r ij結(jié)合矩陣α、β的權(quán)重,得到問答句基于知識庫關(guān)系向量編碼所得的句矩陣Qb∈RLq×dr,Ab∈RLa×d r[2]:
將關(guān)系矩陣Qb和Ab與式(8)中得到的注意力向量相乘,得到問答句基于實(shí)體關(guān)系向量的句表示qb、ab:
將qb、ab與式(8)中q、a拼接得到結(jié)合知識庫關(guān)系信息的句向量qd、ad:
將句向量qd、ad代替式(9)中的句向量q、a,重復(fù)式(9)~(11)的過程。
本文使用被廣泛應(yīng)用的維基問答(Wiki QA)數(shù)據(jù)集[13]和TRECQA[6]數(shù)據(jù)集,采用預(yù)訓(xùn)練的Glove詞向量集[14]作為空間詞向量來源。同時(shí),采用Freebase的一個(gè)子集(FB5M)作為實(shí)體向量的知識庫。本文采用WordNet中的語義關(guān)系[15]作為實(shí)體關(guān)系向量r ij的數(shù)據(jù)來源,關(guān)系主要包括:同義詞,反義詞,上位詞,下位詞和共同下位詞(共享相同的上位詞)。
本文采用MAP(The Mean Average Precision)和MRR(Mean Reciprocal Rank)作為評價(jià)指標(biāo)。
BiLSTM隱藏層大小和最終隱藏層均設(shè)置為200。學(xué)習(xí)速率和丟失率分別設(shè)置為0.0005和0.5,其他參數(shù)從[-0.1,0.1]隨機(jī)初始化。L2正則化強(qiáng)度為0.0001。在知識庫實(shí)體表示模塊中,卷積核的尺寸設(shè)置為2和3。
如表1所示,本文采用了比較先進(jìn)的基準(zhǔn)模型進(jìn)行對照實(shí)驗(yàn):1)結(jié)合了雙向注意力機(jī)制的雙向長短期記憶神 經(jīng) 網(wǎng) 絡(luò)AP-BiLSTM模型[8];2)在AP-BiLSTM模型的基礎(chǔ)上加入知識庫實(shí)體向量句編碼表示的KABLSTM模型[1];3)結(jié)合多路注意力機(jī)制的雙向長短期記憶神經(jīng)網(wǎng)絡(luò)MultiABLSTM模型[16]。
表1中,Attk指利用實(shí)體信息優(yōu)化注意力矩陣后的實(shí)驗(yàn)結(jié)果,Attr指利用關(guān)系信息優(yōu)化注意力矩陣后的實(shí)驗(yàn)結(jié)果,r指結(jié)合引入基于關(guān)系向量編碼所得的句向量后的實(shí)驗(yàn)結(jié)果,Att指以上兩種注意力機(jī)制都用,KBR-BiLSTM(AP-BiLSTM)表示以AP-BiLSTM模型為基準(zhǔn)模型優(yōu)化后的結(jié)果,KBR-BiLSTM(KABLSTM)表示KABLSTM模型為的實(shí)驗(yàn)結(jié)果,KBR-BiLSTM(MultiABLSTM)表示以MultiABLSTM模型為基準(zhǔn)模型的結(jié)果,括號內(nèi)的數(shù)字指實(shí)驗(yàn)結(jié)果相對于該表中基準(zhǔn)模型的提高。
表1 分別在AP-BiLSTM模型和KABLSTM模型上優(yōu)化進(jìn)行實(shí)驗(yàn)
表2所示是一個(gè)實(shí)例,以AP-BiLSTM作為基準(zhǔn)模型,表中Attr表示利用關(guān)系信息優(yōu)化注意力矩陣后的實(shí)驗(yàn)結(jié)果。其中問答句的來源是trec QA數(shù)據(jù)集,將優(yōu)化前后的問答句對應(yīng)的注意力向量進(jìn)行歸一化處理,更加直觀地比較對應(yīng)單詞在句中的注意力權(quán)重。表2中用方框表示優(yōu)化后該單詞在句中的注意力權(quán)重明顯增加,灰色表示優(yōu)化后該單詞在句中的注意力權(quán)重明顯減小。優(yōu)化后的注意力機(jī)制減小了句中部分無關(guān)單詞的注意力權(quán)重,增加了部分相關(guān)單詞的注意力權(quán)重。
表2 問答句注意力機(jī)制優(yōu)化前后的對照情況
表3中問答句來源于trec QA數(shù)據(jù)集,答案句后標(biāo)0表示其為錯(cuò)誤答案,標(biāo)1為正確答案。句向量是指該句對應(yīng)的基于關(guān)系向量編碼所得的句向量,點(diǎn)積值指該答案句的句向量與問題句的句向量計(jì)算所得的點(diǎn)積值,從表3可知,正確答案句的句向量與問題句對應(yīng)的句向量的點(diǎn)積明值顯大于錯(cuò)誤答案句與對應(yīng)問題句的句向量的點(diǎn)積值。因此,問答句基于關(guān)系向量編碼的句向量為判斷答案句對錯(cuò)的指標(biāo)之一。
表3 問答句基于關(guān)系向量編碼所得向量對照
本文得出以下結(jié)論:1)在引入實(shí)體向量后的模型(KABLSTM)相對于未引用實(shí)體向量的模型(AP-BiLSTM)效果有所提高;2)用實(shí)體關(guān)系信息優(yōu)化注意機(jī)制的方法在AP-BiLSTM模型、KABLSTM模型上有所提升,證明方法可行。但在MultiA?BLSTM模型上效果不明顯,分析原因在于此模型已經(jīng)融合了多種注意力機(jī)制,增加外部知識庫信息不能明顯優(yōu)化;3)基于關(guān)系向量編碼所得的句向量在各模型上均使模型效果有所提升,證明此方法有效。
本文在結(jié)合知識庫實(shí)體向量信息[1]的基礎(chǔ)上又進(jìn)行了以下優(yōu)化:1)根據(jù)知識庫實(shí)體信息和關(guān)系信息,優(yōu)化了注意力機(jī)制。2)基于知識庫關(guān)系向量編碼所得的句向量,豐富了基準(zhǔn)模型的問答句表示。
通過與經(jīng)典的答案選擇基準(zhǔn)模型進(jìn)行對比實(shí)驗(yàn)可以得出結(jié)論:答案選擇任務(wù)中,引入知識庫關(guān)系信息可以優(yōu)化模型效果。