梁梅霖,段友祥,昌倫杰,孫歧峰
1.中國石油大學(華東)計算機科學與技術學院,山東 青島 266580
2.中國石油塔里木油田分公司 勘探開發研究院,新疆 庫爾勒 841000
自2012年知識圖譜[1](KGs)提出以來,知識圖譜已經成為推進人工智能發展及其相關任務完成的關鍵技術,如問題回答、信息檢索和信息提取。一般來說,知識圖譜,又稱知識庫,是一個多關系的有向圖,它將現實世界的知識以三元組(頭實體,關系,尾實體)的形式結構化表示。然而,世界是不斷變化的,即使是較為流行的知識庫(DBpedia[2]、Freebase[3]和YAGO[4])也存在事實缺失的問題,這促使知識圖譜補全(knowledge graph completion,KGC)成為KG領域具有高研究價值的課題之一。KGC本質是基于KG推理,通過對已知事實的學習預測三元組中的缺失值,即頭實體的缺失(?,關系,尾實體)或尾實體的缺失(頭實體,關系,?)。
KGC最流行的方法是基于分布式表示的知識圖譜嵌入[5](knowledge graph embedding,KGE)。KGE模型將實體和關系的語義信息嵌入低維分布式表示中,并通過定義評分函數來衡量三元組的可信度。隨著對知識圖譜嵌入的深入研究,Schlichtkrull等人[6]提出圖卷積網絡(graph convolutional network,GCN)模型能夠對多關系有向圖有效建模。將GCN應用于KGE模型能夠有效利用知識圖譜的圖結構特征,提高知識圖譜補全任務的完成質量。例如,VR-GCN[7](a vectorized relational graph convolutional network)、COMPGCN[8](compositionbased multi-relational graph convolutional networks)。然而這些模型都存在關系語義表達能力不足的問題。VR-GCN模型僅關注節點的表示學習。COMPGCN模型通過應用來更新關系嵌入,忽略了實體特征的影響,在一定程度上限制了模型的預測能力。
除此之外,不同關系對中心實體的貢獻度不同,擁有相同鄰接關系的不同實體對中心實體的貢獻度也是不同的。以圖1所示的局部子圖為例,實體“洛杉磯湖人隊”擁有三種關系。很明顯,“隊員”關系比“位置”關系更有代表性。因為對于某個球員能唯一標識某個球隊,而位于某個城市的球隊不止有一個。不同實體(詹姆斯、布拉德利、貝茲莫爾)與實體“洛杉磯湖人隊”都存在鄰接關系“隊員”,其中實體“詹姆斯”對中心實體“洛杉磯湖人隊”具有更大影響力。

圖1 “洛杉磯湖人隊”局部子圖Fig.1 Local subgraph of“Los Angeles Lakers”
然而,大多數基于GCN的模型在遞歸聚合鄰域信息的過程中使用了固定權重矩陣,在鄰域信息較多時,聚集信息的過程容易混合無效信息,從而導致性能不佳。例如,VR-GCN模型通過應用獲取鄰域信息,當實體u鏈接不同的關系類型和實體類型時,都使用共享權值W,導致信息聚合過程中缺乏實體和關系感知,降低了關鍵實體和關系對于信息聚合的影響力。
為了解決上述問題,本文提出了一種基于分層注意力網絡的鄰域感知模型NAHAT(neighborhood aware with hierarchical attention network),能夠有效區分鄰域信息中不同實體和關系的影響力。具體來說,分為鄰域權重計算和信息聚合,鄰域權重計算分為不同關系類型的鄰接關系權重計算和相同關系類型下不同實體權重計算兩個層次,獲得的鄰域權值與鄰域信息加權計算更新中心實體嵌入,并在更新關系嵌入的過程中融合鄰域中實體和關系特征,推進實體和關系嵌入相互補充和增強。為使NAHAT模型應用到KGC任務上,選擇Conv-TransE[9]作為解碼器,并將自我對立的訓練思想[10]用于模型優化,實現合理的嵌入學習和模型的快速優化。
傳統的KGE模型主要分為三類:翻譯模型、張量分解模型、神經網絡模型。TransE[11](translating embeddings)是翻譯模型的典型代表,它將關系視為同一低維向量空間中主體到客體的翻譯,這種簡單高效的方法得到了眾多學者的廣泛推崇。之后,翻譯模型(如TransH[12](translating on hyperplanes)、TransR[13](translation in the corresponding relation space))在TransE基礎上進行了擴展和改進。特別的是,RotatE(knowledge graph embedding by relational rotation in complex space)認為關系是復向量空間中主體到客體的旋轉,并提出有利于高效訓練模型的負采樣技術。張量分解模型是將評分函數分解為多個張量因子,主要包括RESCAL[14](a three-way model for collective learning on multi-relational data),DistMult[15](embedding entities and relations for learning and inference),HolE[16](holographic embeddings of knowledge graphs)。典型代表是RESCAL,它將二元關系數據建模為三維張量,并通過自定義評分函數捕獲實體和關系的潛在語義。針對淺層的KGE模型無法捕獲實體和關系深層特征的問題,神經網絡模型提出將深度神經網絡應用于知識圖譜嵌入,極大地改善了模型性能。神經網絡模型主要包括ConvE[17](convolutional 2d knowledge graph embeddings)、ConvKB[18](knowledge base completion based on convolutional neural network)。其中,ConvE將頭實體和關系拼接重塑為二維矩陣,然后利用卷積特征過濾器提取實體和關系的交互信息,并與尾實體內積以計算三元組分數。總體來看,上述模型都取得不錯的預測效果。但是這些模型忽略了有向圖中實體的鄰域信息,不僅限制了模型的推理能力,而且降低了嵌入空間的可解釋性。
受圖卷積網絡能夠在同質圖中對實體鄰域信息進行建模的啟發,Schlichtkrull等人在GCN信息聚合的過程引入關系特定的權重矩陣,提出適用于多關系有向圖的模型(relational graph convolutional networks,R-GCN)。然而,R-GCN存在過度參數化的問題,且未顯示的學習關系表征。之后,Ye等人[7]提出圖卷積網絡模型VR-GCN,明確提出顯示地學習實體和關系嵌入并根據實體的不同角色將翻譯特性h+r≈t應用到卷積計算中。Vashishth等人[8]對VR-GCN的組合運算符進行擴展,提出了一個用于多關系圖的通用框架COMPGCN,將多種KGE模型用于實體更新,取得了更優的效果。但以上基于GCN的模型,在信息聚合的過程中鄰接實體共享相同的權重,向中心實體提供等價影響值。為解決這類問題,SACN提出利用可學習的關系特定權值系數,適應性地聚合鄰域信息。與此同時,Nathani等人[19]提出一種基于注意力機制的圖神經網絡模型KBGAT(learning attentionbased embeddings for relation prediction in knowledge graphs),為相鄰節點分配不同的重要性等級,學習更細致的鄰域信息。然而,該模型在計算注意力時沒有強調關系的重要性,因此,TRAR[20](target relational attentionoriented knowledge graph reasoning)提出將鄰域信息聚合分為特定關系類型的子圖之內信息聚合和不同關系類型的子圖之間信息聚合兩部分,進一步提高了模型的推理能力。與TRAR類似,TAGAT[21](type-aware graph attention networks)提出采用分層注意力機制對類型和鄰域信息細致感知的推理框架,分為不同鄰域關系、同一關系下的不同鄰域實體組和同一類型下的不同鄰域實體三個層次。與KBGAT模型相比,TAGAT利用分層注意力機制分別評估每個鄰域實體和關系的貢獻,具有更好的性能,驗證了層次結構在聚合鄰域信息方面的積極作用。但TAGAT的分層注意力機制利用實體類型信息將關系轉化為新型的子關系,使TAGAT模型只適合于指定實體類型的鏈接預測,在大規模知識圖譜補全任務中應用性存在不足,并且在用戶不熟悉實體類型的情況下存在體驗性較差的問題。因此,TAGAT模型中將類型信息融入分層注意力機制存在不足。
沿著這一思路,本文在Vashishth等人的工作基礎上,僅考慮鄰域中不同實體和關系的貢獻,將分層注意力機制引入鄰域信息聚合過程,并在關系表示學習中融合實體特征,使其學習語義更加豐富的實體嵌入和關系嵌入,提高模型的推理能力。
本文用G=(E,R,T)表示多關系知識庫,其中E表示實體集,R表示關系集,T表示三元組集合。每一個三元組(h,r,t)表示頭實體h到尾實體t存在關系r,h,t∈E,r∈R。根據Vashishth等人的研究,本文允許有向邊的信息沿三個方向流動,原始、逆方向和自循環。因此邊和關系被擴展為:
本文提出的基于分層注意力的鄰域感知模型NAHAT遵循編碼器-解碼器框架。為解決傳統GAT模型利用鄰域信息計算單一權重且無法細致區分鄰居節點重要性的缺陷,NAHAT編碼器將多關系圖中的鄰域視為層次結構,同一關系下的不同實體視為一個實體組,分別計算關系級注意力和實體級注意力,具體如圖2所示。兩個注意力權值組合成新的鄰域信息權值交給信息聚合器,得到最終的實體和關系嵌入。具體的分層注意力計算如圖3所示,其中?表示實體級注意力和關系級注意力組合運算得到最終的鄰域權值。選擇Conv-TransE作為解碼器。Conv-TransE結合了ConvE和翻譯模型的優勢,改善了ConvE只能捕獲實體和關系的局部交互信息的問題。解碼器也可以用現有的KGC模型代替,這保證了NAHAT模型具有較強的可擴展性和靈活性。圖4展示了單層NAHAT模型的整體架構。如果要獲得多步鄰居節點特征,只需要編碼器堆疊多層即可實現。下面將對編碼器的重要組成(關系級注意力、實體級注意力、鄰域感知消息函數、信息聚合)和解碼器的工作細節展開介紹。

圖2 星形圖到層次結構Fig.2 From star-graph to hierarchical structure

圖3 分層注意力機制Fig.3 Hierarchical attention mechanism

圖4 單層NAHAT模型的整體框架Fig.4 Overall framework of single-layer NAHAT model
2.2.1 關系級注意力
關系級注意力旨在區分中心實體對不同鄰接關系的關注度。根據引言對圖1作出的解釋,“隊員”關系對中心實體“洛杉磯湖人隊”的語義有更大的影響。
對于實體u,關系級注意力值是u及其鄰接關系r的所有組合中某一對的權重,其被定義為:
其中,||表示連接操作,hu∈Rd,hr∈Rd分別表示實體u和關系r的嵌入,d是嵌入的特征維度,W1∈Rd×2d,p∈Rd是可訓練的參數。Nu表示實體u的鄰接關系的集合。σ表示激活函數LeakyReLU。經上述公式計算,可得到關系r對于實體u的貢獻度αu,r。
2.2.2 實體級注意力
根據尾實體與中心實體連接的關系類型,可將尾實體分為多個實體組。實體級注意力是旨在區分實體組中不同實體對中心實體的不同影響度。圖1展示的多關系子圖可以形象地說明這一點。特定關系“隊友”確定的實體組中,相比“布拉德利”,實體“洛杉磯湖人隊”更關注“詹姆斯”。
對于實體u,實體級注意力是特定關系r下實體u和鄰接實體v的所有組合中某一(u,r,v)三元組的權重,定義如下:
其中,hv∈Rd表示實體v的嵌入。W2∈Rd×2d,q∈Rd是可訓練的參數。Nu,r表示在指定連接關系為r時實體u的鄰接實體的集合。通過上述公式,得到實體級注意力βr,v。
在獲得關系級注意力αu,r和實體級注意力βr,v之后,將兩個分數組合,定義如下:
μu,r,t表示三元組(u,r,v)對于實體u的語義貢獻度。通過上述層次注意力的分析,可以觀察到將鄰域信息視為分層結構增強了權重計算的可解釋性。相比較于傳統的GAT模型,這種更細粒度的學習過程更符合人的思維邏輯。
2.2.3 鄰域感知消息函數
COMPGCN在卷積過程中聯合學習實體嵌入和關系嵌入,并利用知識圖嵌入技術(TransE、DistMult、HolE)對實體和關系的交互信息進行建模。
本文將循環相關組合算子應用于鄰域感知消息函數,其形式為:
其中,☆表示循環相關算子。在不引入新參數的情況下,相比簡單的組合函數(如向量串聯),它能夠增加實體和關系嵌入之間的特征交互,提供更多的鄰域特征信息。因此,循環相關是較為合適的組合方式。
2.2.4 信息聚合
信息聚合器將鄰域信息權值μu,r,t與鄰域感知消息?(hv,hr)加權計算,如公式(7)所示:
雖然當前的輸出mu考慮了實體的鄰域信息,但忽略了實體u的原始信息。因此,需要進一步將實體的鄰域表示mu與原始輸入hu融合,定義為(W3(mu+hu))。其中,W3∈Rd′×d為可訓練參數,d'為實體的輸出嵌入維度。除此之外,遵循之前工作[22]提出的多頭注意力機制,以穩定鄰域信息的學習過程。具體來說,多個獨立的注意力頭分別計算嵌入,最終的嵌入結果由多個輸出嵌入串聯拼接,如公式(8)所示:
其中,是第k個注意力頭的輸出嵌入。在編碼器的最后一層,采用取平均的方法處理多個注意力頭的輸出,具體表示為。
通過公式(8)可以發現,實體更新可能會帶來嵌入維數變化,因此下一層不能應用本層的實體關系的組合操作。大多數GCN模型采用簡單的線性變化來保證它們處于同一向量空間,但是實體和關系的更新需雙方彼此促進。因此,為獲得異構關系的豐富語義,NAHAT模型在關系更新中引入實體嵌入,具體如公式(9)所示:
其中,Nr表示關系r相連的尾實體的集合,c表示Nr包含實體的數量,W4∈Rd′×d為可訓練參數。編碼器將基于鄰域信息的實體嵌入和關系嵌入輸入到解碼器,作為解碼器的輸入。
2.2.5 解碼器
大多數基于GCN的模型,選擇傳統的KGE(如TransE、DistMult和ConvE)模型作為評估三元組合理性的解碼器。而基于卷積神經網絡的模型能夠以少量參數捕獲實體和關系深層次的交互特征,在KGC任務上性能最佳。因此,本文選擇卷積網絡模型Conv-TransE作為解碼器。
Conv-TransE將編碼器輸出的實體、關系嵌入拼接為二維矩陣作為解碼器的輸入,多個卷積濾波器在矩陣上進行卷積計算并提取交互特征,然后將得到的特征向量與候選實體內積以計算三元組分數,從而訓練模型。
以三元組(u,r,v)為例,定義評分函數如下:
其中,vec(?)表示將張量轉化為矢量,?表示卷積算子,ω表示卷積濾波器,W表示可學習的權重矩陣。為方便訓練模型,評分計算應用sigmoid函數:p(u,r,v)=σ(φ(u,r,v))。
Conv-TransE將特征向量與所有候選實體內積打分,并將評分結果直接應用于損失計算。假設,虛假三元組(u,r,v1)獲得0.8,虛假三元組(u,r,v2)獲得0.01,可以推測出實體v1與真實實體v在向量空間中極易混淆。因此,虛假三元組(u,r,v1)叫作高質量負樣本,相反,虛假三元組(u,r,v2)叫作低質量負樣本。因此,利用高質量負樣本針對性訓練,才能使模型性能真正提高。為此,將自我對立的負樣本訓練方法應用于損失計算,對于高質量負樣本,增強其在損失計算中的影響權重。負樣本的權重系數,如公式(11)所示:
其中,t為采樣系數,T'為無效三元組集合,定義為T'=。
具體的損失函數定義如下:
其中,yi表示關系是否存在,存在則值為1;否則為0。
在公共數據集上進行鏈接預測實驗,評估NAHAT模型的性能。
在以前的研究中,FB15k和WN18是兩個常用于鏈接預測的數據集。然而,Toutanova等人[22]提出,一個簡單的基于反轉規則的模型就可以在這兩個數據集產生先進的結果。因此,本文使用兩個改進的數據集FB15K-237和WN18RR。FB15K-237、WN18RR分別是數據集FB15k和WN18的子集,它們移除了所有的反向關系,被認為是更具挑戰性的數據集。表1提供了這些數據集的詳細信息。

表1 實驗數據集信息Table 1 Experimental data set information
基線模型包括傳統的KGE模型(RotatE,ConvE、Conv-TransE)和圖神經網絡模型(VR-GCN,COMPGCN,SACN(解碼器為Conv-TransE),SACN*(解碼器為Dist-Mult),KBGAT,TRAR)。
特別注意的是,SACN利用關系特定的權重系數聚合鄰域信息,在本質上與注意力機制的權重分配一致。因此,可以認為SACN是基于注意力機制的模型。
使用Pytorch和Adam優化器來實現本文模型。對于編碼器,注意力頭設為8,中間層的數量設為2,輸入和輸出的嵌入維度都設置為100。對于解碼器,實體和關系的嵌入維度都設置為100,卷積特征提取的損失率設置為0.3。為避免模型過擬合,實施L2正則化。數據集FB15K-237、WN18RR學習率分別設置為0.000 5、0.000 1。
鏈接預測遵循與之前工作相同的協議,對于每個三元組(u,r,v),本文利用知識庫中所有的實體依次替換頭實體u(尾實體v)得到無效三元組,然后對所有樣本(真實三元組和無效三元組)計算分數并排序。由于,無效三元組可能出現在訓練集、驗證集、測試集中,所以需要將這些“虛假”的無效三元組“過濾”。具體來說,三元組按分數降序排列,真實三元組的排名越靠前,模型的預測能力就越強。在這項任務中,本文采用以下指標評估模型:平均排名(MR),平均倒數排名(MRR),排名是前N的命中率(Hits@N)。MR值越低,MRR和Hits@N的值越大,模型的預測能力就越強。在本實驗中,N取1,3,10。
3.4.1 模型對比分析
NAHAT模型在FB15K-237、WN18RR數據集上進行鏈接預測實驗。實驗結果如表2。基線模型的鏈接預測實驗結果數據采用了Vashishth等人的實驗結果。其中Sun等人[23]提出KBGAT模型使用了不恰當的評估協議,導致模型性能過度估高。針對這個問題,Zhao等人[20]重現了KBGAT的過程,并得到真實的預測結果。所以KBGAT的結果取自Zhao等人的實驗結果。

表2 FB15k-237和WN18RR的實驗結果Table 2 Experimental results on FB15k-237 and WN18RR
為方便考察鄰域信息對模型預測效果的影響,將模型分為兩組:僅基于三元組信息學習的傳統嵌入模型;引入鄰域信息的圖神經網絡模型。可以發現第二組通常比第一組取得更好的結果。NAHAT與Conv-TransE相比,在所有的指標上都有明顯的提升。其中,MRR指標在FB15K-237數據集上提升了11.2%,在WN18RR數據集上提升了4.3%。對比結果表明NAHAT模型的編碼器確實對Conv-TransE有優化作用,有理由認為鄰域信息的學習能夠提高模型的推理性能。
為了驗證注意力機制在鄰域信息聚合中的優越性,將使用固定權重的圖卷積網絡模型和基于注意力機制的模型進行對比分析。以SACN*模型與VR-GCN為例,兩者在信息聚合時都使用簡單的組合函數,主要區別在于信息聚合時是否區分鄰接節點貢獻度。從結果上來看,SACN*在MRR、Hits@N指標上都優于VR-GCN。這證明了利用注意力機制確實能在信息聚合時獲得更準確的嵌入。為了進一步考量分層注意力機制對實體語義補充的能力,將NAHAT與COMPGCN進行對比。結果表明,NAHAT在各個指標上都優于COMPGCN,尤其在FB15K-237數據集上改善比較明顯。分析原因在于,FB15K-237擁有237個關系類型,實體的鄰域更為復雜多樣,根據關系類型細致區分鄰域信息權重是一個合理的手段。相反,WN18RR數據集僅擁有11種關系,利用關系類型區分鄰域信息的效果并不明顯。由此可以證明,對鄰域信息加以區分,才能更細致地學習實體語義。因此,注意力機制應用到圖卷積網絡中有利于提高模型的表達能力。
總體來看,相比其他基線模型,NAHAT在鏈接預測任務實驗中的大多數指標都取得了最佳預測效果,這證明了NAHAT模型的有效性和可用性。
3.4.2 消融實驗分析
為了進一步考查分層注意力網絡、關系更新融合實體表征、自我對立的訓練優化對模型預測效果的影響。建立NAHAT的變體模型NAHAT-hat、NAHAT-hv、NAHAT-g。NAHAT-hat的編碼器使用類似于KBGAT模型的注意力機制,其他部分與NAHAT保持一致。NAHAT-hv通過關系嵌入的線性變換更新關系嵌入,其他部分與NAHAT保持一致。NAHAT-g使用原始的Conv-TransE解碼器,編碼器與NAHAT相同。
將NAHAT模型與它的三個變體在FB15K-237、WN18RR數據集分別進行了鏈接預測任務實驗,結果如表3所示。

表3 消融實驗結果Table 3 Results of ablation experiment
從消融實驗的結果來看,利用分層注意力機制進行鏈接預測在兩個數據集上的性能都有所提升,且對FB15K-237的改善較為明顯,說明利用分層注意力機制對復雜的多關系有向圖進行建模是必要的,這與上一小節結論相同;關系更新融合實體表征在FB15K-237、WN18RR數據集上的MRR指標分別提升了0.8%、0.6%,說明關系語義豐富確實對模型推理有積極作用;負樣本的權重應用于損失計算在FB15K-237數據集上的MRR、Hits@10指標分別提升了0.5%、0.4%,在WN18RR數據集上的MRR、Hits@10指標分別提升了0.8%、0.9%,分析原因在于,FB15K-237有237個關系類型,實體間語義聯系密切,相比稀疏數據集有更大的可能出現無效優化,即實體u1與實體u2在關系r1的語義空間中距離增大,但與實體u3在關系r2的語義空間中距離減小。這也就解釋了NAHAT模型為什么在WN18RR數據集上改善效果突出。總體來看,消融實驗的結果證明了本文模型針對傳統的圖卷積網絡模型提出的三點改進是有效的。
本文提出了一種新的鄰域信息分層感知模型NAHAT,用于KG推理任務。它利用分層注意力機制區分不同鄰域實體和關系的貢獻度,學習更精細化的鄰域信息,并將鄰域實體信息引入關系更新過程,豐富實體和關系的語義嵌入。此外,NAHAT模型將自我對立的負樣本訓練應用到損失計算中,以進一步提高KG推理的性能。實驗表明,該模型相比較于基線模型具有顯著的優越性。考慮到本文方法僅應用了圖結構信息,未來,將會利用實體類型、實體描述等額外信息做進一步研究。