周澤華 陳 恒,2 李冠宇*
1(大連海事大學(xué)信息科學(xué)技術(shù)學(xué)院 遼寧 大連 116026)2(大連外國語大學(xué)軟件學(xué)院 遼寧 大連 116044)
知識圖譜(KGs)[1-2]已成為機器學(xué)習(xí)、數(shù)據(jù)挖掘和人工智能應(yīng)用(包括問答)[3]中許多任務(wù)的關(guān)鍵資源,例如實體消歧[4]、命名實體鏈接[5]、事實檢查[6]和鏈接預(yù)測[7]。典型的知識圖譜通常是一個多關(guān)系有向圖,由一組關(guān)系三元組(h, r, t)組成,表示兩個實體h和t之間的關(guān)系為r,例如(Mark Twain,PlaceofBirth, Florida)。知識圖譜具有豐富的結(jié)構(gòu)信息,在許多應(yīng)用中發(fā)揮著重要作用。
盡管如此,知識圖譜仍遠沒有達到完備的程度。知識圖譜補全(KGC)和關(guān)系抽取(RE)是擴展知識圖譜的兩種典型方法。知識圖譜補全的目標(biāo)是在知識圖譜原有結(jié)構(gòu)的基礎(chǔ)上,用新的事實豐富知識圖譜。關(guān)系抽取旨在從純文本中提取關(guān)系事實。有許多工作致力于關(guān)系抽取,如基于內(nèi)核的模型[8]、基于嵌入的模型[9]和神經(jīng)網(wǎng)絡(luò)模型[10]。
KGC任務(wù)可以分為兩個非互斥的子任務(wù):實體預(yù)測和關(guān)系預(yù)測。實體預(yù)測任務(wù)采用部分三元組(h, r, ?)或(?, r, t)作為輸入并輸出候選實體的排名列表。關(guān)系預(yù)測任務(wù)的目的是找到連接頭實體和尾實體的關(guān)系排名列表。Context_RL在知識圖譜補全任務(wù)中特別關(guān)注實體預(yù)測任務(wù)。
近年來許多KGC算法被提出,它們都有共同特點:使用低維嵌入向量表示實體和關(guān)系。如Unstructured[11]、 TransE[12]、TransH[13]和TransR[14]等嵌入模型,都是使用成對(margin-based)排名損失函數(shù),衡量每個三元組中h+r和t之間ln范數(shù)表示的距離。
其他模型,如神經(jīng)張量網(wǎng)絡(luò)(NTN)[15]和合成向量空間模型(CVSM)[16],將多層神經(jīng)網(wǎng)絡(luò)解決方案納入現(xiàn)有模型。但是,由于它們的參數(shù)非常大,這些模型的擴展性不好,一次只考慮一個關(guān)系,從而限制了它們在大型真實世界知識圖譜上的應(yīng)用。
盡管上述方法在知識表示學(xué)習(xí)方面取得了成功,但大多數(shù)方法將知識圖譜視為一組三元組,并分別獨立地對每個三元組建模。然而,在現(xiàn)實中,三者是相互聯(lián)系的,整個知識圖譜可以看作是一個有向圖,由頂點(即實體)和有向邊(即關(guān)系)組成。很多現(xiàn)有方法只考慮鏈接實體的三元組信息,而忽略了更多的全局信息,例如多步路徑、給定頂點的k度鄰域等。將這些不同的結(jié)構(gòu)信息稱為圖上下文信息,文獻[17]同樣考慮到這種結(jié)構(gòu)信息。本文采用的圖上下文信息即是節(jié)點的鄰接節(jié)點和邊的信息,如圖1所示,Context_RL的總體結(jié)構(gòu)如圖2所示。
圖1 實體e的位置及其圖上下文信息
圖2 Context_RL的總體結(jié)構(gòu)
Context_RL的實體預(yù)測任務(wù)同其他模型一樣,在得到知識圖譜向量表示的基礎(chǔ)上,通過實體排名進行實體預(yù)測。
目前為止,學(xué)者們已提出了各種方法將實體和關(guān)系編碼到一個連續(xù)的低維空間中[18-19]。如以TransE為代表的翻譯模型,包括TransR[14]、TransD[20]等擴展模型。其他模型如NTN[15]、HolE[21]、RESCAL[22]和DISTMULT[23]等張量模型。
在上述TransE模型中,關(guān)系r在向量空間中表示h到t的平移,即如果知識圖譜中存在三元組(h,r,t),則向量(h+r)接近t。因此,TransE的能量得分函數(shù)如下:
E(h;r;t)=‖h+r-t‖1/2
(1)
TransE簡單高效,但其訓(xùn)練目標(biāo)具有局限性,即只能滿足1-1關(guān)系。這是因為實體缺失三元組(?, r, t)或(h, r, ?)只有一個候選實體可以滿足h+r=t。當(dāng)處理1-N、N-1和N-N復(fù)雜關(guān)系類型時,TransE難以獲得準確的預(yù)測結(jié)果。但仍有以TransE模型為基礎(chǔ)的擴展模型取得了更好的實驗結(jié)果,例如PTransE[24],通過挖掘知識圖譜中的路徑信息在結(jié)構(gòu)層面上加強知識表示學(xué)習(xí)的能力,表示形式為h+(r1○r2)=t,其中○表示加法、乘法或RNN中的一種組合運算。本文模型則是通過補充知識圖譜中圖上下文信息在語義層面上加強知識表示學(xué)習(xí)的能力,表示形式為hc+rc=tc,其中實體和關(guān)系分別融入了圖上下文信息。
現(xiàn)有的知識表示學(xué)習(xí)模型大多只關(guān)注實體間的結(jié)構(gòu)信息(如TransE)或?qū)嶓w的文本描述信息,較少考慮圖上下文信息的模型。其中使用文本描述信息提高知識圖譜表示學(xué)習(xí)的方法有:文獻[15]提出了NTN模型,通過將每個實體表示為實體名稱中單詞向量的平均值,從而允許共享實體名稱中類似文本描述的信息;文獻[25]通過使用實體名稱和Wikipedia錨的對齊模型,提出了一種將實體嵌入和單詞嵌入聯(lián)合到一個連續(xù)向量空間中的新方法;文獻[26]提出了一種基于實體文本描述的對齊模型,用于聯(lián)合嵌入知識庫和文本語料庫;文獻[27]提出了DKRL模型,將詞袋模型(Bag-of-words)和深度卷積神經(jīng)模型作為編碼器,編碼實體文本描述的語義;文獻[28]提出的模型學(xué)習(xí)了知識圖譜和實體文本描述在一個統(tǒng)一的參數(shù)共享語義空間中的表示,并提出了一個知識圖譜和文本描述間能突出重要特征的相互注意機制。
Context_RL受文獻[29]圖神經(jīng)網(wǎng)絡(luò)模型啟發(fā),以TransE模型為基礎(chǔ),通過融合圖上下文信息,增強知識圖譜的知識表示學(xué)習(xí)能力,從而更好地完成知識圖譜補全任務(wù)。
相比基于文本描述的知識表示學(xué)習(xí)模型,Context_RL優(yōu)點在于:
(1) 知識圖譜中上下文信息來源清晰,與節(jié)點緊密相關(guān),不存在噪聲的問題。
(2) 對圖上下文信息的處理更簡便、高效。
知識圖譜(KGs)定義為G={E,R,T},其中E、R和T分別表示實體集、關(guān)系集和三元組集合。對于每個三元組(h,r,t)∈T,關(guān)系r∈R表示頭實體h∈E和尾實體t∈E間的關(guān)系,并且h,r,t∈Rn表示它們的嵌入維度為n。在知識圖譜中:
(1) 對于節(jié)點e(即實體e),存在x個以該節(jié)點為尾實體的三元組,y個以該節(jié)點為頭實體的三元組,得到基于圖上下文的潛在實體嵌入為vec∈Rn,融合vec得到實體嵌入為ve∈Rn。
(2) 對于每條邊r(即關(guān)系r),存在z個以該條邊為關(guān)系的三元組,通過關(guān)系模型得到基于圖上下文的關(guān)系嵌入,也即是最終的關(guān)系嵌入vr∈Rn。
在Context_RL中,將知識圖譜的節(jié)點e(即實體e)的上下文信息作為模型輸入,得到一個含有該實體上下文信息的嵌入向量,即潛在實體嵌入vec,然后將vec融合到該實體的初始嵌入向量中得到模型的輸出,即實體嵌入ve。本文提出了潛在實體嵌入vec的模型方法表達式,表示為:
vec=f(g(Mht,Mr))Mht
(2)
式中:Mht∈R(x+y)×n和Mr∈R(x+y)×n分別是節(jié)點e(即實體e)的圖上下文信息中的上下文矩陣和上下文關(guān)系矩陣,Mht和Mr共同構(gòu)成了e的完整的圖上下文信息。在定義以上兩個變量的過程中,本文采用了TransE的模型假設(shè),即對真實三元組,存在假設(shè):h+r-t≈0。基于此條件,定義了Mht和Mr,分別表示為:
Mht=[h1+rh1,h2+rh2,…,hx+
rhx,t1-rt1,t2-rt2,…,ty-rty]
(3)
Mr=[rh1,rh2,…,rhx,rt1,rt2,…,rty]
(4)
式中:{h1,h2,…,hx}、{t1,t2,…,ty}和{rh1,rh2,…,rhx,rt1,rt2,…,rty}分別是節(jié)點e(即實體e)在其圖上下文中以e為尾實體三元組的頭實體集合、以e為頭實體三元組的尾實體集合和相關(guān)的邊(即關(guān)系)集合。在得到圖上下文的Mht和Mr的表示基礎(chǔ)上,可以計算Mht中各上下文向量與Mr中對應(yīng)關(guān)系向量的相似度,本文采用余弦相似度進行相似度計算。定義式(2)中相似度函數(shù)g(·)為:
(5)
由式(5)得到上下文矩陣Mht中第i個上下文向量與上下文關(guān)系矩陣Mr中第i個關(guān)系向量的相似度。通過對各個相似度進行歸一化處理,得到圖上下文的權(quán)重,即式(2)中權(quán)重函數(shù)f(·)的定義,表示為:
(6)
由式(6)得到節(jié)點e(即實體e)的上下文矩陣Mht中各上下文向量的權(quán)重。按式(2),對Mht中的上下文向量進行加權(quán)求和計算出潛在實體嵌入vec。最后將e的初始嵌入向量融合vec即可得到模型的輸出實體嵌入ve,其融合過程表示為:
(ve)[k]=(ve)[k-1]⊕vec
(7)
式中:(ve)[k]表示節(jié)點e(即實體e)在第k次迭代后得到的嵌入向量表示;⊕表示加法融合。
對知識圖譜中某條邊r(即關(guān)系r),存在z個三元組的關(guān)系為r,本文對關(guān)系嵌入vr建立關(guān)系模型表示為:
(8)
式中:Wht∈Rz×n表示邊r(即關(guān)系r)的圖上下文矩陣。Wht表示為:
Wht=[tr1-hr1,tr2-hr2,…,trz-hrz]
(9)
式中:{(hr1,tr1),(hr2,tr2),…,(hrz,trz)}表示與邊r(即關(guān)系r)相關(guān)的所有實體對的集合,也即是r的圖上下文信息。在關(guān)系模型中,忽略了r的初始嵌入向量,是因為在滿足了模型假設(shè)的同時,不僅防止了信息的重合,也有利于提高模型的效率。
為得到更好的訓(xùn)練結(jié)果,定義目標(biāo)函數(shù)如下。首先使用Sigmoid函數(shù)σ(·)計算各個候選實體的概率,計算式表示為:
fo(vec,vo)=b-‖vec-vo‖
(10)
P[i]=σ(fo(vec,vo)[i])
(11)
式中:vo表示某個候選實體的嵌入向量;b為偏置參數(shù);函數(shù)fo(vec,vo)的作用是計算當(dāng)前實體的潛在實體嵌入vec與候選實體vo的距離值。式(11)表示在函數(shù)σ(·)的變換下得到所有候選實體是目標(biāo)實體的概率P?;诤蜻x實體的概率定義交叉熵損失函數(shù),即目標(biāo)函數(shù),表示為:
(1-t[i])log(1-P[i])))
(12)
式中:N表示候選實體的個數(shù);t[i]表示第i個候選實體的標(biāo)簽,其取值為{0,1}。當(dāng)?shù)趇個候選實體為目標(biāo)實體時,t[i]為1,否則為0。
在模型優(yōu)化時,本文使用的是隨機梯度下降法(SGD)。在實驗過程中,為防止數(shù)據(jù)出現(xiàn)過擬合,令‖ve‖≤1和‖vr‖≤1。本文算法如算法1所示。
算法1Context_RL模型算法
輸入:Training setS= {(h,r,t)},entities and relations. setsEandR, marginb, embeddings dim.n。
initialize
loop
r←r/‖r‖ for each relationr∈R
e←e/‖e‖ for each entitye∈E
Sbatch←sample (S,s)
//抽取數(shù)量大小為s的訓(xùn)練樣本
for (h,r,t)∈Sbatchdo
(Mht,Mr)←graph context ofhort//從集合S中獲取h,t
//的圖上下文,并以TransE模型為基礎(chǔ)進行處理
sim←calculate similarity betweenMhtandMr
e←e⊕(sim·Mht)
//e表示頭實體h或尾實體t
Wht←graph context ofr
//從集合S中獲取r的圖上下文,
//并以TransE模型為基礎(chǔ)進行處理
r←average ofWht
end for
Update embeddingsw.r.t
//更新參數(shù)
end loop
為說明本文模型在提高知識圖譜表示學(xué)習(xí)能力中融合圖上下文信息的有效性,在給出的數(shù)據(jù)集上進行了實體預(yù)測實驗。
在實驗過程中,所有的嵌入向量的嵌入維度n=100;以模型每次運行完整個訓(xùn)練集為一輪,設(shè)置運行輪次k=500;在定義目標(biāo)函數(shù)時,用到偏置參數(shù)b,考慮到‖ve‖≤1,設(shè)置b=1;SGD的學(xué)習(xí)率設(shè)置為0.001。
WN18是WordNet的一個子集,WordNet是一個以單詞間的詞匯關(guān)系為特征的數(shù)據(jù)庫,同時這個數(shù)據(jù)集存在許多逆關(guān)系。因此,WN18的主要關(guān)系模式也是對稱/反對稱和反轉(zhuǎn)。數(shù)據(jù)集WN18RR是WN18的一個子集,刪除反轉(zhuǎn)關(guān)系,主要關(guān)系模式為對稱/反對稱。
FB15k是Freebase的一個子集,F(xiàn)reebase是一個包含一般事實知識的大型知識庫。其主要關(guān)系模式是對稱/反對稱和反轉(zhuǎn)。數(shù)據(jù)集FB15k-237是FB15k的一個子集,刪除反轉(zhuǎn)關(guān)系,主要關(guān)系模式為對稱/反對稱。
本文所有數(shù)據(jù)集的組成如表1所示。
表1 數(shù)據(jù)集中實體、關(guān)系、三元組的數(shù)量
實驗結(jié)果的參考指標(biāo)為MR和H@10,其含義分別為實體預(yù)測時正確實體的平均排名和正確實體排在前10的百分比。并將Context_RL的結(jié)果與其他模型結(jié)果進行了比較,結(jié)果如表2和表3所示。
表2 數(shù)據(jù)集WN18RR和FB15k-237上的實體預(yù)測結(jié)果
表3 數(shù)據(jù)集WN18和FB15k上的實體預(yù)測結(jié)果
實驗結(jié)果表明,通過Context_RL得到的結(jié)果,在給定的兩個參考指標(biāo)上明顯優(yōu)于其他模型,證明了Context_RL的有效性和可行性,同時說明知識圖譜的上下文信息加強了知識表示學(xué)習(xí)的能力,提高了實體預(yù)測的準確率。
三元組分類是一個二分類問題,判斷給定的三元組(h,r,t)是正確還是錯誤的。采用文獻[30]的抽樣方法,實驗數(shù)據(jù)集是數(shù)據(jù)集WN18和FB15k,評價指標(biāo)是分類的準確率,實驗結(jié)果如表4所示。
表4 三元組分類實驗準確率結(jié)果 %
可以看出,Context_RL在三元組分類上同樣取得了很好的結(jié)果,與TransE的結(jié)果相比:在數(shù)據(jù)集WN18上,準確率提升了0.2百分點;在語義更豐富的數(shù)據(jù)集FB15k上,準確率提升了9.5%,說明了Context_RL可以應(yīng)用到大規(guī)模知識圖譜上。
本文提出Context_RL模型,通過知識圖譜中節(jié)點或邊(即實體或關(guān)系)的圖上下文信息,來加強該實體或關(guān)系的語義表示,從而得到更加準確和可靠的向量表示。
Context_RL在WN18、FB15k等有關(guān)數(shù)據(jù)集上進行了實體預(yù)測和三元組分類實驗,并與現(xiàn)階段經(jīng)典的TransE和最新的ConvE等模型進行了比較,取得了更好的結(jié)果。
未來的工作中,在模型Context_RL的基礎(chǔ)上,仍然可以通過更加精確的融合模型來融合潛在實體嵌入,進一步提高知識圖譜的知識表示學(xué)習(xí)能力。