吳國棟,劉涵偉,何章偉,李景霞,王雪妮
(安徽農(nóng)業(yè)大學(xué) 信息與計(jì)算機(jī)學(xué)院,合肥 230036)
自Google于2012年5月首先提出了知識圖譜(knowledge graph)[1]概念以來,知識圖譜在搜索引擎[2]、問答系統(tǒng)[3,4]、對話系統(tǒng)[5]、推薦系統(tǒng)[6,7]、知識推理[8,9]、實(shí)體對齊[10]、事件預(yù)測[11,12]等方面都有著良好的表現(xiàn).知識圖譜是一種有向異構(gòu)信息網(wǎng)絡(luò),含有豐富的實(shí)體、概念及其之間的各種語義關(guān)系[13].知識圖譜(KG)正成為實(shí)現(xiàn)人工智能(AI)的首要驅(qū)動(dòng)力.與人腦一樣,KG將成為機(jī)器的大腦,這些機(jī)器可以相互連接,執(zhí)行認(rèn)知推理,最重要的是,可以從大量異構(gòu)數(shù)據(jù)中獲取見解.許多KG構(gòu)建于AI相關(guān)應(yīng)用中,例如,推薦系統(tǒng)、問答、語義搜索和排名和閱讀理解[14].從廣義上來說,知識圖譜是將現(xiàn)實(shí)世界中的概念,實(shí)體和相互關(guān)系用結(jié)構(gòu)化形式表述出來,通過學(xué)習(xí)人類認(rèn)識世界的方式,增強(qiáng)互聯(lián)網(wǎng)對海量信息的管理、組織和理解能力.知識圖是事實(shí)的結(jié)構(gòu)化表示,由實(shí)體、關(guān)系和語義描述組成.實(shí)體可以是現(xiàn)實(shí)世界中的對象和抽象概念,關(guān)系表示實(shí)體之間的關(guān)系和實(shí)體的語義描述,它們的關(guān)系包含定義明確的類型和屬性[15].知識圖譜主要由實(shí)體節(jié)點(diǎn)和實(shí)體間關(guān)系組成,由實(shí)體-關(guān)系-實(shí)體來構(gòu)成最基本的三元組結(jié)構(gòu),通過目標(biāo)函數(shù)將實(shí)體和關(guān)系分別以低維的向量來表示.Trans系列的知識圖譜表示方法均采用同樣的函數(shù)思想,Trans方法主要有TransE、TransH、TransR、CtransR、TransD、TransA以及TransG等.
隨著網(wǎng)絡(luò)容量的爆炸式增長,傳統(tǒng)知識圖譜的缺點(diǎn)也逐漸暴露出來,首先是計(jì)算效率的問題.在使用知識圖譜計(jì)算實(shí)體之間的語義關(guān)系時(shí),通常需要設(shè)計(jì)一種特殊的圖算法來實(shí)現(xiàn).然而,該圖算法計(jì)算復(fù)雜度高,可擴(kuò)展性差.當(dāng)知識圖達(dá)到較大規(guī)模時(shí),很難滿足實(shí)時(shí)計(jì)算的需要.其次是數(shù)據(jù)稀疏性問題.與其他大規(guī)模數(shù)據(jù)一樣,大規(guī)模知識圖也面臨著嚴(yán)重的數(shù)據(jù)稀疏問題,這使得實(shí)體的語義或推理關(guān)系的計(jì)算極不準(zhǔn)確.為了應(yīng)對這些挑戰(zhàn),知識圖嵌入技術(shù)被提出并引起了人們的廣泛關(guān)注,因?yàn)樗軌驅(qū)⒅R圖嵌入到稠密的低維特征空間,并且能夠有效地計(jì)算低維空間中實(shí)體之間的語義關(guān)系,有效地解決計(jì)算復(fù)雜性和數(shù)據(jù)稀疏性問題[15].
知識圖嵌入的關(guān)鍵思想是在連續(xù)向量空間中嵌入包含實(shí)體和關(guān)系的知識圖譜組件,以簡化操作,同時(shí)保留知識圖譜的固有結(jié)構(gòu).這些實(shí)體和關(guān)系嵌入可以進(jìn)一步用于各種任務(wù)[16].
知識圖譜雖在現(xiàn)代科學(xué)中起著越來越重要的作用,但一個(gè)數(shù)據(jù)豐富且準(zhǔn)確的知識圖譜其建立過程需要大量的技術(shù)甚至人力,多數(shù)知識圖譜在建立后仍然存在著內(nèi)容不夠完善的問題,知識圖譜補(bǔ)全技術(shù)就是為了通過算法來對圖譜補(bǔ)充新的知識,從而減少構(gòu)建知識圖譜所需的人工成本.
知圖圖譜(KG)包含大量的事實(shí)三元組(頭實(shí)體、關(guān)系、尾實(shí)體),廣泛應(yīng)用于許多領(lǐng)域,如電子商務(wù)、金融和社交網(wǎng)絡(luò).由于知識圖通常是不完整的,手動(dòng)查找所有事實(shí)三元組的成本很高,因此如何自動(dòng)執(zhí)行知識圖補(bǔ)全(KGC)備受關(guān)注[17].
知識圖譜補(bǔ)全技術(shù)(knowledge graph completion)是知識獲取中的一個(gè)重要的應(yīng)用,現(xiàn)階段知識圖譜的補(bǔ)全方式主要依靠通過實(shí)體和關(guān)系的低維嵌入,對知識圖譜中的實(shí)體與關(guān)系進(jìn)行預(yù)測.知識圖譜往往被定義成(頭實(shí)體h,關(guān)系r,尾實(shí)體t)所構(gòu)成的三元組,知識圖譜補(bǔ)全技術(shù)就是對這三元組的缺失部分進(jìn)行補(bǔ)全[18],它能夠讓知識圖譜變得更加完整,雖然人工干預(yù)構(gòu)建出的特征會具有較好的可解釋性,但耗費(fèi)資源太多.與之相比,通過表示學(xué)習(xí)技術(shù)可以自動(dòng)地根據(jù)任務(wù)構(gòu)建特征,但其往往又缺乏可解釋性.如何找到更有效的知識圖譜補(bǔ)全技術(shù),是一個(gè)非常值得研究的課題.
知識圖譜補(bǔ)全(KGC)可以解決知識圖中數(shù)據(jù)稀疏的問題.近年來,針對KGC任務(wù)提出了大量模型[19],本文從模型構(gòu)造方法的視角,將已有知識圖譜補(bǔ)全技術(shù)的相關(guān)研究分為Trans結(jié)構(gòu)、神經(jīng)網(wǎng)絡(luò)和張量分解3種構(gòu)造方法.其中TransE模型在鏈接預(yù)測方面表現(xiàn)很好,并且參數(shù)少、操作簡單;但TransE 方法在處理復(fù)雜關(guān)系方面,準(zhǔn)確度較低,如在處理一對多、多對一、多對多和自反等復(fù)雜關(guān)系時(shí),TransE模型難以精準(zhǔn)推算出具有相同關(guān)系的實(shí)體.神經(jīng)網(wǎng)絡(luò)模型其結(jié)構(gòu)復(fù)雜多樣,不同的模型具有不同的特性,但主體上都是通過聚合的方式,來捕捉鄰域節(jié)點(diǎn)信息.這類模型常會用到多層信息傳遞,大量的參數(shù)加重了模型的訓(xùn)練負(fù)擔(dān),但模型因加入了非線性計(jì)算,能取得較好的預(yù)測效果.張量分解模型是通過多維矩陣的組合和計(jì)算,來表示三元組內(nèi)部關(guān)系,模型結(jié)構(gòu)簡單,計(jì)算效率高,在大規(guī)模數(shù)據(jù)計(jì)算上也有不錯(cuò)的效果,與Trans模型一樣使用線性計(jì)算的方式,可以作為解碼器來使用,但對復(fù)雜的數(shù)據(jù)關(guān)系難以處理,使用時(shí)有一定的局限性.
已有知識圖譜補(bǔ)全技術(shù)的主要研究如表1所示.
表1 知識圖譜補(bǔ)全相關(guān)模型Table 1 Model about knowledge graph completion
2.1.1 多語義環(huán)境中Trans結(jié)構(gòu)模型的改進(jìn)
Trans結(jié)構(gòu)也被人稱為翻譯結(jié)構(gòu),最早的Trans結(jié)構(gòu)的模型是TransE[20],模型將知識圖譜中的三元組定義為(頭實(shí)體head,關(guān)系標(biāo)簽label,尾實(shí)體tail),并簡寫為(h,r,t).通過三元組向量化,頭實(shí)體h加上關(guān)系r便可得到尾實(shí)體t,即h+r=t,這樣可以通過一個(gè)實(shí)體和關(guān)系來預(yù)測另一個(gè)實(shí)體,即h+r≈t.
因?yàn)門ransE模型較為簡單,只是三元組內(nèi)的向量疊加,所以難以處理一對多或多對多的復(fù)雜關(guān)系.TransH[21]相對于TransE在這一方面做出了改進(jìn),TransH同樣假設(shè)了三元組(頭節(jié)點(diǎn)h,關(guān)系r,尾節(jié)點(diǎn)t)其中關(guān)系r會對應(yīng)一個(gè)矩陣Wr(可以理解為一種超平面),以矩陣相乘的方式進(jìn)行投影.但TransH依舊只關(guān)注了同一個(gè)語義環(huán)境下的三元組(投影在同一平面),而TransR[22]則在此基礎(chǔ)上將三元組分在不同的實(shí)體空間(entity space)和關(guān)系空間(relation space)中,并對關(guān)系空間中的頭尾實(shí)體映射一一建立不同的關(guān)系向量,從而達(dá)到相同的頭尾實(shí)體在不同的語義環(huán)境下會有不同的關(guān)系表示.
由于實(shí)體在不同語義環(huán)境中會有不同的關(guān)系,因此在通過頭實(shí)體和關(guān)系預(yù)測尾實(shí)體時(shí),會產(chǎn)生多種可能結(jié)果.CrossE[26]提出了使用交互矩陣,來提取頭實(shí)體和關(guān)系向量對應(yīng)的語義向量,進(jìn)而得到相應(yīng)的尾實(shí)體.
2.1.2 復(fù)數(shù)域上Trans結(jié)構(gòu)模型的擴(kuò)展
eiθ=cosθ+isinθ
(1)
2.1.3 多步路徑中Trans結(jié)構(gòu)模型的擴(kuò)展
ci=f(W[ci-1;ri]),ri∈p
(2)
其中c1=r1,P=cn為最終的關(guān)系嵌入.模型使用向量距離差作為評分函數(shù)(能量函數(shù)),評分函數(shù)如公式(3)所示:
E(h,p,t)=‖P-(t-h)‖=‖P-r‖=E(p,r)
(3)
(4)
同樣的,利用公式(4)也可以計(jì)算出從頭實(shí)體h到尾實(shí)體t的路徑可靠度,如公式(5)所示:
(5)
圖1 路徑可靠性的傳播圖Fig.1 Propagation diagram of path reliability
2.2.1 基于卷積神經(jīng)網(wǎng)絡(luò)的知識圖譜補(bǔ)全
(6)
p=σ(ψr(es,eo))
(7)
ConvKB[33]則在ConvE的基礎(chǔ)上進(jìn)行了改進(jìn),不再是對單個(gè)實(shí)體和關(guān)系的拼接計(jì)算,而是將一個(gè)三元組看作為整體,拼接為一個(gè)三列矩陣作為卷積輸入,最后計(jì)算評分.將不同的嵌入向量進(jìn)行拼接(Conact)并重塑(Reshape),雖然讓實(shí)體關(guān)系間產(chǎn)生了交互性,但拼接和重塑都無法保證向量的整體都參與到了交互中,ConvR[32]則是將關(guān)系r的嵌入作為卷積核,保證關(guān)系和實(shí)體之間的交互最大化.
InteractE[34]結(jié)合了之前模型的卷積處理方式,通過排列、重塑特征和循環(huán)卷積進(jìn)一步改善卷積神經(jīng)網(wǎng)絡(luò)在知識圖譜補(bǔ)全上的應(yīng)用.InteractE提出了3種重塑函數(shù)(Reshaping Function):Stack、Alternate以及Chequer.設(shè)實(shí)體嵌入h和關(guān)系嵌入r分別為es=(a1,…,ad)和er=(b1,…,bd),通過重塑函數(shù)φ改變張量維度,如公式(8)所示:
φ(es,er):Rd×Rd→Rm×n
(8)
Stack將實(shí)體嵌入和關(guān)系嵌入重塑并拼接為(m/2)×n的矩陣,單個(gè)嵌入重塑為2d=m×n的矩陣,最后拼接重塑后的矩陣.
Alternate采用交替堆疊的方式拼接重塑的矩陣,先將實(shí)體嵌入和關(guān)系嵌入任重塑為m×n的矩陣,在每行依次交替拼接,可以看作是兩種嵌入頻率為1的條件下交替出現(xiàn).
Chequer對實(shí)體嵌入和關(guān)系嵌入直接拆分為單個(gè)單元,再交替堆疊,從而保證重塑的矩陣中不會有相鄰的兩個(gè)相同的嵌入單元.
圖2(a)~圖2(d)分別為ConvE、ConvKB、ConvR和InteractE 4種模型的卷積操作以及交互方式,三元組(h,r,t)在不同模型下采取了不同的拼接和重塑(Conact & Reshape)策略,其中ConvR模型直接將關(guān)系向量作為卷積核,InteractE則采用3種重塑方式進(jìn)行特征獲取.
圖2 4種模型的卷積操作以及交互方式Fig.2 Convolution operation and interaction mode of four models
傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)更多的是應(yīng)用在圖像處理上,原因是卷積核為不可拆分的固定維度張量,但應(yīng)用于知識圖譜上時(shí),輸入張量的邊角和輸入中心區(qū)域與卷積核的交互程度產(chǎn)生的差異,會導(dǎo)致卷積神經(jīng)網(wǎng)絡(luò)沒有均勻地捕捉實(shí)體和關(guān)系的嵌入特征.InteractE采用了循環(huán)卷積運(yùn)算,卷積核不受邊界限制,從而捕捉三元組中更多的特征信息.圖3展示了標(biāo)準(zhǔn)卷積和循環(huán)卷積的區(qū)別.
2.2.2 基于循環(huán)神經(jīng)網(wǎng)絡(luò)的知識圖譜補(bǔ)全
多數(shù)知識圖譜補(bǔ)全往往針對的是單個(gè)三元組的補(bǔ)全,即預(yù)測實(shí)體間的直接關(guān)系,而對實(shí)體間的長期關(guān)系沒有過多的關(guān)注.在知識圖譜中,實(shí)體間存在類似序列的關(guān)系,也就是語義信息會沿路徑傳播,而單個(gè)三元組難以包含在路徑中傳播的語義信息.對于路徑關(guān)系處理,常用的是循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),而RSN[37]將循環(huán)神經(jīng)網(wǎng)絡(luò)與殘差學(xué)習(xí)相結(jié)合,通過隨機(jī)游走的方式來捕獲實(shí)體間的長期依賴關(guān)系.
常見的RNN循環(huán)神經(jīng)網(wǎng)絡(luò)[49]分為輸入層、隱藏層和輸出層3大部分,通常上一次的輸出只作為下一次輸入的一部分,來確保節(jié)點(diǎn)間的語義信息可以有效保存.RNN原理如公式(9)所示:
ht=tanh(Whht-1+Wxxt+b)
(9)
其中ht為當(dāng)前層的輸出,ht-1為上一層的輸出,Wh為ht-1的權(quán)重矩陣,用來調(diào)整上一層信息的占比.xt為當(dāng)前層的輸入,Wx為輸入的權(quán)重矩陣.
顯然,傳統(tǒng)的RNN每次都會迭代上一層的信息,但隨著層數(shù)的堆疊,最早的信息會多次與權(quán)重矩陣進(jìn)行運(yùn)算,導(dǎo)致信息占比不斷減少,對路徑語義信息的捕捉效率也不斷降低.而且RNN忽略了知識圖譜中的三元組結(jié)構(gòu),只是對路徑節(jié)點(diǎn)的信息進(jìn)行捕捉記錄.
對于關(guān)系路徑,往往是一條實(shí)體與關(guān)系相互間隔排列的路徑,也就是說關(guān)系路徑中的排列元素可能是實(shí)體,也可能是關(guān)系.RSN結(jié)合殘差學(xué)習(xí)的方式提出了跳躍機(jī)制,對節(jié)點(diǎn)和關(guān)系進(jìn)行區(qū)分.對于實(shí)體節(jié)點(diǎn)的嵌入,RSN不僅將其作為當(dāng)前層的輸出,而且在下一層的關(guān)系嵌入中加入實(shí)體信息,讓實(shí)體信息有效參與到神經(jīng)網(wǎng)絡(luò)運(yùn)算中,而這種實(shí)體跳躍關(guān)系鏈接的方式就是RSN的跳躍機(jī)制.RSN的遞歸公式如公式(10)所示:
(10)
RSN通過隨機(jī)游走來對知識圖譜進(jìn)行補(bǔ)全,常見的無偏置的隨機(jī)游走通過均勻的概率分布選擇下一個(gè)實(shí)體,RSN采用偏置隨機(jī)游走,利用二階隨機(jī)游走的想法,并引入深度偏置來控制采樣的路徑深度.二階隨機(jī)游走與一階不同的是,一階隨機(jī)游走只依賴當(dāng)前節(jié)點(diǎn),而二階隨機(jī)游走會捕捉到當(dāng)前節(jié)點(diǎn)與上一個(gè)節(jié)點(diǎn),相對一階隨機(jī)游走提高了精度.常規(guī)的隨機(jī)游走[50](Conventional random walks)如公式(11)所示:
(11)
其中ei為隨機(jī)游走的第i層實(shí)體,r為關(guān)系,Γ為知識圖譜中的三元組集合,πei→ei+1表示對ei到ei+1之間的非歸一化轉(zhuǎn)移概率.對所有的三元組隨機(jī)進(jìn)行概率抽樣.
RSN中提到的偏置隨機(jī)游走(Biased random walks)通過二階隨機(jī)游走來提高精度,并采用偏置來控制采樣的路徑大小,二階隨機(jī)游走如公式(12)所示:
(12)
其中d(a,b)表示實(shí)體a和b之間的最短路徑距離,值的范圍為{0,1,2},且控制隨機(jī)游走路徑方向的超參數(shù)α∈(0,1),μd(ei-1,ei+1)中較大的值代表隨機(jī)游走的方向.
2.2.3 基于圖神經(jīng)網(wǎng)絡(luò)的知識圖譜補(bǔ)全
深度學(xué)習(xí)的研究領(lǐng)域不斷擴(kuò)大,圖神經(jīng)網(wǎng)絡(luò)[51](GNN,Graph Neural Network)突破了卷積神經(jīng)網(wǎng)絡(luò)[52](CNN,Convolutional Neural Network)的局限性,不再像卷積神經(jīng)網(wǎng)絡(luò)那樣只能應(yīng)用于歐幾里得數(shù)據(jù)上,而是通過聚合圖結(jié)構(gòu)的數(shù)據(jù)來捕捉信息,其中圖卷積網(wǎng)絡(luò)[53](GCN,Graph Convolution Network)是將圖中的數(shù)據(jù)通過映射函數(shù)來聚合自身和鄰域的特征信息.GCN的消息傳遞如公式(13)所示:
(13)
gm(hi,hj)=Whj
(14)
從上述公式可以看出,GCN對鄰域聚合的方式是通過統(tǒng)一的函數(shù)來處理,對于鄰域中不同的節(jié)點(diǎn)以及關(guān)系并沒有進(jìn)行有效的區(qū)分.R-GCN[39](Relational Graph Convolutional Network)改進(jìn)了傳統(tǒng)GCN的信息聚合方式,對節(jié)點(diǎn)間的不同關(guān)系進(jìn)行分類,每種關(guān)系中的節(jié)點(diǎn)都有對應(yīng)的信息聚合方法.R-GCN將不同類型的邊設(shè)定一個(gè)獨(dú)立的權(quán)重矩陣,使得聚合鄰域節(jié)點(diǎn)時(shí)權(quán)重矩陣會記錄相種關(guān)系相關(guān)的節(jié)點(diǎn)信息,R-GCN的信息傳遞如公式(15)所示:
(15)
圖4中網(wǎng)格節(jié)點(diǎn)表示聚合的當(dāng)前節(jié)點(diǎn),深色節(jié)點(diǎn)和斜線填充的節(jié)點(diǎn)為當(dāng)前節(jié)點(diǎn)的鄰域,對不同關(guān)系構(gòu)成的鄰域(從rel_1到rel_N組關(guān)系鄰域,且根據(jù)方向再劃分為in和out兩種)進(jìn)行特征提取,并按照分配的權(quán)重矩陣加權(quán)求和,最后通過激活函數(shù)獲得最終特征.
圖4 R-GCN的節(jié)點(diǎn)特征信息聚合過程Fig.4 Aggregation process of node characteristic information in R-GCN
R-GCN的作用更多的是作為一種編碼器,通過多個(gè)矩陣來聚合不同關(guān)系的信息.但由于每種關(guān)系需要一個(gè)權(quán)重矩陣,導(dǎo)致R-GCNs訓(xùn)練時(shí)所需要的參數(shù)過多,而且R-GCN聚合的目標(biāo)是實(shí)體節(jié)點(diǎn),對關(guān)系本身的信息沒有進(jìn)行捕捉.在知識圖譜中,因?yàn)椴煌瑢?shí)體之間的關(guān)系會因?yàn)閷?shí)體語義環(huán)境而變化,所以關(guān)系本身是具有方向的.TransGCN[40]在R-GCN的基礎(chǔ)上提出實(shí)體更新和關(guān)系更新,而且定義了相對于實(shí)體的關(guān)系方向,對于實(shí)體節(jié)點(diǎn)vi,從其他節(jié)點(diǎn)指向vi的關(guān)系為incoming關(guān)系,而從vi指向其他節(jié)點(diǎn)的稱為outgoing關(guān)系.而且TransGCN更加重視知識圖譜中的三元組結(jié)構(gòu),TransGCN將GCN與Trans模型相結(jié)合,并定義Trans模型的三元組轉(zhuǎn)換方式,如公式(16)所示:
(16)
其中° 和*代表頭實(shí)體h向尾實(shí)體t和尾實(shí)體t向頭實(shí)體h轉(zhuǎn)換的操作符號,會與不同Trans模型結(jié)合時(shí)賦予不同的操作方法.
TransGCN在更新實(shí)體和關(guān)系節(jié)點(diǎn)時(shí)采用了消息傳遞神經(jīng)網(wǎng)絡(luò)框架[54](MPNN,Message Passing Neural Networks).MPNN是一個(gè)用于深度學(xué)習(xí)的算法框架,主要作用類似神經(jīng)網(wǎng)絡(luò)中的前饋網(wǎng)絡(luò),將三元組的嵌入作為消息傳遞內(nèi)容,再與相應(yīng)的實(shí)體或邊結(jié)合,從而達(dá)到實(shí)體與邊的更新.消息更新公式如公式(17)所示:
(17)
公式中m為消息嵌入,M為消息更新矩陣,l為隱藏層層數(shù),vj為頭實(shí)體特征,vi為尾實(shí)體特征,rk為關(guān)系特征,Γ(vi)為與節(jié)點(diǎn)vi相關(guān)聯(lián)的三元組集合.
有了傳遞的消息嵌入,就可以將消息與實(shí)體特征結(jié)合,獲得新的實(shí)體特征.實(shí)體更新公式如(18)所示,其中U為實(shí)體更新的權(quán)重矩陣.
(18)
對于關(guān)系更新,TransGCN直接采用一個(gè)變換矩陣W1來做為更新權(quán)重矩陣,關(guān)系更新公式如(19)所示:
(19)
TransGCN的更新方式如圖5所示,圖5(c)節(jié)點(diǎn)和邊對應(yīng)圖5(a)和圖5(b)的嵌入對象,虛線表示Incoming關(guān)系,實(shí)線表示Outgoing關(guān)系.圖5(a)中的深色實(shí)體為要更新的節(jié)點(diǎn)特征,° 和*為Trans模型的轉(zhuǎn)換公式換算符.
圖5 TransGCN的更新方式Fig.5 Update mode of TransGCN
TransGCN不僅僅改進(jìn)了R-GCN在知識圖譜的嵌入方式,而且還作為編碼器與Trans模型相結(jié)合,將公式(16)中的操作符° 和*進(jìn)行替換,就可以將Trans模型公式代入消息傳遞公式中.作者選取了TransE和RotatE兩種模型,其頭實(shí)體和尾實(shí)體的轉(zhuǎn)換公式分別如如公式(20)和公式(21)所示:
(20)
(21)
2.3.1 張量分解模型對潛在因子的獲取
張量分解模型則是將整個(gè)知識圖譜張量化,通過張量的形式來表示三元組以及內(nèi)部的關(guān)系,整個(gè)知識圖譜可以被看做是一個(gè)三階二元張量,每個(gè)元素代表一個(gè)三元組.經(jīng)典的張量模型RESCAL[41]將兩個(gè)實(shí)體(頭實(shí)體和尾實(shí)體)向量化,從而構(gòu)成一個(gè)含有關(guān)系的域.假設(shè)有E1…En這 n個(gè)實(shí)體,R1…Rm為實(shí)體E所構(gòu)成的m個(gè)域中的關(guān)系,通過張量模型分解潛在因子來獲取新的關(guān)系嵌入.張量分解如公式(22)所示:
χk≈ARkAT,fork=1,…,m
(22)
其中χk為待分解矩陣,A為分解的中的潛在實(shí)體特征,Rk則是一個(gè)非對稱矩陣.通過分解矩陣,RESCAL可以從兩個(gè)對照的三元組(其中一個(gè)為殘缺三元組,缺少關(guān)系)中預(yù)測新的關(guān)系.如圖6所示,小明、小紅都有上司在同一飯店聚餐,而小紅也參與了飯店聚餐,通過RESCAL將小紅和飯店構(gòu)成一個(gè)待分解的矩陣,再利用小明和飯店作為分解的部分矩陣,來推測小明和飯店之間的關(guān)系(虛線為推測的關(guān)系).
圖6 RESCAL應(yīng)用示例Fig.6 Application example of RESCAL
2.3.2 張量分解模型在復(fù)數(shù)域上的擴(kuò)展
為了解決DisMult中的這一問題,ComplEx[46]引入了復(fù)數(shù)域,將實(shí)體用復(fù)數(shù)向量表示,這樣非對稱關(guān)系也可以通過共軛向量來解決.在關(guān)系為r,實(shí)體為s和o的三元組(s,r,o)中,ComplEx將張量分解中的適用關(guān)系擴(kuò)展到了多類型,對于關(guān)系則有嵌入向量ωr∈CK,其中CK表示K維度的復(fù)向量空間,實(shí)體嵌入則用es和eo表示,模型的評分函數(shù)如公式(23)所示:
(23)
2.3.3 張量分解模型的一般性擴(kuò)展
TuckER模型在張量分解中表現(xiàn)更具有一般性,RESCAL、DisMult和ComplEx都是在三階二元張量中進(jìn)行三元組補(bǔ)全,TuckER也不例外,模型利用塔克分解(Tucker Decomposition)來處理張量分解問題.塔克分解在三階的情況下會將張量拆分為一個(gè)核心張量和3個(gè)分部矩陣,如公式(24)所示:
(24)
其中,待分解的原始張量χ∈RI×J×K,核心張量Z∈RP×Q×R,分部矩陣分別為A∈RI×P,B∈RJ×Q,C∈RK×R.符號×n為第n個(gè)情況下的乘法,?為向量內(nèi)積運(yùn)算符.
模型將塔克分解中的3個(gè)分部矩陣作為三元組對應(yīng)的3個(gè)嵌入矩陣,即實(shí)體嵌入矩陣E=A=C,關(guān)系嵌入矩陣R=B,核心張量Z=W.而對于三元組(s,r,o)就有對應(yīng)的向量表示es,wr.eo.es,wr和eo分別為3個(gè)嵌入矩陣的向量表示,由此也可定義TuckER的評分函數(shù)如公式(25)所示:
φ(es,r,eo)=W×1es×2wr×3eo
(25)
最后通過激活函數(shù)獲得概率p=σ(φ(es,r,eo))作為三元組預(yù)測的真實(shí)性概率.
1)Mean Rank:通過評分函數(shù)f()來計(jì)算三元組的得分(比如真實(shí)性),從實(shí)體集合中取出部分實(shí)體代替原有的三元組中的尾實(shí)體(或頭實(shí)體),并對替換后的三元組計(jì)算得分,分越底排名越靠前,再對所有與測試集相符的排名次數(shù)求和取均值就為Mean Rank,值越低表示模型性能越好.
2)Hits:與Mean Rank類似,通過相同的評分函數(shù)來計(jì)算排名,排在測試集中前k名的三元組個(gè)數(shù)之和在所有三元組中的比例則為Hits@k.Hits的值越高說明符合排名內(nèi)的三元組可能越多,模型效果越好.
1)WordNet:WordNet是以英文為主的一種數(shù)據(jù)集,早在1995年就被提出并建立,該數(shù)據(jù)集將英文中的各種詞匯作為實(shí)體對象,通過不同詞匯之間的關(guān)系來構(gòu)建知識圖譜.作為一個(gè)由詞匯構(gòu)成的語義網(wǎng)絡(luò),WordNet在構(gòu)建處就明確了6種語義關(guān)系信息,分別為同義關(guān)系(synonymy)、反義關(guān)系(antonymy)、上下關(guān)系(hyponymy & hypernymy)、部分與整體關(guān)系(meronymy & holonymy)、方式關(guān)系(troponymy)和蘊(yùn)含關(guān)系(entailment).論文中使用的往往是WordNet的子集,例如WN11、WN18、WN18RR等.
2)Freebase:Freebase是一個(gè)超大規(guī)模的知識圖譜數(shù)據(jù)集,含有超過1.25億個(gè)三元組,關(guān)系種類超過4000,而實(shí)體屬性超過7000.Freebase屬于百科類型的知識圖譜,建立的初衷就是為了記錄地球上所有的知識,里面涉及了多種學(xué)科知識,比如人文、地理.由于Freebase本身數(shù)據(jù)量較為龐大,實(shí)驗(yàn)往往會采用Freebase的子集,例如FB15K、FB15K-237、FB1M等.常用公共數(shù)據(jù)集信息如表2所示.
表2 常用公共數(shù)據(jù)集Table 2 Common public datasets
對于數(shù)據(jù)集的選擇,各個(gè)模型往往選取特定的關(guān)系種類來體現(xiàn)模型的優(yōu)勢,所以使用的數(shù)據(jù)集以子集為主.本文從各個(gè)模型實(shí)驗(yàn)中選取了4個(gè)常用的數(shù)據(jù)集作為實(shí)驗(yàn)對比,分別為WordNet的子集WN18、WN18RR和Freebase的子集FB15K、FB15K-237.WN18包含了18種詞語關(guān)系,WN18RR對WN18的關(guān)系進(jìn)行了刪選,因?yàn)閃N18包含了許多互為逆的三元組,比如(合肥,屬于,中國)和(中國,包含,合肥)就是一對互逆的三元組,這種三元組在數(shù)據(jù)處理的過程中對關(guān)系取逆就可以得到,因此WN18RR刪除了可以通過關(guān)系取逆的三元組.類似的FB15K也刪除了類似可以關(guān)系取逆的三元組,但Freebase本身內(nèi)容較多,F(xiàn)B15K依舊保留了1345中關(guān)系.FB15K-237則是在原有基礎(chǔ)上進(jìn)一步刪減數(shù)據(jù),保留了237種關(guān)系.
文章中的實(shí)驗(yàn)結(jié)果是作者在公開數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)得出的,將知識圖譜補(bǔ)全常用的3種指標(biāo)Mean Rank、Hits和MRR作為評測標(biāo)準(zhǔn),總結(jié)各個(gè)模型的在WN18、WN18RR、FB15K和FB15K-237 4個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)數(shù)據(jù),對比模型的訓(xùn)練效果.其中Raw表示包含負(fù)樣本的初始的三元組數(shù)據(jù),因?yàn)槿藶闃?gòu)造的三元組不一定不存在,也有可能是真實(shí)數(shù)據(jù),所以也可以作為訓(xùn)練數(shù)據(jù).Filter則表示的是刪除過負(fù)樣本的真實(shí)數(shù)據(jù).具體的實(shí)驗(yàn)結(jié)果如表3~表6所示.
表3 數(shù)據(jù)集下不同模型實(shí)驗(yàn)結(jié)果Table 3 Experimental results of each model in WN18 dataset
表4 WN18RR數(shù)據(jù)集下不同模型實(shí)驗(yàn)結(jié)果Table 4 Experimental results of each model in WN18RR dataset
表5 FB15K數(shù)據(jù)集下不同模型實(shí)驗(yàn)結(jié)果Table 5 Experimental results of each model in FB15K dataset
表6 FB15K-237數(shù)據(jù)集下不同模型實(shí)驗(yàn)結(jié)果Table 6 Experimental results of each model in FB15K-237 dataset
表3所用的數(shù)據(jù)集為WN18,其中DisMult數(shù)據(jù)來源于ComplEx,WN18作為WordNet的一個(gè)子集,所構(gòu)成的關(guān)系種類并不多,因此復(fù)雜的模型并不一定可以在WordNet上取得很好的效果,從Hits@10的數(shù)據(jù)中可以看出,神經(jīng)網(wǎng)絡(luò)模型和張量分解模型的表現(xiàn)較好,如ConvR模型、R-GCN模型、TuckER模型及ComplEx模型等,但在MRR上神經(jīng)網(wǎng)絡(luò)模型的得分較低,如R-GCN模型及DisMult模型.
Trans結(jié)構(gòu)模型中的RotatE在Hits@10上排到了第1名,它在Hits@1和Hits@3以及MRR 3種評價(jià)指標(biāo)中也均表現(xiàn)很好,張量分解模型在Hits@10和MRR兩種評價(jià)指標(biāo)上均表現(xiàn)良好,其中TuckER的MRR評分最高,在Hits@1和Hits@3上也排到了第1名.這也在一定程度上說明了張量分解模型比較適用關(guān)系較少的知識圖譜.
表4中TransE的數(shù)據(jù)來源于ConvKB的實(shí)驗(yàn)數(shù)據(jù),表中數(shù)據(jù)集WN18RR是在WN18的基礎(chǔ)上去除了可逆關(guān)系的三元組,進(jìn)一步簡化了關(guān)系的復(fù)雜度,Trans模型在Mean Rank指標(biāo)上表現(xiàn)較好,而在另兩個(gè)指標(biāo)中TransE的分值較低,RotatE則在Hit@3及Hit@1中表現(xiàn)較好,神經(jīng)網(wǎng)絡(luò)模型中的TransGCN在Hits@10以及Hits@3評價(jià)指標(biāo)中均排到了第1名,而ConvKB在MRR評價(jià)指標(biāo)中分值較低,神經(jīng)網(wǎng)絡(luò)模型中的ConvKB在MRR中表現(xiàn)較差,而Trans結(jié)構(gòu)中的TransE在Hits@1中表現(xiàn)則最差,其他的神經(jīng)網(wǎng)絡(luò)模型和張量分解模型沒有太大的區(qū)別.同時(shí),可以看出,張量分解模型的改進(jìn)有一定的成效,DisMult、ComplEx和TuckER的評價(jià)分?jǐn)?shù)穩(wěn)步上升.
如表5所示,F(xiàn)B15K中所含的實(shí)體個(gè)數(shù)為14951個(gè),數(shù)量上要少于WN18和WN18RR,但關(guān)系種類遠(yuǎn)大于WordNet的這兩個(gè)子集,共有1345種,而且訓(xùn)練所需的三元組也較多.可以看出,神經(jīng)網(wǎng)絡(luò)模型中實(shí)驗(yàn)數(shù)據(jù)整體較為穩(wěn)定,張量分解模型中的DisMult在MRR中,及Trans模型中的TransE在Hit@10中都表現(xiàn)較差;而張量分解模型中的TuckER則在Hit@10中表現(xiàn)良好.從整體上看,神經(jīng)網(wǎng)絡(luò)模型更適合于關(guān)系復(fù)雜的知識圖譜,主要因?yàn)樯窠?jīng)網(wǎng)絡(luò)模型對關(guān)系語義的捕捉更加精確.
表6中的FB15K-237對FB15K的關(guān)系種類進(jìn)行了較大的縮減,訓(xùn)練規(guī)模也有所減小,大多數(shù)模型都有較好的訓(xùn)練效果,尤其近幾年出現(xiàn)的模型評分較高,這也在一定程度上反應(yīng)了知識圖譜補(bǔ)全技術(shù)的最新發(fā)展.其中TransE實(shí)驗(yàn)數(shù)據(jù)來源于ConvKB,DisMult、ComplEx實(shí)驗(yàn)數(shù)據(jù)來源于TuckER.
知識圖譜是通過關(guān)系來連接數(shù)據(jù),而知識圖譜中的關(guān)系種類較為復(fù)雜,單一結(jié)構(gòu)的模型在處理多種關(guān)系時(shí),往往會出現(xiàn)很多問題,如TransE模型難以處理一對多的關(guān)系,DisMult雖然使用了對角矩陣,也難以處理非對稱關(guān)系.模型的結(jié)構(gòu)在一定程度上會對關(guān)系的處理產(chǎn)生影響,單一結(jié)構(gòu)的模型在數(shù)據(jù)處理上更有效率,而往往會受限于對關(guān)系種類的處理.如何改進(jìn)現(xiàn)有知識圖譜補(bǔ)全模型,使得模型可以學(xué)習(xí)更大規(guī)模的關(guān)系種類,成為知識圖譜補(bǔ)全技術(shù)的一個(gè)主要研究方向.
知識圖譜本質(zhì)上也是圖,作為一種非歐數(shù)據(jù)結(jié)構(gòu),采用傳統(tǒng)的歐式幾何處理方法會產(chǎn)生維度過高,計(jì)算復(fù)雜等問題.在知識圖譜補(bǔ)全技術(shù)中,一些模型采用分割處理的方式,只對圖譜中的一部分幾何結(jié)構(gòu)進(jìn)行處理,例如Trans模型多是是通過一組或多組類似的假三元組,來擬合真實(shí)三元組.但這種方式往往割裂了不同三元組之間的關(guān)系,難以擬合圖譜中語義信息的獲取.
大規(guī)模知識圖譜結(jié)構(gòu)復(fù)雜,數(shù)據(jù)龐大,從數(shù)據(jù)收集、數(shù)據(jù)清洗、對比分析到圖譜的構(gòu)建,整個(gè)流程自動(dòng)化程度不高,知識圖譜補(bǔ)全技術(shù)往往將知識圖譜拆分為多組三元組,因其結(jié)構(gòu)及數(shù)據(jù)本身的復(fù)雜性,導(dǎo)致補(bǔ)全模型的訓(xùn)練效率低.這在神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型上表現(xiàn)較為明顯,神經(jīng)網(wǎng)絡(luò)對一個(gè)三元組往往會有多層的信息傳遞和計(jì)算,這雖然增強(qiáng)了對關(guān)鍵信息捕捉的能力,但一定程度上加重了模型訓(xùn)練負(fù)擔(dān),使得模型訓(xùn)練代價(jià)高.
大多數(shù)知識圖譜補(bǔ)全模型(例如Trans模型和張量分解模型)都是對同一時(shí)間點(diǎn)的圖譜內(nèi)容進(jìn)行補(bǔ)全,模型在訓(xùn)練時(shí)也只是針對訓(xùn)練集中已有的三元組,無法推測出數(shù)據(jù)中未知的三元組數(shù)據(jù),這種靜態(tài)的補(bǔ)全方式難以適應(yīng)外界環(huán)境的變化,模型的可擴(kuò)展性差.現(xiàn)實(shí)世界中,環(huán)境復(fù)雜多變,要求知識圖譜的補(bǔ)全技術(shù),能夠適應(yīng)外部環(huán)境的變化而動(dòng)態(tài)變化.同時(shí),當(dāng)前知識圖譜的構(gòu)建仍然高度依賴領(lǐng)域?qū)<抑R,模型通常具有較強(qiáng)的行業(yè)屬性,其通用性較差.
在知識圖譜中進(jìn)行路徑查找,可以進(jìn)行更加復(fù)雜的知識推理,但在大規(guī)模的圖譜中存在路徑數(shù)量增長過快及冗余信息過多等問題.傳統(tǒng)的路徑查找方法主要是PRA方法(Path Ranking Algorithm),但對于規(guī)模較大的知識圖譜,這種路徑查找方法會帶來路徑數(shù)量的過快增長與冗余信息過多,進(jìn)而會導(dǎo)致特征空間急劇膨脹.
TransE和RESCAL中對實(shí)體和關(guān)系的處理都是進(jìn)行單一的向量化,通過向量的簡單計(jì)算來表示三元組中各元素之間的關(guān)系,這種處理雖然極大的減輕了數(shù)據(jù)訓(xùn)練時(shí)的復(fù)雜度,但缺乏對復(fù)雜關(guān)系的有效處理,TransH、TransR、DisMult等模型都做出了一定的改進(jìn),而在一些較為特殊的關(guān)系中(例如對稱關(guān)系),RotatE、ComplEx等一些模型引入了復(fù)數(shù)域的概念,通過共軛向量的特殊性質(zhì)來表示更多實(shí)體間關(guān)系.
傳統(tǒng)的張量分解模型主要以線性變換為主,這種方式往往會導(dǎo)致模型處理后的結(jié)果缺乏表現(xiàn)力,而且張量之間的相乘難以保證每個(gè)張量的元素之間都會產(chǎn)生交互,因而需要非線性的處理方式,神經(jīng)網(wǎng)絡(luò)模型就可以有效的彌補(bǔ)這一缺憾.ConvE最早提出了將卷積神經(jīng)網(wǎng)絡(luò)用于知識圖譜補(bǔ)全技術(shù)中,而ConvE使用的是較為傳統(tǒng)的卷積模型,對三元組的處理僅僅是向量化拼接成新的張量,這種做法對知識圖譜中的豐富語義信息捕捉不夠連貫,元素之間的信息聚合更多的是割裂的.ConvKB、ConvR以及InteractE進(jìn)一步改進(jìn)了三元組的處理方式和卷積神經(jīng)網(wǎng)絡(luò),彌補(bǔ)了之前的不足.
同樣的,圖神經(jīng)網(wǎng)絡(luò)也開始應(yīng)用于這一領(lǐng)域中,較為經(jīng)典的模型R-GCN,通過對關(guān)系分類來聚合實(shí)體節(jié)點(diǎn).由于知識圖譜中的關(guān)系種類繁多,這導(dǎo)致R-GCN需要大量的參數(shù)(R-GCN中每個(gè)關(guān)系都有對應(yīng)的權(quán)重矩陣)來參與數(shù)據(jù)訓(xùn)練,增加了模型的訓(xùn)練的時(shí)間復(fù)雜度.TransGCN雖然減少了R-GCN的參數(shù)使用,但本身對圖神經(jīng)網(wǎng)絡(luò)的更新方式?jīng)]有做出更多的改變,而是與其他模型更好的結(jié)合起來,將圖神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)知識圖譜補(bǔ)全中的編碼功能.
上述的模型中多數(shù)都是將目光集中在單個(gè)三元組上,而多個(gè)關(guān)系密切的三元組所形成的鏈路路徑也應(yīng)當(dāng)被視為一個(gè)研究的重點(diǎn).PTransE和RSN將多步路徑引入到了知識圖譜補(bǔ)全技術(shù)中,知識圖譜的構(gòu)成本身就具備較強(qiáng)的邏輯性,實(shí)體間的邏輯關(guān)系也可以被看作是一種序列關(guān)系,PTransE和RSN這兩個(gè)模型都提到了循環(huán)神經(jīng)網(wǎng)絡(luò)的使用,不同的是RSN對循環(huán)神經(jīng)網(wǎng)絡(luò)做出了改進(jìn),而PTransE更多的是結(jié)合多個(gè)模型.在路徑的信息聚合中難免會遇到一個(gè)問題——如何選取有效的路徑作為信息聚合對象?兩種模型也給出了不同的方式,PTransE通過路徑資源算法來評估路徑的“價(jià)值”,以此來作為是否作為有效信息的衡量標(biāo)準(zhǔn),而RSN則是通過隨機(jī)游走和噪聲估計(jì)的方式聚合路徑信息.
經(jīng)典的知識圖譜補(bǔ)全模型往往都存在著一定的局限性,如R-GCN是通過聚合周圍節(jié)點(diǎn)信息得到節(jié)點(diǎn)嵌入,適用于編碼器,而RESCAL、DisMult等模型則是通過映射的方式將三元組轉(zhuǎn)換為低維向量組合,可以作為解碼器使用,類似的TransGCN將GCN和Trans模型在信息傳遞的過程中結(jié)合,通過Trans模型解開GCN編碼.將多種較為基礎(chǔ)的模型進(jìn)行有效的融合可以彌補(bǔ)原有模型的不足,進(jìn)一步拓展模型的功能.
現(xiàn)實(shí)世界往往是動(dòng)態(tài)變化的,要求所構(gòu)建的知識圖譜能夠適應(yīng)這種動(dòng)態(tài)變化的特征.傳統(tǒng)用于靜態(tài)知識圖譜補(bǔ)全的方法,在捕獲動(dòng)態(tài)信息方面有著較大的局限性,不能直接運(yùn)用于這種動(dòng)態(tài)的、甚至是多模態(tài)的知識圖譜補(bǔ)全方面.近年來,出現(xiàn)了一些新的知識圖譜補(bǔ)全技術(shù)[58,59],采用類似遷移學(xué)習(xí)的思想,借助神經(jīng)網(wǎng)絡(luò)模型,以獲取不同動(dòng)態(tài)場景中特征信息,對數(shù)據(jù)集中未知的關(guān)系和實(shí)體進(jìn)行補(bǔ)全預(yù)測,以提高模型的可擴(kuò)展性,然而,實(shí)際效果都不是非常理想,模型的通用性也較差.如何將知識圖譜補(bǔ)全技術(shù)運(yùn)用于動(dòng)態(tài)、多模態(tài)環(huán)境,以提高知識圖譜補(bǔ)全模型的可擴(kuò)展性,及如何將知識圖譜技術(shù)運(yùn)用于現(xiàn)實(shí)世界中的不同領(lǐng)域,以提高知識圖譜補(bǔ)全模型的通用性,都是未來值得研究的重要方向.
本文對已有知識圖譜補(bǔ)全技術(shù)相關(guān)的主要研究進(jìn)行了分析與討論,指出了已有知識圖譜補(bǔ)全技術(shù)不同模型各自的優(yōu)點(diǎn)與不足.從知識圖譜補(bǔ)全模型復(fù)雜關(guān)系處理、上下文語義信息獲取、節(jié)點(diǎn)間長期依賴關(guān)系的捕獲、模型的可擴(kuò)展性與通用性等方面,展望了未來知識圖譜補(bǔ)全技術(shù)主要研究方向,以期對知識圖譜補(bǔ)全技術(shù)研究提供一點(diǎn)借鑒與幫助.