程州 周欣,2 何小海 卿粼波 陳洪剛
(1、四川大學(xué)電子信息學(xué)院,四川 成都 610065 2、中國信息安全測評(píng)中心,北京 100085)
知識(shí)圖譜最早由谷歌公司提出,它將知識(shí)圖譜應(yīng)用在語義搜索方面,通過構(gòu)建起來的知識(shí)圖譜可以精準(zhǔn)的搜索出需要的信息。通常的知識(shí)圖譜包含了大量的數(shù)據(jù),它們龐大的數(shù)量和復(fù)雜的數(shù)據(jù)結(jié)構(gòu)使得其中的知識(shí)很難被獲取。為了解決這一問題,基于知識(shí)圖譜的問答被提出。
開放域知識(shí)圖譜問答的技術(shù)可以分為三大類,即基于信息檢索、基于語義解析和基于表示學(xué)習(xí)。NCAM[1](Neural Cross-Attention Model)是Hao 等提出了一種基于交叉注意的神經(jīng)網(wǎng)絡(luò),它根據(jù)不同的答案動(dòng)態(tài)地表示問題,并考慮了它們之間的聯(lián)系。RFF[2](Relation-First FRAME WORK)是Hu 等提出的一種基于圖匹配的方法,來進(jìn)行自然語言問題的回答。QUINT[3]是Abujabal 等提出的一個(gè)只從問題和對(duì)應(yīng)答案數(shù)據(jù)集中自動(dòng)學(xué)習(xí)語句查詢模板的系統(tǒng)。BAMnet[4]是Chen 等提出一種通過注意力機(jī)制來捕捉問題與知識(shí)圖譜信息間的兩兩相關(guān)性,并以此利用相關(guān)性增強(qiáng)問題的表示,提升對(duì)復(fù)雜問題的處理能力。STAGG[5]是Yih 等提出的一種提出了一種可以直接轉(zhuǎn)換為Lambda 表達(dá)式的框架。
本文基于信息檢索方式提出了一種融合位置編碼的多角度注意力知識(shí)圖譜問答方法。與之前的研究工作相比,在輸入模塊中加入了相對(duì)位置編碼的方法,同時(shí)建模問句的語義與語法信息,提升模型對(duì)問句的理解能力。本文方法也采用了多角度注意力機(jī)制同時(shí)關(guān)注知識(shí)圖譜與問句,能夠提取問句中與知識(shí)圖譜最相關(guān)的信息,進(jìn)一步提升模型的推理能力。
知識(shí)圖譜就是以結(jié)構(gòu)化的信息通過圖結(jié)構(gòu)關(guān)聯(lián)起來的一個(gè)知識(shí)庫,它主要是以實(shí)體作為節(jié)點(diǎn),以實(shí)體間的關(guān)系作為邊。在圖中,每個(gè)有向邊和它的頭實(shí)體、尾實(shí)體組成了一個(gè)三元組。作為一種圖數(shù)據(jù)結(jié)構(gòu),知識(shí)圖譜的最小單元是兩個(gè)節(jié)點(diǎn)及他們之間的關(guān)系,用關(guān)系去描述兩個(gè)實(shí)體間的關(guān)聯(lián)。如“姚明出生于上海”可以被表示為(“Yao Ming”,“Place of Birth”,“Shang Hai”),這樣的一個(gè)結(jié)構(gòu)就可以表示為一個(gè)三元組(h,r,t)。其中h 表示頭實(shí)體(head),r 表示關(guān)系(relation),t 表示尾實(shí)體(tail)。
本文提出的融合位置編碼的多角度注意力問答模型整體模型如圖1 所示,主要分為以下幾個(gè)模塊:

圖1 知識(shí)圖譜問答整體模型
2.2.1 輸入模塊:一個(gè)輸入的自然語言問題通過嵌入層,被表示為詞嵌入的序列。對(duì)于不含詞序信息的詞向量,為了讓模型具備學(xué)習(xí)詞序信息的能力,在輸入模塊中加入了位置編碼,將詞序信息和詞向量結(jié)合起來形成一種新的表示輸入給模型,這樣就使得模型具備了學(xué)習(xí)詞序信息的能力。
2.2.2 記憶模塊:鍵值記憶網(wǎng)絡(luò)可以很好的存儲(chǔ)具有復(fù)雜結(jié)構(gòu)的數(shù)據(jù),并可以通過在多個(gè)記憶槽內(nèi)的預(yù)測來進(jìn)行淺層的多跳推理任務(wù),最終形成相關(guān)的子圖。
2.2.3 多角度注意力模塊:為了讓模型關(guān)注問句與知識(shí)圖譜間的相關(guān)性,加入了多角度注意力機(jī)制,同時(shí)關(guān)注輸入問題與知識(shí)圖譜之間的相關(guān)性,依據(jù)知識(shí)圖譜來關(guān)注問題中不同詞的重要性。
2.2.4 答案選擇模塊:答案選擇模塊用排序模型對(duì)候選答案進(jìn)行建模預(yù)測。
通常來說,對(duì)于一個(gè)用戶輸入的自然語言問句,它所攜帶的信息包含組成句子的詞的信息,也就是語義信息,以及語序(語法)信息。因此使用相對(duì)位置編碼對(duì)問句的時(shí)序位置進(jìn)行編碼表征。具體實(shí)現(xiàn)就是訓(xùn)練過程中加入一個(gè)可訓(xùn)練的表示相對(duì)位置的參數(shù),這樣就可以彌補(bǔ)在注意機(jī)制中丟失的位置信息,也可以讓模型具備學(xué)習(xí)詞序的能力。對(duì)問句編碼時(shí),為每一個(gè)詞xi的不同維度j 設(shè)計(jì)一種位置編碼,計(jì)算方法如公式(1)所示:

完整的輸入模塊如圖2 所示。

圖2 融合位置編碼的輸入模塊
在知識(shí)圖譜問答中,采用的是鍵值記憶網(wǎng)絡(luò) (KVMemNN),記憶模塊的主要功能分為以下幾方面:
第一,生成候選答案。將該實(shí)體相關(guān)的h 跳內(nèi)所有的候選實(shí)體作為候選答案。
第二,編碼信息。對(duì)于知識(shí)圖譜中的每個(gè)候選答案,要編碼兩種類型的信息:答案類型和路徑。答案類型:每個(gè)實(shí)體都有一定的描述信息,利用這些描述信息體現(xiàn)實(shí)體類別可以有效的縮小檢索范圍。答案路徑:從候選答案到頭實(shí)體的一系列關(guān)系,也就是三元組中的關(guān)系信息。
第三,記憶內(nèi)容。使用鍵值記憶網(wǎng)絡(luò)來存儲(chǔ)候選答案。
多角度注意力模塊主要是通過多角度注意力機(jī)制來捕捉問句與知識(shí)圖譜之間的相關(guān)性。該網(wǎng)絡(luò)的主要目的就是根據(jù)知識(shí)圖譜關(guān)注問題重要部分。如圖3 所示,與其他注意力共享方案不同,該模塊不僅從任務(wù)層吸引注意力,還結(jié)合了來自共享層(知識(shí)圖譜)的信息。從詞匯和知識(shí)兩方面獲取注意力信息,因?yàn)樵~匯級(jí)別和知識(shí)圖譜級(jí)別的信息對(duì)表征性學(xué)習(xí)有不同的貢獻(xiàn)。

圖3 多角度注意力基本結(jié)構(gòu)
如圖3 所示,輸入部分包括詞級(jí)別向量(Word View)和知識(shí)圖譜級(jí)別向量(Knowdege View),詞向量就是帶位置信息的詞編碼向量,而知識(shí)圖譜級(jí)別的向量則是將問句與知識(shí)庫對(duì)應(yīng)的實(shí)體組成的向量,兩則拼接后即可得到對(duì)應(yīng)的向量,具體如公式(3)(4)(5)所示:

其中Sq和Sa表示編碼向量通過一個(gè)BiLSTM,生成的問題和答案表示。X 表示最后的特征向量。
對(duì)于Word View 和Knowdege View 的注意力權(quán)重計(jì)算方法,首先計(jì)算兩個(gè)注意力矩陣,如公式(6)(7)所示:

在答案選擇模塊中,采用的是模式匹配的思想,例如針對(duì)問題“姚明的出生地是哪?”先由問題解析問題的主語實(shí)體(head entity)和問題類型(relation)。然后計(jì)算給定問題和候選答案之間的匹配分?jǐn)?shù),計(jì)算公式如公式(14)所示:

其中q 表示問題語義向量,ai表示候選答案集合的其中之一。最后根據(jù)候選答案的得分來進(jìn)行排序,選出得分最高的答案作為該問題的答案。
對(duì)于給定的問答數(shù)據(jù)集,將訓(xùn)練集中問題答案正確的作為正樣本,在實(shí)驗(yàn)過程中,隨機(jī)替換某些正三元組的頭實(shí)體或尾實(shí)體作為訓(xùn)練的負(fù)樣本,并通過最小化交叉熵?fù)p失函數(shù)對(duì)模型進(jìn)行更新,公式如(15)所示:

其中ε 表示所有樣本,用y 進(jìn)行標(biāo)識(shí),y=1 對(duì)應(yīng)正樣本,y=0 表示負(fù)樣本。pi表示樣本i 預(yù)測為正類的概率。
本文使用的數(shù)據(jù)集是WebQuestions 數(shù)據(jù)集,該數(shù)據(jù)集的訓(xùn)練集包含3778 個(gè)樣本和測試集包含2032 個(gè)。為了更加客觀的得到測試結(jié)果,將測試集按照80%/20%將訓(xùn)練集拆分為訓(xùn)練集和開發(fā)集,如表1 所示。

表1 數(shù)據(jù)集劃分情況
在構(gòu)建單詞、實(shí)體類型或關(guān)系類型的詞匯表時(shí),只考慮出現(xiàn)在訓(xùn)練和驗(yàn)證集中的那些問題及其相應(yīng)的知識(shí)圖譜子圖。單詞的詞匯量大小V 為98797。知識(shí)圖譜中有1689 種實(shí)體類型和4862 種關(guān)系類型。對(duì)于一個(gè)問句中的主語實(shí)體,提取它的2 跳子圖即h 設(shè)置為2 來收集候選答案。在訓(xùn)練時(shí),為了提升效率設(shè)置最大的候選答案個(gè)數(shù)Nmax為96 個(gè)。使用預(yù)訓(xùn)練的GloVe 向量初始化詞嵌入,詞嵌維度為300。詞嵌入層、問題編碼器端和答案編碼器端的dropout 比率分別為0.3、0.3 和0.2。批量大小設(shè)置為32,答案模塊閾值θ 設(shè)置為0.7。
本文在Webquestions 數(shù)據(jù)集上實(shí)驗(yàn)對(duì)比了當(dāng)前的主流模型,使用Macro-F1 分?jǐn)?shù)作為評(píng)價(jià)指標(biāo)。實(shí)驗(yàn)結(jié)果如表2 所示,本文模型相對(duì)于現(xiàn)有的主流模型有著一定的提升。

表2 實(shí)驗(yàn)結(jié)果對(duì)比
在知識(shí)圖譜問答中,本文使用相對(duì)位置編碼來同時(shí)關(guān)注問題中的語義和語法信息。然后為了更好的理解問題,本文中引入了多角度注意力機(jī)制同時(shí)關(guān)注問題和知識(shí)圖譜,通過這種方法能夠提取問題中與知識(shí)圖譜最相關(guān)的信息。實(shí)驗(yàn)結(jié)果表明,本文的方法在WebQuestions 數(shù)據(jù)集上的表現(xiàn)效果與現(xiàn)有的主流模型相比有一定的優(yōu)勢,說明模型的有效性。在實(shí)驗(yàn)過程中也發(fā)現(xiàn)在問題中如果存在知識(shí)圖譜中未見過的關(guān)系,模型的表現(xiàn)不佳,如何推理得到這種沒有邊界的問題的答案,是下一步的研究方向。