林 霞,王 聰,李 敏,李俊華
1(四川師范大學(xué) 計算機科學(xué)學(xué)院,成都 610101)2(四川警察學(xué)院 計算機科學(xué)與技術(shù)系,四川 瀘州 646000)
進入21世紀(jì)以來,人們對于互聯(lián)網(wǎng)的依賴不斷加深,促進了互聯(lián)網(wǎng)行業(yè)的高速發(fā)展,隨之產(chǎn)生了大量數(shù)據(jù),數(shù)據(jù)分析成為了時代的主流,互聯(lián)網(wǎng)進入了大數(shù)據(jù)時代.知識圖譜稠密表示是大數(shù)據(jù)時代有效的表示方式之一,是一個巨大的知識網(wǎng)絡(luò),網(wǎng)絡(luò)中的節(jié)點表示實體,節(jié)點之間的邊表示實體和實體之間的關(guān)系[1].
知識圖譜稠密表示的主要目的是在向量空間中映射多關(guān)系實體和關(guān)系數(shù)據(jù)的語義信息,例如具有相似語義信息的實體cat、kitten、feline、meow表示為實值向量后,在低維的歐氏空間中彼此靠近,從而實現(xiàn)知識圖譜稠密表示,其具有隱式知識、弱邏輯約束、不易解釋、對接神經(jīng)網(wǎng)絡(luò)的特點.
三元組是知識圖譜稠密表示的基本組成單元,主要以(實體,關(guān)系,實體)或者(實體,屬性,屬性值)兩種形式表示,其中實體表示生活中真實存在的事物,關(guān)系或者屬性表示各種實體之間的某種聯(lián)系.
對于知識圖譜稠密表示中的三元組(實體,關(guān)系,實體),傳統(tǒng)的知識圖譜稠密表示方法在知識嵌入過程中使用三元組的實體和關(guān)系之間的歐氏距離構(gòu)造損失函數(shù).同時為了達到在低維空間中嵌入最佳向量的目的,通常采用隨機梯度下降法極小化損失函數(shù),更新三元組中實體和關(guān)系的向量,以找到最優(yōu)的參數(shù),使得損失函數(shù)的值最小.目前,TransH[2]、TransR[3]等經(jīng)典模型都是在TransE[4]模型的基礎(chǔ)之上,在關(guān)于三元組的損失函數(shù)上探求突破點以改進模型.隨機梯度下降優(yōu)化方法計算原理簡單,計算效率高,通常將該方法應(yīng)用于大規(guī)模數(shù)據(jù),但是在訓(xùn)練參數(shù)時,因為梯度方向隨著知識向量的不斷更新而變化,所以隨機梯度下降法對梯度的估計往往出現(xiàn)偏差,造成損失函數(shù)曲線收斂速度慢,甚至出現(xiàn)收斂不穩(wěn)定的現(xiàn)象,在收斂位置附近伴有劇烈抖動,最終得到的結(jié)果不一定是全局最優(yōu)值,可能得到局部最小值,從而導(dǎo)致實體和關(guān)系向量表示的精確度不高.
目前如何提高知識圖譜稠密表示的精確度是研究者廣泛關(guān)注的熱點問題.為解決傳統(tǒng)知識圖譜稠密表示方法所帶來的以上問題,提出了一種基于柯西-施瓦茨不等式的知識圖譜稠密表示訓(xùn)練方法,將實體和關(guān)系保存到歐氏空間.該方法在解決知識圖譜符號化表示方面具有重要意義:解決了知識圖譜的大規(guī)模和數(shù)據(jù)稀疏性問題;在保留原始圖譜特定屬性的同時,將知識圖譜映射為連續(xù)的向量空間,使得一大批高效的數(shù)值化計算和推理方法得以適用[5];實體和關(guān)系的向量表示可以作為機器學(xué)習(xí)算法的輸入,從而使知識圖譜在其他人工智能領(lǐng)域的應(yīng)用成為可能.
知識圖譜稠密表示是以圖形的形式展現(xiàn)眾多實體之間復(fù)雜的語義關(guān)系,提出知識圖譜最主要的目的是利用實體及其實體之間的關(guān)系提升用戶的檢索效率.知識圖譜稠密表示的基本思想是將抽象的實體和關(guān)系表示為歐氏空間下的實值向量,為接下來相關(guān)的數(shù)值計算奠定基礎(chǔ)[6].為了將知識圖譜嵌入到歐氏空間中,文獻[4]提出了基于翻譯操作的實體嵌入學(xué)習(xí)模型(Translating Embedding,TransE),TransE將實體嵌入到低維向量空間以后,通過三元組中實體和關(guān)系之間的翻譯操作確定關(guān)系在歐氏空間中的位置.在TransE中,關(guān)系在嵌入空間中表示為平移,當(dāng)(h,r,t)成立時,在稠密低維向量空間中,尾實體向量應(yīng)該接近頭實體向量加上關(guān)系向量.TransE利用簡單的計算原理構(gòu)建多元關(guān)系數(shù)據(jù)模型,并且實驗結(jié)果表明在真實知識數(shù)據(jù)集中,TransE模型關(guān)于鏈接預(yù)測方面明顯優(yōu)于之前的方法.該模型計算復(fù)雜度低,可為大規(guī)模數(shù)據(jù)構(gòu)造知識圖譜,但是TransE模型仍然存在不足之處:TransE不能充分表示所有關(guān)系類型,只能在一對一關(guān)系類型中有很好的實驗結(jié)果.為了解決TransE的不足,不斷產(chǎn)生新的模型來改進和補充TransE.
文獻[2]提出TransH模型(Embedding by Translating on Hyperplanes),顧名思義TransH利用三元組的結(jié)構(gòu)將實體投影到關(guān)系所在的超平面以后,將三元組的實體和關(guān)系平移,最終將知識圖譜嵌入到歐氏空間中.TransH不僅和TransE保持同樣少的參數(shù)和同樣低的計算復(fù)雜度,而且彌補了TransE不能很好處理實體之間多對多、多對一、一對多等復(fù)雜關(guān)系的缺陷,實驗結(jié)果表明在處理復(fù)雜關(guān)系時,TransH模型較TransE有顯著的改進.但是同一實體在不同的關(guān)系中可能會有不同的含義,例如三元組(李晨,參演,北京愛情故事)和(李晨,主持,武林大會)中,李晨即可以表示為演員李晨,又可以表示為主持人李晨,TransH模型在同一歐氏空間中嵌入實體和關(guān)系,因此它不足以表示以上情況中的實體和關(guān)系.
針對TransH的不足,文獻[3]提出TransR模型,TransR首先將歐氏空間分為實體的歐氏空間和關(guān)系的歐氏空間,隨后基于三元組的結(jié)構(gòu)特點,將實體空間中的實體映射到關(guān)系空間中,最后在完成投影的關(guān)系空間中,頭實體h和尾實體t通過平移關(guān)系r連接起來.但是在同一關(guān)系下,因為頭尾實體能表現(xiàn)出不同的角色,所以為頭尾實體構(gòu)建同一個關(guān)系向量空間不足以執(zhí)行翻譯操作.因此在TransR模型的基礎(chǔ)上,利用分段線性回歸將頭尾實體聚類成不同的簇,學(xué)習(xí)每個簇不同的關(guān)系,故命名為基于簇的TransR(CTransR).通過對比實驗證明TransR/CTransR較之前的模型有顯著的改進,各實驗度量標(biāo)準(zhǔn)均優(yōu)于先前的模型,并且CTransR的性能優(yōu)于TransR,其中CTransR表明采用細(xì)粒度模型可以劃分關(guān)系中復(fù)雜的內(nèi)部屬性.但是該模型仍有不足之處:某一特定關(guān)系所含有的所有實體共同使用相應(yīng)的關(guān)系映射矩陣.同時在知識嵌入過程中,較TransE和TransH,TransR/CTransR需要更多的計算參數(shù),因此難以應(yīng)用于大規(guī)模知識圖譜.
TransM模型[7]在以上模型基于翻譯操作,利用三元組中的不同的關(guān)系映射屬性計算三元組的權(quán)重大小,從而進行知識圖譜稠密表示.TransM模型與TransE具有相當(dāng)?shù)膮?shù)復(fù)雜性,同樣適用于大型知識圖譜.并且能夠靈活地處理多種關(guān)系類型,實驗結(jié)果表明該模型在鏈路預(yù)測和三元組分類方面明顯優(yōu)于其他模型.盡管以上知識圖譜稠密表示模型在處理實體和關(guān)系方面不斷取得進步,但它們僅僅考慮了實體之間的直接關(guān)系,而忽略了實體之間存在的多步關(guān)系路徑.
因此為了解決這一問題,PTransE[8]模型將TransE與關(guān)系路徑模型相結(jié)合,提出基于路徑的TransE(PTransE).PTransE模型的關(guān)系路徑是實體之間基于關(guān)系的轉(zhuǎn)換過程,但是實體之間的關(guān)系路徑并不全是可靠的,因此為了解決這一問題,PTransE提出了一種基于路徑約束的資源分配算法.在實際數(shù)據(jù)集上進行對比實驗后分析得知:PTransE模型不僅有利于知識圖譜稠密表示,而且在文本關(guān)系提取方面取得了顯著而持續(xù)的改進.
知識圖譜稠密表示模型通過計算損失度量來構(gòu)建實體和關(guān)系向量,但由于損失度量過于簡化,不足以構(gòu)建知識圖譜中復(fù)雜的實體和關(guān)系.為了解決這個問題,文獻[9]提出了TransA模型,利用自適應(yīng)Mahalanobis度量和橢圓等勢面有效地模擬知識圖譜中各種復(fù)雜的實體和關(guān)系,實驗結(jié)果表示該模型在鏈路預(yù)測與三元組分類方面取得了顯著的進步.
以上模型的性能均優(yōu)于TransE,并且每個三元組的關(guān)系具有唯一的投影空間,但是邏輯上相關(guān)的關(guān)系或者概念上相似的關(guān)系可能具有不同的投影空間,因此引入了更多的參數(shù),導(dǎo)致數(shù)據(jù)稀疏性問題.所以ITransF[10]通過學(xué)習(xí)發(fā)現(xiàn)共享關(guān)系投影矩陣,利用稀疏注意機制將共享矩陣組合成特定關(guān)系的投影矩陣,從而解決數(shù)據(jù)稀疏性問題.
但是以上模型利用嚴(yán)格的幾何形式構(gòu)造代數(shù)系統(tǒng),導(dǎo)致模型不能準(zhǔn)確地表示知識圖譜,從而不能進行精確的鏈接預(yù)測.因此ManifoldE[11]將平移翻譯規(guī)則替換為基于流形的規(guī)則,引入了特定關(guān)系參數(shù),解決了局限的幾何形式所引起的鏈接預(yù)測精確度不高的問題.實驗表明,ManifoldE模型相對于最新的基線,在與之保持相當(dāng)計算效率的同時,在鏈接預(yù)測任務(wù)中也取得了實質(zhì)性的改進.
知識圖譜稠密表示模型通常對數(shù)據(jù)采用以下處理方法:在計算實體和關(guān)系距離之前,對所有的初始化數(shù)據(jù)都進行了歸一化,從而達到避免向量空間無限擴張的目的.但是歸一化數(shù)據(jù)以后,實體和關(guān)系只能勉強滿足h+r≈t這一原則.所以TorusE[12]將映射空間由普通向量空間轉(zhuǎn)換成李氏群,增加了空間的緊致性,從而不再需要歸一化.
但是TorusE模型和以上模型具有同樣的不足之處:過于簡化的實體表示低估了實體的復(fù)雜性,無法在知識圖譜中準(zhǔn)確描述實體,并且這些模型都是基于評分準(zhǔn)則h+r≈t訓(xùn)練三元組,該評分準(zhǔn)則描述了三元組中實體對h和t的共同外在特征r,從而忽略了關(guān)系的內(nèi)在抽象表示.GTrans模型[13]為了反映實體的外在特征和內(nèi)在特征,將每個實體建模為本征態(tài)和模擬態(tài),然后對不同的狀態(tài)分配不同的權(quán)重來構(gòu)建動態(tài)關(guān)系空間.通過分析基準(zhǔn)數(shù)據(jù)集中的實驗結(jié)果可得:該模型在鏈路預(yù)測和三元組分類方面均優(yōu)于主流模型.盡管以上模型在處理實體和關(guān)系方面取得了成功,但是這些模型通過將關(guān)系表示為從頭部實體到尾部實體的過渡矢量,無法很好地解決三元組的各種關(guān)系映射屬性.
因此為了解決這一問題,TransMS模型[14]保留以上模型所提出的翻譯操作,改進評分函數(shù)h+r≈t,使用非線性函數(shù)將頭實體/尾實體和關(guān)系的語義信息傳遞給尾實體/頭實體,從而表示知識圖譜的結(jié)構(gòu).TransMS模型與TransE具有相當(dāng)?shù)膮?shù)復(fù)雜性,在大規(guī)模知識圖譜中有更好的可伸縮性,實驗結(jié)果表明,TransMS模型能夠靈活地處理多種關(guān)系類型,針對擁有更多關(guān)系類型的FB15k數(shù)據(jù)集,TransMS模型有利于預(yù)測多對一復(fù)雜關(guān)系的頭實體、一對多復(fù)雜關(guān)系的尾實體.
最后,盡管以上知識圖譜稠密表示方法各有千秋,但總結(jié)分析發(fā)現(xiàn)它們均采用隨機梯度下降的方法更新?lián)p失函數(shù)的參數(shù).面對海量數(shù)據(jù)而引起的龐大計算量,以及隨機梯度下降法無法得到全局最優(yōu)值的情況,傳統(tǒng)的隨機梯度下降法所得知識圖譜稠密表示方法并不是特別理想.
訓(xùn)練集S包含三元組(h,r,t),三元組由實體h,實體t和關(guān)系r組成,例如三元組(余華,創(chuàng)作,活著),其中余華和活著是三元組的兩個實體,創(chuàng)作表示兩個實體之間的關(guān)系.知識圖譜稠密表示的基本思想是關(guān)于關(guān)系r的函數(shù)對應(yīng)于歐氏空間中嵌入的翻譯操作[15],即當(dāng)h+r≈t時,(h,r,t)成立,三元組基于能量框架的勢能函數(shù)等于d(h+r,t),定義損失函數(shù)L,如公式(1)所示,最后在訓(xùn)練集中最小化損失函數(shù)L,實現(xiàn)實體和關(guān)系的稠密低維向量嵌入.
(1)
其中S是正確三元組集合,S′是負(fù)例三元組集合,γ表示邊際超參數(shù),是一個常數(shù),d(h+r,t)是正確三元組的勢能函數(shù),d(h′+r,t′)是負(fù)例三元組的勢能函數(shù),[x]+表示max(0,x).
損失函數(shù)L中的勢能函數(shù)d(h+r,t)為L2-norm,在TransE[4]模型中勢能函數(shù)如下:
(2)
通過優(yōu)化特定的距離函數(shù),將實體嵌入到低維稠密向量空間,從而利用實體的坐標(biāo)計算任意實體間的關(guān)系.根據(jù)公式(1)與公式(2),三元組中尾實體t的誤差函數(shù)可表示為:
(3)
將知識圖譜稠密表示轉(zhuǎn)換為一個最優(yōu)化問題,求解尾實體向量t,滿足dt=min(d).
(4)
dt,h=‖t-h‖
(5)
(6)
其中頭實體h、尾實體t、關(guān)系r在歐氏空間中的n維向量分別為(h1,h2,…,hn)、(t1,t2,…,tn)、(r1,r2,…,rn).
(7)
(8)
又因柯西-施瓦茨不等式在n維歐氏空間中表示為:
|(A,B)|≤‖A‖·‖B‖
(9)
其中(A,B)表示A和B的內(nèi)積,‖A‖和‖B‖是范數(shù).
(A,B)=a1b1+a2b2+…+anbn
(10)
(11)
(12)
正如以上公式所示,柯西-施瓦茨不等式在n維歐氏空間中的范數(shù)表示與知識圖譜稠密表示中的實體關(guān)系之間的距離函數(shù)表示相同,因此使用柯西-施瓦茨不等式極小化公式(3),從而得到公式(13),以優(yōu)化損失函數(shù)L,而損失函數(shù)L中的勢能函數(shù)d(h′+r,t′)仍然基于隨機梯度下降法優(yōu)化.
dt≤(dt,h)2+‖r‖·‖r‖-2‖r‖·‖t-h‖
(13)
定義一個M×N的坐標(biāo)矩陣C用于存儲所有實體的坐標(biāo)向量,其每一行i分別表示訓(xùn)練集中每個實體i的坐標(biāo),即C=[…iT…]T,引入一個臨時矩陣Z用于存儲實體更新后的臨時向量和臨時函數(shù)d′,并定義m×m矩陣L與矩陣LZ,其中m是實體嵌入個數(shù):
(14)
(15)
其中‖t-h‖尾實體t與頭實體h的距離,‖Zt-Zh‖是臨時矩陣Z中實體t與h的距離,inv定義為:
(16)
則根據(jù)柯西-施瓦茨不等式公式(14)可轉(zhuǎn)化為:
(17)
其中C包含實體的向量坐標(biāo),CT是矩陣C的轉(zhuǎn)置,Tr是矩陣的秩.
當(dāng)且僅當(dāng)LC=LZZ時,d′取極小值.如果將臨時矩陣Z表示為坐標(biāo)矩陣C的估計,則存儲實體坐標(biāo)矩陣C的迭代為[16]:
LC(n+1)=LC(n)C(n)
(18)
其中C(n)是第n倫迭代中矩陣C的取值,C(n+1)是第n+1倫迭代中矩陣C的取值.
結(jié)合公式(18)與公式(15)、公式(16),推導(dǎo)出尾實體具體的計算公式為:
(19)
其中|·|運算取集合的勢,d表示尾實體t求解時的具體維度.
然而優(yōu)化三元組(h,r,t)中的頭實體和關(guān)系時,對公式(1)采用隨機梯度下降的方法,某一個頭實體h公式有:
(20)
(21)
因此頭實體h的參數(shù)更新有公式(22):
(22)
本文根據(jù)TransE、TransH、TransR中不同的勢能函數(shù),分別基于柯西-施瓦茨不等式將知識向量最優(yōu)化后嵌入低維向量空間.針對TransE模型,基于柯西-施瓦茨不等式的知識圖譜稠密表示方法TransE_CS詳細(xì)的過程如算法1所示:首先將參數(shù)S,E,L,γ,k,epochs,batches作為算法的輸入,然后算法中的步驟a—c隨機初始化三元組的實體和關(guān)系[17].步驟d將epochs帶入迭代過程中,對隨機初始化后的實體向量進行歸一化以后,在訓(xùn)練集S隨機采樣b個三元組獲得Sbatch,并帶入迭代算法,然后對于Sbatch中每一個三元組,通過替換頭實體或者尾實體得到負(fù)例三元組,最后采用基于柯西-施瓦茨不等式的方法更新?lián)p失函數(shù)L的參數(shù),從而得到三元組的實值向量,具體的嵌入過程如算法1.根據(jù)算法1同理可得基于柯西-施瓦茨不等式的TransH_CS和TransR_CS的知識圖譜稠密表示算法.
算法1.TransE_CS算法
輸入:S,E,R,γ,k,epochsandbatches
輸出:t,h,r向量
b)R←r/‖R‖ for eachr∈R;
d) forepochinepochsdo
E←e/‖e‖ for eache∈E;
forbatchinnbatchesdo
Sbatch← sample(S,b) //集合S={(h,l,t)}表示訓(xùn)練集
Tbatch←φ
for(h,r,t)∈Sbatchdo
Tbatch←Tbatch∪{(h,r,t),(h′,r,t′)}
end for
for(h,r,t)∈Tbatch
ift∈(h,r,t)andh!=t:
Neighbor(t)←Neighbor(t)+1
t←h+δt,h(t-h)
t←t+1
end for
Update embeddings w.r.t.
end for
end for
知識圖譜稠密表示測試方法的核心思想是利用公式(2)計算三元組的相異度后,并按升序?qū)ζ渑判?從而得到算法度量標(biāo)準(zhǔn)MR(Mean Rank)、Hits@10、MRR(Mean Reciprocal Rank)和Hits@1.
a)MR:正確的三元組相異度在所有測試集中的平均排名;
b)Hits@10:排名前10名中有正確三元組的百分比;
c)MRR:正確的三元組相異度排名的倒數(shù)在所有測試集中的平均數(shù);
d)Hits@1:排名前1名中有正確三元組的百分比.
知識圖譜稠密表示測試方法如算法2所示:對于測試集T中每一個三元組,步驟a首先移除三元組頭部實體,并依次由實體訓(xùn)練結(jié)果數(shù)據(jù)集E中的實體替換得到corrupted_head,再利用模型計算其相異度,步驟b采用同樣的方法計算corrupted_tail的相異度.步驟c和步驟d將以上相異度以從低到高的順序排列后,步驟e表示在相異度排序范圍內(nèi)如果測試三元組的頭實體等于負(fù)例三元組的頭實體,則該負(fù)例三元組為正確三元組,隨后依次將位于前1位正確三元組的個數(shù)、位于前10位正確三元組的個數(shù)、所有正確三元組個數(shù)、所有正確三元組相異度排名的倒數(shù)相加,步驟f同理求得替換尾實體而得的負(fù)例三元組中正確三元組個數(shù),最后步驟g—步驟j分別除以測試集T中三元組的個數(shù)得到MR、Hits@10、MRR和Hits@1.具體的測試過程見算法2.
算法2.知識圖譜稠密表示測試算法
輸入:h,t,r向量
輸出:MR、Hits@10、MRR和Hits@1
a) forh′∈Edo //E是實體的集合
corrupted_head←(h′,r,t)
rank_head_dict←distance(h′,r,t)
end for
b) fort′∈Edo
corrupted_tail←(h,r,t′)
rank_tail_dict←distance(h,r,t′)
end for
c)rank_head_sorted←sorted(rank_head_dict)
d)rank_tail_sorted←sorted(rank_tail_dict)
e) fori∈range(len(rank_head_sorted))do
ifT[0]∈rank_head_sorted[i][0]:
ifi< 1:
hits1←hits1+1
ifi< 10:
hits←hits+1
rank_sum←rank_sum+i+1
MRR←MRR+1/(i+1)
end for
f) fori∈range(len(rank_tail_sorted)) do
ifT[1]∈rank_tail_sorted[i][1]
ifi< 1:
hits1←hits1+1
ifi< 10:
hits←hits+1
rank_sum←rank_sum+i+1
MRR←MRR+1/(i+1)
end for
g)Hits@10←hits/(2 * len(T))
h)Hits@1←hits1 /(2 * len(T))
i)MR←rank_sum/(2 * len(T))
j)MRR←MRR/(2 * len(T))
本文涉及的實驗數(shù)據(jù)使用和基準(zhǔn)知識圖譜稠密表示模型相同的數(shù)據(jù)集:FB15k和WN18.FB15k數(shù)據(jù)是從Freebase抽取到的一系列三元組,數(shù)據(jù)集FB15k包含entity2id.txt,relation2id.txt,train.txt,valid.txt,test.txt,其中entity2id.txt,relation2id.txt每一行分別包含了一個實體和關(guān)系的標(biāo)識,剩余文件每一行依次用頭實體、尾實體、關(guān)系表示三元組.數(shù)據(jù)集WN18是WordNet的子數(shù)據(jù)集,其數(shù)據(jù)集的結(jié)構(gòu)和FB15k類似,FB15k和WN18數(shù)據(jù)集詳情如表1所示.
表1 數(shù)據(jù)集詳情Table 1 Data set details
本實驗運行于Windows10 64位操作系統(tǒng)環(huán)境下,Intel Core i7-8700 CPU,3.2GHz主頻,16G RAM,NVIDIA GeForce GTX 2070.
模型參數(shù)包括隨機梯度下降的學(xué)習(xí)率λ、邊際超參數(shù)γ、嵌入維度k和相異度度量d,為了確定模型參數(shù)對模型性能的影響,在基于柯西-施瓦茨不等式的知識圖譜稠密表示訓(xùn)練方法中,學(xué)習(xí)率、邊際超參數(shù)、嵌入維度分別在經(jīng)典模型TranseE、TransH、TransR的參數(shù)選擇范圍內(nèi)選擇最優(yōu)參數(shù),由于柯西-施瓦茨不等式適用于L2距離函數(shù),所以相異度度量參數(shù)為L2.實驗參數(shù)選取情況如表2、表3、表4所示.
表2 TransE_CS實驗參數(shù)Table 2 TransE_CS experimental parameters
表3 TransH_CS實驗參數(shù)Table 3 TransH_CS experimental parameters
表4 TransR_CS實驗參數(shù)Table 4 TransR_CS experimental parameters
本實驗采用平均等級MR、Hits@10、 MRR和Hits@1作為度量標(biāo)準(zhǔn),其中MR表示知識圖譜中實體的平均等級,Hits@10表示排名在前10的有正確實體的比例,MRR表示為正確的三元組相異度排名的倒數(shù)在所有測試集中的平均數(shù),Hits@1表示排名在前1的有正確實體的比例,較低的平均等級MR或者較高的Hits@10、MRR、Hits@1意味著模型具有更好的性能.實驗度量標(biāo)準(zhǔn)計算過程如上述算法2所示.
為了驗證模型性能,將本文提出的表示方法分別與TransE模型[4]、TransH模型[3]、TransR模型[2]在FB15k和WN18數(shù)據(jù)集上對比:
1)TransE將三元組中的頭實體h和尾實體t通過平移關(guān)系r連接起來,其評分函數(shù)是fr(h,t)=‖h+r-t‖.
3)TransR在關(guān)系r所在的關(guān)系空間中,將三元組中關(guān)于規(guī)范化向量Mr的頭實體h和尾實體t通過平移關(guān)系r連接起來,其評分函數(shù)是fr(h,t)=‖(hMr+r-tMr)‖.
在相同參數(shù)的前提下,其結(jié)果與本文提出的基于柯西-施瓦茨不等式的知識圖譜稠密表示訓(xùn)練方法運行結(jié)果對比如表5所示.其中TransE_CS、TransH_CS、TransR_CS依次表示基于柯西-施瓦茨不等式分別優(yōu)化TransE模型、TransH模型、TransR模型.
表5 實驗結(jié)果統(tǒng)計Table 5 Statistics of experimental results
從表5中的實驗結(jié)果可以看出,針對知識圖譜稠密表示TransE模型,本文提出的TransE_CS知識圖譜稠密表示訓(xùn)練方法在FB15k數(shù)據(jù)集中所有實驗度量標(biāo)準(zhǔn)均優(yōu)于TransE,其中MeanRank降低7%,Hits@10、MRR、Hits@1分別提高了17%、30%、60%.在WN18數(shù)據(jù)集中,Hits@10提升了6%,但是度量標(biāo)準(zhǔn)MR、MRR和Hits@1在該數(shù)據(jù)集中并不理想,實驗結(jié)果沒有改進.針對TransH模型,本文提出的TransH_CS訓(xùn)練方法在FB15k數(shù)據(jù)集中Hits@10提高了7%,在WN18數(shù)據(jù)集中,Hits@10提升了7%,除此之外FB15k數(shù)據(jù)集和WN18數(shù)據(jù)集中的其他度量標(biāo)準(zhǔn)均沒有得到優(yōu)化.針對TransR模型,本文提出的TransR_CS訓(xùn)練方法同樣沒有在所有度量標(biāo)準(zhǔn)中有所改進,在FB15k數(shù)據(jù)集中Hits@10提高了5%,在WN18數(shù)據(jù)集中,Hits@10提升了1%,MRR提升了13%,Hits@1提升了3%.
分析表中FB15k數(shù)據(jù)集與WN18數(shù)據(jù)集兩者中的實驗結(jié)果發(fā)現(xiàn):因為WN18數(shù)據(jù)集具有稀疏的結(jié)構(gòu)特性,使得模型訓(xùn)練時沒有足夠的數(shù)據(jù),從而導(dǎo)致模型無法得到充分訓(xùn)練,所以WN18數(shù)據(jù)集上Hits@10的改進程度均不及FB15k.其次,在FB15k和WN18數(shù)據(jù)集中,度量標(biāo)準(zhǔn)MR并沒有得到相應(yīng)改進,但是需要注意的是如果固定三元組在向量空間中的位置,即可降低該度量標(biāo)準(zhǔn),因此度量標(biāo)準(zhǔn)MR實際上并不重要[18].最后,針對TransE、TransH和TransR 3個模型,本文提出的TransE_CS在FB15k上4個度量標(biāo)準(zhǔn)均優(yōu)于TransE,這是因為TransE模型計算復(fù)雜度更低,損失函數(shù)構(gòu)造更簡單,由此說明TransE更適合利用柯西-施瓦茨不等式優(yōu)化知識向量.
另外,相比于WN18數(shù)據(jù)集FB15k擁有更多的關(guān)系,因此本實驗將FB15k數(shù)據(jù)集的關(guān)系分為1-1,1-Many,Many-1,Many-Many 4種類型后,依次進行對比實驗.
在FB15k的測試集中,給定三元組(h,r,t),首先確定包含r、t的三元組并統(tǒng)計其總數(shù),隨后在此基礎(chǔ)上統(tǒng)計包含頭實體h的三元組個數(shù),以求得h的平均數(shù),若平均數(shù)低于1.5,則頭實體h的類型為1,否則為Many.同理可求得尾實體t的類型,最終可得三元組(h,r,t)中r的關(guān)系類型.通過以上方法可得FB15k的測試集中26.2%為1-1關(guān)系類型,22.7%為1-Many關(guān)系類型,28.3%為Many-1關(guān)系類型,22.8%為Many-Many關(guān)系類型.依次在4種關(guān)系類型中預(yù)測三元組的頭實體和尾實體,其hits@10度量標(biāo)準(zhǔn)對比結(jié)果如表6所示.
表6 不同關(guān)系類型實驗結(jié)果統(tǒng)計(%)Table 6 Statistics of experimental results of different relationship types(%)
針對FB15k數(shù)據(jù)集,表6表示了不同關(guān)系映射屬性的單獨評估結(jié)果,從實驗結(jié)果可以看出,與知識圖譜稠密表示TransE模型相比,本文提出的TransE_CS知識圖譜稠密表示訓(xùn)練方法在所有關(guān)系類型的hits@10均優(yōu)于TransE.對比于TransH模型,本文提出的TransH_CS訓(xùn)練方法除開Many-1關(guān)系類型,Hits@10均有所改進.對比于TransR模型,本文提出的TransR_CS訓(xùn)練方法除開Many-Many關(guān)系類型,Hits@10均有所改進.
分析表6中的驗結(jié)果發(fā)現(xiàn):TransE_CS、TransH_CS和TransR_CS訓(xùn)練方法提高了實體和關(guān)系之間復(fù)雜內(nèi)在聯(lián)系的精確度,在TransE_CS的各種關(guān)系類型中,hits@10均有提高,但是TransH_CS的Many-1關(guān)系類型和TransR_CS的Many-Many關(guān)系類型沒有改進,這是因為TransE模型計算復(fù)雜度更低,損失函數(shù)構(gòu)造更簡單,TransE更適合利用柯西-施瓦茨不等式優(yōu)化知識向量.
總結(jié)以上所有實驗結(jié)果可得:為了提高對比實驗的說服力,本文將提出的基于柯西-施瓦茨不等式知識圖譜稠密表示訓(xùn)練方法依次與模型TransE、TransH、TransR比較,所得實驗結(jié)果表明,本文提出的改進方法不僅保持了以上基準(zhǔn)模型計算復(fù)雜度低、有效處理多關(guān)系數(shù)據(jù)等優(yōu)點,還提高了以上模型的度量標(biāo)準(zhǔn)Hits@10,尤其在TransE的對比實驗中,比較標(biāo)準(zhǔn)MeanRank和Hits@10在FB15k數(shù)據(jù)集中均優(yōu)于TransE,實驗結(jié)果表示本文提出的改進算法在模型的復(fù)雜度與知識嵌入表示精確度之間找到了較好的折中點.
知識圖譜中實體和關(guān)系編碼的稠密低維實值向量作為機器學(xué)習(xí)算法的輸入,從而使知識圖譜在人工智能領(lǐng)域具有重要的意義與實用價值.為提高知識圖譜稠密表示的準(zhǔn)確性,本文提出一種知識圖譜稠密表示方法.借助傳統(tǒng)的知識圖譜嵌入模型中的翻譯操作,采用勢能函數(shù)表示實體和關(guān)系在向量空間中關(guān)系,利用柯西-施瓦茨不等式最小化勢能函數(shù)等過程,最終在向量空間中表示實體和關(guān)系的稠密低維向量.本實驗的知識圖譜稠密表示方法與傳統(tǒng)算法相比較,具有以下優(yōu)勢:與傳統(tǒng)知識圖譜稠密表示方法保持相同時間復(fù)雜度的基礎(chǔ)上,提高了知識圖譜中實體和關(guān)系表示的準(zhǔn)確性.
由于現(xiàn)行知識圖譜稠密表示將關(guān)系和實體嵌入到歐幾里得空間,受限于空間維度的限制[19],無法充分體現(xiàn)實體之間的時間相關(guān)性.因此下一步的工作中,將著力探索知識圖譜稠密表示涉及的實體間時間相關(guān)性.