胡珅健
(四川大學(xué)計(jì)算機(jī)學(xué)院,成都 610065)
關(guān)于社區(qū)問答中答案選擇的研究
胡珅健
(四川大學(xué)計(jì)算機(jī)學(xué)院,成都 610065)
答案選擇是問答系統(tǒng)中的重要組成部分,在自然語言處理中任務(wù)中已經(jīng)占有一席之地。給出一個(gè)問題,從諸多答案中找到高質(zhì)量的答案,以及確定找到選擇正確答案的方法,在當(dāng)今社區(qū)問答中具有實(shí)際意義。旨在對近幾年針對社區(qū)問答中答案選擇提出的解決方法進(jìn)行調(diào)查,并對其取得的效果的進(jìn)行比較。
社區(qū)問答;答案選擇;CNN;LSTM
隨著 Yahoo!、Stack overflow、百度知道、Quora等社區(qū)問答模塊的出現(xiàn)和普及,近年來社區(qū)問答的受歡迎程度與日俱增。越來越多的人使用這些網(wǎng)絡(luò)論壇來獲得他們的問題的答案。這些論壇使人們能夠在線發(fā)布他們的問題,并讓全世界的知識(shí)人士,甚至是專家來回答他們給出的問題,同時(shí)能夠提供他們的意見或?qū)I(yè)知識(shí)來幫助其他用戶。
本文旨在討論社區(qū)問答中關(guān)于答案選擇任務(wù)面臨的挑戰(zhàn)以及現(xiàn)階段提出的一些解決辦法。第1節(jié)介紹了在社區(qū)問答領(lǐng)域中用于解決答案選擇和排序任務(wù)的方法,第2節(jié)定義了上述部分提到的方法用于評(píng)估的實(shí)驗(yàn)設(shè)置和數(shù)據(jù)集,第3節(jié)是對結(jié)果的一般性討論。
給定社區(qū)網(wǎng)站中的問題,在問題的眾多答案中選擇高質(zhì)量的答案是社區(qū)問答領(lǐng)域的一個(gè)重要任務(wù)。一些情況下,最佳答案往往是嘈雜的。答案選擇任務(wù)通常被建模為:給出問題 q和對應(yīng)的答案池a1,a2,…,an,我們嘗試找到最佳候選答案。下面我們討論一些解決這個(gè)問題的方法。
給定單詞詞嵌入,詞袋模型通過對句子中所有單詞的詞嵌入進(jìn)行求和來生成句子的向量表示,輸入之前要?jiǎng)h除的停用詞。然后通過句子的長度對向量進(jìn)行歸一化,如下:
Okapi BM25是通過計(jì)算問題和答案語義表示的相似度計(jì)算得分而提出的。問題和答案表示被視為一個(gè)詞袋,通過計(jì)算兩個(gè)句子的加權(quán)匹配(利用逆文檔頻率IDF)來判斷兩個(gè)句子是否相似,其得分函數(shù)如下:
其中IDF為逆文檔頻率,#(w,q)為w在問題q中出現(xiàn)的次數(shù),avg_len(a)為答案a的平均長度,k1和b為優(yōu)化參數(shù)。最終得分取Score(q,a)和Score(a,q)的平均值。然而,因?yàn)閱栴}和答案中詞很少直接匹配,因此這種方法的效果不是很好。
給出問題q和答案a,使用基于翻譯的語言模型來計(jì)算概率P(q|a)和P(a|q),得分為兩個(gè)概率的平均值。條件概率由兩部分組成:給定a,生成q的單詞的ML估計(jì)器的平滑值(使用詞袋模型),以及給定a,生成q的概率作為基于翻譯的模型(即從a轉(zhuǎn)換為q)。具體來說,概率被計(jì)算為:
這里,Pml(w|C)是以#(w,C)|C|計(jì)算的最大似然估計(jì),#是頻率。λ是平滑因子,而 β控制Pml和PTrans重要程度。在傳統(tǒng)的語言翻譯模型中使用的PTrans(w1|w2)計(jì)算以另一種語言給出w2的語言中產(chǎn)生單詞w1的概率。在答案選擇任務(wù)中將從a生成q的問題是作為一個(gè)翻譯問題來轉(zhuǎn)換來計(jì)算。具體來說,給出問題q和答案池A,找到問題最佳候選答案可以被建模為從答案生成問題的最高概率:
該方法利用CNN[3-4]生成給定問題和答案的語義向量表示(如圖 1a)。給定問題 q=q1,q2,…,qn和答案a=a1,a2,…,am,矩陣 q=[q1,q2…,qn]∈ Rd×n和 a=[a1,a2,…,am]∈Rd×m,其中d是詞向量表示的維度,其中單詞的詞向量表示可以使用Word2Vec[5]模型進(jìn)行學(xué)習(xí),也可作為模型學(xué)習(xí)的中間部分。對句子中每個(gè)維度的詞向量使用窗口大小為m的卷積核進(jìn)行卷積(針對問題生成的Rd×n-m+1)抽取句子特征,然后應(yīng)用最大池化(1-maxPooling)抽取最大特征作為輸出。其中,問題和答案的特征向量抽取共享CNN模塊。根據(jù)給出的問題和答案的特征表示,利用最大邊緣距離來訓(xùn)練網(wǎng)絡(luò),公式如下:
其中,C是具有正確答案的一組問題,C'是一組具有不正確答案的問題(從負(fù)抽樣中獲得),γ是邊緣閾值,s是得分函數(shù)(這里采用余弦度量)。
Yu等人使用窗口大小為2的卷積核和平均池化來建模[6],通過最小化對數(shù)似然損失來訓(xùn)練模型,預(yù)測0(不相關(guān)的響應(yīng))和1(相關(guān)響應(yīng)),同時(shí),他們還使用了基于TF-IDF的計(jì)數(shù)作為額外特征。
基于之前的研究工作,研究者嘗試在兩個(gè)正交方向上改進(jìn)模型。代替之前僅僅使用單詞嵌入來表示的方法,通過雙向長短時(shí)記憶模型(Bi-LSTM)來抽取問題和答案的語義表示。這種方法允許對上下文進(jìn)行編碼。然后使用卷積層和最大池層來抽取特征,更好地捕獲遠(yuǎn)程依賴關(guān)系(LSTM的最終狀態(tài)受到捕獲整個(gè)上下文的維度大小的限制)。
在基于注意力機(jī)制的模型(圖1b)中,在問題的最大池化操作之后,使用得到的問題語義向量來參與抽取答案語義向量的表示,然后在基于權(quán)重的加權(quán)答案向量上使用最大池操作,并將結(jié)果用作答案的語義表示。這允許他們根據(jù)上下文在最大池之前權(quán)衡答案中每個(gè)單詞的重要性。
提出的最終模型結(jié)合了兩種想法,首先使用CNN生成問題語義向量表示,結(jié)合使用問題語義向量來計(jì)算答案的注意權(quán)重,使用注意加權(quán)答案作為CNN模塊的輸入來生成最終答案的語義表示。該模型使用最大損失函數(shù)進(jìn)行訓(xùn)練。
基于Kalchbrenner的工作,Qiu和Huang等人使用深層卷積神經(jīng)網(wǎng)絡(luò)為問題和答案生成語義向量表示(如圖2)。問題q=q1...qm首先使用詞向量(使用Word2Vec)轉(zhuǎn)換為矩陣,得到輸入矩陣s=Rd×lq,其中d是詞向量的維度,lq是問題q的長度。矩陣的每行與窗口大小為Rm的卷積核進(jìn)行卷積,m是卷積核寬度(因此,卷積濾波器的數(shù)量為Rd×m),得到的結(jié)果矩陣的尺寸為 Rd×(lq-m+1)。
為了增加卷積網(wǎng)絡(luò)層數(shù),該模型使用k-max Pooling操作。k-max Pooling層選擇k個(gè)最大特征值,并返回子序列而不改變其相對順序。因此,k-max Pooling之后的輸入長度獨(dú)立于輸入問題的長度(矩陣的維度是第一個(gè)k-max Pooling之后的Rd×k)。該層選擇值最大的特征,同時(shí)保留特征的相對順序。值得注意的是,k的值是根據(jù)動(dòng)態(tài)選擇的,其中D是網(wǎng)絡(luò)的最大層數(shù),d是當(dāng)前層數(shù)。最后將ktop向量轉(zhuǎn)換為Rns向量vq。類似地,同樣獲得答案的特征向量va。得分函數(shù)也相應(yīng)的作出修改,以解釋向量之間乘法和加法的相互作用:
其中M[1:r] ∈Rns×ns×r是捕獲乘法相互作用的張量(雙線性張量積vTqM[1 : r] va生成向量 h∈Rr),U,V 和 b是模型中的參數(shù)。
圖1 基于神經(jīng)網(wǎng)絡(luò)的方法[10]
圖2 多層卷積神經(jīng)網(wǎng)絡(luò)模型[11]
(1)TREC QA數(shù)據(jù)集
該數(shù)據(jù)集由一個(gè)包含事實(shí)性問題列表以及答案句子列表組成[9]。任務(wù)是根據(jù)與問題的相關(guān)性對候選的答案進(jìn)行排名。Feng等人的模型已經(jīng)消除了所有積極和所有消極反應(yīng)的問題,生成1162個(gè)作為訓(xùn)練集,65個(gè)作為開發(fā)集和68個(gè)作為測試數(shù)據(jù)集,Yu等人的模型,數(shù)據(jù)集的結(jié)構(gòu)為1229個(gè)作為訓(xùn)練集,82個(gè)為開發(fā)集,剩下100個(gè)為測試集。用于比較不同模型的指標(biāo)是MAP(平均精度)和MRR(平均互惠等級(jí))。
(2)Yahoo!Answers數(shù)據(jù)集
該數(shù)據(jù)集由從Yahoo!Answers中提取了312000個(gè)問答對組成[8]。對于問題答案選擇和檢索的任務(wù),使用10000個(gè)正向問答對作為開發(fā)集,10000個(gè)正向問答對作為測試集。其余用于訓(xùn)練集,每個(gè)正向?qū)嵗褂?0個(gè)損壞的QA對(負(fù)抽樣),實(shí)驗(yàn)指標(biāo)為P@10。
的效果,實(shí)驗(yàn)中采用的指標(biāo)為MAP(平均精度)和MRR(平均互惠等級(jí))。
表1,表2總結(jié)了上述方法在兩個(gè)數(shù)據(jù)集上的結(jié)果。
表1 TREC QA數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果
表2 關(guān)于Yahoo!問題的QA檢索
如前面所述,單純的單詞匹配方法對于答案排序和檢索任務(wù)的效果不佳,因?yàn)閱栴}和答案之間通常沒有重疊,因此在表1中,Okapi BM25的效果不高?;诜gLM的方法,P(q-a)模型對答案選擇任務(wù)有所改進(jìn)。答案中的某些詞表明可以形成的問題的種類,例如:世紀(jì),帽子戲法,一天,記錄等在答案中絕對是一個(gè)關(guān)于板球的問題。由于答案和問題之間的轉(zhuǎn)換,可以期待這樣的模型表現(xiàn)更好。然而,這些模型本質(zhì)上將問題和答案視為一個(gè)單詞,不考慮任何語義。
從表1中看出,基于詞嵌入(詞向量)的方法優(yōu)于Okapi BM25和基于翻譯的方法。這是意料之內(nèi)的,因?yàn)樵~嵌入確實(shí)捕獲一些語義關(guān)系。我們也看到簡單的字平均值不如CNN/LSTM網(wǎng)絡(luò)(表2)。原因可能是平均后的詞或上下文的重要性在句子中可能被稀釋或丟失了,因此獲得的語義代表性較差。這也可以解釋為什么最大池化的CNN優(yōu)于均池化的CNN(表2)。
值得注意的是,將基于注意機(jī)制的CNN的卷積方法與使用k-max Pooling的多層CNN相結(jié)合的模型將是有趣的。
這項(xiàng)調(diào)查旨在總結(jié)目前CQA中的答案選擇任務(wù)以及用于解決這個(gè)問題的方法。在這個(gè)領(lǐng)域使用的但是沒有介紹的方法有基于編輯樹的語義問題匹配[10]和使用句法特征[11]的方法,這些方法使用了大量的特征工程和語法特征,需要消耗大量的人力物力來進(jìn)行特征工程工作,同時(shí)它們還受大量因素的影響(POS Taggers,Dependency Parsers等),只能針對某一領(lǐng)域中的某一問題的數(shù)據(jù)集建模,由于數(shù)據(jù)集不同,也存在著難以比較的問題。未來工作的一個(gè)方向可能是測試一些常見數(shù)據(jù)集上的不同模型,并進(jìn)行廣泛的誤差分析來比較其相對優(yōu)點(diǎn)和缺點(diǎn)。
[1]S.E.Robertson,S.Walker,S.Jones,M.M.HancockBeaulieu,and M.Gatford.1996.Okapi at trec-3.pages 109-126.
[2]Xue X,Jeon J,Croft W B.Retrieval Models for Question and Answer Archives[C].International Acm Sigir Conference on Research&Development in Information Retrieval.DBLP,2008:475-482.
[3]Feng M,Xiang B,Glass M R,et al.Applying Deep Learning to Answer Selection:A Study and an Open Task[C].Automatic Speech Recognition and Understanding(ASRU),2015IEEE Workshop on.IEEE,2015:813-820.
[4]Kim Y.Convolutional Neural Networks for Sentence Classification[J].Eprint Arxiv,2014.
[5]Mikolov T,Sutskever I,Chen K,et al.Distributed Representations of Words and Phrases and their Compositionality[J].Advances in Neural Information Processing Systems,2013,26:3111-3119.
[6]Yu L,Hermann K M,Blunsom P,et al.Deep Learning for Answer Sentence Selection[J].Computer Science,2014.
[7]Tan M,Xiang B,Zhou B.LSTM-based Deep Learning Models for Non-Factoid Answer Selection[J].Computer Science,2015.
[8]Qiu X,Huang X.Convolutional Neural Tensor Network Architecture for Community-Based Question Answering[C].International Conference on Artificial Intelligence.AAAI Press,2015:1305-1311.
[9]Wang M,Smith N A,Mitamura T.What is the Jeopardy Model?A Quasi-Synchronous Grammar for QA[C].EMNLP-CoNLL 2007,Proceedings of the 2007 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning,June 28-30,2007,Prague,Czech Republic.DBLP,2009:22-32.
[10]Wang K,Ming Z,Chua T S.A Syntactic Tree Matching Approach to Finding Similar Questions in Community-Based Qa Services[C].International Acm Sigir Conference on Research&Development in Information Retrieval.DBLP,2009:187-194.
[11]Carmel D,Mejer A,Pinter Y,et al.Improving Term Weighting for Community Question Answering Search Using Syntactic Analysis[J].Journal of American History,2014(4):351-360.
Research on Answer Selection of Community Question Answering
HU Shen-jian
(College of Computer Science,Sichuan University,Chengdu 610065)
Answer selection is an important part of the question and answer system,and plays an important role at natural language processing task.For a given question,find high-quality answers from multiple answers and determine ways to find the right answers are of practical relevance in today's community question answering.Aims at surveying some of theories and methods proposed for tackling the task of answer selection,and comparing the results obtained.
CQA;Answer Selection;CNN;LSTM
1007-1423(2017)32-0010-05
10.3969/j.issn.1007-1423.2017.32.003
胡珅健(1990-),男,安徽黃山人,碩士,研究方向?yàn)闄C(jī)器學(xué)習(xí)、社區(qū)問答
2017-09-06
2017-10-20