毛 鵬 劉瑞芳 苗 航 陸樹棟 李 思
(北京郵電大學信息與通信工程學院 北京 100876)
答案選擇任務是各種機器閱讀理解問題中常見的需求,任務目標為給出一個問題句,從一組候選答案句中挑選出最相關的一個或幾個。來自外部知識庫的背景信息在問答中存在巨大的利用價值,合理利用這些知識信息可以提升模型的效果。文獻[1]已經證明引入知識庫實體信息的方法能優化模型效果。
本文利用知識庫中的實體關系,優化注意力機制,同時,利用實體關系向量得到的基于關系向量的問答句編碼有效地豐富了問答句編碼信息。此方法在自然語言推理任務中取得了比較明顯的效果[2]。
本文提出基于知識庫關系信息的雙向長短時記憶網絡(KBR-BiLSTM),主要貢獻可歸納如下:1)利用知識庫中的實體關系,優化注意力機制;2)利用實體關系向量結合問答句上下文,得到基于關系向量的句編碼,豐富了原有的句編碼信息;3)結合不同的基準模型進行實驗,證明方法與適合的基準模型結合能提升模型效果。
深層神經網絡已被廣泛應用,如卷積神經網絡(CNN)[3]、循環神經網絡(RNN)[4]、長短期記憶網絡(LSTM)[5~6]、雙向長短期記憶網絡(BiLSTM)[7]等。其關鍵思想是將句子編碼為句向量,對句向量進行計算,得到需要的結果。
文獻[1,9]提出了引入外部知識庫實體信息的方法,將知識庫中的實體向量編碼進行問答句的句表示中,從而豐富問答句的句表示信息。然而,這種方式未能充分利用知識庫中的關系信息,而這些關系信息同樣可以豐富問答句的句表示。
本文借鑒了自然語言推理任務中的思想[2],引入知識庫關系信息,根據問答句中詞與詞之間的關系,優化注意力矩陣;同時,利用實體關系向量,得到問答句基于知識庫關系向量編碼的句向量。
本文在常用的答案選擇基準模型的基礎上,本文對基準模型進行優化。
利用BiLSTM模型對問題、答案句進行句子編碼。根據問答句中的詞獲取對應的空間詞向量,組成的問題句矩陣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]方法進行實體檢測,針對問答句中的每個詞,在知識庫多個候選實體中抽取前K個進行編碼。由于實體向量有一定的模糊性,模型結合BiL?STM編碼模塊輸出的隱藏層矩陣,并采用結合上下文信息的注意力機制[1],對問答句進行基于知識庫實體向量的句編碼表示。其中,知識庫中實體向量由TransE[11]預訓練得到。將句子中第t個詞對應的候選實體向量所組成的矩陣表示為Et={e1,e2,…,eK},Et∈RK×de,其中,de是知識庫中實體向量的維度,K表示有K個候選實體:

其中,Wem,Whm和wms是待訓練的參數矩陣,H g為問答句BiLSTM句子編碼模塊輸出的隱藏層矩陣(Qg或Ag)。Mt是矩陣Et結合隱藏層矩陣H g(Qg或Ag)信息編碼得到的實體信息矩陣,st表示Et中每個候選實體隱藏層矩陣H g上下文信息后得到的注意力向量。實體矩陣Et與注意力向量st相乘得到第t個詞更高級的實體向量表示:(1≤t≤L,L為句子長度),一句話中獲取的若干實體向量組成該句的實體矩陣?∈RL×de,將輸入CNN層進行編碼,得到基于知識庫實體向量示的問答句隱藏層矩陣Qk、Ak:

其中,Qk∈RLq×d f、Ak∈RLa×d f,df是CNN輸出的隱藏層向量維度。
Qg和Ag是由空間詞向量經過BiLSTM編碼得到的問答句隱藏層表示,而Qk和Ak則是基于知識庫的實體向量得到的問答句隱藏層表示。將這兩種句編碼矩陣分別用文獻[8]中計算雙向注意力機制的方法得到兩個注意力矩陣M k、M k:

其 中M g∈RLq×La,M k∈RLq×La;U g∈Rdh×dh,U k∈Rdf×df是待訓練的參數矩陣。
將問題句中第i個詞和答案句中第j個詞之間的關系表示為r ij∈Rd r,r ij為低維向量,所組成的矩陣為RQ→A。F∈RLq×La表示問答句之間逐詞的關系矩陣,F中第i行第j列的元素fij的計算方式如下:

其中,wr∈Rdr為需要訓練的參數向量。
對注意力矩陣M g進行逐列和逐行的最大值池化,得到問題句和答案句的注意力向量和:

同樣方法由矩陣M g、M k、M r得到注意力向量

將兩種句表示矩陣H g(Qg、Ag)、H k(Qk、Ak)進行拼接,并與式(8)中得到的注意力向量相乘,得到句向量表示:

從文獻[7]、文獻[12]中得到啟發,首先將問答句注意力向量kq、ka結合得到兩個注意力向量之間的相似度得分:

其中,W∈RLq×La是參數矩陣。為了增加句表示的豐富度,模型加入詞重疊特征Xfeat∈R4[7]。將[q,sim(kq,kq),a,Xfeat]輸入歸一化層進行二進制分類。用最小化交叉熵損失函數訓練整體模型:

其中pi是歸一化層的輸出,θ包含網絡的所有參數是L2的正則化。

圖1 優化注意力機制后的模型結構
首先,對矩陣M r進行逐行、逐列的歸一化處理,得到問答句權重矩陣α、β:


圖2 結合關系向量句編碼后的模型結構
利用關系向量r ij結合矩陣α、β的權重,得到問答句基于知識庫關系向量編碼所得的句矩陣Qb∈RLq×dr,Ab∈RLa×d r[2]:

將關系矩陣Qb和Ab與式(8)中得到的注意力向量相乘,得到問答句基于實體關系向量的句表示qb、ab:

將qb、ab與式(8)中q、a拼接得到結合知識庫關系信息的句向量qd、ad:

將句向量qd、ad代替式(9)中的句向量q、a,重復式(9)~(11)的過程。
本文使用被廣泛應用的維基問答(Wiki QA)數據集[13]和TRECQA[6]數據集,采用預訓練的Glove詞向量集[14]作為空間詞向量來源。同時,采用Freebase的一個子集(FB5M)作為實體向量的知識庫。本文采用WordNet中的語義關系[15]作為實體關系向量r ij的數據來源,關系主要包括:同義詞,反義詞,上位詞,下位詞和共同下位詞(共享相同的上位詞)。
本文采用MAP(The Mean Average Precision)和MRR(Mean Reciprocal Rank)作為評價指標。
BiLSTM隱藏層大小和最終隱藏層均設置為200。學習速率和丟失率分別設置為0.0005和0.5,其他參數從[-0.1,0.1]隨機初始化。L2正則化強度為0.0001。在知識庫實體表示模塊中,卷積核的尺寸設置為2和3。
如表1所示,本文采用了比較先進的基準模型進行對照實驗:1)結合了雙向注意力機制的雙向長短期記憶神 經 網 絡AP-BiLSTM模型[8];2)在AP-BiLSTM模型的基礎上加入知識庫實體向量句編碼表示的KABLSTM模型[1];3)結合多路注意力機制的雙向長短期記憶神經網絡MultiABLSTM模型[16]。
表1中,Attk指利用實體信息優化注意力矩陣后的實驗結果,Attr指利用關系信息優化注意力矩陣后的實驗結果,r指結合引入基于關系向量編碼所得的句向量后的實驗結果,Att指以上兩種注意力機制都用,KBR-BiLSTM(AP-BiLSTM)表示以AP-BiLSTM模型為基準模型優化后的結果,KBR-BiLSTM(KABLSTM)表示KABLSTM模型為的實驗結果,KBR-BiLSTM(MultiABLSTM)表示以MultiABLSTM模型為基準模型的結果,括號內的數字指實驗結果相對于該表中基準模型的提高。

表1 分別在AP-BiLSTM模型和KABLSTM模型上優化進行實驗
表2所示是一個實例,以AP-BiLSTM作為基準模型,表中Attr表示利用關系信息優化注意力矩陣后的實驗結果。其中問答句的來源是trec QA數據集,將優化前后的問答句對應的注意力向量進行歸一化處理,更加直觀地比較對應單詞在句中的注意力權重。表2中用方框表示優化后該單詞在句中的注意力權重明顯增加,灰色表示優化后該單詞在句中的注意力權重明顯減小。優化后的注意力機制減小了句中部分無關單詞的注意力權重,增加了部分相關單詞的注意力權重。

表2 問答句注意力機制優化前后的對照情況
表3中問答句來源于trec QA數據集,答案句后標0表示其為錯誤答案,標1為正確答案。句向量是指該句對應的基于關系向量編碼所得的句向量,點積值指該答案句的句向量與問題句的句向量計算所得的點積值,從表3可知,正確答案句的句向量與問題句對應的句向量的點積明值顯大于錯誤答案句與對應問題句的句向量的點積值。因此,問答句基于關系向量編碼的句向量為判斷答案句對錯的指標之一。

表3 問答句基于關系向量編碼所得向量對照
本文得出以下結論:1)在引入實體向量后的模型(KABLSTM)相對于未引用實體向量的模型(AP-BiLSTM)效果有所提高;2)用實體關系信息優化注意機制的方法在AP-BiLSTM模型、KABLSTM模型上有所提升,證明方法可行。但在MultiA?BLSTM模型上效果不明顯,分析原因在于此模型已經融合了多種注意力機制,增加外部知識庫信息不能明顯優化;3)基于關系向量編碼所得的句向量在各模型上均使模型效果有所提升,證明此方法有效。
本文在結合知識庫實體向量信息[1]的基礎上又進行了以下優化:1)根據知識庫實體信息和關系信息,優化了注意力機制。2)基于知識庫關系向量編碼所得的句向量,豐富了基準模型的問答句表示。
通過與經典的答案選擇基準模型進行對比實驗可以得出結論:答案選擇任務中,引入知識庫關系信息可以優化模型效果。