縱觀(guān)自動(dòng)問(wèn)答系統的技術(shù)發(fā)展歷史,從1950年代因圖靈測試而誕生至今,已經(jīng)有幾十年的歷史。但真正在產(chǎn)業(yè)界得到大家的廣泛關(guān)注,則得益于2011年Siri和Watson成功所帶來(lái)的示范效應。自此,自動(dòng)問(wèn)答系統較以往任何時(shí)候都顯得離實(shí)際應用更近。這一方面歸功于機器學(xué)習與自然語(yǔ)言處理技術(shù)的長(cháng)足進(jìn)步,另一方面得益于維基百科等大規模知識庫以及海量網(wǎng)絡(luò )信息的出現。然而,現有的自動(dòng)問(wèn)答系統所面臨的問(wèn)題遠沒(méi)有完全解決。事實(shí)上,無(wú)論是業(yè)界應用還是學(xué)術(shù)研究,問(wèn)句的真實(shí)意圖分析、問(wèn)句與答案之間的匹配關(guān)系判別仍然是制約自動(dòng)問(wèn)答系統性能的兩個(gè)關(guān)鍵難題。
2、問(wèn)答系統概述
問(wèn)答系統能夠更為準確地理解以自然語(yǔ)言形式描述的用戶(hù)提問(wèn),并通過(guò)檢索異構語(yǔ)料庫或問(wèn)答知識庫返回簡(jiǎn)潔、精確的匹配答案。相對于搜索引擎,問(wèn)答系統能更好地理解用戶(hù)提問(wèn)的真實(shí)意圖,同時(shí)更有效地滿(mǎn)足用戶(hù)的信息需求。
2.1問(wèn)答系統的發(fā)展歷程
問(wèn)答系統最早的實(shí)現構想可以追溯到圖靈測試。為了測試機器是否具備人類(lèi)智能,圖靈測試要求電腦能在5分鐘內回答由人類(lèi)測試者提出的一系列問(wèn)題,且其達到超過(guò)30%的回答讓測試者誤認為是人類(lèi)所答。隨著(zhù)人工智能、自然語(yǔ)言處理等相關(guān)技術(shù)的發(fā)展,針對不同的數據形態(tài)的變化也衍生出不同種類(lèi)的問(wèn)答系統。早期由于智能技術(shù)和領(lǐng)域數據規模的局限性,問(wèn)答系統主要是面向限定領(lǐng)域的AI系統或專(zhuān)家系統,例如STUDENT[1]、LUNAR[2]系統。該時(shí)期的問(wèn)答系統處理的數據類(lèi)型主要是結構化數據,系統一般是將輸入問(wèn)題轉化為數據庫查詢(xún)語(yǔ)句,然后進(jìn)行數據庫檢索反饋答案。隨著(zhù)互聯(lián)網(wǎng)的飛速發(fā)展以及自然語(yǔ)言處理技術(shù)的興起,問(wèn)答系統進(jìn)入了面向開(kāi)放領(lǐng)域、基于自由文本數據的發(fā)展時(shí)期,例如英文問(wèn)答式檢索系統AskJeeves(http://www.ask.com)、START(http://start.csail.mit.edu)。這種問(wèn)答系統的處理流程主要包括:?jiǎn)?wèn)題分析、文檔及段落檢索、候選答案抽取、答案驗證。特別自1999年文本檢索會(huì )議(TextRetrievalConference,簡(jiǎn)稱(chēng)TREC)引入問(wèn)答系統評測專(zhuān)項(Question Answering Track,簡(jiǎn)稱(chēng)QATrack)以來(lái),極大推動(dòng)了基于自然語(yǔ)言處理技術(shù)在問(wèn)答領(lǐng)域中的研究發(fā)展。隨后網(wǎng)絡(luò )上出現的社區問(wèn)答(community question answering,CQA)提供了大規模的用戶(hù)交互衍生的問(wèn)題答案對(question-answerpair,QApair)數據,這為基于問(wèn)答對的問(wèn)答系統提供了穩定可靠的問(wèn)答數據來(lái)源。隨著(zhù)蘋(píng)果公司Siri系統的問(wèn)世,問(wèn)答系統進(jìn)入了智能交互式問(wèn)答的發(fā)展階段,這種形式的問(wèn)答系統能夠讓用戶(hù)體驗更為自然的人機交互過(guò)程,并且也使信息服務(wù)的相關(guān)應用更為方便可行。
問(wèn)答系統處理的數據對象主要包括用戶(hù)問(wèn)題和答案。依據用戶(hù)問(wèn)題的所屬數據領(lǐng)域,問(wèn)答系統可分為面向限定域的問(wèn)答系統、面向開(kāi)放域的問(wèn)答系統、以及面向常用問(wèn)題集(frequentaskedquestions,FAQ)的問(wèn)答系統。依據答案的不同數據來(lái)源,問(wèn)答系統可劃分為基于結構化數據的問(wèn)答系統、基于自由文本的問(wèn)答系統、以及基于問(wèn)答對的問(wèn)答系統。此外,按照答案的生成反饋機制劃分,問(wèn)答系統可以分為基于檢索式的問(wèn)答系統和基于生成式的問(wèn)答系統。本文主要闡述基于檢索式的問(wèn)答系統的處理框架和相關(guān)研究。
2.2問(wèn)答系統的處理框架
不同類(lèi)型的問(wèn)答系統對于數據處理的方法存在不同。例如,相對于面向FAQ的問(wèn)答系統的問(wèn)句檢索直接得到候選答案,面向開(kāi)放領(lǐng)域的問(wèn)答系統首先需要根據問(wèn)題分析的結果進(jìn)行相關(guān)文檔、文本片段信息的檢索,然后進(jìn)行候選答案的抽取。雖然不同類(lèi)型的問(wèn)答系統對于系統模塊的功能分工和具體實(shí)現存在差異,但依據數據流在問(wèn)答系統中的處理流程,一般問(wèn)答系統的處理框架中都包括問(wèn)句理解、信息檢索、答案生成三個(gè)功能組成部分,如圖2.1所示。

2.2.1問(wèn)句理解
問(wèn)句理解是問(wèn)答系統理解用戶(hù)意圖的關(guān)鍵一環(huán),問(wèn)句理解模塊的性能直接制約著(zhù)后續處理模塊的效果。用戶(hù)意圖是一個(gè)抽象的概念,要想作為答案檢索的依據,需要把它轉換成機器可以理解的形式。用戶(hù)的檢索意圖導致信息需求的產(chǎn)生,因此,研究中往往將信息需求作為用戶(hù)意圖的代表,根據問(wèn)句的語(yǔ)義結構,可以從問(wèn)題類(lèi)別和問(wèn)題內容兩方面來(lái)表示。通常采用自然語(yǔ)言技術(shù)對問(wèn)題進(jìn)行深層次的理解,包括命名實(shí)體識別、依存句法分析、詞義消歧等。
問(wèn)句理解主要包括問(wèn)句分類(lèi)、主題焦點(diǎn)提取、問(wèn)題擴展處理。問(wèn)句分類(lèi)是將用戶(hù)提問(wèn)歸入不同的類(lèi)別,使系統能夠針對不同問(wèn)題類(lèi)型采用不同的答案反饋機制得到候選答案集合。問(wèn)答系統通常使用機器學(xué)習算法訓練問(wèn)題分類(lèi)器[3,4]來(lái)實(shí)現用戶(hù)提問(wèn)的分類(lèi)。主題焦點(diǎn)提取主要完成用戶(hù)問(wèn)題的信息需求的精確定位,其中主題表示問(wèn)句的主要背景或者用戶(hù)的感興趣的對象,焦點(diǎn)則是用戶(hù)詢(xún)問(wèn)的有關(guān)主題的內容,通常是問(wèn)句話(huà)題的相關(guān)信息或對話(huà)題起到描述性的作用,比如屬性、動(dòng)作、實(shí)例等等。問(wèn)題擴展是將用戶(hù)在提問(wèn)中沒(méi)有充分表達的意思補充出來(lái),對問(wèn)題中潛在的信息顯化出來(lái),從而提高答案檢索的召回率。
2.2.2信息檢索
根據問(wèn)句理解得到的查詢(xún)表示,信息檢索模塊負責從異構語(yǔ)料庫、問(wèn)答知識庫中檢索相關(guān)信息,傳遞給后續的答案生成處理模塊。對于基于不同的問(wèn)答系統,系統的檢索模型以及檢索數據形式也不同。對于基于自由文本數據的問(wèn)答系統,信息檢索過(guò)程是一個(gè)逐漸縮小答案范圍的過(guò)濾過(guò)程,主要包括文檔檢索和段落句群檢索。對于基于問(wèn)句答案對的問(wèn)答系統,信息檢索處理是通過(guò)問(wèn)句檢索得到與用戶(hù)提問(wèn)相似的候選問(wèn)句,返回對應的候選答案列表。
首先,文檔檢索是根據問(wèn)題理解的結果檢索用戶(hù)提問(wèn)的相關(guān)文檔集合。最簡(jiǎn)單的方法是直接用已有的檢索系統(如Smart,Lucene等)對問(wèn)題的非停用詞進(jìn)行全文索引,直接檢索得到用戶(hù)提問(wèn)的相關(guān)文檔集合,但是這種方法很難獲得好的效果。通常問(wèn)答系統中的文檔檢索模型包括布爾模型、向量空間模型、語(yǔ)言模型、概率模型等。布爾模型是最簡(jiǎn)單的一種檢索模型,它把關(guān)鍵詞組織成一個(gè)布爾表達式,使得文檔中出現的關(guān)鍵詞需要滿(mǎn)足這個(gè)布爾表達式。向量空間模型把文檔和查詢(xún)都表示成向量,根據查詢(xún)和文檔對應向量的相似度(通常是兩個(gè)向量夾角的余弦值)對文檔進(jìn)行排序。概率模型估計計算文檔和查詢(xún)相關(guān)的概率,并按照相關(guān)性概率對文檔進(jìn)行排序。語(yǔ)言模型是把查詢(xún)和文檔分別表示成語(yǔ)言模型,通過(guò)兩個(gè)語(yǔ)言模型之間的KL距離來(lái)估計兩者的相似度。其次,段落句群檢索就是從候選文檔集合中檢索出最有可能含有答案的段落(自然段落或者文檔片段),進(jìn)一步過(guò)濾噪聲信息,得到更為精確的答案相關(guān)信息。廣泛使用的段落檢索算法有三個(gè):MultiText算法[6]、IBM的算法[7,8]和SiteQ算法[9]。Tellex[10]等人的實(shí)驗結果表明基于密度的算法可以獲得相對較好的效果。所謂基于密度的算法,就是通過(guò)考慮查詢(xún)關(guān)鍵詞在段落中的出現次數和接近程度來(lái)決定這個(gè)段落的相關(guān)性。相比之下,Cui[5]提出的檢索算法通過(guò)把問(wèn)句和答案都解析成語(yǔ)法樹(shù),從兩者語(yǔ)法樹(shù)的結構中找出一些相關(guān)性的信息。
問(wèn)句檢索的主要問(wèn)題在于如何縮小用戶(hù)提問(wèn)與知識庫中問(wèn)句之間的語(yǔ)義鴻溝。近幾年,研究人員采用基于翻模模型的方法計算從用戶(hù)提問(wèn)“翻譯”到檢索問(wèn)句的翻譯概率,從而實(shí)現相似性問(wèn)句檢索。例如,算法[11-14]都是把兩個(gè)問(wèn)句看作是不同表達方式的語(yǔ)句,計算兩個(gè)問(wèn)句之間的翻譯概率。為了計算這種翻譯的概率,就必須估計詞與詞之間進(jìn)行翻譯的概率。這種方法首先需要通過(guò)答案相似度計算得到同義或近義的問(wèn)答對集合,該集合中的相似問(wèn)題集合就構成了一個(gè)估計翻譯概率的訓練集,類(lèi)似于機器翻譯中多語(yǔ)言平行語(yǔ)料庫。實(shí)驗證明,這樣做的效果會(huì )比語(yǔ)言模型,OkapiBM25和空間向量模型都好。
2.2.3答案生成
基于信息檢索得到的檢索信息,答案生成模塊主要實(shí)現候選答案的抽取和答案的置信度計算,最終返回簡(jiǎn)潔性、正確性的答案。按照答案信息粒度,候選答案抽取可以分為段落答案抽取、句子答案抽取、詞匯短語(yǔ)答案抽取。段落答案抽取是將一個(gè)問(wèn)題的多個(gè)相關(guān)答案信息進(jìn)行匯總、壓縮,整理出一個(gè)完整簡(jiǎn)潔的答案。句子答案抽取是將候選答案信息進(jìn)行提純,通過(guò)匹配計算過(guò)濾表面相關(guān),實(shí)際語(yǔ)義不匹配的錯誤答案。詞匯短語(yǔ)抽取是采用語(yǔ)言的深層結構分析技術(shù)從候選答案中準確地提取答案詞或短語(yǔ)。
答案置信度計算是將問(wèn)題與候選答案進(jìn)行句法和語(yǔ)義層面上的驗證處理,從而保證返回答案是與用戶(hù)提問(wèn)最為匹配的結果。應用最廣泛是基于統計機器學(xué)習的置信度計算方法。這種方法通常定義一系列詞法、句法、語(yǔ)義以及其他相關(guān)特征(如編輯距離、BM25等)來(lái)表示問(wèn)題與候選答案之間的匹配關(guān)系,并使用分類(lèi)器的分類(lèi)置信度作為答案的置信度。例如IBMWaston中使用的答案融合和特征排序方法[15],以及基于關(guān)系主題空間特征的多核SVM分類(lèi)方法[16]。近幾年,基于自然語(yǔ)言處理的問(wèn)答匹配驗證通常是使用句子的淺層分析獲得句子的淺層句法語(yǔ)法信息,然后將問(wèn)句與答案的句法樹(shù)(短語(yǔ)句法樹(shù)或依存句法樹(shù))進(jìn)行相似性計算[17-20]。然而,問(wèn)答系統的答案正確性更需滿(mǎn)足問(wèn)題和答案之間的語(yǔ)義匹配,比如問(wèn)“蘋(píng)果6splus最新活動(dòng)價(jià)多少”,如果回答“紅富士蘋(píng)果降到了12元”,就屬于所答非所問(wèn)。常用的方法是通過(guò)引入諸如語(yǔ)義詞典(WordNet),語(yǔ)義知識庫(Freebase)等外部語(yǔ)義資源進(jìn)行問(wèn)答語(yǔ)義匹配建模[21-23],以此提高問(wèn)句答案間的語(yǔ)義匹配計算性能。
傳統問(wèn)答系統中構建的機器學(xué)習模型基本屬于淺層模型。譬如,問(wèn)句分類(lèi)過(guò)程中常用的基于支持向量機(SVM)的分類(lèi)模型[24],答案抽取使用的基于條件隨機場(chǎng)(CRF)的序列標注模型[25],以及候選答案驗證過(guò)程中使用的基于邏輯回歸(LR)的問(wèn)答匹配模型[26]等。這種基于淺層模型研發(fā)的問(wèn)答系統往往存在人工依賴(lài)性高,并且缺少對不同領(lǐng)域數據處理的泛化能力。人工依賴(lài)性主要表現在淺層模型的特征工程上,由于淺層模型缺乏對數據的表示學(xué)習的能力,于是在面對不同領(lǐng)域的問(wèn)答數據以及不同的問(wèn)答任務(wù)的情況下,研究人員不得不進(jìn)行針對性的數據標注,并且需要依據研究人員的觀(guān)察和經(jīng)驗來(lái)提取模型所需的有效特征,這也就造成了此類(lèi)問(wèn)答系統可移植性低的結果。
3、基于深度學(xué)習的相關(guān)問(wèn)答技術(shù)
近年來(lái),深度神經(jīng)網(wǎng)絡(luò )在諸如圖像分類(lèi)、語(yǔ)音識別等任務(wù)上被深入探索并取得了突出的效果,表現出了優(yōu)異的表示學(xué)習能力。與此同時(shí),通過(guò)深度神經(jīng)網(wǎng)絡(luò )對語(yǔ)言學(xué)習表示已逐漸成為一個(gè)新的研究趨勢。然而,由于人類(lèi)語(yǔ)言的靈活多變以及語(yǔ)義信息的復雜抽象,使得深度神經(jīng)網(wǎng)絡(luò )模型在語(yǔ)言表示學(xué)習上的應用面臨比在圖像、語(yǔ)音更大的挑戰。其一,相比于語(yǔ)音和圖像,語(yǔ)言是非自然信號,完全是人類(lèi)文明進(jìn)程中,由大腦產(chǎn)生和處理的符號系統,是人類(lèi)文明智慧的高度體現。語(yǔ)言的變化性和靈活度遠遠超過(guò)圖像和語(yǔ)音信號。其二,圖像和語(yǔ)音具有明確的數學(xué)表示,例如灰度圖像為數學(xué)上的數值矩陣,而且其表示的最小粒度元素都有確定的物理意義,圖像像素的每個(gè)點(diǎn)的值表示一定的灰度色彩值。相比而言,以往的詞袋表示方法會(huì )導致語(yǔ)言表示存在維數災難、高度稀疏以及語(yǔ)義信息損失的問(wèn)題。
當前,研究人員越來(lái)越對深度學(xué)習模型在NLP領(lǐng)域的應用感興趣,其主要集中在對詞語(yǔ)、句子和篇章的表示學(xué)習以及相關(guān)應用。例如,Bengio等使用神經(jīng)網(wǎng)絡(luò )模型得到一種名為詞嵌入(WordEmbedding)或詞向量的新型向量表示[27],這種向量是一種低維、稠密、連續的向量表示,同時(shí)包含了詞的語(yǔ)義以及語(yǔ)法信息。當前,基于神經(jīng)網(wǎng)絡(luò )的自然語(yǔ)言處理方法大都是基于詞向量的表示基礎上進(jìn)行的。在此基礎上,相關(guān)研究人員設計深度神經(jīng)網(wǎng)絡(luò )模型學(xué)習句子的向量表示,相關(guān)工作包括遞歸神經(jīng)網(wǎng)絡(luò )(Recursive Neural Network)、循環(huán)神經(jīng)網(wǎng)絡(luò )(Recurrent Neural Network,RNN)、卷積神經(jīng)網(wǎng)絡(luò )(Convolutional Neural Network,CNN)的句子建模[28-30]。句子表示被應用于大量的自然語(yǔ)言處理任務(wù)上,并在一些任務(wù)上取得了較為突出的效果。例如機器翻譯[31,32]、情感分析等[33,34]。從句子的表示到篇章的表示學(xué)習仍然較為困難,相關(guān)工作也較少,比較有代表性是Li等人通過(guò)層次循環(huán)神經(jīng)網(wǎng)絡(luò )對篇章進(jìn)行編碼,然后通過(guò)層次循環(huán)神經(jīng)網(wǎng)絡(luò )進(jìn)行解碼,從而實(shí)現對篇章的表示[35]。然而,NLP領(lǐng)域涵蓋了不同性質(zhì),不同層次的具體問(wèn)題,這就需要針對不同問(wèn)題的特點(diǎn),設計深度模型學(xué)習到任務(wù)特定的本質(zhì)特征。
問(wèn)答領(lǐng)域所需解決的兩個(gè)關(guān)鍵問(wèn)題:一是如何實(shí)現問(wèn)句及答案的語(yǔ)義表示。無(wú)論是對于用戶(hù)提問(wèn)的理解,還是答案的抽取驗證,都需抽象出問(wèn)題和答案的本質(zhì)信息的表示。這不僅需要表示問(wèn)答語(yǔ)句的句法語(yǔ)法信息,更需表示問(wèn)句及答案在語(yǔ)義層面上的用戶(hù)意圖信息和語(yǔ)義層匹配信息。二是如何實(shí)現問(wèn)句答案間的語(yǔ)義匹配。為了保證反饋用戶(hù)提問(wèn)的答案滿(mǎn)足嚴格語(yǔ)義匹配,系統必須合理利用語(yǔ)句高層抽象的語(yǔ)義表示去捕捉到兩個(gè)文本之間關(guān)鍵而細致的語(yǔ)義匹配模式。鑒于近幾年卷積神經(jīng)網(wǎng)絡(luò )(CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò )(RNN)在NLP領(lǐng)域任務(wù)中表現出來(lái)的語(yǔ)言表示能力,越來(lái)越多的研究人員嘗試深度學(xué)習的方法完成問(wèn)答領(lǐng)域的關(guān)鍵任務(wù)。例如問(wèn)題分類(lèi)(question classification),答案選擇(answerselection),答案自動(dòng)生成(answer generation)。此外,互聯(lián)網(wǎng)用戶(hù)為了交流信息而產(chǎn)生的大規模諸如微博回復、社區問(wèn)答對的自然標注數據[50],給訓練深度神經(jīng)網(wǎng)絡(luò )模型提供了可靠的數據資源,并很大程度上解決自動(dòng)問(wèn)答研究領(lǐng)域的數據匱乏問(wèn)題。
接下來(lái)內容安排:首先,分別介紹基于CNN和RNN的問(wèn)答語(yǔ)句的語(yǔ)義表示方法;然后,介紹基于DCNN的兩種語(yǔ)義匹配架構;最后,介紹基于RNN的答案自動(dòng)生成方法。
3.1基于深度神經(jīng)網(wǎng)絡(luò )的語(yǔ)義表示方法
3.1.1基于卷積神經(jīng)網(wǎng)絡(luò )(CNN)的語(yǔ)義表示方法
基于CNN的語(yǔ)義表示學(xué)習是通過(guò)CNN對句子進(jìn)行掃描,抽取特征,選擇特征,最后組合成句子的表示向量。首先從左到右用一個(gè)滑動(dòng)窗口對句子進(jìn)行掃描,每個(gè)滑動(dòng)窗口內有多個(gè)單詞,每個(gè)單詞由一個(gè)向量表示。在滑動(dòng)窗口內,通過(guò)卷積(convolution)操作,進(jìn)行特征抽取。這樣,在各個(gè)位置上得到一系列特征。之后再通過(guò)最大池化(maxpooling)操作,對特征進(jìn)行選擇。重復以上操作多次,得到多個(gè)向量表示,將這些向量連接起來(lái)得到整個(gè)句子的語(yǔ)義表示。如圖3.1所示,基于CNN的句子建模的輸入是詞向量矩陣,矩陣的每一行的多個(gè)點(diǎn)的值在一起才有明確的物理意義,其代表句子中對應的一個(gè)詞。詞向量矩陣是通過(guò)將句子中的詞轉換為對應的詞向量,然后按照詞的順序排列得到。該模型通過(guò)多層交疊的卷積和最大池化操作,最終將句子表示為一個(gè)固定長(cháng)度的向量。該架構可以通過(guò)在模型頂層增加一個(gè)分類(lèi)器用于多種有監督的自然語(yǔ)言處理任務(wù)上。

圖3.1基于CNN的句子建模
基于CNN的句子建模可以表現為具有局部選擇功能的“組合算子”,隨著(zhù)模型層次的不斷加深,模型得到的表示輸出能夠覆蓋的句內詞的范圍越廣,最后通過(guò)多層的運算得到固定維度的句子表示向量。該過(guò)程的功能與“遞歸自動(dòng)編碼”的循環(huán)操作機制[33]具有一定的功能類(lèi)似。對于只使用了一層卷積操作和一層全局最大池化操作的句子建模,稱(chēng)之為淺層卷積神經(jīng)網(wǎng)絡(luò )模型,這種模型被廣泛應用于自然語(yǔ)言處理中句子級分類(lèi)任務(wù)上,如句子分類(lèi)[36],關(guān)系分類(lèi)[37]。但是,淺層的卷積神經(jīng)網(wǎng)絡(luò )模型不能對句子中復雜的局部語(yǔ)義關(guān)系進(jìn)行建模,也不能對句子中深層次的語(yǔ)義組合進(jìn)行很好的表示,并且全局最大池化操作丟失了句子中的詞序特征,所以淺層的卷積網(wǎng)絡(luò )模型只能對語(yǔ)句間的局部特征匹配進(jìn)行建模。面對問(wèn)答中復雜多樣化的自然語(yǔ)言表示形式(如多語(yǔ)同現,異構信息,表情符號等),問(wèn)答匹配模型[38-40]往往使用深層卷積神經(jīng)網(wǎng)絡(luò )(DCNN)來(lái)完成問(wèn)句和答案的句子建模,并將高層輸出的問(wèn)答語(yǔ)義表示傳遞給多層感知器(MLP)進(jìn)行問(wèn)答匹配。
面對開(kāi)放領(lǐng)域中的關(guān)系性推理問(wèn)題,例如“微軟公司的創(chuàng )始人是誰(shuí)?”,往往通過(guò)引入外部語(yǔ)義知識推理得到問(wèn)題的答案,此時(shí)單一的句子建模很難實(shí)現邏輯關(guān)系的語(yǔ)義表示。通常先需要對問(wèn)題進(jìn)行語(yǔ)義解析(SemanticParse),然后針對問(wèn)句實(shí)體、實(shí)體關(guān)系等不同類(lèi)型的語(yǔ)義信息進(jìn)行表示學(xué)習。Yih將關(guān)系性問(wèn)題拆分成實(shí)體集合和關(guān)系模板[41],其中實(shí)體集合為問(wèn)題中連續詞語(yǔ)的子序列,關(guān)系模板為問(wèn)句實(shí)體被特殊符號替換后的句子,針對實(shí)體集合和關(guān)系模板分別使用CNN進(jìn)行句子建模,從而實(shí)現問(wèn)句在實(shí)體及關(guān)系兩個(gè)層面上的語(yǔ)義表示。Dong提出多欄(Multi-Column)卷積神經(jīng)網(wǎng)絡(luò )模型[42]對關(guān)系推理性問(wèn)題進(jìn)行不同層面(詞語(yǔ)表達層、實(shí)體關(guān)系層、語(yǔ)境信息層)的語(yǔ)義表示學(xué)習,并實(shí)現從關(guān)系知識庫中抽取候選答案的多層面語(yǔ)義信息,最后與候選答案進(jìn)行多層次匹配打分。
3.1.2基于循環(huán)神經(jīng)網(wǎng)絡(luò )(RNN)的語(yǔ)義表示方法
基于RNN的句子建模是把一句話(huà)看成單詞的序列,每個(gè)單詞由一個(gè)向量表示,每一個(gè)位置上有一個(gè)中間表示,由向量組成,表示從句首到這個(gè)位置的語(yǔ)義。這里假設,每一個(gè)位置的中間表示由當前位置的單詞向量以及前一個(gè)位置的中間表示決定,通過(guò)一個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò )模型化。RNN把句末的中間表示當作整個(gè)句子的語(yǔ)義表示,如圖3.2所示。

圖3.2基于RNN的語(yǔ)句建模
RNN與隱馬爾可夫模型有相似的結構,但是具有更強的表達能力,中間表示沒(méi)有馬爾可夫假設,而且模型是非線(xiàn)性的。然而,隨著(zhù)序列長(cháng)度的增加,RNN在訓練的過(guò)程中存在梯度消失(Vanishinggradientproblem)的問(wèn)題[43]。為了解決這個(gè)問(wèn)題,研究人員對循環(huán)神經(jīng)網(wǎng)絡(luò )中的循環(huán)計算單元進(jìn)行改善設計,提出了不同的變形,如常用的長(cháng)短記憶(LongShortTermMemory,LSTM)[44,45]和門(mén)控循環(huán)單元(GatedRecurrentUnit,GRU)[56]。這兩種RNN可以處理遠距離依存關(guān)系,能夠更好地表示整句的語(yǔ)義。Wang和Nyberg[47]通過(guò)雙向LSTM學(xué)習問(wèn)題答案對的語(yǔ)義表示,并將得到的表示輸入到分類(lèi)器計算分類(lèi)置信度。
此外,對于近幾年的看圖回答的任務(wù)(ImageQA),研究人員通過(guò)整合CNN和RNN完成問(wèn)題的圖像場(chǎng)景下的語(yǔ)義表示學(xué)習。基本想法:模型在RNN對問(wèn)句進(jìn)行詞語(yǔ)序列掃描的過(guò)程中,使用基于深度學(xué)習的聯(lián)合學(xué)習機制完成“圖文并茂”的聯(lián)合學(xué)習,從而實(shí)現圖像場(chǎng)景下的問(wèn)句建模,用于最終的問(wèn)答匹配。例如,Malinowski等人[48]提出的學(xué)習模型在RNN遍歷問(wèn)句詞語(yǔ)的過(guò)程中,直接將CNN得到的圖像表示與當前詞語(yǔ)位置的詞向量作為RNN學(xué)習當前中間表示的輸入信息,從而實(shí)現圖像與問(wèn)句的聯(lián)合學(xué)習。相比之下,Gao等人[49]則是先用RNN完成問(wèn)題的句子建模,然后在答案生成的過(guò)程中,將問(wèn)句的語(yǔ)義表示向量和CNN得到的圖像表示向量都作為生成答案的場(chǎng)景信息。
3.2基于DCNN的語(yǔ)義匹配架構
問(wèn)答系統中的語(yǔ)義匹配涉及到主要功能模塊包括:問(wèn)句檢索,即問(wèn)句的復述檢測(paraphrase);答案抽取,即問(wèn)句與候選文本語(yǔ)句的匹配計算;答案置信度排序,即問(wèn)題與候選答案間的語(yǔ)義匹配打分。
3.2.1并列匹配架構
第一種基于DCNN的語(yǔ)義匹配架構為并列匹配[38-40]架構。這種架構的匹配模型分別將兩句話(huà)輸入到兩個(gè)CNN句子模型,可以得到它們的語(yǔ)義表示(實(shí)數值向量)。之后,再將這兩個(gè)語(yǔ)義表示輸入到一個(gè)多層神經(jīng)網(wǎng)絡(luò ),判斷兩句話(huà)語(yǔ)義的匹配程度,從而判斷給定的兩句話(huà)和是否可以成為一對句子匹配對(問(wèn)答對)。這就是基于DCNN的并列語(yǔ)義匹配模型的基本想法。如果有大量的信息和回復對的數據,就可以訓練這個(gè)模型。

圖3.3基于DCNN的并列匹配架構
從圖3.3所示的并列匹配架構可以看出,這種匹配模型的特點(diǎn)是兩個(gè)句子的表示分別通過(guò)兩個(gè)獨立的卷積神經(jīng)網(wǎng)絡(luò )(CNN)得到,在得到它們各自的表示之前,兩個(gè)句子間的信息互不影響。這種模型是對兩個(gè)需要匹配的句子從全局語(yǔ)義上進(jìn)行匹配,但是忽略了兩個(gè)句子間更為精細的局部匹配特征。然而,在語(yǔ)句匹配的相關(guān)問(wèn)題中,兩個(gè)待匹配的句子中往往存在相互間的局部匹配,例如問(wèn)題答案對:
Sx:好餓啊,今天去哪里吃飯呢。
Sy:聽(tīng)說(shuō)肯德基最近出了新品,要不要去嘗嘗。
在這一問(wèn)答對中,“吃飯”和“肯德基”之間具有較強的相關(guān)性匹配關(guān)系,而并列匹配則是對句子兩個(gè)句子全局的表示上進(jìn)行匹配,在得到整個(gè)句子的表示之前,“吃飯”和“肯德基”之間并不會(huì )互相影響,然而,隨著(zhù)深度卷積句子模型對句子的表示層次不斷深入,而句子中的細節信息會(huì )部分丟失,而更關(guān)注整個(gè)句子的整體語(yǔ)義信息。
3.2.2交互匹配架構
第二種基于DCNN的語(yǔ)義匹配架構為交互匹配[39]架構。與并列匹配不同,交互匹配的基本想法是直接對兩個(gè)句子的匹配模式進(jìn)行學(xué)習,在模型的不同深度對兩個(gè)句子間不同粒度的局部之間進(jìn)行交互,學(xué)習得到句子匹配在不同層次上的表示,最終得到句子對固定維度的匹配表示,并對匹配表示進(jìn)行打分。

圖3.4基于DCNN的交互匹配架構
如圖3.4所示,交互匹配架構在第一層通過(guò)兩個(gè)句子間的滑動(dòng)窗口的卷積匹配操作直接得到了兩個(gè)句子間較為底層的局部匹配表示,并且在后續的高層學(xué)習中采用類(lèi)似于圖像領(lǐng)域處理過(guò)程中的二維卷積操作和二維局部最大池化操作,從而學(xué)到問(wèn)句與答案句子之間的高層匹配表示。通過(guò)這種形式,使得匹配模型既能對兩個(gè)句子的局部之間的匹配關(guān)系進(jìn)行豐富建模,也使模型能夠對每個(gè)句子內的信息進(jìn)行建模。很顯然,交互匹配學(xué)習得到的結果向量不僅包含來(lái)自?xún)蓚(gè)句子的滑動(dòng)窗口的位置信息,同時(shí)具有兩個(gè)滑動(dòng)窗口的匹配表示。
對于問(wèn)答的語(yǔ)義匹配,交互匹配可以充分考慮到問(wèn)句與答案間的內部匹配關(guān)系,并通過(guò)二維的卷積操作與二維局部最大池化操作學(xué)習得到問(wèn)句與答案間的匹配表示向量。在整個(gè)過(guò)程中,交互匹配更為關(guān)注句子間的匹配關(guān)系,對兩個(gè)句子進(jìn)行更為細致的匹配。
相比于并列匹配,交互匹配不僅考慮到單個(gè)句子中滑動(dòng)窗口內的詞的組合質(zhì)量,而且同時(shí)考慮到來(lái)自?xún)蓚(gè)句子組合間的匹配關(guān)系的質(zhì)量。并列匹配的優(yōu)勢在于匹配過(guò)程中可以很好的保持兩個(gè)句子各自的詞序信息,因為并列匹配是分別對兩個(gè)句子在順序的滑動(dòng)窗口上進(jìn)行建模。相對而言,交互匹配的問(wèn)答匹配過(guò)程是學(xué)習語(yǔ)句間局部信息的交互模式。此外,由于交互匹配的局部卷積運算和局部最大池化操作都不改變兩個(gè)句子的局部匹配表示的整體順序,所以交互匹配模型同樣可以保持問(wèn)句與答案的詞序信息。總之,交互匹配通過(guò)對問(wèn)句與答案的匹配模式進(jìn)行建模,可以學(xué)習到兩個(gè)句子間的局部匹配模式,而這種匹配模式在正常順序的句子中具備很大的學(xué)習價(jià)值。
3.3基于RNN的答案自動(dòng)生成方法
與基于檢索式的回復機制對比而言,基于生成式的答案反饋機制是根據當前用戶(hù)輸入信息自動(dòng)生成由詞語(yǔ)序列組成的答案,而非通過(guò)檢索知識庫中用戶(hù)編輯產(chǎn)生答案語(yǔ)句。這種機制主要是利用大量交互數據對構建自然語(yǔ)言生成模型,給定一個(gè)信息,系統能夠自動(dòng)生成一個(gè)自然語(yǔ)言表示的回復。其中的關(guān)鍵問(wèn)題是如何實(shí)現這個(gè)語(yǔ)言生成模型。
答案自動(dòng)生成需要解決兩個(gè)重要問(wèn)題,其一是句子表示,其二是語(yǔ)言生成。近年來(lái),循環(huán)神經(jīng)網(wǎng)絡(luò )在語(yǔ)言的表示以及生成方面都表現出了優(yōu)異的性能,尤其是基于循環(huán)神經(jīng)網(wǎng)絡(luò )的編碼-解碼架構在機器翻譯[31,32]和自動(dòng)文摘[51]任務(wù)上取得了突破。Shang[52]等人基于CRU(Gated Recurrent Unit,GRU)[46]循環(huán)神經(jīng)網(wǎng)絡(luò )的編碼-解碼框架,提出了完全基于神經(jīng)網(wǎng)絡(luò )的對話(huà)模型“神經(jīng)響應機”(Neura lResponding Machine,NRM),該模型用于實(shí)現人機之間的單輪對話(huà)(single-turndialog)。NRM是從大規模的信息對(問(wèn)題-答案對,微博-回復對)學(xué)習人的回復模式,并將學(xué)到的模式存于系統的近四百萬(wàn)的模型參數中,即學(xué)習得到一個(gè)自然語(yǔ)言生成模型。
如圖3.5所示,NRM的基本想法是將輸入的一句話(huà)看作一個(gè)單詞表示的序列,通過(guò)編碼器(Encoder),即一個(gè)RNN模型,將轉換成一個(gè)中間表示的序列,再通過(guò)解碼器(Decoder),是另一個(gè)RNN模型,將轉換成一個(gè)單詞的系列,作為一句話(huà)輸出。由于NRM在編碼部分采用一種混合機制,從而使編碼得到中間表示的序列不僅能夠實(shí)現用戶(hù)語(yǔ)句信息的整體把握,同時(shí)還能充分保留句子的細節信息。并且在解碼部分采用了注意力(attention)機制[31],從而使生成模型可以相對容易的掌握問(wèn)答過(guò)程中的復雜交互模式。[52]中的實(shí)驗結果表明基于生成式的問(wèn)答機制與基于檢索式的答案反饋機制各具特點(diǎn):在表達形式個(gè)性化的微博數據上,生成式比檢索式的準確率會(huì )高一些,檢索系統的準確率是70%,生成系統的準確率是76%。但是,生成式得到的答案會(huì )出現語(yǔ)法不通,連貫性差的問(wèn)題,而檢索式的答案來(lái)源于真實(shí)的微博用戶(hù)編輯,所以語(yǔ)句的表述更為合理可靠。

圖3.5基于編碼-解碼結構的答案生成模型
目前,NRM以及Google的Neural Conversational Model(NCM)[53]主要還是在對復雜語(yǔ)言模式記憶和組合上層面上實(shí)現語(yǔ)言生成,尚無(wú)法在交互過(guò)程使用外界的知識。例如,在對“五一期間杭州西湖相比去年怎么樣嗎?”這樣的句子,無(wú)法給出真實(shí)的狀況(旅游人數的對比結果)相關(guān)的回復。雖然如此,但是NRM和NCM的真正意義在于初步實(shí)現了類(lèi)人的語(yǔ)言自動(dòng)反饋,因為此前的近幾十年,研究人員不懈努力而生成的問(wèn)答或對話(huà)系統(dialogue model),大都是基于規則和模板,或者是在一個(gè)較大的數據庫中進(jìn)行搜索,而這種兩種方式并非真正的產(chǎn)生反饋,并且缺乏有效的語(yǔ)言理解和表示。這往往是由于模板/例子的數量和表示的局限性,這些方式在準確性和靈活性上都存在一定不足,很難兼顧語(yǔ)言的自然通順和語(yǔ)義內容上的匹配。
4、結語(yǔ)
本文簡(jiǎn)單介紹了問(wèn)答系統的發(fā)展歷程、基本體系結構。并針對問(wèn)答系統所需解決的關(guān)鍵問(wèn)題,介紹了基于深度神經(jīng)網(wǎng)絡(luò )的語(yǔ)義表示方法,不同匹配架構的語(yǔ)義匹配模型,以及答案生成模型。當前深度學(xué)習在解決問(wèn)答領(lǐng)域中的關(guān)鍵問(wèn)題取得了不錯的效果,但是問(wèn)答系統的技術(shù)研究仍然存在有待解決問(wèn)題,比如,如何理解連續交互問(wèn)答場(chǎng)景下的用戶(hù)提問(wèn),例如與Siri系統交互中的語(yǔ)言理解。以及如何學(xué)習外部語(yǔ)義知識,使問(wèn)答系統能夠進(jìn)行簡(jiǎn)單知識推理回復關(guān)系推理性問(wèn)題,例如“胸悶總咳嗽,上醫院應該掛什么科”。再者,隨著(zhù)最近注意(attention)機制、記憶網(wǎng)絡(luò )(Memory Network)[54,55]在自然語(yǔ)言理解,知識推理上的研究推廣,這也必將給自動(dòng)問(wèn)答的研究提供的新的發(fā)展方向和契機。