錢明輝 徐志軒
摘要:在web of science上檢索國外三年內(nèi)關于知識庫問答系統(tǒng)的最新相關研究,介紹了知識庫問答系統(tǒng)研究在計算機信息檢索領域和自然語言處理領域的發(fā)展進程;再從目前最前沿的相關研究出發(fā),介紹了兩種主要解決知識庫問答系統(tǒng)的自然語言處理方法;并探討了國外最前沿的研究成果為國內(nèi)知識庫問答系統(tǒng)以及自然語言處理相關研究帶來的啟示,并對未來研究前景進行了展望。
關鍵詞:知識庫問答系統(tǒng);自然語言處理;信息抽取問答系統(tǒng);語義分析問答系統(tǒng)
DOI:10.13939/i.cnki.zgsc.2016.39.086
一、知識庫問答系統(tǒng)相關研究的發(fā)展進程
有關于問答系統(tǒng)的研究在自然語言處理領域和信息檢索相關研究領域已經(jīng)有了相當長的研究歷史。早期人們對于問答系統(tǒng)研究的動機和需求主要來自于信息檢索系統(tǒng)的自動化,人們尋求一種計算機檢索系統(tǒng)可以自動并且準確地理解人的信息需求,以便于找到合適的信息。所以,早期的問答系統(tǒng)解決方法主要是基于信息檢索的技術。比如在基于模板的RDF問答系統(tǒng)(Unger c.et al,2012)一文中,傳統(tǒng)的問答系統(tǒng)都是將問題轉換為RDF三元組的形式,再通過三元組在知識庫中檢索可能的候選答案,但是作者認為單純使用RDF三元組無法準確地表達問題真正的含義,尤其是對于較為復雜的問題,RDF三元組很難回答出準確答案。于是作者提出了一種更為復雜的問題解析方法,即引入“SPARQL”模式來代替原有的簡單RDF三元組?!癝PARQL”模式是一種專門用于RDF的查詢語言和數(shù)據(jù)獲取協(xié)議,通過“SPARQL”的引入,可以更準確地表達提問的邏輯關系,從而提高解析提問的正確率。Yahya等(2012)在處理Web中的自然語言提問時,也利用了“SPARQL”模式對自然語言提問進行拆分和進一步的語義分析。這種處理自然語言提問的方法的主要思路是將問題轉換為RDF三元組或者更為復雜的“SPARQL”形式,即抽取問題中最核心的信息,然后在知識庫中進行檢索,之后對檢索結果進行排序,選擇最可能的答案。其主要缺陷首先是對問題解析不夠準確,盡管使用“SPARQL”來表示問題中的邏輯關系,也仍然是基于三元組的形式,對于邏輯關系更為復雜的問題無法準確理解,其次對于候選答案的選擇和排序的準確率也不是非常理想。
隨著自然語言處理技術的不斷發(fā)展,對于自然語言問答系統(tǒng)的解決方案目前主要有兩種形式,一種是基于語義分析的方法,即利用語義分析的方法對提問進行解析,將自然語言的提問轉換成更高級的表達形式或者標準提問語句。最終目標是解析提問的語義,將其轉換為邏輯形式來準確表達自然語言提問的含義。然后直接通過邏輯表達式在知識庫中匹配正確的答案,不再需要找到大量候選答案,然后挑選可能性最大的答案。與之相反,另一種處理自然語言提問的方法是基于信息抽取。這種方法不去理解提問的邏輯或含義,而是抽取提問中重要的核心話題實體和關系,然后在知識庫中搜索核心實體幾跳以內(nèi)的候選答案實體。最后計算候選答案與提問文本的相似性或相關性,來選取可能的最佳答案。
二、基于語義分析的問答系統(tǒng)研究
首先來看近三年來基于語義分析技術的問答系統(tǒng)相關研究。傳統(tǒng)的基于語義分析的問答系統(tǒng)一般來說都是通過人工標注的邏輯詞表,在小范圍內(nèi)進行有監(jiān)督的機器學習。這種方式有非常大的缺陷,最主要的問題之一就是通過監(jiān)督學習,并且依賴于人工標注,這就導致在大規(guī)模的知識庫中表現(xiàn)不佳,遇到在監(jiān)督學習中沒有學習過的樣本就很難處理。Cai等(2013)的研究目的就是在傳統(tǒng)監(jiān)督學習的基礎上,建立了一種可以用于大規(guī)模知識庫問答系統(tǒng)的半監(jiān)督學習模型,以解決純監(jiān)督學習的語義分析方法在知識庫問答系統(tǒng)中存在的問題。首先作者依然使用了純監(jiān)督學習的方法進行了一個語義分析器的訓練,其次作者開發(fā)了一個匹配算法在知識庫中找到與詞匯相關的標志,最后作者建立了一個詞匯擴展器,將詞匯和知識庫中的相關標志聯(lián)系在一起,并且可以不斷添加新的詞匯和知識庫相關標志,最終完成學習。這種半監(jiān)督學習模型雖然性能比傳統(tǒng)的方法有了較大提升,但仍然無法完全擺脫對人工標注的依賴,同時對詞匯擴展器中詞匯與相關標志的正確度要求較高,所以仍然存在一些問題。
在用動態(tài)匹配方法擴展語義分析器(Kwiat-kowski T.et al,2013)一文中作者發(fā)現(xiàn),首先,在傳統(tǒng)的語義分析解決知識庫問答系統(tǒng)的方法中,由于對同一問題自然語言表述的多樣性,導致對相近提問的語義分析結果,即邏輯表達式會有所差異。因為在知識庫中實體間的關系是唯一的,這就會產(chǎn)生邏輯表達式與知識庫的關系無法匹配的情況,從而降低了問答系統(tǒng)的性能。其次,面對大范圍的知識庫,依賴于人工標記的邏輯形式是不現(xiàn)實的。于是作者提出了一種基于本體匹配并且不依賴于人工詞匯觸發(fā)器的解決方法。這種方法分為兩個步驟,首先對問題進行不依賴于知識庫或者人工詞匯觸發(fā)器的語義分析,允許產(chǎn)生不明確的邏輯表達式,或者說允許產(chǎn)生對相近含義的提問產(chǎn)生不同類型的邏輯形式。之后第二步就是作者提出的本體匹配模型,在這種模型下,針對知識庫中不同領域內(nèi)的本體或者關系,將產(chǎn)生的不明確的邏輯表達式轉換成能夠與知識庫中本體匹配的明確邏輯形式,從而提高問答系統(tǒng)的對不同表達的相似提問的處理能力。
利用問題答案對的方法對Freebase進行語義分析(Berant J.et a1,2013)一文作為提出了一個行之有效的擺脫人工標注的語義分析學習方法的文章,使得后期很多的相關研究都以其研究成果作為比較的對象。在這篇文章中,為解決語義分析中對人工標注的依賴,作者提出了一種基于問題答案對的學習方法。首先作者使用了入一DCS語言來構成提問的邏輯表達式。由于自然語言的復雜性,導致對提問的語義分析會產(chǎn)生很多可能的候選邏輯表達式。作者等人的主要貢獻就是設計了一種學習算法,可以通過正確答案的邏輯表達式,訓練得到一個向量,使得其與最正確的邏輯表達式的內(nèi)積最大。得到該向量后,即使針對陌生的新問題也可以找到最符合的邏輯表達式,從而在知識庫中找到符合邏輯的答案。
通過轉義法進行語義分析(Berant J,LiangP,2014)是對上一個研究的進一步深入。在2014年的這篇文章中,Berant等人認為2013年的模型較為粗糙,直接將候選邏輯表達式和正確答案的邏輯表達式進行匹配。在2014年的研究中,作者等人提出了一種更為復雜的模型來進行學習。其主要的貢獻是在對提問進行語義分析、生成邏輯表達式的過程中,增加了一步轉義。主要的過程是先通過粗糙語義分析,生成一些候選邏輯表達式。其次通過候選邏輯表達式生成與原提問語義相近的規(guī)范自然語言表達,再通過語義相似度的計算方法,找到與原提問最相似的規(guī)范自然語言提問,再生成可能正確的邏輯表達式。最后通過正確答案的邏輯表達式,來訓練模型。Bemnt等人的兩種方法盡管仍沒有完全解決知識庫問答系統(tǒng)的問題,但對基于語義分析方法的研究產(chǎn)生了很大的影響。
除了以上利用語義分析產(chǎn)生邏輯表達式的思路,還有另一種語義分析來解決知識庫問答系統(tǒng)問題的思路,即語義分析拓撲圖與知識庫實體關系拓撲圖的匹配。如Reddy等(2014)提出在大規(guī)模的知識庫中解決自然語言問答系統(tǒng)的問題,既不基于人工標注的學習方法,也不利用正確的問題答案進行訓練,而是利用對自然語言提問的語義分析產(chǎn)生的邏輯關系拓撲圖與知識庫中的實體關系拓撲圖進行匹配,作者認為在這兩者之間有許多的共性。作者使用CGC語義分析算法將自然語言提問轉換成邏輯關系拓撲圖,然后將其與知識庫中已經(jīng)存在的實體關系圖進行相似度計算,找到相似度最大的子實體關系圖,最后根據(jù)邏輯關系圖中未知答案的位置,在匹配的實體關系圖中相同的位置找到合理的答案。其研究為語義分析方法解決知識庫問答系統(tǒng)提供了一種全新的思路。
Wen-tau Yih等(2015)也是基于邏輯拓撲圖匹配的思路出發(fā),更加深入地創(chuàng)新了一種方法。作者等人最大的創(chuàng)新點在于直接利用知識庫中的實體關系,分階段逐步生成與提問含義最相近的完整邏輯拓撲圖。該方法第一步是選取自然語言提問中可能的候選核心實體,第二步針對每個可能的核心實體和關系逐步生成候選核心鏈,第三步利用卷積神經(jīng)網(wǎng)絡的深度學習方法來找到與提問含義最相近的核心鏈,最后一步將一些限定條件添加到核心鏈中,最終得到與提問含義最相近的完整邏輯關系拓撲圖,從而根據(jù)需求的未知答案在圖中的位置,得到正確可能性最大的答案。
有關語義分析方法解決知識庫問答系統(tǒng)問題還有其他許多有趣的研究,如Fader等(2014)提出了一種OQA的方法,既可以應用于FREE-BASE這種規(guī)范化、結構化的知識庫,也可以應用于覆蓋面更為廣泛的Open Information Extrac-tion這種基于信息抽取的知識庫,其方法的主要過程首先仍然是基于對自然語言提問的轉義、語義分析、邏輯表達式的生成和答案的匹配,其創(chuàng)新點在于引入了OQA問答系統(tǒng);其次提出了一種找到高可靠性答案的算法,并設計了一個感知機模型來進行答案的打分;最后開發(fā)了一個自動化的提問轉義和重寫的算法。Bao等(2014)的研究主要是通過引入了CYK語義分析方法,將自然語言提問的表達式轉換和答案查找合并成一個過程。以及Yih等(2014)的研究將注意力主要集中在單關系的自然語言問答系統(tǒng)的語義分析上,通過卷積神經(jīng)網(wǎng)絡模型來計算提問中出現(xiàn)的實體與知識庫中的實體在關系模式上的相似度,然后選擇相似度最高的三元組來作為問題的答案,盡管取得了一些成果,但是在處理較為復雜的多關系的問題時,仍然力不從心。
三、基于信息抽取的問答系統(tǒng)研究
在介紹了基于語義分析的知識庫問答系統(tǒng)的相關研究后,接下來了解另一種處理自然語言提問的思路,即基于自然語言提問信息抽取的方法的問答系統(tǒng)研究。在關于信息抽取方法的研究中,最具有代表性的便是對結構化數(shù)據(jù)的信息提?。夯贔reebase的問答系統(tǒng)(Yao x,Durme B V,2014),在這篇文章中,作者認為即使語義分析方法十分流行,信息抽取的方法在性能上依然能與語義分析法相媲美。作者首先將問題中有意義的詞和關系抽取出來,并根據(jù)其關系生成一個關系圖,然后根據(jù)抽取出的詞確定一些核心話題詞,其次在知識庫中根據(jù)這些核心詞周圍幾跳內(nèi)的關系和實體抽取出—個知識庫的關系圖。作者認為通過這樣的抽取,在知識庫關系圖中應該包含有正確的答案,然后作者將問題關系圖中的所有節(jié)點作為問題的特征,將知識庫關系圖中的所有節(jié)點作為知識庫關系圖的特征。將兩者的特征進行相似度比較,相似度高的知識庫中的節(jié)點獲得高分,反之獲得低分,最后得沿著得分最高的節(jié)點一路走下去就是答案。在該研究中,作者證明了基于信息抽取的方法相較于語義分析法是有一定的可取f生的。
隨著詞嵌入技術的發(fā)展,對于基于信息抽取解決知識庫問答系統(tǒng)的研究有非常顯著的提升。An—toine Bordes等(2014)就將詞嵌入技術與知識庫開發(fā)問答系統(tǒng)相結合。在用弱監(jiān)督嵌入模型建立開放式問答系統(tǒng)這篇文章中,作者認為在語義分析解決問答系統(tǒng)的研究中,仍然需要人工標注,仍然是有監(jiān)督地學習,智能化不足。于是其提出了引入詞嵌入技術,省去了語義分析,直接將自然語言提問轉換成低維向量,同時將與問題相關的候選答案的三元組也轉換為向量。再利用正確答案進行模型訓練,在實際應用中將相似度最高的候選答案作為最終答案。在文章中,作者還提出了一些計算向量相似度的優(yōu)化算法,并進行了比較。
在引入了詞嵌入技術之后,Bordes對其進行了更加深入的研究。在利用子圖嵌入法建立問答系統(tǒng)(BordesA et al,2014)一文中,作者對其之前的模型進行了優(yōu)化,其主要貢獻有兩點。第一,作者引入了同義提問進行模型的輔助訓練,以提高模型應對復雜的長路徑問題的能力。由于自然語言的復雜性,對含義相近的問題有多種表達方式,當簡單的問題換一種復雜表述時,機器模型處理能力就會下降。為了解決這一問題,作者增加了自然語言問題轉義的訓練。第二,作者對候選答案的向量表示更加細化,不再僅僅將答案三元組轉換為向量,而是從答案的實體、關系路徑和子關系圖三個方面出發(fā),更加全面地構成表示答案的低維向量。
在Bordes等人提出了將詞嵌入技術引入知識庫問答系統(tǒng)之后,許多研究者受到啟發(fā),對這種方式進行了更加深入的研究。如li Dong等(2015)在Bordes的研究基礎上,提出了一種多列卷積神經(jīng)網(wǎng)絡的模型來計算問題向量和候選答案向量直接的相似度。在利用多列卷積神經(jīng)網(wǎng)絡建立針對neebase的問答系統(tǒng)這篇研究中,作者等人的貢獻主要體現(xiàn)在從三個不同的方面來比較問題和答案的相似性,即知識庫中候選答案實體的關系路徑、上下文聯(lián)系和答案類型。作者利用正確問題答案訓練的卷積神經(jīng)網(wǎng)絡,對自然語言提問分別生成三個方面的表示向量,之后與候選答案的三個方面的向量分別進行打分計算,將結果相加,總和得分最高的答案作為最佳答案。
在詞嵌入技術顯示出強大性能的同時,有研究者嘗試將詞嵌入技術與語義分析方法的優(yōu)勢相結合,解決語義分析方法中的劣勢,同時提升知識庫問答系統(tǒng)的性能。Yang等(2014)就提出了一種新的方法,將詞嵌入技術與邏輯表達式相結合,但是省去了對自然語言提問的語義分析過程。在研究中,作者認為在語義分析方法中的優(yōu)勢之一就是利用了邏輯表達式作為對提問的解析形式,邏輯關系清晰所以答案的可靠性較高;但是缺陷就是語義分析的過程難度較大,由于自然語言的復雜性,對同一問題的不同描述數(shù)量非常大。語義分析往往基于實體間關系的人工標注,但是成本很高效率很低。為解決這一問題,作者利用了詞嵌入技術,將提問和候選的邏輯表達式轉換成向量形式,通過比較二者之間的相似度,來確定最合適的邏輯表達式,最終在知識庫中確定正確答案。此研究與信息抽取方法最大的不同是其不直接比較提問與答案間向量的相似度,而是計算邏輯表達式與提問間的相似度,既保留了語義分析法的邏輯清晰的優(yōu)勢,又加入了信息抽取方法中模型簡單的優(yōu)勢,是兩種方法優(yōu)勢的結合。
四、國外前沿研究成果的啟示
首先,根據(jù)國外最前沿的一些研究成果,我們可以發(fā)現(xiàn),想要建立一個成熟的知識庫自然語言問答系統(tǒng)是一項非常復雜的工作。由于人類自然語言本身的復雜性,再加上目前計算機技術的局限性,使得計算機進行自然語言的準確理解和處理是非常困難的。然而建立一個知識庫問答系統(tǒng)的關鍵就在于解決計算機在自然語言理解上的難題。盡管隨著機器學習技術的不斷發(fā)展,乃至于在計算機深度學習領域的研究也取得了長足的進步,尤其在一些國外的前沿研究中不斷應用新的優(yōu)化算法,但是最終計算機對自然語言提問的回答準確率依然無法達到可以接受的水平。目前這些不盡如人意的實驗結果一方面說明實現(xiàn)一個成熟的知識庫自然語言問答系統(tǒng)是一項具有挑戰(zhàn)性的研究;另一方面也說明在知識庫自然語言問答系統(tǒng)的研究領域仍然有很大發(fā)展空間。
其次,要真正建立一個成熟的知識庫自然語言問答系統(tǒng),實現(xiàn)計算機自然語言的無監(jiān)督學習是十分必要的。盡管目前計算機在無監(jiān)督學習下的自然語言處理結果相比有監(jiān)督地學習準確度且更為復雜,但是計算機對自然語言的無監(jiān)督學習是實現(xiàn)真正意義上的智能問答系統(tǒng)的必然趨勢。在有監(jiān)督學習下建立的問答系統(tǒng)有一個最致命的缺陷就是無法處理新的知識,即無法處理沒有標注過的內(nèi)容。由于人類自然語言的復雜性,再加上人類語言自身仍在不斷變化和更新,難以通過人工標注的方式將所有自然語言的詞匯全部囊括到知識庫中。這就需要計算機有自主學習的能力,通過知識庫中已有的知識來不斷學習新的內(nèi)容。計算機有自主更新知識庫的能力是其實現(xiàn)真正智能的自然語言問答系統(tǒng)的前提。
最后,詞嵌入法這種將自然語言抽象化、向量化的方法是目前解決計算機自然語言處理的發(fā)展方向。由國外對基于知識庫的自然語言問答系統(tǒng)相關研究可以發(fā)現(xiàn),無論是用語義分析方法進行自然語言處理的研究,還是用信息抽取方法進行自然語言處理的研究,最終都選擇了將詞嵌入法與自身相結合的發(fā)展方向,說明詞嵌入法或者說自然語言向量化對整個自然語言處理研究領域以及知識庫問答研究領域都產(chǎn)生了深遠的影響。其中主要的原因就在于詞嵌入技術最大的特點是真正實現(xiàn)了將人類的自然語言轉換成計算機可以處理的抽象化的向量,為計算機真正理解自然語言提供了基礎。因此,國內(nèi)在知識庫問答系統(tǒng)以及自然語言處理方面的研究中也要將詞嵌入技術和其他能夠把自然語言抽象化的技術重視起來,與自身的研究相結合,把握解決問題的正確方向。
五、結語
由于自然語言處理技術的不斷發(fā)展,有關知識庫問答系統(tǒng)的研究也取得了長足的進步。首先一個具有高度人工智能的自然語言問答系統(tǒng)將會為整個社會帶來重大改變。比如人們可以更高效地獲取信息和知識,人類將從復雜信息檢索和信息篩選中解放出來;其次對于企業(yè)來說,高智能的自然語言問答系統(tǒng)可以為其降低與客戶的溝通成本,將繁瑣的客服工作交給計算機完成;從社會的角度來看,自然語言問答系統(tǒng)的實現(xiàn)標志著計算機真正做到了對信息的理解,是人工智能技術里程碑式的進步,也意味著人類社會處理信息的能力又上了一個臺階。盡管目前的成果仍然無法完全解決知識庫問答系統(tǒng)存在的問題,比如完全無監(jiān)督地學習,真正對自然語言提問的語義理解,大規(guī)?;R庫的問答系統(tǒng),以及可以接受的回答正確率等。但在未來的研究中,仍然有很多問題值得進一步地研究和探討,隨著機器學習和人工智能技術的不斷發(fā)展,完全解決知識庫問答系統(tǒng)問題的未來指日可待。