劉昀抒,申彥明,齊恒,尹寶才
(1.大連理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,遼寧大連 116024;2.北京工業(yè)大學(xué)人工智能與自動(dòng)化學(xué)院, 北京 100124)
問(wèn)答系統(tǒng)是自然語(yǔ)言處理領(lǐng)域的主要研究?jī)?nèi)容之一,旨在利用計(jì)算機(jī)自動(dòng)回答用戶所提出的問(wèn)題以滿足用戶對(duì)知識(shí)的需求[1]。隨著知識(shí)圖譜的發(fā)展,基于知識(shí)圖譜的問(wèn)答(KBQA)系統(tǒng)開(kāi)始受到廣泛關(guān)注?;谥R(shí)圖譜的問(wèn)答系統(tǒng)以知識(shí)圖譜為數(shù)據(jù)來(lái)源,通過(guò)分析用戶自然語(yǔ)言問(wèn)題的語(yǔ)義,在已經(jīng)構(gòu)建的結(jié)構(gòu)化知識(shí)圖譜中通過(guò)檢索、匹配或推理等手段來(lái)獲取正確答案。主流的知識(shí)圖譜問(wèn)答系統(tǒng)方法主要分為兩類(lèi),即基于語(yǔ)義解析(SP)的方法和基于信息檢索(IR)的方法。
知識(shí)圖譜問(wèn)答中的問(wèn)題按照復(fù)雜程度可以分為簡(jiǎn)單問(wèn)題與復(fù)雜問(wèn)題。簡(jiǎn)單問(wèn)題通過(guò)單個(gè)三元組就可以解答,而復(fù)雜問(wèn)題意味著涉及多個(gè)三元組,具有更復(fù)雜的查詢(xún)類(lèi)型和組合語(yǔ)義。例如在多跳問(wèn)題中,若一個(gè)問(wèn)題從主語(yǔ)實(shí)體出發(fā),經(jīng)過(guò)n條三元組到達(dá)答案所在的實(shí)體,就稱(chēng)該問(wèn)題為n跳問(wèn)題,對(duì)該問(wèn)題進(jìn)行回答的過(guò)程稱(chēng)為n跳問(wèn)答[2]。目前,對(duì)簡(jiǎn)單問(wèn)題的研究已經(jīng)很充分[3-5],越來(lái)越多的研究人員開(kāi)始關(guān)注復(fù)雜問(wèn)題[6-8]。基于語(yǔ)義解析的方法需要將問(wèn)句精確地轉(zhuǎn)化為邏輯表達(dá)式或者查詢(xún)圖,復(fù)雜的問(wèn)句提高了精確解析的難度,并且問(wèn)句所對(duì)應(yīng)的候選邏輯形式更多,大幅增加了計(jì)算成本和解析難度。傳統(tǒng)的基于信息檢索的方法通過(guò)計(jì)算問(wèn)句和候選答案實(shí)體的語(yǔ)義相似度分?jǐn)?shù),中間的過(guò)程不易解釋。由此,出現(xiàn)了對(duì)知識(shí)圖譜多跳推理的研究。本文主要研究基于信息檢索方法的多跳推理任務(wù),在該方法中,多跳推理模型模擬圖神經(jīng)網(wǎng)絡(luò)消息傳遞的過(guò)程,通過(guò)在知識(shí)圖譜中逐步地推理來(lái)更新候選實(shí)體的狀態(tài)。因此,多跳推理模型可以追溯到中間的推理過(guò)程,得到推理關(guān)系鏈。
然而,以往的基于信息檢索的方法忽略了推理關(guān)系鏈的關(guān)系順序問(wèn)題。當(dāng)用戶輸入的問(wèn)題為復(fù)雜問(wèn)題時(shí),問(wèn)句中將存在多個(gè)推理關(guān)系和多個(gè)隱藏的中間實(shí)體。對(duì)于多跳推理模型來(lái)說(shuō),每個(gè)推理步所偏向的關(guān)系都是至關(guān)重要的,錯(cuò)誤的關(guān)系順序?qū)?dǎo)致錯(cuò)誤的推理結(jié)果,在特殊情況下,即使得到了正確的答案,也無(wú)法得到正確的推理路徑。一些模型通過(guò)抽取答案關(guān)系路徑來(lái)關(guān)注這個(gè)問(wèn)題,如Rce-KGQA[9],然而從主題實(shí)體到答案實(shí)體的最短路徑不一定是正確的推理路徑。例如,問(wèn)題“What organization did the wife of[Bill Gates]found?”的主題實(shí)體為Bill Gates,答案實(shí)體為Bill &Melinda Gates Foundation,在知識(shí)圖譜中從主題實(shí)體出發(fā)有2 條路徑可以到達(dá)答案實(shí)體節(jié)點(diǎn),第1 條路徑為“Bill Gates→founder→Bill &Melinda Gates Foundation”,第2 條路徑為“Bill Gates→spouse→Melinda Gates→founder→ Bill&Melinda Gates Foundation”。顯然,第2 條路徑是正確的推理過(guò)程。有模型[10-12]通過(guò)循環(huán)神經(jīng)網(wǎng)絡(luò)和注意力機(jī)制關(guān)注到問(wèn)句中不同的部分,但是這種機(jī)制所派生出的一系列推理指令可能是以不正確的順序來(lái)匹配知識(shí)圖譜中的關(guān)系。例如,問(wèn)題“Who acted in the movies directed by the director [Mel Gibson]?”,該問(wèn)題中正確的關(guān)系鏈為“Mel Gibson→directed_by→?→starred_actors→?”,如果“directed_by”和“starred_actors”的關(guān)系順序錯(cuò)誤,將會(huì)導(dǎo)致錯(cuò)誤的答案,如推理路徑“Mel Gibson→starred_actors→The Expendables→directed_by→Patrick Hughes”。
針對(duì)上述問(wèn)題,本文提出一種基于層次結(jié)構(gòu)圖的知識(shí)圖譜多跳問(wèn)答模型(HSG-KBQA),該模型分為問(wèn)題嵌入模塊、圖池化模塊、推理模塊這3 個(gè)模塊。為了緩解關(guān)系順序問(wèn)題,本文設(shè)計(jì)問(wèn)題嵌入模塊,為問(wèn)句構(gòu)造層次結(jié)構(gòu)圖,層次結(jié)構(gòu)圖是一種由依存句法樹(shù)構(gòu)造的圖,圖的結(jié)構(gòu)信息能夠幫助理解復(fù)雜的語(yǔ)義,捕獲問(wèn)句中詞語(yǔ)與主題實(shí)體間的層次距離,進(jìn)而顯式地體現(xiàn)推理關(guān)系鏈的關(guān)系順序,充分利用語(yǔ)義信息逐跳推理,加強(qiáng)信息檢索方法的可解釋性。同時(shí),提出虛擬節(jié)點(diǎn)的概念,使用圖池化技術(shù)獲取當(dāng)前推理步圖譜的虛擬節(jié)點(diǎn),用于生成下一步推理指令,使推理指令既包含問(wèn)句語(yǔ)義信息,又與知識(shí)圖譜中的推理狀態(tài)緊密相關(guān)。最后,利用基于圖神經(jīng)網(wǎng)絡(luò)的推理模型在知識(shí)圖譜上進(jìn)行多跳推理。為了評(píng)估所提模型的性能,在大規(guī)模數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),驗(yàn)證模型在多跳問(wèn)答任務(wù)中的有效性。本文主要工作如下:
1)提出一種基于層次結(jié)構(gòu)圖的知識(shí)圖譜多跳問(wèn)答模型HSG-KBQA,該模型通過(guò)構(gòu)造層次結(jié)構(gòu)圖來(lái)關(guān)注推理過(guò)程中的關(guān)系順序問(wèn)題,從而加強(qiáng)多跳推理的可解釋性。
2)使用雙向圖神經(jīng)網(wǎng)絡(luò)將問(wèn)句的語(yǔ)義和結(jié)構(gòu)信息融入問(wèn)句嵌入,多角度理解復(fù)雜語(yǔ)義。本文模型提出虛擬節(jié)點(diǎn)的概念,使得推理指令能夠融合知識(shí)圖譜的當(dāng)前狀態(tài),對(duì)下一步推理進(jìn)行正確指導(dǎo),并且在實(shí)驗(yàn)中驗(yàn)證了虛擬節(jié)點(diǎn)的可行性。
3)在WebQuestionsSP 和PathQuestions 數(shù)據(jù)集上驗(yàn)證基于層次結(jié)構(gòu)圖的知識(shí)圖譜多跳問(wèn)答模型的有效性,表明該模型通過(guò)關(guān)注每個(gè)推理步應(yīng)偏向的關(guān)系而提升了問(wèn)答的準(zhǔn)確率。
基于語(yǔ)義解析的方法[13-16]首先對(duì)問(wèn)句進(jìn)行語(yǔ)義解析,將問(wèn)題轉(zhuǎn)化為某種邏輯形式,然后將邏輯形式轉(zhuǎn)化為能夠在知識(shí)圖譜上運(yùn)行的查詢(xún)語(yǔ)句,如SPARQL,最后通過(guò)執(zhí)行查詢(xún)語(yǔ)句來(lái)獲取答案。
傳統(tǒng)的語(yǔ)義解析方法主要依賴(lài)規(guī)則模板對(duì)自然語(yǔ)言問(wèn)句進(jìn)行解析。隨后,文獻(xiàn)[13]提出了基于查詢(xún)圖的知識(shí)圖譜問(wèn)答框架STAGG,該框架通過(guò)定義一系列的狀態(tài)和行為,將語(yǔ)義解析過(guò)程轉(zhuǎn)換為查詢(xún)圖的生成過(guò)程,通過(guò)LambdaRank 算法對(duì)候選查詢(xún)圖進(jìn)行排序,進(jìn)而選出最佳答案。后續(xù)很多工作都在此之上對(duì)查詢(xún)圖的生成過(guò)程進(jìn)行改進(jìn)?;谡Z(yǔ)義解析的方法在回答多跳問(wèn)題時(shí),著重解決理解復(fù)雜語(yǔ)義的問(wèn)題,利用句法標(biāo)注、定義更多的運(yùn)算符來(lái)生成結(jié)構(gòu)更復(fù)雜的邏輯形式。文獻(xiàn)[15]提出一種新型的骨架句法分析模型,通過(guò)不斷地拆分問(wèn)句,抽取復(fù)雜問(wèn)句的主干,進(jìn)而更準(zhǔn)確地理解長(zhǎng)且難的問(wèn)句。文獻(xiàn)[16]引入抽象語(yǔ)義表示(AMR),更好地實(shí)現(xiàn)了問(wèn)題與邏輯表達(dá)式中元素(如實(shí)體、關(guān)系、屬性和類(lèi)型)的對(duì)齊。
基于語(yǔ)義解析的方法能夠反映問(wèn)題語(yǔ)義結(jié)構(gòu),緊密結(jié)合知識(shí)圖譜信息,但是,由于語(yǔ)義解析需要復(fù)雜的推理過(guò)程以及大量的手工規(guī)則特征,因此基于語(yǔ)義解析的方法實(shí)現(xiàn)起來(lái)很有難度[17]。
基于信息檢索的方法[18-19]通常抽取特定于問(wèn)題的子圖作為候選答案實(shí)體集合,并假設(shè)子圖包含正確答案實(shí)體。然后,通過(guò)基于向量的計(jì)算對(duì)候選實(shí)體進(jìn)行評(píng)分和排序,選擇得分最高的候選實(shí)體作為答案。為了能夠在不完整的知識(shí)圖譜上問(wèn)答,文獻(xiàn)[18]提出的GraftNet 模型引入外部文本語(yǔ)料來(lái)豐富知識(shí)圖譜,文獻(xiàn)[19]提出的EmbedKGQA 模型則是引入知識(shí)圖譜嵌入模型ComplEx[20],通過(guò)預(yù)訓(xùn)練的ComplEx模型學(xué)習(xí)實(shí)體和關(guān)系的向量表示以緩解知識(shí)圖譜的稀疏性問(wèn)題。
為了能夠追溯更具解釋性的推理過(guò)程,越來(lái)越多的研究人員開(kāi)始關(guān)注基于知識(shí)圖譜的多跳推理[21-24]。文獻(xiàn)[21]提出KVMem 模型,該模型把知識(shí)圖譜中的三元組以鍵值對(duì)的形式存儲(chǔ)在記憶網(wǎng)絡(luò)中,每次輸出與問(wèn)題相關(guān)性高的三元組,從而模擬多跳推理的過(guò)程。但是,這對(duì)體量龐大的圖譜來(lái)說(shuō)具有一定的挑戰(zhàn),因?yàn)樵撃P托枰鎯?chǔ)大量的鍵值對(duì)。文獻(xiàn)[22]提出一個(gè)可解釋的推理網(wǎng)絡(luò)(IRN),該網(wǎng)絡(luò)在推理過(guò)程中動(dòng)態(tài)地關(guān)注問(wèn)題,并通過(guò)上一跳預(yù)測(cè)的關(guān)系來(lái)更新問(wèn)題嵌入。但是,大多數(shù)的知識(shí)圖譜問(wèn)答數(shù)據(jù)僅包含問(wèn)答對(duì),推理的中間實(shí)體和關(guān)系路徑?jīng)]有標(biāo)注,而IRN 在弱監(jiān)督條件下表現(xiàn)一般,需要中間結(jié)果的指導(dǎo)才能獲取較優(yōu)的結(jié)果。為了緩解這個(gè)問(wèn)題,文獻(xiàn)[23]提出一種基于強(qiáng)化學(xué)習(xí)的逐步推理網(wǎng)絡(luò)模型(SRN),將多關(guān)系問(wèn)題的推理任務(wù)視為一個(gè)順序的決策過(guò)程,并且使用基于潛力的獎(jiǎng)勵(lì)策略激勵(lì)模型進(jìn)行推理。文獻(xiàn)[24]受到圖雙向搜索算法的啟發(fā),設(shè)計(jì)一種基于雙向推理的教師網(wǎng)絡(luò)框架,該教師網(wǎng)絡(luò)通過(guò)雙向推理學(xué)習(xí)中間監(jiān)督信號(hào),從而指導(dǎo)學(xué)生網(wǎng)絡(luò)在弱監(jiān)督條件下進(jìn)行基于圖神經(jīng)網(wǎng)絡(luò)的推理?;趫D神經(jīng)網(wǎng)絡(luò)的知識(shí)推理可以較好地將知識(shí)圖譜的語(yǔ)義信息和結(jié)構(gòu)信息相結(jié)合,尤其是能夠捕捉知識(shí)圖譜的結(jié)構(gòu)信息,在該領(lǐng)域已逐漸成為當(dāng)下主流的研究方法[25]。
給定一個(gè)實(shí)體集合E和關(guān)系集合R,知識(shí)圖譜G是一組三元組集合,表示為G={(h,r,t)} ?E×R×E,其中,r?R表示頭實(shí)體h?E和尾實(shí)體t?E之間的關(guān)系。本文使用ei?Rd和rj?Rd分別表示實(shí)體i和關(guān)系j的嵌入,使用E?Rd× |E|和R?Rd× |R|分別表示知識(shí)圖譜中的實(shí)體和關(guān)系的嵌入矩陣,分別由e和r組成。知識(shí)圖譜問(wèn)答任務(wù)定義為給定一個(gè)自然語(yǔ)言問(wèn)句Q與主題實(shí)體,通過(guò)對(duì)問(wèn)句Q的語(yǔ)義理解,在知識(shí)圖譜G上從主題實(shí)體經(jīng)過(guò)T步推理得到答案實(shí)體集合A?E。
本文提出基于層次結(jié)構(gòu)圖的知識(shí)圖譜多跳問(wèn)答模型HSG-KBQA,其整體結(jié)構(gòu)如圖1 所示。模型輸入為問(wèn)句和知識(shí)圖譜,本文遵從文獻(xiàn)[24]的工作,抽取特定于該問(wèn)句的兩跳內(nèi)的剪枝子圖,用于后續(xù)的推理工作。模型主要包括3 個(gè)部分:
圖1 HSG-KBQA 模型整體框架Fig.1 Overall framework of HSG-KBQA model
1)問(wèn)題嵌入模塊。問(wèn)題嵌入模塊利用依存句法樹(shù)構(gòu)造層次結(jié)構(gòu)圖和層次權(quán)重,并提出基于長(zhǎng)短期記憶(LSTM)網(wǎng)絡(luò)[26]和雙向圖卷積神經(jīng)網(wǎng)絡(luò)(BiGCN)的編碼器,從多維度編碼問(wèn)句,用于為每個(gè)推理步生成推理指令。
2)圖池化模塊。圖池化模塊提出虛擬節(jié)點(diǎn)的概念,利用基于自注意力機(jī)制的雙層圖池化模型得到子圖的虛擬節(jié)點(diǎn),虛擬表示中間實(shí)體節(jié)點(diǎn),用于后續(xù)的推理工作。
3)推理模塊。推理模塊執(zhí)行基于圖神經(jīng)網(wǎng)絡(luò)的推理過(guò)程,該模塊負(fù)責(zé)生成推理指令,然后通過(guò)基于向量的計(jì)算,推理指令引導(dǎo)模型選擇匹配度高的關(guān)系路徑,每次推理后更新候選實(shí)體和子圖的虛擬節(jié)點(diǎn)狀態(tài),重復(fù)多個(gè)推理步后,選擇分?jǐn)?shù)最高的候選答案實(shí)體作為預(yù)測(cè)結(jié)果。
3.1.1 LSTM-BiGCN 編碼器
以往模型常采用LSTM 來(lái)獲取問(wèn)句嵌入,LSTM是一種用于挖掘序列數(shù)據(jù)時(shí)序信息的循環(huán)神經(jīng)網(wǎng)絡(luò),能夠通過(guò)門(mén)控機(jī)制記憶長(zhǎng)距離的序列信息。LSTM 擅長(zhǎng)捕捉句子中詞語(yǔ)從前到后的位置順序特征,但無(wú)法捕獲詞語(yǔ)與主題實(shí)體間的層次距離特征。為了捕獲這種層次特征,本文借助依存句法樹(shù)。依存句法樹(shù)是用于描述詞語(yǔ)之間依存關(guān)系的一種依存句法分析結(jié)果。從圖2(a)可以看出,自然語(yǔ)言問(wèn)句中名詞、謂詞之間的依存關(guān)系與圖譜中的實(shí)體、關(guān)系是相互對(duì)應(yīng)的。利用這一特點(diǎn),本文提出將依存句法樹(shù)轉(zhuǎn)換為層次結(jié)構(gòu)圖的方法,使其能夠體現(xiàn)問(wèn)句中待推理的關(guān)系與主題實(shí)體的層次距離,并利用LSTM-BiGCN 編碼器編碼層次結(jié)構(gòu)圖。
圖2 依存句法樹(shù)和層次結(jié)構(gòu)圖Fig.2 The dependency tree and hierarchical structure graph
在圖2 中,以“who are the directors of movies whose writers also wrote[God’s Little Acre]?”為例,首先構(gòu)建該問(wèn)句的依存句法樹(shù)[圖2(a)],然后以主題實(shí)體“God’s Little Acre”作為第1 層節(jié)點(diǎn),轉(zhuǎn)換樹(shù)的結(jié)構(gòu),形成層次結(jié)構(gòu)圖[圖2(b)],這種圖結(jié)構(gòu)可以反映出句子中其他詞語(yǔ)與主題實(shí)體在依存關(guān)系上的距離。
為了將層次結(jié)構(gòu)圖轉(zhuǎn)換為計(jì)算機(jī)能夠處理的形式,本文在傳統(tǒng)LSTM 編碼器的基礎(chǔ)上增加雙向GCN 模型來(lái)學(xué)習(xí)層次結(jié)構(gòu)圖的嵌入表示,獲取層次結(jié)構(gòu)圖中分詞節(jié)點(diǎn)局部的依存特征。最初的GCN是為無(wú)向圖設(shè)計(jì)的,但考慮到層次結(jié)構(gòu)存在前后方向,本文使用BiGCN[27]編碼層次結(jié)構(gòu)圖,分別學(xué)習(xí)出邊和入邊鄰接節(jié)點(diǎn)的特征,將兩者的特征進(jìn)行拼接作為最終的隱藏狀態(tài)表示,計(jì)算公式如下:
3.1.2 層次權(quán)重
以往模型獲取到問(wèn)句嵌入之后,使用基于注意力機(jī)制的解碼器生成推理指令,希望在學(xué)習(xí)不同推理步的推理指令時(shí)能夠關(guān)注到問(wèn)句的特定部分,這種方式無(wú)法充分地挖掘出問(wèn)句中的關(guān)系鏈順序。為了能夠充分利用問(wèn)句中顯式的關(guān)系鏈,本節(jié)提出層次權(quán)重的概念,用于學(xué)習(xí)能夠體現(xiàn)推理順序的推理指令,使其在每個(gè)推理步關(guān)注正確的關(guān)系。
如圖2(b)所示,層次結(jié)構(gòu)圖能夠體現(xiàn)待推理關(guān)系的層次特點(diǎn),即該圖按照從左到右的順序,符合本文所預(yù)期的正確的推理關(guān)系順序,距離主題實(shí)體較近的關(guān)系應(yīng)在推理前期被關(guān)注,而距離較遠(yuǎn)的關(guān)系則在推理后期更重要。因此,本文為每個(gè)層次的詞語(yǔ)引入層次權(quán)重,計(jì)算公式如下:
其中:i表示層次結(jié)構(gòu)圖中的層數(shù);n為總層數(shù),規(guī)定主題實(shí)體與其后繼節(jié)點(diǎn)屬于第1 層。為了避免重復(fù)推理某一個(gè)關(guān)系,需要將已經(jīng)推理過(guò)的關(guān)系的層次權(quán)重降低,具體來(lái)說(shuō),類(lèi)比循環(huán)隊(duì)列數(shù)據(jù)結(jié)構(gòu),在下一步推理中,把已被利用的關(guān)系放在最后一層,后續(xù)層的關(guān)系向前提升一層。
對(duì)于自然語(yǔ)言問(wèn)句“What organization did the wife of [Bill Gates] found?”來(lái)說(shuō),它所包含的信息包括主題實(shí)體和一系列關(guān)系,即“Bill Gates”“the wife of ”“found organization”,而推理的中間節(jié)點(diǎn)“Melinda Gates”是隱藏的。為了能夠結(jié)合圖譜狀態(tài)來(lái)更好地推理,本節(jié)提出虛擬節(jié)點(diǎn)的概念來(lái)虛擬表示中間實(shí)體節(jié)點(diǎn)。
如圖3 所示,受到SAGPool 模型[28]的啟示,本文采用圖池化技術(shù)實(shí)現(xiàn)虛擬節(jié)點(diǎn)。
圖3 圖池化模塊結(jié)構(gòu)Fig.3 Structure of graph pooling module
SAGPool 是一種通過(guò)節(jié)點(diǎn)特征和圖拓?fù)浣Y(jié)構(gòu)進(jìn)行分層表示學(xué)習(xí)的技術(shù),這種分層池化技術(shù)利用自注意力機(jī)制從圖中學(xué)習(xí)節(jié)點(diǎn)的重要性,然后利用topK機(jī)制丟棄不重要的節(jié)點(diǎn)。本文利用SAGPool 的思想,將子圖輸入基于自注意力機(jī)制的圖池化層,過(guò)濾不重要的實(shí)體節(jié)點(diǎn),利用2 次圖池化操作,經(jīng)過(guò)輸出層得到虛擬節(jié)點(diǎn)的嵌入?;谧宰⒁饬C(jī)制的圖池化模塊不僅能夠?qū)W習(xí)當(dāng)前推理步的圖譜狀態(tài),還有助于減少子圖中噪聲實(shí)體的影響。根據(jù)SAGPool的思想,使用Kipf[29]的圖卷積公式得到自注意力分?jǐn)?shù),計(jì)算公式如下:
其中:σ是激活函數(shù)?RN×N是包含自連接的鄰接矩陣,N表示子圖中實(shí)體節(jié)點(diǎn)數(shù)目?RN×N是度矩陣;X?RN×d表示節(jié)點(diǎn)特征,即實(shí)體節(jié)點(diǎn)的嵌入表示;Θ表示濾波器的參數(shù)矩陣。然后依據(jù)分?jǐn)?shù)Z和池化比率k?(0,1],通過(guò)topK機(jī)制保留前kN個(gè)分?jǐn)?shù)最高的節(jié)點(diǎn),由以下公式建模:
其中:k是超參數(shù),決定了篩選節(jié)點(diǎn)的數(shù)量表示經(jīng)過(guò)篩選后子圖中的實(shí)體節(jié)點(diǎn)集合在第t個(gè)推理步中的嵌入矩陣。
經(jīng)過(guò)2 層圖卷積神經(jīng)網(wǎng)絡(luò)和SAGPool 的篩選操作,將需要保留的重要節(jié)點(diǎn)通過(guò)輸出層輸出。輸出層使用平均池化和最大池化,之后經(jīng)過(guò)一個(gè)全連接層,得到第t個(gè)推理步中子圖的虛擬節(jié)點(diǎn)表示v(t),計(jì)算公式如下:
如圖1 所示,經(jīng)過(guò)以上模塊獲得了問(wèn)句嵌入q、層次權(quán)重hhw和虛擬節(jié)點(diǎn)嵌入v(t),基于圖的推理模塊的主要任務(wù)是利用這些嵌入向量計(jì)算推理指令,指導(dǎo)子圖中的候選實(shí)體選擇匹配度高的關(guān)系,然后通過(guò)相鄰的關(guān)系傳播信息,更新推理后候選實(shí)體的分?jǐn)?shù),最終選出分?jǐn)?shù)最高的候選實(shí)體作為答案。
為了獲取推理指令,本文設(shè)計(jì)融合注意力機(jī)制與層次權(quán)重的解碼器。以往模型采用基于注意力機(jī)制的解碼器為每個(gè)推理步生成一條特定的推理指令向量。注意力機(jī)制可以使神經(jīng)網(wǎng)絡(luò)專(zhuān)注于輸入的某一部分,其核心是為輸入序列中的元素學(xué)習(xí)一組注意力權(quán)重來(lái)衡量元素的重要程度,即關(guān)注問(wèn)句中的重要部分。本文在注意力權(quán)重的基礎(chǔ)上加入層次權(quán)重,生成一系列推理指令l(t),目的是利用層次權(quán)重所體現(xiàn)的關(guān)系層次順序信息,使推理指令在不同推理步能夠選擇合理的關(guān)系。然后,將圖池化模塊得到的虛擬節(jié)點(diǎn)嵌入v(t)與推理指令向量連接,得到最終的推理指令l′(t),這種連接形成一種(虛擬節(jié)點(diǎn),推理關(guān)系,?)的形式,與知識(shí)圖譜中的(頭實(shí)體,關(guān)系,尾實(shí)體)相對(duì)應(yīng),意味著該推理指令融合了知識(shí)圖譜和問(wèn)句語(yǔ)義信息。需要注意的是,問(wèn)句中包含了主題實(shí)體的信息,因此,在第1 步推理時(shí)不需要使用虛擬節(jié)點(diǎn)。
在獲取推理指令之后,需要初始化實(shí)體的嵌入和分?jǐn)?shù)以及關(guān)系的嵌入。首先,子圖中的候選實(shí)體分?jǐn)?shù)定義為s(0)?[0,1],主題實(shí)體的初始值設(shè)置為1。實(shí)體間的關(guān)系嵌入初始化為r(0),通過(guò)聚合實(shí)體相鄰的關(guān)系嵌入初始化實(shí)體嵌入e(0)。對(duì)于與實(shí)體u相連的關(guān)系r,計(jì)算其關(guān)系權(quán)重公式如下:
其中:Wrq?Rd×d是可學(xué)習(xí)的權(quán)重系數(shù)矩陣。
受到R-GCN[30]的啟示,本文通過(guò)聚合相鄰關(guān)系和相鄰實(shí)體的信息,以更新實(shí)體在該推理步的嵌入,計(jì)算公式如下:
其中:w?Rd表示可學(xué)習(xí)參數(shù)。
模型使用KL 散度作為損失函數(shù),KL 散度是2 個(gè)概率分布間差異的非對(duì)稱(chēng)性度量[31]。對(duì)于訓(xùn)練集中的樣本,正確答案實(shí)體集合為Agroundtruth=則實(shí)體的概率分布表示為:
將預(yù)測(cè)的分?jǐn)?shù)作為預(yù)測(cè)概率分布,則損失函數(shù)計(jì)算為:
損失函數(shù)越小,預(yù)測(cè)結(jié)果的概率分布越接近正確結(jié)果。
WebQuestionsSP[32]是以Freebase 圖譜為基礎(chǔ)而構(gòu)建的數(shù)據(jù)集,是目前最常用的自然語(yǔ)言問(wèn)答數(shù)據(jù)集之一,該數(shù)據(jù)集包含了簡(jiǎn)單問(wèn)題和復(fù)雜問(wèn)題、多實(shí)體問(wèn)題和單實(shí)體問(wèn)題,共有4 737 條問(wèn)題。本文實(shí)驗(yàn)采用GraftNet 的劃分結(jié)果,訓(xùn)練數(shù)據(jù)集2 849 條,測(cè)試數(shù)據(jù)集1 639 條,驗(yàn)證數(shù)據(jù)集249 條。Freebase是一個(gè)超大型的知識(shí)圖譜,擁有超過(guò)5 800 萬(wàn)個(gè)實(shí)體、32 億個(gè)三元組以及近4 萬(wàn)個(gè)屬性,是規(guī)模最大的知識(shí)圖譜之一。因此,WebQuestionsSP 數(shù)據(jù)集的訓(xùn)練集規(guī)模相較于其所依賴(lài)的大規(guī)模復(fù)雜知識(shí)圖譜來(lái)說(shuō)較小,使得實(shí)驗(yàn)具有一定的挑戰(zhàn)性。
PathQuestions 是IRN 文章引用Freebase 的子集作為知識(shí)圖譜而構(gòu)建的多跳問(wèn)答數(shù)據(jù)集,具有2 215 個(gè)實(shí)體和14 個(gè)關(guān)系。該數(shù)據(jù)集分別包含了1 908 個(gè)兩跳數(shù)據(jù)PQ-2H 和5 198 個(gè)三跳數(shù)據(jù)PQ-3H,PQ-M是指混合數(shù)據(jù)。本文實(shí)驗(yàn)采用IRN 的劃分方法,其中,兩跳數(shù)據(jù)的訓(xùn)練集為1 526 條,驗(yàn)證集為191 條,測(cè)試集為191 條,三跳數(shù)據(jù)的訓(xùn)練集為4 158 條,驗(yàn)證集為520 條,測(cè)試集為520 條。
實(shí)驗(yàn)參數(shù)設(shè)置情況為:采用PyTorch 深度學(xué)習(xí)框架,使用Adam 優(yōu)化器,推理步數(shù)設(shè)置為3,式(10)中的參數(shù)λ設(shè)置為0.8,池化比率k設(shè)置為0.5。在WebQuestionsSP 中學(xué)習(xí)率設(shè)置為0.000 5,實(shí)體、問(wèn)句的詞向量維度為100,批大小設(shè)置為30,子圖包含2 000 個(gè)實(shí)體。在PathQuestions 中學(xué)習(xí)率設(shè)置為0.000 5,實(shí)體、問(wèn)句的詞向量維度為150,批大小設(shè)置為50,子圖包含400 個(gè)實(shí)體。
為了驗(yàn)證本文模型的有效性,采用基于信息檢索方法的主流模型作為對(duì)照基準(zhǔn),具體如下:
1)KVMem 是較早實(shí)現(xiàn)多跳知識(shí)圖譜問(wèn)答推理的模型之一,將Memory Network 引入KBQA 中,使用哈希方法選取三元組以鍵值對(duì)的形式存儲(chǔ),鍵存儲(chǔ)頭實(shí)體和關(guān)系的組合,值存儲(chǔ)尾實(shí)體,通過(guò)迭代地檢索鍵值對(duì)操作完成多跳推理任務(wù)。
2)Rce-KGQA 在基于知識(shí)圖譜嵌入的問(wèn)答模型上引入關(guān)系鏈推理,抽取主題實(shí)體到候選實(shí)體之間的關(guān)系鏈,使用孿生網(wǎng)絡(luò)模型學(xué)習(xí)關(guān)系鏈和問(wèn)題之間的語(yǔ)義相似度。
3)NSM[10]是用于視覺(jué)問(wèn)答的神經(jīng)狀態(tài)機(jī)模型,在多跳推理的過(guò)程中不斷更新實(shí)體狀態(tài),以得到最終的答案實(shí)體。
4)SRN[23]是一種基于強(qiáng)化學(xué)習(xí)的逐步推理模型,該模型將多關(guān)系問(wèn)題轉(zhuǎn)化為順序決策的過(guò)程,并使用波束搜索減少候選實(shí)體的數(shù)量。
5)DCRN[33]是為了解決在多跳問(wèn)答中候選實(shí)體集過(guò)大問(wèn)題而提出的深度認(rèn)知推理網(wǎng)絡(luò)。DCRN 由兩階段推理組成,設(shè)計(jì)一個(gè)基于RNN 的路徑解碼器,在第1 階段利用該解碼器和候選實(shí)體的語(yǔ)義信息來(lái)縮小第2 階段的候選實(shí)體集。
6)sMoCo[34]用于解決多跳問(wèn)答中知識(shí)圖譜缺少相鄰實(shí)體和關(guān)系的問(wèn)題。模型利用圖譜中的關(guān)系和實(shí)體生成新的簡(jiǎn)單問(wèn)答對(duì),提出sMoCo 對(duì)比學(xué)習(xí)算法以最大化正問(wèn)答對(duì)之間的相似性,最后利用整體識(shí)別模塊推斷得到最佳答案。
7)IRN[22]模型是一個(gè)具有可解釋性的記憶推理網(wǎng)絡(luò),該網(wǎng)絡(luò)在推理過(guò)程中動(dòng)態(tài)地關(guān)注問(wèn)題,通過(guò)上一跳預(yù)測(cè)的關(guān)系來(lái)更新問(wèn)題嵌入,并構(gòu)建一個(gè)狀態(tài)空間對(duì)歷史推理信息進(jìn)行編碼。
8)MINERVA[35]模型考慮到知識(shí)圖譜的不完整性以及缺失關(guān)鍵關(guān)系邊的問(wèn)題,提出一種基于強(qiáng)化學(xué)習(xí)的路徑搜索模型。該模型通過(guò)在知識(shí)圖譜上游走來(lái)查詢(xún)答案,并在抵達(dá)答案節(jié)點(diǎn)后停止。
9)HRPE[36]設(shè)計(jì)一種具有領(lǐng)域自適應(yīng)性的前提-假設(shè)對(duì)推理模型,由候選實(shí)體到主題實(shí)體的三元組轉(zhuǎn)化的若干條短問(wèn)句組成前提集合,由候選實(shí)體替換原始問(wèn)句疑問(wèn)詞得到的語(yǔ)句作為假設(shè)集合,兩者交互預(yù)測(cè)答案集合。
本文選取Hits@1 作為評(píng)價(jià)指標(biāo),Hits@1 指排序第1 個(gè)的實(shí)體為正確答案的占比。
本文模型以及對(duì)照基準(zhǔn)模型在WebQuestionsSP數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如表1 所示,最優(yōu)結(jié)果加粗標(biāo)注,可以看出本文模型的性能相對(duì)于基準(zhǔn)模型有明顯提升。與考慮關(guān)系順序和方向的最優(yōu)框架Rce-KGQA 相比,本文模型的Hits@1 結(jié)果高出0.9 個(gè)百分點(diǎn);與多跳推理基礎(chǔ)框架NSM 相比,本文模型的Hits@1 結(jié)果高出2.8 個(gè)百分點(diǎn)。所有模型在PathQuestions 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如表2 所示,可以看出本文模型在PathQuestions 數(shù)據(jù)集上的整體結(jié)果均高于基線模型,其中,在兩跳數(shù)據(jù)集上的結(jié)果有明顯提升,說(shuō)明本文模型提出的層次結(jié)構(gòu)圖和層次權(quán)重能夠更有效地理解推理意圖,聯(lián)合虛擬節(jié)點(diǎn)在每一個(gè)推理步選擇合理的關(guān)系,可以提升多跳推理的準(zhǔn)確性。
表1 模型在WebQuestionsSP 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果Table 1 Experimental results of models on the WebQuestionsSP dataset %
表2 模型在PathQuestions 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果Table 2 Experimental results of models on the PathQuestions dataset %
本文對(duì)WebQuestionsSP 數(shù)據(jù)集上的訓(xùn)練集損失和驗(yàn)證集損失進(jìn)行分析,結(jié)果如圖4 所示。從圖4 可以看出,在100 輪次后,訓(xùn)練集損失曲線和驗(yàn)證集損失曲線均趨于收斂,驗(yàn)證集損失略小于訓(xùn)練集損失,原因可能是訓(xùn)練集樣本數(shù)較小,但數(shù)值相差不大。圖4 結(jié)果說(shuō)明該模型得到了良好的擬合效果。
圖4 損失函數(shù)曲線Fig.4 Loss function curves
此外,本文還在WebQuestionsSP 數(shù)據(jù)集上對(duì)參數(shù)λ的取值進(jìn)行了分析,實(shí)驗(yàn)結(jié)果如表3 所示。參數(shù)λ控制了層次權(quán)重在推理指令中的占比,參數(shù)λ越大,層次權(quán)重占比越大。從表3 可以看出,隨著λ的增加,Hits@1 提升,驗(yàn)證了層次權(quán)重的有效性。
表3 參數(shù)λ 的影響分析Table 3 Analysis of the impact of parameter λ
為了驗(yàn)證模型各個(gè)模塊的有效性,本文在WebQuestionsSP 數(shù)據(jù)集上進(jìn)行消融實(shí)驗(yàn),去掉不同模塊得到的實(shí)驗(yàn)結(jié)果如表4 所示。
表4 消融實(shí)驗(yàn)結(jié)果Table 4 Results of ablation experiment %
從表4 可以看出:
1)w/o GraphPool 表示刪除虛擬節(jié)點(diǎn),其Hits@1相對(duì)HSG-KBQA 下降了5.3 個(gè)百分點(diǎn),說(shuō)明僅使用問(wèn)句生成推理指令導(dǎo)致推理與所依賴(lài)的知識(shí)圖譜分離,這對(duì)模型的影響較大。在推理指令中加入虛擬節(jié)點(diǎn)可以有效地融合子圖的推理狀態(tài),從而更好地進(jìn)行決策。
2)w/o Hierarchical weight 表示去掉層次權(quán)重,將式(10)中的系數(shù)λ設(shè)置為0。實(shí)驗(yàn)結(jié)果顯示,w/o Hierarchical weight 的Hits@1 相對(duì)HSG-KBQA 下降了2.6 個(gè)百分點(diǎn),說(shuō)明使用層次權(quán)重引導(dǎo)選擇正確的關(guān)系順序是有必要的。
3)w/o BiGCN 表示去掉問(wèn)句嵌入中的層次結(jié)構(gòu)圖編碼模塊,僅使用LSTM 編碼問(wèn)句。實(shí)驗(yàn)結(jié)果顯示,w/o BiGCN 的Hits@1 下降了0.5 個(gè)百分點(diǎn),說(shuō)明層次結(jié)構(gòu)圖有利于模型理解問(wèn)句語(yǔ)義,但模型效果提升不高,可能是因?yàn)閷哟谓Y(jié)構(gòu)圖所包含的節(jié)點(diǎn)和邊較少,并且僅使用一層圖神經(jīng)網(wǎng)絡(luò)也可能導(dǎo)致效果不佳。
針對(duì)多跳知識(shí)圖譜問(wèn)答中推理關(guān)系鏈的關(guān)系順序問(wèn)題,本文提出一種基于層次結(jié)構(gòu)圖的多跳知識(shí)圖譜問(wèn)答模型。該模型首先通過(guò)層次結(jié)構(gòu)圖和層次權(quán)重顯式地提煉問(wèn)句的關(guān)系鏈,使其能夠在每個(gè)推理步關(guān)注到問(wèn)句中合理的推理意圖;其次利用虛擬節(jié)點(diǎn)表示每個(gè)推理步的知識(shí)圖譜狀態(tài),聯(lián)合問(wèn)句的語(yǔ)義信息共同生成推理指令,進(jìn)一步提升模型的問(wèn)答準(zhǔn)確率;最后在WebQuestionsSP 和PathQuestions數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),結(jié)果表明,該模型表現(xiàn)出了較好的預(yù)測(cè)性能,消融實(shí)驗(yàn)結(jié)果也驗(yàn)證了各模塊的有效性。但是,本文模型需要借助工具生成問(wèn)句的依存句法樹(shù),而依存句法樹(shù)的合理性將會(huì)對(duì)模型準(zhǔn)確率產(chǎn)生較大影響。因此,下一步的研究將分為3 個(gè)方向:1)優(yōu)化層次結(jié)構(gòu)圖的編碼模塊;2)優(yōu)化層次權(quán)重的計(jì)算公式,嘗試設(shè)計(jì)為可學(xué)習(xí)的層次權(quán)重;3)優(yōu)化依存句法樹(shù)的生成工具,提升其處理長(zhǎng)難句的準(zhǔn)確率。