李天宇, 王艷娜, 周子力, 趙曉函
(曲阜師范大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,273165,山東省曲阜市)
知識圖譜本質(zhì)上是一個大規(guī)模的語義網(wǎng)絡(luò),旨在通過實(shí)體間的關(guān)系描述客觀世界中的事實(shí),其中將實(shí)體(如人名、地名、機(jī)構(gòu)名、概念等)表示為網(wǎng)絡(luò)中的節(jié)點(diǎn),將相鄰實(shí)體間關(guān)系表示為網(wǎng)絡(luò)中的連邊[1]. 因此,大多數(shù)的知識圖譜都是以(h,r,t)這種三元組的形式存儲和表示數(shù)據(jù),不同的三元組描述不同的客觀事實(shí). 表示學(xué)習(xí)是指將知識圖譜中的中文詞語或英文單詞以及用來鏈接詞語或單詞的關(guān)系在統(tǒng)一的向量空間中進(jìn)行表示,使知識圖譜由離散的符號化表示轉(zhuǎn)變?yōu)檫B續(xù)的向量,便于后續(xù)任務(wù)的完成.
近年來,研究學(xué)者提出了很多關(guān)于面向知識圖譜的表示學(xué)習(xí)算法. 本文主要針對翻譯模型展開研究,這類模型簡單且高效,如TransE[2]、TransH[3]、TransR/CTransR[4]、TransM[5]、TransG[6]等. 這些模型從向量空間、模型復(fù)雜度、復(fù)雜關(guān)系等幾個角度對之前的模型優(yōu)化,但它們在學(xué)習(xí)過程中仍是將三元組作為獨(dú)立個體進(jìn)行向量表示,忽略了實(shí)體本身就是一個具有綜合屬性的個體. 此外,獨(dú)立學(xué)習(xí)三元組及進(jìn)行向量表示破壞了知識圖譜中原有的語義層次結(jié)構(gòu),不利于后續(xù)的推理工作. 如圖1中三元組(Hedge,isA,Fence)和(Fence,isA,Barrier),在進(jìn)行知識推理時如果將這兩個三元組看作獨(dú)立的個體,則不會產(chǎn)生新的三元組,構(gòu)不成足夠多的推理路徑. 實(shí)際上依據(jù)二元關(guān)系的傳遞性可以從圖1這兩個三元組中得到一個新的三元組,即(Hedge,isA,Barrier). 因此,如果在對知識圖譜進(jìn)行表示學(xué)習(xí)時保留了其中原有的語義層次結(jié)構(gòu),那么就會由此產(chǎn)生新的、正確的知識,最終提高知識圖譜推理的質(zhì)量. 針對這個問題,本文提出了基于實(shí)體屬性和語義層次的表示學(xué)習(xí)模型——Trans_isA.
圖1 一個關(guān)于知識圖譜推理的示例
目前的研究可以分為兩類:一類是基于翻譯的表示學(xué)習(xí)方法,另一類是其他的表示學(xué)習(xí)方法.
TransH[3]用于解決TransE在對具有自反性、1-N、N-1、N-N這些關(guān)系建模時存在的一些問題. 它的基本思想為:對于一個三元組(h,r,t),首先將頭實(shí)體h和尾實(shí)體t投影到以wr為法向量的超平面dr上,表示為h⊥和t⊥,然后通過dr連接起來. 因此,TransH的得分函數(shù)為
TransC[12]、JECI++[13]等方法通過區(qū)分實(shí)體中的概念和實(shí)例來改進(jìn)現(xiàn)有的基于翻譯的表示學(xué)習(xí)方法,但它們在進(jìn)行表示學(xué)習(xí)時仍忽略了實(shí)體的屬性信息,主要體現(xiàn)在PartOf關(guān)系中. 通過對PartOf關(guān)系三元組中頭實(shí)體及尾實(shí)體的分析,可知同一關(guān)系鏈接的2個實(shí)體可能具有不同的語義類型,并且頭實(shí)體與尾實(shí)體中含有的語義類型數(shù)量存在差異. 現(xiàn)有的大多數(shù)模型忽視了這種差異,將同一關(guān)系中的頭尾實(shí)體不加區(qū)分地表示為相同空間的特征向量,這樣則會導(dǎo)致有些實(shí)體的語義信息表示較少,從而降低語義表示的準(zhǔn)確性.
此外,許多現(xiàn)有的表示學(xué)習(xí)方法無法在知識圖譜中對語義層次進(jìn)行建模,而語義層次結(jié)構(gòu)是知識圖譜中普遍存在的屬性[14]. 語義層次結(jié)構(gòu)中最重要的關(guān)系就是層級關(guān)系,它主要描述的是知識圖譜中兩個不同實(shí)體間的隸屬關(guān)系. 圖2描述了知識圖譜中一個關(guān)于語義層次的示例. 其中,圖2(a)展示了現(xiàn)有模型的表示學(xué)習(xí)形式,三元組在TransE或者TransH中訓(xùn)練時是獨(dú)立且統(tǒng)一的,忽略了實(shí)體自身含義的表示范疇以及isA關(guān)系的傳遞性. 圖2(b)則展示了Trans_isA模型的訓(xùn)練形式,在訓(xùn)練過程中將頭、尾實(shí)體的范疇大小作為訓(xùn)練依據(jù),即分別訓(xùn)練上位實(shí)體和下位實(shí)體,并且保留頭、尾實(shí)體間isA關(guān)系的傳遞性.
圖2 一個關(guān)于語義層次的示例
針對以上分析的問題,將實(shí)體屬性和語義層次進(jìn)行融合,進(jìn)而提出一個新的模型——Trans_isA. 該模型既可以保留TransE簡單高效這一特點(diǎn),又可以通過學(xué)習(xí)層級關(guān)系保留實(shí)體間的語義層次.
這里給出一些常用的符號表示:知識圖譜由實(shí)體集合、關(guān)系集合以及三元組集合構(gòu)成,用符號表示為:KG={E,R,S}.其中E=H∪P∪C、R=RH∪RP∪RC、S=SH∪SP∪SC,H表示具有語義層次關(guān)系的實(shí)體,P表示具有整體、部分屬性的實(shí)體,C表示其它實(shí)體;RH表示isA關(guān)系,RP表示PartOf關(guān)系,RC表示其它關(guān)系;SH表示isA關(guān)系三元組,SP表示PartOf關(guān)系三元組,SC表示其他關(guān)系三元組.
Trans_isA模型對于給定知識圖譜KG,進(jìn)行如下表示學(xué)習(xí):e→e∈RK,?e∈E,同時r→r∈RK,?r∈R. 對于每個e∈E,建模為球體Q1(ε,μ)、Q2(p,σ),其中ε,p∈RK表示球心,μ,σ為半徑.
圖3中展示了模型的整體架構(gòu).
圖3 Trans_isA模型架構(gòu)圖
isA關(guān)系類:對于任意給定的實(shí)體對(x,y),如果y的語義范疇比x的語義范疇更廣,就稱y是x的上位詞,x是y的下位詞,稱這個實(shí)體對(x,y)為isA關(guān)系元組. 傳遞性關(guān)系的定義為:令R是A上的二元關(guān)系,對于A中任意的x,y,z,若〈x,y〉∈R,且〈y,z〉∈R,則〈x,z〉∈R,則稱R具有傳遞性. 根據(jù)isA關(guān)系這一特性,設(shè)計了新的得分函數(shù). 對于每個實(shí)體εi∈H,學(xué)習(xí)一個球體Q(ε,μ),ε∈RK表示球心,μ表示半徑. 則isA關(guān)系的傳遞性為
(3)虛擬水戰(zhàn)略對社會環(huán)境的影響。通過實(shí)行虛擬水戰(zhàn)略,增加棉花進(jìn)口相當(dāng)于減少人工數(shù)33. 25萬人、41. 56萬人,但是不一定會帶來失業(yè)問題。同時對于農(nóng)戶增收來說是一個不錯的機(jī)遇。
(ε1,rh,ε2)∈SH∧(ε2,rh,ε3)∈SH→(ε1,rh,ε3)∈SH.
PartOf關(guān)系類:對于任意給定的實(shí)體對(a,b),如果a的語義表示的是部分屬性,b的語義表示的是整體屬性,就稱a是b的組成部分,b是由a組成的整體,稱這個實(shí)體對(a,b)為PartOf關(guān)系元組. 圖4展示了PartOf關(guān)系下兩個實(shí)體對應(yīng)的球體之間的相對位置關(guān)系,模型將頭、尾實(shí)體分別編碼為球體Si(pi,σi)和球體Sj(pj,σj),其中pi、pj表示球心,σi、σj表示半徑.Si和Sj之間的相對位置關(guān)系表示PartOf關(guān)系,模型的目標(biāo)就是圖4(a)所示的球體相對位置關(guān)系.
圖4 PartOf 關(guān)系類相對位置關(guān)系示意圖
根據(jù)不同關(guān)系類型的特征屬性定義不同的得分函數(shù)對知識圖譜KG中的實(shí)體(entity)和關(guān)系(relation)進(jìn)行訓(xùn)練,具體如下:
isA關(guān)系類型的得分函數(shù)為
PartOf關(guān)系類型的得分函數(shù)為
其它關(guān)系類型的得分函數(shù)為
損失函數(shù)中的得分函數(shù)與上述3類關(guān)系類型相對應(yīng).
表1 Trans_isA算法
續(xù)表1 Trans_isA算法
基于翻譯的表示學(xué)習(xí)模型通常是最小化基于邊際的成對損失函數(shù),所以Trans_isA模型也沿用此方法,具體定義為
(1)
Trans_isA的訓(xùn)練目標(biāo)為:通過隨機(jī)梯度下降方法,不斷更新優(yōu)化相關(guān)參數(shù)及向量,從而使式(1)中的LC、LH、LP均取得最小值.
在訓(xùn)練過程中,將同時獲得正三元組和負(fù)三元組的得分函數(shù)值. 得分函數(shù)f表示的是三元組的語義相似性,即三元組為真的概率. 為了使訓(xùn)練目標(biāo)最小化,首先要使正確三元組的得分函數(shù)值低于對應(yīng)的錯誤三元組得分函數(shù)值,其次還要使兩者之間的差值至少高于一個正常數(shù),即邊際參數(shù)γC、γH、γP. 通過隨機(jī)替換正確三元組的頭實(shí)體或尾實(shí)體對生成的錯誤三元組進(jìn)行采樣. 替換規(guī)則為
S′={(h′,r,t)|h′∈E,(h′,r,t)?S}∪{(h,r,t′)|t′∈E,(h,r,t′)?S}.
本節(jié)使用了最新提出的公開數(shù)據(jù)集WN18RR,分別在鏈接預(yù)測和三元組分類任務(wù)上進(jìn)行了實(shí)驗(yàn)驗(yàn)證.
大多數(shù)先前的研究使用兩個基準(zhǔn)數(shù)據(jù)集WN18和FB15K評估表示學(xué)習(xí)模型的性能,這些數(shù)據(jù)集中的語義重復(fù)性、語義相關(guān)性或者數(shù)據(jù)不完整性,導(dǎo)致數(shù)據(jù)集中此類關(guān)系表現(xiàn)出很高的數(shù)據(jù)冗余性,這就使得數(shù)據(jù)集存在過度數(shù)據(jù)泄露的情況[15]. 因此Dettmers等人通過刪除WN18中反向三元組創(chuàng)建了WN18RR. 本文中的鏈接預(yù)測任務(wù)以及三元組分類任務(wù)將在WN18RR這一基準(zhǔn)數(shù)據(jù)集上進(jìn)行,WN18RR數(shù)據(jù)集的基本統(tǒng)計信息如表2所示.
表2 WN18RR數(shù)據(jù)集
鏈接預(yù)測任務(wù)是知識圖譜表示學(xué)習(xí)的標(biāo)準(zhǔn)評估任務(wù),其目的是預(yù)測三元組中缺失的頭實(shí)體、尾實(shí)體或者關(guān)系. 根據(jù)現(xiàn)有的表示學(xué)習(xí)模型的評估標(biāo)準(zhǔn),選用以下3個標(biāo)準(zhǔn)評估模型在鏈接預(yù)測任務(wù)上的性能:(1)MRR(正確實(shí)體的平均排序的倒數(shù));(2)Hits@10(正確實(shí)體排在前10的百分比);(3)Hits@1(正確實(shí)體排名第一的百分比),這3個標(biāo)準(zhǔn)的值越大,模型的性能越好.
Trans_isA模型的實(shí)驗(yàn)參數(shù)設(shè)置為:從{0.1,0.3,0.6,1,2}中選擇邊際參數(shù)γH、γP、γC的值,從{20,50,100}中選擇向量表示維度K的值,從{0.1,0.01,0.001}中選擇梯度下降學(xué)習(xí)率λ的值. 根據(jù)驗(yàn)證集中鏈接預(yù)測的結(jié)果,得到了最優(yōu)的參數(shù)配置:γH=0.1、γP=0.3、γC=2,K=100,λ=0.001,最大迭代次數(shù)為1000,同時采用L1范式.
表3展示了Trans_isA模型在WN18RR上的鏈接預(yù)測結(jié)果,可以看出:(1)表中所列模型的鏈接預(yù)測結(jié)果普遍較低,這是因?yàn)閃N18RR數(shù)據(jù)集中去除了冗余數(shù)據(jù),訓(xùn)練集中的數(shù)據(jù)重復(fù)率降低,使鏈接預(yù)測的結(jié)果更接近現(xiàn)實(shí)情況. (2)在Hits@1指標(biāo)上,模型取得了最優(yōu)結(jié)果,而在MRR和Hits@10這兩個指標(biāo)上,TransR和TransE分別取得了比較高的結(jié)果. 這是因?yàn)槟P偷闹匦姆旁诹藢?shí)體的層次結(jié)構(gòu)以及實(shí)體屬性表示中,在對其它關(guān)系類數(shù)據(jù)集訓(xùn)練時沿用了TransE的目標(biāo)函數(shù),使得本模型在處理復(fù)雜關(guān)系時沒有表現(xiàn)出較為明顯的性能提升.
表3 WN18RR數(shù)據(jù)集上鏈接預(yù)測結(jié)果
表4 WN18RR數(shù)據(jù)集上isA關(guān)系三元組的分類實(shí)驗(yàn)結(jié)果 單位:%
表4展示了Trans_isA模型在isA關(guān)系三元組分類任務(wù)中的結(jié)果,可以得出:Trans_isA的4個指標(biāo)數(shù)值均達(dá)到了60% 以上,模型的召回率(Recall)達(dá)到了77.4%,高出其他3個基準(zhǔn)模型10個百分點(diǎn)左右,這充分說明了Trans_isA模型訓(xùn)練之后的實(shí)體和關(guān)系向量帶有明顯的語義層次信息,符合模型的預(yù)期.
表5展示了Trans_isA模型在其它關(guān)系三元組分類任務(wù)中的結(jié)果,可得出如下結(jié)論:(1)在數(shù)據(jù)集WN18RR上,Trans_isA在Accuracy、Recall和F1-Score這3個指標(biāo)上都高于TransE、TransH和TransR,這說明模型整體的三元組分類能力是比較強(qiáng)的. 但是在Precision這一指標(biāo)上略低于TransR,這是因?yàn)門rans_isA模型在進(jìn)行知識表示學(xué)習(xí)時雖然考慮了實(shí)體間的語義層次,但還是將實(shí)體和關(guān)系放在同一空間中學(xué)習(xí),這樣就導(dǎo)致部分實(shí)體屬性單一,從而使得模型精確率(Precision)略低于TransR. (2)Trans_isA使用bern采樣方法時,模型的準(zhǔn)確率(Accuracy)高于使用unif采樣方法時的準(zhǔn)確率,這說明bern采樣方法在本模型上的有效性.
表5 WN18RR數(shù)據(jù)集上其他關(guān)系三元組的分類實(shí)驗(yàn)結(jié)果 單位:%
本文提出了一種基于實(shí)體屬性和語義層次的表示學(xué)習(xí)算法,并將其命名為Trans_isA. 首先介紹了該方法的研究問題及思路,利用知識圖譜中實(shí)體本身的屬性特征和實(shí)體間的語義層次對其進(jìn)行表示學(xué)習(xí). 然后,詳細(xì)的介紹了如何利用實(shí)體屬性以及語義層次中的層級關(guān)系特性建模. 在對知識圖譜中三元組建模時,充分考慮了頭、尾實(shí)體的語義范疇,以及實(shí)體自身屬性信息. 再根據(jù)不同類型的關(guān)系和不同屬性的實(shí)體分別設(shè)計其得分函數(shù). 最后,在鏈接預(yù)測和三元組分類這兩個經(jīng)典任務(wù)中驗(yàn)證了模型的有效性.
根據(jù)實(shí)體在不同的三元組中具有不同的表示,下一步考慮在不同的向量空間中對實(shí)體間關(guān)系建模,利用更加靈活的度量標(biāo)準(zhǔn)來設(shè)計損失函數(shù),提高表示學(xué)習(xí)算法的性能.