龐 俊,徐 浩,秦宏超,林曉麗,劉小琪,王國仁
1.武漢科技大學 計算機科學與技術學院,武漢 430070
2.智能信息處理與實時工業系統湖北省重點實驗室,武漢 430070
3.北京理工大學 計算機學院,北京 100081
知識超圖是一種超圖結構[1]的知識圖譜。它使用超邊(即多元關系)描述現實世界中多個實體之間的關系[2]。知識超圖鏈接預測旨在通過已知的實體和關系預測出未知的關系,在推薦系統[3]和問答系統[4]等領域有廣泛的應用。
目前,學界對知識超圖的鏈接預測方法開展了一些研究。根據推理方式的不同,現有知識超圖鏈接預測方法可分為三類:基于軟規則的方法[5]、基于神經網絡的方法[6-8]與基于嵌入表示模型的方法[2,9-11]。與前兩種方法相比,基于嵌入表示模型的方法可以將復雜的數據結構映射到歐式空間,更容易發現關聯關系。
目前,最優的知識超圖嵌入模型是文獻[2]提出的HypE 模型。HypE 根據實體在元組中的不同位置,采用不同的卷積核來提取實體的特征,具有較好的鏈接預測效果。但是HypE 直接采用初始化的關系嵌入參與最終評分,未考慮不同實體對關系嵌入的貢獻程度不同,從而制約了算法性能。
注意力機制是一種常用的表達不同貢獻的有效機制,因此本文提出了一種改進的注意力機制,提取實體不同貢獻度的有效信息,融入關系嵌入向量。此外,為提取實體特征的卷積核添加相鄰實體數量,使實體嵌入包含更多信息。基于上述工作,本文提出了一種聯合注意力與卷積網絡的知識超圖嵌入模型(link prediction based on attention and convolution network,LPACN)。
雖然LPACN 方法的鏈接預測性能比HypE 等baseline方法更高,但訓練時存在梯度消失的問題,使得繼續增加迭代次數,其訓練效果也不會更好。因此本文引入改進的ResidualNet 來緩解LPACN 的梯度消失,增強知識超圖鏈接預測的效果。此外,為增強模型的非線性學習能力,本文還在改進的Residual-Net之后添加了一個多層感知器。基于上述工作,本文提出了LPACN的改進模型LPACN+。
本文的主要貢獻如下:
(1)提出了一種基于注意力和卷積網絡的嵌入模型LPACN,解決知識超圖鏈接預測問題。采用改進的注意力機制,將實體的不同貢獻度融入關系嵌入,并且采用相鄰實體數量補足實體嵌入信息含量。
(2)提出改進模型LPACN+。引入改進的Residual-Net 與多層感知器,緩解了LPACN 的梯度消失,增強了模型的非線性學習能力。
(3)真實數據集上的大量實驗結果驗證了本文提出的LPACN 和LPACN+的鏈接預測能力優于Baseline方法。
本章主要介紹了與本文相關的研究工作,現有知識超圖鏈接預測方法可大致分為三類:(1)基于軟規則的方法[5];(2)基于神經網絡的方法[6-8];(3)基于嵌入表示模型的方法[2,9-11]。
第一類基于軟規則的方法將關系作為謂詞,節點作為變量,通過設置關系推理的邏輯和約束條件進行簡單推理,典型方法包括RLR(relational logistic regression)[5]等。這類模型學習能力非常有限,不適合預測大規模數據。
第二類基于神經網絡的方法采用CNN等神經網絡對非線性關系進行建模,能深入學習超圖的語義特征。例如,NaLP(link prediction on N-ary relational data)[6]將n元事實表示為一組“角色-值”對,通過卷積神經網絡提取相關特征,并使用全連接神經網絡來評估它們的相關性,最后得到整個n元關系事實的有效性得分。NaLP 對建模關系的類別有嚴格的要求,限制了該模型的應用場景。NeuInfer(knowledge inference on N-ary facts)[7]以主三元組與輔助“角色-實體”對的形式來描述n元事實,通過多層全連接網絡學習事實中的語義特征,然后使用打分函數得到元組的得分。HINGE(hyper-relational knowledge graph embedding)[8]表示n元事實的方式與NeuInfer相同,并使用卷積網絡提取事實中的語義特征,通過全連接網絡對事實進行打分,HINGE相較于NeuInfer在性能上有較大提升。這類方法往往只關注局部的語義特征而忽略了事實之間的關聯。
第三類基于嵌入學習模型的方法通過歐式空間映射的方式將元組轉化為向量,然后學習它們之間隱含的關聯關系,通過不同的處理方式來使用打分函數對正負樣本進行打分,完成鏈接預測的任務。其首先在知識圖譜鏈接預測中得到應用,如TransE[12]將知識圖譜中每個關系看作頭實體到尾實體的一個平移變換,將知識圖譜中的實體和關系映射到低維空間進行打分。由于TransE 模型不具有魯棒性,TransH[13]將翻譯操作放在特定的超平面上進行,將實體嵌入映射到關系超平面之后再進行打分運算。文獻[9]將TransH擴展到知識超圖中,提出了m-TransH方法,將多元關系事實定義為角色序列到其值的映射,每個映射都對應一個關系的實例。m-TransH 不具有完全表達性,且對建模的關系類別有嚴格的要求。文獻[10]將TuckER[14]擴展到知識超圖中,提出了GETD(generalizing tensor decomposition)方法,并使用張量環來降低模型的復雜度。GETD 只能處理所有元組元數均相同的數據集。HyperGAN(hyper generative adversarial network)[11]通過對抗訓練生成高質量負樣本,來解決現有模型訓練負樣本質量低下、復雜度過高的問題。該方法專注于提高負樣本質量,而本文重點研究整個知識超圖鏈接預測算法。此外,HSimplE[2]改進了SimplE[15],使實體嵌入向量根據其在元組中的位置而改變。HypE[2]同樣受益于SimplE的啟發,根據實體在元組中不同位置包含信息不同的特性,學習不同的卷積核以提取實體特征,使得模型因能提取更加豐富的特征,而取得了當前最好的鏈接預測效果。且HypE具有完全表達性,對于包含不同元數元組的數據集能給出準確的鏈接預測結果。但由于參與最終評分的關系嵌入是通過初始化方法獲取的,而未考慮實體對關系的貢獻;并且其卷積可提取的信息不夠豐富,從而限制了算法的鏈接預測能力。
綜上所述,基于嵌入模型的方法能夠發現元組隱含的關聯信息,從而取得更好預測效果,是目前最優的知識超圖鏈接預測模型。因此本文對該類方法展開研究。但現有的最優嵌入模型HypE 在鏈接預測時忽略了實體對關系的貢獻,從而制約了模型的性能。因此,本文提出了LPACN方法,考慮實體對關系的貢獻度,將實體的有效信息融入到關系嵌入中,并向處理實體的卷積網絡添加更多信息,增強方法的鏈接預測能力。
定義1(知識超圖)知識超圖是由頂點和超邊組成的圖,記作KHG={V,E}。其中V={v1,v2,…,v|V|}表示KHG 中實體(頂點)的集合;E={e1,e2,…,e|E|}表示節點之間關系(超邊)的集合。|V|指KHG 所含頂點的個數,|E|指KHG 所含超邊的數目。任意一條超邊e都對應著一個元組T=e(v1,v2,…,v|e|),T∈τ。|e|指超邊e所含頂點的個數,即e的元數。τ表示理想完整目標知識超圖KHG所有元組組成的集合。知識超圖也可看作多元組的集合。每個多元組由一條超邊和該超邊包含的所有實體組成。
定義2(知識超圖鏈接預測)已知根據實際應用構建的知識超圖所有元組的集合τ′,同場景下理想完整的知識超圖所有元組的集合τ,τ′?τ。知識超圖鏈接預測旨在根據已知元組T∈τ′預測出新的元組Ti∈τ-τ′,并更新τ′=τ′∪Ti,使得min(|τ-τ′|) 。|τ-τ′|表示集合τ與τ′的差集的基數。
本文剩余部分常用符號及含義如表1所示。

表1 符號及含義Table 1 Notation and description
本章詳細介紹本文提出的LPACN模型。首先簡要描述LPACN 框架與其執行大致流程,然后重點展開介紹其中的關系的嵌入表示和實體投影向量生成,最后描述LPACN模型的訓練過程。
LPACN 模型的基本思想是:基于注意力機制生成關系注意力向量,該向量考慮了不同實體對所在關系嵌入的不同貢獻程度;將關系內實體的鄰居實體數目融入提取實體特征的卷積核,以補足實體投影向量包含的信息。考慮實體貢獻度和補足實體嵌入信息,有利于增大正例元組的得分,從而提高知識超圖鏈接預測的性能。
LPACN 總體框架如圖1(a)所示,包括三步:(1)關系注意力向量生成;(2)實體投影向量集生成;(3)元組打分。由于元組打分較簡單,下文將主要介紹第一步和第二步。

圖1 LPACN模型示意圖Fig.1 Illustration diagram of LPACN model
本節提出一種關系的注意力嵌入表示方法。注意力機制為元組內的每個實體分配不同的重要程度。其通過實體和對應關系之間的權重來表示,使關系注意力嵌入向量按比例包含實體信息,從而豐富關系所含語義信息,提高算法預測性能。
為了得到關系ei的注意力嵌入表示,首先對關系初始嵌入向量ei∈Rde(de表示向量ei的維度)與實體初始嵌入向量集合(1 ≤i≤|e|,dv表示實體向量v的維度)進行串聯操作,然后對串聯結果向量進行線性映射,并遵循文獻[16]中的方法,在線性映射后使用LeakyReLU 非線性函數進行處理,得出同時包含實體集合Vi與關系ei信息的投影向量。該計算過程如式(1)所示:
為了得到關系ei與實體集合Vei之間的權重α,將融合了實體與關系的投影向量pi使用softmax 進行處理。關系注意力嵌入向量ef通過αij與pij的乘積的累加得到,其計算公式如式(2)所示:
αij表示權重向量,代表了實體vij對關系ei的重要程度,pij表示投影向量pi的第j行。
關系注意力嵌入向量ef包含了關系ei與實體集合Vei的信息,能更好地適應知識超圖的鏈接預測任務。
知識超圖的實體可出現在多個關系的不同位置,同一元組中相鄰實體數量與特征會因出現位置不同而異。為了能根據實體vij在元組中的位置來提取特征,首先使用包含了元組位置信息的卷積核wi∈Rn×Rl提取實體嵌入vij中的特征(n代表該位置的卷積核個數,l代表卷積核長度,可預先定義。wi表示元組中第i個位置的卷積核,wij∈Rl指代第i個位置的卷積核中的第j行);然后采用參數nebj向卷積核wi中添加相鄰實體數目信息,使得wi能根據不同的相鄰實體數量提取到不同的有效特征。卷積處理如式(3)所示:
為了得出完整的映射向量,需要對獲得的卷積嵌入向量βij進行串聯操作與線性映射,如式(4)所示:
W2∈Rnq×Rdv表示線性映射矩陣。q代表特征映射的大小,q=(d-l/s)+1。
此外,嵌入學習過程中,使用多層神經網絡處理實體,很容易丟失實體初始嵌入信息。為了解決該問題,將初始實體向量vij加上轉換后的映射向量,計算得到的在保留原始向量特征基礎上,有更強的表達能力。其計算過程如式(5)所示:
最后,使用關系注意力向量與所有實體投影向量之間的內積對元組T進行打分,如式(6)所示:
LPACN 模型中每個實體只學習單個向量,能有效降低模型的復雜程度,還具有完全表達性(能夠為每一個元組打分,從而分辨它們是否為真)。
3.4.1 損失函數
訓練神經網絡旨在使損失函數盡可能達到最小。不同的損失函數可能適合不同的任務。根據本文任務選擇了交叉熵損失作為損失函數(文獻[17]已驗證有效性),其計算公式如式(7)所示:
其中,Gtrain表示訓練集,Gneg(T)表示通過替換元組T中的實體構建的負樣集。
3.4.2 訓練過程
算法1LPACN的訓練過程
算法1 描述了LPACN 的訓練過程。首先,根據實體v所需的卷積核數量nf對卷積核w進行初始化(第1行)。然后,進行迭代訓練,直至預設Ite次為止(第2~20 行,為了使模型得到充分訓練,根據文獻[2]的方法,實驗中Ite設置為1 000)。每次迭代過程如下所示:根據Mini-Batch 方法將Gtrain劃分為多個子集{Si}(第3 行),并將全局損失loss初始化為0(第4行);然后分別對每個子集Si分批次進行處理(第5~19行)。其處理過程如下:首先分別對Si中的每個元組T進行打分(第6~15 行),然后計算出該子集訓練時的損失L(Si),并更新實體與關系的嵌入(第16、17行),最后更新全局損失(第18行)。其中,Si中的每個元組T的處理過程如下:首先為T構造負樣集Gneg(T)(第7行),并將Gneg(T)與T合并組成元組集合T*(第8行);然后遍歷T*中的元組T′,對其中的v、e進行初始化,并使用注意力機制與卷積網絡對關系與實體進行處理,最后對該元組進行打分(第9 至14 行)。
雖然LPACN方法通過豐富關系和實體嵌入向量包含的信息,能提高知識超圖鏈接預測的性能,但實驗發現它仍存在梯度消失問題。針對該問題,本文使用改進的ResidualNet,對LPACN 進行優化處理。此外,采用多層感知器進一步提升LPACN 的非線性學習能力,最終得到LPACN的改進算法LPACN+。
LPACN+在LPACN 模型中的卷積網絡之后引入了改進的ResidualNet,接著使用一種多層感知器得到實體感知向量。由于其余部分均與LPACN相同,圖2 只簡要展示了LPACN+模型引入改進的ResidualNet與多層感知器這部分流程。在圖2中,代表經過殘差網絡處理得到的殘差向量,improved residual processing 表示使用改進的殘差網絡進行處理。下文將主要介紹改進的ResidualNet。

圖2 LPACN+主要改進工作示意圖Fig.2 Illustration diagram of main improvement work for LPACN+
為了緩解梯度消失問題,本文在實體投影操作(詳情見3.3 節)之后添加ResidualNet[18],并對其進行改進。ResidualNet中的殘差函數F(x)通常使用全連接層或卷積層作為殘差網絡,但考慮到卷積層相較于全連接層更靈活且高效,因此本文實驗中的F(x)使用了卷積神經網絡。
通常殘差函數F(x)中使用的卷積核是隨機初始化而來,無法有效提取知識超圖中的映射向量的結構信息。為此,本文使用3.3節中包含位置信息與鄰接信息的卷積核wi來作為代替權重層的卷積核,使ResidualNet 最大程度地保留元組中的結構信息。整個殘差網絡的過程如式(8)所示:
F(x)選擇兩層以上的網絡層數是因為當F(x)選用單層網絡時,式(8)變成線性層,相較其他網絡沒有優勢。
改進后的ResidualNet通過一段跳連接為模型恢復了學習梯度。多層網絡學習后,為模型重新賦值一個實體向量,使殘差向量在很大程度上保留了原超圖中節點的特征與結構信息,這樣模型在不斷學習中始終含有知識超圖的原始信息,從而恢復了原本的梯度,能有效緩解梯度消失。
最后,本文使用文獻[19]中提出的多層感知器,如圖2所示。限于篇幅,不贅述。
本章在真實數據集上比較了本文提出的LPACN算法、LPACN+算法以及Baseline 算法的鏈接預測能力,分析了LPACN+的梯度消失緩減程度,通過消融實驗測試了不同元數的數據對鏈接預測結果的影響。
本文實驗采用了文獻[2]使用的數據集,即從FreeBase 數據集抽取的兩個常用知識超圖鏈接預測數據集JF-17K[8]、FB-AUTO[2]。
JF-17K 數據集通過刪除FreeBase 中出現頻率不高的實體和三元組,并隨機抽取關系中的事實構造而成,沒有劃分驗證集。FB-AUTO 數據集中只包含與“Automative”相關的事實,并隨機劃分為訓練集、測試集、驗證集。上述數據集的數據情況如表2 所示。其中,|E|與|R|分別表示實體與關系的數量。#train、#test、#valid分別描述訓練集、測試集與驗證集中包含元組的數量。

表2 數據集統計Table 2 Statistics of datasets
本文Baseline 算法包括目前流行的知識超圖鏈接預測算法m-TransH[9]、HSimplE[2]與HypE[2]。
本文采用了知識超圖鏈接預測常用的評價標準:平均倒數排名(mean reciprocal rank,MRR)[2]和Hit@n[2]。由于平均排名(mean rank,MR)對異常值不敏感[20],本文未采用。MRR和Hit@n值越大,鏈接預測性能越好。本文實驗取Hit@1、Hit@3、Hit@10。
本節分別在JF-17K 和FB-AUTO 數據集上對比本文提出的LPACN、LPACN+與Baseline方法的MRR、Hit@1、Hit@3和Hit@10,實驗結果如表3所示。

表3 LPACN與Baseline方法的鏈接預測性能對比Table 3 Comparison of link prediction performance of LPACN and Baseline methods
實驗結果表明,LPACN 在上述數據集的絕大部分結果都優于HypE。因為一方面,本文改進的注意力機制相較于HypE,不但考慮了目標關系所含實體對該關系的嵌入表示的貢獻度不同,還融入相鄰實體數量以增加對應實體嵌入表示包含的信息;能為鏈接預測提供更多的推理依據,從而提升了知識超圖鏈接預測的效果。另一方面,添加的鄰接實體數目信息讓卷積網絡可學習的特征更多。此外,為實體向量添加丟失的初始信息,使模型能夠更好地進行預測。LPACN 在JF-17K 數據集上的Hit@1 比HypE低0.002。因為JF-17K存在數據泄露的問題[21],會干擾模型預測的準確性。
從表3 還可以看出,LPACN+在所有數據集上的指標都遠高于LPACN。這是LPACN+在LPACN的基礎上依次添加了改進的殘差網絡和多層感知器的緣故。這樣不但緩解了梯度消失,還增強了非線性學習能力,使模型能夠不斷地學習,并減少學習過程中信息的損失,因此LPACN+的鏈接預測結果更加準確。
為了進一步分析梯度消失緩解程度,本節在FBAUTO數據集上比較了LPACN、R-LPACN(ResidualNet+LPACN)和LPACN+的loss曲線,結果如圖3所示。

圖3 loss對比圖Fig.3 Comparison chart of loss
從圖3可見,雖然3個模型的曲線下降趨勢大致相同,但是最終的loss 有較大差別。LPACN 模型在經過1 000 次迭代學習之后的loss 定格在了9 左右;在LPACN 的基礎上添加了ResidualNet 之后,RLPACN的loss降到了6左右,降低約30%;最后,同時添加了ResidualNet 與多層感知器的LPACN+,其loss降到3左右,較上一模型降低了約50%,較LPACN降低約60%。從對比的結果可直觀地看出:與LPACN相比,LPACN+最終損失有很大幅度的下降,達到了60%。這驗證了ResidualNet 與多層感知器對降低loss都發揮了較大的作用,能有效緩解梯度消失。
ResidualNet 與多層感知器從不同的角度對模型進行提升。一方面,改進的ResidualNet 恢復了學習的梯度,從而緩解梯度消失的問題;另一方面,多層感知器又通過多層的神經元與非線性函數增強模型的非線性學習能力使其能學到更多的特征,損失的信息也就越少,loss值更低。
為了驗證LPACN+對于不同關系元數的鏈接預測能力,本節在JF-17K不同元數的數據子集上,使用Hit@10 對比了LPACN+與Baseline方法的性能,其實驗結果如表4所示。

表4 JF-17K不同元數的子集上鏈接預測結果對比Table 4 Comparison of link prediction results on subsets of JF-17K in different arities
從表4可知LPACN+雖然在不同元數數據集上的鏈接預測能力總體略強于HypE,但相較于其他Baseline 優勢非常明顯。對于二元、四元的數據集,LPACN+的預測能力都優于HypE;在三元、五元的數據集上,LPACN+與HypE 的鏈接預測能力基本相同。對六元組進行預測時,HypE 相對于LPACN+略有優勢。分析發現,JF-17K 中六元組的數量只有37個,模型在該稀疏子集中可學習的樣例較少,且HypE對于稀疏數據具有更強的推理能力,因此LPACN+在該子集上的鏈接預測效果略遜色于HypE。
本文提出了一種聯合注意力與卷積網絡的方法LPACN,解決知識超圖鏈接預測問題。與目前最優的模型相比,LPACN 不但采用一種改進的注意力機制,考慮了實體對所在關系的嵌入表示的貢獻度,而且將相鄰實體個數信息融入卷積核,以豐富實體嵌入向量中包含的信息。為緩減LPACN 的梯度消失,LPACN+對LPACN進行了優化:在實體向量投影操作后,融合了改進的ResidualNet繼續進行殘差處理,并在殘差處理后使用了多層感知器,進一步提升了模型的非線性學習能力。真實數據集上的大量實驗結果驗證了本文方法的預測性能比所有Baseline 方法更高。后續工作將嘗試加入一些輔助文本或其他元組內的信息來進一步豐富嵌入,從而繼續提升算法預測性能。