許 暢,張 琳
(上海海事大學 信息工程學院,上海 201306)
隨著網絡上數據的爆炸性增長,向用戶提供準確的信息變得越來越困難。問答系統作為一種替代關鍵字的搜索引擎,可以理解自然語言的問題并反饋準確的答案。目前已經有很多具有影響力的問答系統,如蘋果公司的SIRI、IBM的WATSON和亞馬遜的ECHO。
問答系統一般包括問題分析、信息檢索、答案抽取和答案選擇4個主要模塊。其中答案選擇任務是從候選答案集中選擇最佳答案返回給用戶。
答案選擇問題可以描述如下:給定一個問題Q和一個候選答案池{A1,A2,…,AS},目的是找到一個最佳的候選答案AK,1≤K≤S。答案是一個任意長度的記號序列,一個問題可以對應多個正確答案(真值集),若被選答案AK在真值集中,則說明問題Q被正確回答,否則問題Q沒有被正確回答。
例如,下面包含關鍵字“Capriati”和“play”的兩句話中,只有第一句話正確回答了問題“What sport does Jennifer Capriati play?”。
正確答案:“Capriati,19,who has not played competitive tennis since November 1994,has been given a wild card to take part in the Paris tournament which starts on February 13.”
錯誤答案:“capriati also was playing in the U.S. Open semifinals in ’91,one year before Davenport won the junior title on those same courts.”
鑒于近幾年卷積神經網絡和循環神經網絡在自然語言處理領域任務中表現出來的語言表示能力,越來越多的研究人員嘗試使用深度學習的方法完成問答領域的關鍵任務,例如問題分類、答案選擇、答案自動生成等。本文對使用深度學習進行答案選擇作了相關研究,改進了參考文獻[1]提出的深度學習答案選擇框架,主要對其中基于卷積神經網絡的答案選擇框架進行改進,以達到更好的匹配效果。
答案選擇任務本質是匹配問題和候選答案之間的語義聯系。顯然,答案選擇需要語義和句法信息以便建立問題所需答案的信息,一方面是由于問題和正確答案單單通過詞語匹配可能無法找到共同點,另一方面是正確答案包含信息過多,導致重點信息無法識別。遵循問題可以通過語法轉換從正確答案中生成的觀點,文獻[2]首先提出建立一個生成模型從而匹配問題答案對的依賴樹,接著提出了一個生成式的概率模型來計算問題和答案的依賴句法樹的結構匹配度[3];文獻[4]利用樹核來搜索最小編輯解析樹之間的序列,然后將從這些序列提取的特征輸入邏輯回歸分類器來選擇最佳候選者;文獻[5]在文獻[4]的基礎上作出了延伸,使用動態規劃來尋找最佳樹編輯序列,另外添加了從WordNet獲取的語義特征;文獻[6]將豐富的詞匯語義應用到他們最先進的QA匹配模型中。這些模型通過使用諸如WordNet的詞匯語義資源與用于捕獲語義相似度的分布式向量的組合來匹配問答對中的對齊詞的語義關系。類似地,文獻[7]使用SVM樹核自動學習句法的特征,從而完成問題答案對的分類。
鑒于近幾年卷積神經網絡和循環神經網絡在自然語言處理領域表現出來的語言表示能力,越來越多的研究人員嘗試使用深度學習的方法完成問答領域的關鍵任務。比如,基于卷積神經網絡的短文本匹配[8];用包含多個卷積核的網絡結構來處理句子匹配[9];用卷積神經網絡來進行情感預測和文本分類等[10]。
利用深度學習技術處理答案選擇任務主要有以下3種方法:(1)在問題和答案的基礎上構造一個聯合特征向量,然后將任務轉化為一個分類或排序問題;(2)這種方法是最近提出的,即用于文本生成的模型在本質上可以用于答案選擇和答案生成;(3)問題和答案向量表示是可以被學習的,并且通過特定的余弦相似度進行匹配。本文采用第三種方法處理答案選擇任務,主要是用卷積神經網絡來將問題和答案進行向量表示,之后通過計算二者余弦相似度來確定問題和答案的匹配度。
本文將基于參考文獻[1]提出的框架進行改進,首先介紹Feng Minwei等提出的ArchitectureII。框架結構如圖1所示。

圖1 ArchitectureII
Q作為輸入將問題提供給第一個隱藏層HLQ。隱藏層HL的定義為z=tanh(Wx+B),其中W為權重,B為偏向量。z作為激活函數tanh的輸出傳遞給卷積神經網絡層CNNQ,用于抽取問題的特征;P是1-MaxPooling層,T是tanh層。類似地,答案A由隱藏層HLA處理,其輸出結果由CNNA進行特征抽取,而1-MaxPooling層和tanh層將在最后一步發揮作用,其結果是將問題和答案進行向量表示。該框架最終的輸出結果是問題和答案的余弦相似度。在2.2節將對Feng Minwei等人提出的框架中的卷積神經網絡進行簡單的介紹。
BENGIO Y認為卷積神經網絡有3個重要的特點:稀疏交互、參數共享和等變表示[11]。稀疏交互和傳統的神經網絡中的每個輸入都要與輸出進行全連接形成對比,即在卷積神經網絡的卷積層中,一個神經元只和部分鄰層神經元相連接;參數共享是指在一次卷積過程中重復使用濾波器的參數,這里共享的參數就是卷積核;等變表示類似于經常在卷積神經網絡中提到的k-MaxPooling的思想。本文中將一直使用1-MaxPooling,因此進行卷積操作之后,1-MaxPooling保留的是特征最強的值。具體卷積神經網絡卷積過程如式(1)所示:

(1)
權值W表示輸入的句子,每個單詞用一個三維的詞嵌入向量表示且輸入長度為4。權值F表示濾波器,這里濾波器大小為3×2。因此一次卷積操作的結果輸出是一個三維向量O,如式(2)所示:
(2)
在經過1-MaxPooling后,濾波器中將保留特征最強的3個值,即表明濾波器F與輸入W的最高匹配度。
一個訓練實例是由從答案集中取樣的正例A+和負例A-構造的。在訓練過程中,將問題和兩個候選答案生成向量表示:VQ,VA+和VA-,通過計算余弦相似度cos(VQ,VA+)和cos(VQ,VA-)并將二者之間的距離與margin進行比較。若cos(VQ,VA+)-cos(VQ,VA-) 本文中使用的損失函數定義如式(3): L=max{0,m-cos(VQ,VA+)+cos(VQ,VA-)} (3) 本文中采用的框架是基于Feng Minwei等提出的ArchitectureII進行改進的,改進如下:(1)在ArchitectureII的基礎上增加一層卷積神經網絡;(2)修改原結構中的T層,將激活函數換為sigmoid函數。具體框架如圖2所示。 圖2 QA-CNN框架 本文中使用的數據集是InsuranceQA,如表1所示。該數據集是由Feng Minwei等提出,它包含保險領域的問題答案對,由訓練集、驗證集和兩個測試集組成。在InsuranceQA數據集中,一共包含24 981個答案,在實驗中將整個答案空間作為候選池并不實際。因此,在實驗中將候選池的大小設置為500。首先將真值放入候選池中,然后再隨機從答案空間中抽樣錯誤的答案放入候選池中,直到候選池大小為500。 表1 InsuranceQA 為了進行對比,表2給出了3個基線模型的效果: Bag-of-word:該模型用IDF加權的詞向量作為特征向量。候選答案根據余弦相似度排列。 Metzler-Bendersky IR model:一種最先進的加權依 賴模型,它采用基于術語和基于接近度的特征的加權組合來評分每個候選者。 ArchitectureII:提出一個基于卷積神經網絡的框架將問題和答案進行向量表示,最后計算余弦相似度來確定問題和答案的匹配度。 本文中使用Tensorflow和Python來實現QA-CNN框架。首先,使用word2vec[12]來對數據進行預處理且詞向量大小為100;然后,在實驗過程中,嘗試了不同的margin值,如0.009、0.05、0.1和0.2,Feng Minwei使用的是0.009,實驗最終將margin值設為0.2;最后,濾波器數量設置為1 000個。另外訓練中嘗試加入L2 范式和skip-biagrams,但是鑒于對實驗效果沒有較好的提升,所以最終在實驗中未采用。 在本小節將對實驗結果進行詳細闡述。第一,增加濾波器的數量可以捕獲更多的特征從而一定程度上提升了實驗效果(表2,第5行與第6行);第二,在濾波器數量相同的情況下,margin值設為0.2要比Feng Minwei設置margin值為0.009有一定效果上的提升(表2,第4行與第7行);第三,兩個卷積層可以在輸入范圍廣時表示更高層次的抽象,因此考慮使用多個卷積層可以在一定程度上提高精確度(表2,第4行與第8行)。 在本文中,改進了由Feng Minwei等提出的一個用于答案選擇的深度學習框架,QA-CNN框架不依賴于任何語言工具并且可以應用到任何語言和領域。可以發現,增加濾波器的數量可以在一定程度上幫助卷積神經網絡捕獲更多的特征,從而在答案與問題匹配度上有較好的提升。實驗證明,Feng Minwei在訓練中加入L2-norm和skip-biagrams對實驗效果沒有較好的提升;其次,兩個卷積層對輸入可以在更廣的范圍內進行特征抽取,因此在訓練中增加卷積層的數量可以在一定程度上提高精確度。 表2 實驗結果 本文運用深度學習框架,從問答選擇的角度對問答系統中答案選擇模塊進行了研究。本文主要工作是對Feng Minwei等提出的深度學習框架進行改進,以達到更好的精確度。實驗表明,改進后問題答案匹配度達到了62.2%,比Feng Minwei等文獻中提到的最好結果高出0.4%。另外,在實驗中也嘗試使用其他技術來提高實驗效果,如增加卷積層數來對特征更好的提取、加入L2-norm和skip-biagrams、增加濾波器數目等,可以看出,增加濾波器數目和卷積層層數在一定程度上可以提高問題和答案的匹配度。后續研究會集中于改變網絡結構框架如增加長短期間記憶網絡等,以獲得更好的突破。 [1] Feng Minwei, Xiang Bing, GLASS M R. et al. Applying deep learning to answer selection:a study and an open task[C]//IEEE Automatic Speech Recognition and Understanding Workshop,2016:813-820. [2] Wang Mengqiu, SMITH N A, MITAMURA T. What is the jeopardy model? a quasisynchronous grammer for qa[C]//EMNLP-CoNLL,2007:22-32. [3] Wang Mengqiu, MANNING C D.Probabilistic tree-edit models with structured latent variables for textual entailment and question answering[C]//Proceedings of COLING,2010:1164-1172. [4] HEILMAN M, SMITH N A.Tree edit models for recognizing textual entailments,paraphrases,and answers to questions[C]//Proceedings of NAACL,2010:1011-1019. [5] Yao Xuchen,Benjamin Van Durme, CLARK P.Answer extraction as sequence tagging with tree edit lexical semantic models[C]//Proceedings of NAACL-HLT,2013:858-867. [6] YIH W T, CHANG M W, MEEK C,et al.Question answering using enhanced lexical semantic models[C]//Proceedings of ACL,2013:1744-1753. [7] SEVERYN A, MOSCHITTI A.Automatic feature engineering for answer selection and extraction[C]. EMNLP,2013. [8] BAHDANAU D,CHO K, BENGIO Y.Neural machine translation by jointly learning to align and translate[C]//Proceedings of International Conference on Learning Representations,2015. [9] YIH W T, ZWEIG G, PLATT J C.Polarity introducing latent semantic analysis[J].Proceedings of EMNLP-CoNLL,2012,25(3):553-558. [10] SOCHER R,PENNINGTON J,HUANG E H,et al.Semi-supervised recursive autoencoders for predicting sentiment distributions[C]//EMNLP, 2011:151-161. [11] BENGIO Y, GOODFELLOW I J, COURVILLE A. Deep learning[M].MIT Press,2015. [12] MIKOLOV T, SUTSKEVER I, CHEN K,et al. Distributed representations of words and phrases and their compositionality[C]//International Conference on Neural Information Processing Systems, 2013:3111-3119.2.4 QA-CNN框架

3 QA-CNN實驗

3.1 基線
3.2 實驗搭建
3.3 實驗結果

4 結束語