孫亞偉 程 龔 厲 肖 瞿裕忠
(計算機軟件新技術(shù)國家重點實驗室(南京大學) 南京 210023)
隨著大規(guī)模開放性知識圖譜的增多[1-2],人們獲取知識的需求愈發(fā)突出[3],知識圖譜問答是從知識圖譜中獲得知識的最佳途徑之一[4].同時,問答系統(tǒng)的可解釋性也受到了廣泛關(guān)注[5].
早期知識圖譜問答聚焦在簡單問句,比如問句“Who is the wife of Obama?”,通過知識圖譜中的實體“Obama”的單步關(guān)系(“spouse”)可獲得答案.然而回答復(fù)雜問答(涉及多步邊或聚合操作的問句)是一個難題[6].本文聚焦在復(fù)雜問句,比如“What movies were directed by the actor in Titanic?”,回答該問句需要知識圖譜中實體“Titanic”的多步邊(本文采用該問句作為例子貫穿全文).
近幾年涌現(xiàn)不少知識圖譜復(fù)雜問答的工作[7-13].盡管這些工作取得了一定效果,但問句結(jié)構(gòu)尚未被充分利用.按照利用問句方式不同,可以分為基于序列編碼(sequence-based encoder)[7-10]和基于路徑編碼(path-based encoder)[11-13]兩類方法.他們各自存在不足:
1)序列編碼缺乏可解釋性.具體地,序列編碼視問句為單詞序列,通過編碼構(gòu)造問句表示,如QGG[7]直接把問句通過預(yù)訓(xùn)練語言模型BERT[14]編碼,然后進行查詢圖預(yù)測.KBQA-GST[8]利用卷積神經(jīng)網(wǎng)絡(luò)對問句序列和關(guān)系路徑序列編碼,然后計算內(nèi)積得到相似度.Slot Matching[9]把問句通過BERT編碼,然后利用注意力機制得到問句表示.DAC[10]通過雙向GRU編碼問句,然后把所有單詞隱狀態(tài)求均值,作為問句表示.
2)路徑編碼忽略問句整體結(jié)構(gòu)信息.具體地,路徑編碼視問句為語法路徑(如依存或AMR結(jié)構(gòu)路徑)進行編碼,從而獲得更豐富的問句表示,如gAnswer[11]利用依存路徑表示問句查詢圖(超圖),然后通過子圖匹配算法映射成可執(zhí)行的查詢.CompQA[12]利用循環(huán)神經(jīng)網(wǎng)絡(luò)對問句中疑問詞和主題實體的依存路徑編碼.NSQA[13]取AMR結(jié)構(gòu)中的路徑表示問句結(jié)構(gòu).
由此可見,現(xiàn)有工作缺乏從圖結(jié)構(gòu)編碼(graph-based encoder)的視角對問句結(jié)構(gòu)進行整體表示.
如圖1所示,該例子反映了本文工作的動機,即從圖結(jié)構(gòu)角度對問句建模的必要性.具體地,從序列編碼角度,圖1(c)容易誤判為正確查詢圖,因為對于圖1(c)的序列:“film,actor,directed_by”和圖1(d)的序列:“directed_by,actor,starring”,問句和圖1(c)的語義匹配看似大于問句和圖1(d)的匹配.但一旦引入圖1(b)未定查詢圖,圖1(d)就可以識別出來.因為圖1(b)的“?movies-directed_by→?actor”和圖1(d)的“?x-directed_by→?c”語義匹配大于和圖1(c)的“?x-film→?m”匹配.圖1(b)中的“Titanic-in→?actor”與圖1(d)的“m.0dr_4-starring→?m-actor→?c”語義匹配大于和圖1(c)的“?m-actor→?c←directed_by-m.0dr_4”匹配.
Fig.1 Motivation of our work
為了對問句結(jié)構(gòu)整體表示,本文提出一種基于圖匹配網(wǎng)絡(luò)的知識圖譜復(fù)雜問答方法TTQA.首先,通過依存分析,構(gòu)造一個與知識圖譜無關(guān)的問句查詢圖(簡稱未定查詢圖).其次,基于預(yù)訓(xùn)練語言模型和圖神經(jīng)網(wǎng)絡(luò)技術(shù),提出一種圖匹配網(wǎng)絡(luò)(graph matching network, GMN),用于生成可執(zhí)行的結(jié)構(gòu)化查詢(簡稱已定查詢圖).最后在給定知識圖譜執(zhí)行查詢,獲得答案.TTQA生成未定查詢圖和已定查詢圖作為參照,提升了方法的可解釋性.
本文的主要技術(shù)貢獻是提出了一種適用于知識圖譜問答的圖匹配網(wǎng)絡(luò)GMN,其結(jié)合了預(yù)訓(xùn)練模型和圖匹配網(wǎng)絡(luò)學習技術(shù),計算未定查詢圖和已定查詢圖的語義匹配.相比序列編碼和路徑編碼方式,基于圖結(jié)構(gòu)的方法不僅完整地建模問句信息,而且還使得問答系統(tǒng)更具有可解釋性.
在2個常用知識圖譜復(fù)雜問答數(shù)據(jù)集LC-QuAD 1.0[15]和ComplexWebQuestions 1.1[16]進行實驗.實驗結(jié)果表明,TTQA超過了現(xiàn)有基準方法.同時,消融實驗驗證了GMN模塊的有效性.
本文提出的方法已開源:https://github.com/nju-websoft/TTQA.
知識圖譜復(fù)雜問答可以分為3類:基于語義解析方法(semantic parsing, SP-based)、基于信息檢索方法(information retrieval, IR-based)和其他方法.語義解析具有可解釋性,而信息檢索和其他方法缺乏可解釋性.
語義解析的目標是生成可執(zhí)行的結(jié)構(gòu)化查詢(如SPARQL).根據(jù)問句編碼方法不同,可以細分為基于路徑編碼和基于序列編碼的方法.
基于路徑編碼的語義解析方法.CompQA[12]提出一種基于GRU的語義匹配模型,該模型融入問句依存路徑信息,從而得到更豐富的問句表示;gAnswer[11]提出一種子圖匹配的查詢圖方法,利用問句依存路徑構(gòu)造語義查詢圖,再利用子圖匹配映射成可執(zhí)行的查詢圖;TextRAY[17]提出一種基于拆解和拼接方法,通過指針網(wǎng)絡(luò)拆解復(fù)雜問句,利用依存路徑匹配查詢圖;NSQA[13]提出一種基于抽象語義表示(abstract meaning representation, AMR)的查詢圖方法,使用AMR工具分析問句,利用基于路徑編碼的映射方法把AMR結(jié)構(gòu)轉(zhuǎn)換成查詢圖,映射時采用了關(guān)系鏈接工具SemREL[18].
基于序列編碼的語義解析方法.QGG[7]提出一種基于狀態(tài)轉(zhuǎn)移的查詢圖生成方法,為了給候選查詢圖排序,該方法采用BERT對問句和查詢進行序列編碼;Slot Matching[9]提出一種基于槽匹配的語義匹配方法,利用LSTM對問句和查詢圖序列編碼,再利用注意力機制生成問句表示;GGNN[19]提出一種基于門控圖神經(jīng)網(wǎng)絡(luò)方法,使用卷積神經(jīng)網(wǎng)絡(luò)對問句序列編碼;DAC[10]提出一種基于強化學習的導(dǎo)演-演員-評論者(director-actor-critic)框架.
本文提出的TTQA屬于語義解析方法,相比路徑編碼和序列編碼,TTQA采用圖結(jié)構(gòu)編碼,這樣做有助于完整地考慮問句結(jié)構(gòu)信息.進一步,TTQA利用多視角匹配的注意力機制,從而增強了語義匹配的效果.
信息檢索的目標是直接在知識圖譜上檢索答案.該類方法可解釋性欠佳,多數(shù)工作的問句編碼方式是基于序列編碼.具體地,NSM[20]提出一種基于神經(jīng)狀態(tài)機器的教師和學生網(wǎng)絡(luò)框架,學生網(wǎng)絡(luò)用于查找正確答案,教師網(wǎng)絡(luò)用于學習中間監(jiān)督信號來提升學生網(wǎng)絡(luò)的推理能力.SRN[21]提出一種基于強化學習的逐步推理(stepwise reasoning)網(wǎng)絡(luò),把問答形式化為序列決策問題,通過執(zhí)行路徑搜索來獲取答案,同時考慮了束搜索(beam search)來減少候選數(shù)量.為了減少延遲和稀疏獎勵問題,該方法提出了獎勵塑造策略.KBQA-GST[8]是一種基于主題單元的生成與打分框架.該框架分2個步驟:主題單元鏈接和候選答案排序,采用強化學習聯(lián)合優(yōu)化.WDAqua[22]提出一種多語言的知識圖譜問答方法,該方法分4個步驟:問句擴展、查詢構(gòu)造、查詢排序和回應(yīng)決策(response decision).其中查詢排序采用包含問句序列信息5個特征的線性組合.
同時也存在基于圖編碼方法:AQG[23].近期還出現(xiàn)知識圖譜表示學習[24]、結(jié)合文本和知識圖譜混合式問答方法[25]、基于拆解和閱讀理解方法[16]等.
相比這些可解釋性欠佳的方法,TTQA基于語義解析生成的未定查詢圖和已定查詢圖提高了模型可解釋性,且在語義匹配模型中考慮了問句結(jié)構(gòu),增強了模型的性能.
本節(jié)首先給出問題定義,然后描述提出的TTQA方法框架.
表1為本文方法所用的符號,給出定義1.
定義1.復(fù)雜問句.q=w1,w2,w3,…,wl涉及多邊或多實體(數(shù)值)的問句;涉及聚合/計數(shù)/比較/最高級操作的問句.本文關(guān)注涉及多邊或多實體(數(shù)值)的問句.
Table 1 Summary of Notation in Our Approach
Fig.2 Working graph
定義7.語義近似匹配.由于u和g之間可能異構(gòu),嚴格匹配定義不適用,故采用圖近似匹配,即圖近似匹配任務(wù)[27]中的定義sim(u,g)→表示近似匹配.
本文提出的TTQA如圖3所示,主要包含2個部分:1)未定查詢圖生成模塊;2)已定查詢圖生成模塊.通過這2個模塊,最后把已定查詢圖轉(zhuǎn)換成標準查詢語句(如SPARQL),在知識圖譜執(zhí)行,獲得答案.
Fig.3 The framework of GMN-based TTQA
2.2.1 未定查詢圖生成
輸入問句q,未定查詢圖生成模塊的目標是生成u.如圖3所示,該模塊分3個子模塊:1)語法分析;2)頂點識別;3)關(guān)系抽取.其中語法分析子模塊采用作者提出的骨架解析方法[28],首先獲得該問句的宏觀結(jié)構(gòu),然后進行細粒度依存分析用于得到骨架內(nèi)部的修飾關(guān)系.頂點識別子模塊結(jié)合了BERT分類器、CoreNLP工具和SUTime來識別實體提及、數(shù)值提及、類型變量和答案頂點[28].關(guān)系抽取采用頂點優(yōu)先框架[11]進行關(guān)系抽取,并合并變量得到未定查詢圖u.
例1.針對圖1(a)問句,識別出答案頂點“?movies”、類型變量“?actor”和實體提及“Titanic”.通過關(guān)系抽取子模塊,構(gòu)造未定查詢?nèi)鐖D1(b)所示.
2.2.2 已定查詢圖生成
例2.如圖1所示,給定圖1(b)未定查詢圖和Freebase知識圖譜,實體鏈接把實體提及“Titanic”鏈接到實體“m.0dr_4”,然后通過子圖檢索,獲得若干候選已定查詢圖,其中包含圖1(c)和圖1(d).通過GMN模型,返回圖1(d),作為預(yù)測已定查詢圖.
2.2.3 聚合限定和重排序
復(fù)雜類問句中有一類涉及聚合操作(如計數(shù)、比較和最高級等類問句),本文不作為重點,僅做了啟發(fā)式規(guī)則處理,具體涉及:聚合類問句識別,聚合限定和聚合類問句重排序.
聚合類問句識別.采用一種基于BERT的問句類型分類器,預(yù)測非聚合、比較和最高級等類型.
聚合限定.采用現(xiàn)有方法[29],即一旦遇到涉及比較/最高級類問句,追加數(shù)值屬性約束.
聚合類問句重排序.由于未定查詢圖缺乏表達聚合能力,所以在圖匹配網(wǎng)絡(luò)后,疊加后處理:對聚合類問句重排序.采用基于GloVe[30]打分函數(shù),抽取g中涉及聚合三元組或路徑與q計算詞級相似度.最后與圖匹配網(wǎng)絡(luò)的置信度線性組合,得出g最終置信度.
現(xiàn)有的序列編碼和路徑編碼方法是線性模型,只能獲取問句局部信息,無法捕獲問句整體信息.針對該局限性,本文提出一種基于注意力機制的圖匹配網(wǎng)絡(luò)GMN.輸入u和g,輸出匹配度sim(u,g).如圖1所示,目標是sim(u,gd)>sim(u,gc).gc表示表示圖1(c),gd表示圖1(d).
把sim(u,g)視為機器學習二分類問題,學習一個類型概率分布p(g|u),取正類型的概率作為sim(u,g).
跨圖注意力機制的圖匹配模型GMN框架如圖4所示,包括3個部分:1)文本編碼;2)圖編碼和3)模型預(yù)測.其中,以未定查詢圖u和已定查詢圖g作為輸入,文本編碼模塊使用BERT對u和g進行序列編碼;圖編碼模塊使用圖匹配網(wǎng)絡(luò)對u和g進行編碼,并采用了跨圖注意力機制融入上下文信息,從而得到更豐富的圖表示用于模型預(yù)測;模型預(yù)測模塊采用多層感知機(multi-layer perceptron, MLP)預(yù)測概率分布.
Fig.4 Cross-graph attention graph matching network
文本編碼模塊是從語言模型角度,對u和g編碼表示和聚合信息.形式化為
zLM=fenc(Text(u),Text(g)),
(1)
其中,zLM為兩者文本編碼輸出表示,Text(u)是u的文本序列,Text(g)是g的文本序列,fenc是編碼函數(shù).本文把用標簽替換實體/數(shù)值提及的問句作為Text(u).同時,采用一種基于字符序的深度優(yōu)先遍歷算法把g序列輸出作為Text(g).
本文采用BERT編碼作為fenc.如圖5所示,形式化為
hbert=BERT([CLS]Text(u)[SEP]
Text(g)[SEP]),
(2)
其中,hbert是BERT編碼輸出隱向量.把聚合信息CLS位置對應(yīng)的隱向量hCLS,作為文本編碼輸出zLM.
例3.對圖1(b)序列化,Text(u)=What movies were directed by the actor ine?.對圖1(d)序列化,Text(g)=?x directed by?c actor?m starringe.
Fig.5 BERT-based text encoder
(3)
3.3.1 頂點嵌入層
1)從BERT輸出的隱向量hbert中截取相應(yīng)位置向量,均值池化(mean pooling),作為v初始表示hv.
(4)
2)構(gòu)造一個多層感知機用于把hv映射到圖匹配網(wǎng)絡(luò)的語義空間,形式化:
hv=MLP(hv)=Linear(ReLU(Linear(hv))).
(5)
(6)
(7)
Fig.6 GCN-based node embedding layer
Fig.7 Example of cross-graph attention mechanism
3.3.2 跨圖注意力的匹配層
受圖近似匹配工作[32-34]啟發(fā),本文采用注意力機制[35]融入上下文跨圖匹配信息.該模塊包括2個部分:1)學習上下文向量;2)匹配當前向量.
1)學習上下文向量.如圖7所示,首先對當前圖u頂點i與跨圖g任意頂點j,計算注意力權(quán)重ai,j為
(8)
其中,s是向量相似函數(shù),本文采用余弦函數(shù).
(9)
2)匹配當前向量,本文采用多視角匹配函數(shù)(multi-perspective matching function)[33-34]:
(10)
(11)
其中,°表示逐元素相乘,Wk是第k視角可調(diào)向量.
以同樣的方式,計算g中頂點j的匹配向量.最后得匹配向量m,賦值給當前頂點,傳入圖池化層.
3.3.3 圖池化層
如圖8所示,圖池化層用于從頂點表示計算圖結(jié)構(gòu)的表示,使用均值池化(mean pooling),獲得u和g的低維連續(xù)空間表示hu和hg,形式化:
(12)
(13)
Fig.8 Graph pooling and working graph representation
3.3.4 工作圖表示層
如圖8所示,工作圖表示層用于計算工作圖表示zGNN.本文把hu和hg拼接,然后過一個線性層(feed-forward network, FFN),輸出zGNN.
zGNN=FFN([hu,hg]).
(14)
預(yù)測函數(shù).把文本編碼zLM和圖編碼zGNN拼接成一個向量,然后通過一個隨機丟棄(dropout),最后過一個多層感知機,輸出2分類概率分布p(g|u):
p(g|u)=MLP([zLM,zGNN]),
(15)
pg表示從概率分布p(g|u)取正類維度的置信度.
(16)
損失函數(shù).本文采用交叉熵損失函數(shù)來優(yōu)化模型.
(17)
其中,j是真實標簽(ground-truth label)的下標.
本節(jié)介紹實驗情況,依次介紹2個公開數(shù)據(jù)集、采用的評測指標、基準方法、實驗設(shè)置,然后給出實驗結(jié)果和消融實驗,最后對實驗結(jié)果進行錯誤分析.
本文采用2個公開的復(fù)雜問答數(shù)據(jù)集:LC-QuAD 1.0和ComplexWebQuestions 1.1.之所以選擇這2個數(shù)據(jù)集,是因為它們是DBpedia和Freebase上較為常用的復(fù)雜問答數(shù)據(jù)集.數(shù)據(jù)集規(guī)模統(tǒng)計如表2所示:
Table 2 Dataset Size Distribution
1)LC-QuAD 1.0(LCQ)[15]包含5 000個問句.它是DBpedia(2016-04版本)上的一個復(fù)雜問答數(shù)據(jù)集,其中超過80%問句涉及多邊、布爾或計數(shù)操作.由于數(shù)據(jù)集作者未提供驗證集,按照1∶7比例從訓(xùn)練集隨機采樣500個問句,作為驗證集,剩余作為訓(xùn)練.
2)ComplexWebQuestions 1.1(CWQ)[16]包含34 689個問句,它是Freebase(2015-08-09版本)上的一個復(fù)雜問答數(shù)據(jù)集.其中所有問句涉及多邊或聚合操作(比較和最高級).本文采用的訓(xùn)練集、驗證集、測試集來源于數(shù)據(jù)集作者提供,另外數(shù)據(jù)集作者也提供了文本片段來求解問句,但是本文只關(guān)注知識圖譜求解問句.
為了與各數(shù)據(jù)集上基準方法公平對比,本文采用3個評測指標:Macro-F1,AverageF1和Precision@1.
1)Macro-F1(m-F1).首先計算每個問句的精確率(precision,P)和召回率(recall,R),然后在所有測試問句上求均值得到MacroP和MacroR,最后調(diào)和平均求出m-F1.細節(jié)請見文獻[36].
2)AverageF1(avg-F1).首先計算每個問句的精確率和召回率,然后調(diào)和平均求出F1,最后取所有問句的F1均值,得出avg-F1.
3)Precision@1(P@1).最終排序的第一位置是正確答案的占比.細節(jié)請見文獻[16].
如表3所示,本文對比了已發(fā)表的近幾年最佳的端到端方法.另外說明:NSM,AQG,PullNet,Slot Matching未被列入基準方法,是因為他們假設(shè)正確實體已知,結(jié)果與本文不可比.TextRAY未被列入基準方法,是因為其采用CWQ 1.0,結(jié)果與本文不可比.
Table 3 Methods to Compare
1)WDAqua提出一個基于特征工程的方法,包括問句擴展、查詢構(gòu)造、查詢排序和回應(yīng)決策.
2)QAmp是一種基于矩陣乘法的消息傳遞方法,包括問句解析和消息傳遞.
3)NSQA是一種基于AMR的查詢圖生成方法,把AMR路徑轉(zhuǎn)換成查詢圖.
4)SPARQA提出一種基于骨架的語義解析方法,構(gòu)造一個多粒度打分器來預(yù)測查詢.
5)QGG提出一種基于狀態(tài)轉(zhuǎn)移的查詢圖生成方法,構(gòu)造一個基于BERT的語義匹配模型來預(yù)測查詢.
6)KBQA-GST是一種基于主題單元的生成與打分框架,包括主題單元鏈接和候選答案排序.
7)UHop是一種不限制跳數(shù)的關(guān)系抽取框架.
8)SPLITQA是一種基于問句拆解和閱讀理解相結(jié)合的方法.
基準方法結(jié)果來源說明:LCQ數(shù)據(jù)集上對比了4個基準方法,其中WDAqua,QAmp和NSQA結(jié)果來源于原始論文,SPARQA結(jié)果來源于本地復(fù)現(xiàn).CWQ數(shù)據(jù)集上對比了5個基準方法,其中SPARQA,QGG,KBQA-GST和SPLITQA結(jié)果來源于原始論文,UHop結(jié)果來源于QGG論文.
所有層的圖頂點表示維度為128維,GCN采用DGL框架[38].GCN層數(shù)為3.學習率為1e-5,批量大小取值范圍為{16,32,64}.訓(xùn)練輪數(shù)為10,模型在驗證集上調(diào)參,并根據(jù)驗證集上的準確率,設(shè)置早停為5輪.候選已定查詢圖對應(yīng)答案的F1大于一個閾值(本文設(shè)為0.8),則為正樣本,否則是負樣本.本文隨機采樣20個負樣本作為監(jiān)督數(shù)據(jù).本文模型采用優(yōu)化Adam優(yōu)化器,warmup比例為0.1,Dropout=0.1,采用整流線性單位函數(shù)作為激活函數(shù).
編碼模塊.采用BERTBASE(L=12,H=768,A=12,totalparameters=110 M).編碼序列最大長度設(shè)為64.頂點嵌入層:2層感知機通過批歸一化和整流線性單位函數(shù)連接,維度依次設(shè)置:(768,384,128);跨圖注意力的匹配層:l=128;工作圖表示層線性層維度:(256,128);模型預(yù)測:2層感知機通過批歸一化和整流線性單位函數(shù)連接,維度設(shè)為:(896,448,2).
實驗1.在LCQ數(shù)據(jù)集上驗證TTQA方法性能.
在LCQ數(shù)據(jù)集上的實驗結(jié)果如表4所示,TTQA超過所有基準方法,表明TTQA方法的有效性.值得一提是,TTQA超過最好基準方法NSQA達1.49個百分點(m-F1),而NSQA是基于預(yù)訓(xùn)練語言模型對語法路徑和關(guān)系進行語義匹配.這說明了本文考慮圖結(jié)構(gòu)的有效性.TTQA超過SPARQA達6.14個百分點(m-F1).SPARQA采用多粒度打分器,這說明了TTQA中基于預(yù)訓(xùn)練模型的圖匹配方法的有效性.
Table 4 Performance Comparison of Methods on LCQ
實驗2.在CWQ數(shù)據(jù)集上驗證TTQA方法性能.
在CWQ數(shù)據(jù)集上的實驗結(jié)果如表5所示,TTQA超過所有基準方法,表明TTQA方法的有效性.值得一提是,TTQA超過最好基準方法QGG達3.9%(P@1),QGG采用預(yù)訓(xùn)練語言模型對問句和關(guān)系進行序列化編碼,然后計算匹配度.而TTQA采用一種文本編碼和圖匹配編碼的綜合方法,這說明了TTQA中的圖匹配編碼的有效性.
Table 5 Performance Comparison of Methods on CWQ
實驗3.在LCQ和CWQ數(shù)據(jù)集上進行消融實驗,對比有無GMN的效果,從而驗證其有效性.
消融實驗結(jié)果如表6所示,在該2個數(shù)據(jù)集上,TTQA均優(yōu)于未加GMN的TTQA,此結(jié)果表明GMN能夠得到更豐富語義表示,從而增強了TTQA的效果.具體地講,在LCQ數(shù)據(jù)集上,有1.38個百分點(avg-F1)的提升,驗證了GMN在LCQ數(shù)據(jù)集上的有效性.同時,在CWQ數(shù)據(jù)集上有0.46個百分點(avg-F1)的提升,驗證了GMN在CWQ上的有效性.
Table 6 Results of Ablation Study
此外,通過比較該2個數(shù)據(jù)集上消融實驗可以發(fā)現(xiàn),GMN在LCQ數(shù)據(jù)集上提升較為顯著(1.38個百分點),而在CWQ數(shù)據(jù)集上僅提升0.46個百分點.可能原因為:1)CWQ是一個大規(guī)模的數(shù)據(jù)集(34 689),且訓(xùn)練集和測試集的已定查詢圖分布均勻具有較高重合度,該情況適合采用大規(guī)模預(yù)訓(xùn)練模型,所以僅用基于BERT的文本編碼就可以獲得具有競爭力的結(jié)果;2)CWQ有占比10%的聚合問句(比較和最高級),目前本文的未定查詢圖還不能處理該類問句的表達,改進未定查詢圖的表達能力是一個未來工作.
本文隨機采樣400個錯例(從LCQ和CWQ的錯例中各隨機采樣200個),錯誤歸類如表7所示.
主要分為5類錯誤,詳細描述為:
1)實體識別和鏈接.識別長提及的實體是一個較大的問題,如表7所示,本文采用的基于BERT的模型誤識別“Switzerland in 2004 and 2008 summer Olympics”為實體提及,而正確的應(yīng)是“Switzerland in 2004”和“2008 summer Olympics”.
2)未定查詢圖生成.未定查詢圖生成是一個難題,尤其針對聚合類問句.如表7樣例所示,“with the earliest publication start date”很難用未定查詢圖表達.
3)候選已定查詢圖生成.大規(guī)模知識圖譜上生成候選已定查詢圖是一個較為困難的事情,尤其涉及多個實體或數(shù)值的問句.如表7所示,涉及“US President”“WW2”與“3-4-1933”做比較的數(shù)值頂.
4)語義匹配.有的問句未定查詢圖與已定查詢圖之間存在較大的語義鴻溝.如表7所示,邊“about”蘊含著“dbp:format”關(guān)系.
5)其他.涉及問句中字符編碼錯誤、類型變量約束、布爾型問句求解等,如表7所示.
Table 7 Failure Analysis of Our Approach
本文提出了一個基于圖匹配網(wǎng)絡(luò)GMN的可解釋知識圖譜復(fù)雜問答方法TTQA.GMN通過利用注意力機制和多視角匹配函數(shù)進行圖匹配.相比序列編碼和路徑編碼,GMN充分利用了圖結(jié)構(gòu)信息,從而得到更豐富的結(jié)構(gòu)匹配表示,從而增強了問答系統(tǒng)的效果.在2個常用的復(fù)雜問答集上的實驗,對比基準方法,TTQA達到了最佳結(jié)果,同時,消融實驗還驗證了GMN的有效性.并且TTQA生成的未定查詢圖和已定查詢圖提升了智能問答的可解釋性.
從錯誤分析中看,未來可以從3點嘗試:1)實體識別和鏈接:盡管它不是TTQA的重心,但它卻是TTQA一個主要錯誤,未來可以嘗試采用聯(lián)合消歧手段進行實體識別和鏈接;2)聚合類問句求解(尤其多實體和聚合操作相結(jié)合的問句):如何在未定查詢圖上表達聚合操作是一個挑戰(zhàn)的問題;3)語義匹配:圖匹配模型還有提升空間,比如專門對圖中參數(shù)頂點進行學習.
作者貢獻聲明:孫亞偉提出了方法詳細思路、負責完成實驗并撰寫論文初稿,程龔提出了方法宏觀思路、設(shè)計了實驗方案并修改論文,厲肖參與完成實驗并修改論文,瞿裕忠提出了指導(dǎo)意見并修改論文.