王 紅,林海舟,盧林燕
中國民航大學 計算機科學與技術學院,天津300300
知識圖譜(Knowledge Graph,KG)對事實性知識進行存儲和管理,以實體(節點)及其之間的關系(邊)進行表示,在問答、推薦和數據集成方面具有重要應用。DBPedia[1]等規模較大的KG,在維護方面花費了大量精力,但信息仍不完整,覆蓋范圍的不完整性限制了其延伸應用的發展。知識圖譜推理旨在利用已有事實三元組信息,識別并推理出KG 中的缺失信息,進行KG 補全,從而豐富和擴展KG[2]。知識圖譜推理包含實體解析、實體分類和鏈接預測三個關鍵技術,其中實體分類是判斷實體所屬的語義類別,鏈接預測是判斷兩個實體間是否存在某種特定關系。知識圖譜推理對發現錯誤信息、挖掘隱藏信息起了很大的促進作用。然而由于KG 信息量的不斷增大,實體間存在的關系也越來越豐富,傳統的知識圖譜推理方法已不能滿足現有大規模KG 補全的需求[3]。現有的基于神經網絡的KG 補全算法主要利用神經網絡的學習能力和泛化能力建模KG事實元組,對三元組進行評分并對得分結果進行排序得到推理結果[4]。
圖作為一種數據結構,可用于表示社交網絡、通信網絡、蛋白分子網絡等,圖中的節點表示網絡中的個體,邊表示個體之間的連接關系。如何有效表示和利用圖中的豐富信息,國內外學者進行了大量研究。圖卷積神經網絡框架GCN[5-8]利用譜聚類的思想,將傳統的離散卷積應用在圖結構數據上,卷積算子使用圖中的位置信息,以允許對結構化數據進行端到端的學習,但其框架僅適用于無向圖。基于此,Schlichtkrull 等人[9]提出R-GCN 模型,將GCN 擴展到有向圖中,并首次證明了GCN 可用于解決關系型數據推理問題。該模型對實體特征的學習綜合考慮了來自鄰域實體的所有信息。但由于對鄰域實體信息學習過程中使用了統一的歸一化常數,未對實體間的相關性進行考慮,使得學習結果不能有效衡量鄰域實體對當前實體的影響程度。
雙線性對角線模型DistMult[10]將每種關系類型設置為對角陣,通過特征向量空間上的矩陣乘法和內積操作得到預測評分結果。該模型極大降低了模型復雜度并有利于處理多關系型數據。但DistMult 不能很好地處理非對稱關系,因為實數向量之間的點積計算具有交換性,即如果向量表示下的(s,r,o)成立,那么(o,r,s)也必然成立,但在KG 中非對稱關系的比例遠多于對稱關系的比例。因此,ComplEx[11]模型將DistMult 推廣到復域中,利用復數之間的埃爾米特乘積不具交換性的特點,對非對稱關系進行建模。ComplEx模型對非對稱關系語義的捕捉以及預測效果說明顯性地考慮KG 中的非對稱關系,有利于提高推理效果。
Attention[12]機制由Bahdanau 等人在2015 年提出,對人類視覺所特有的大腦信號處理機制進行了模擬,能夠處理可變大小的輸入并關注最相關部分進而做出決策。程華[13]等利用注意力機制對拓撲圖中的節點進行關注和加權,強化重要節點對鏈接預測任務的貢獻。Petar[14]基于注意力機制,衡量相鄰實體間的相關性問題,解決了關系圖數據的節點分類問題,在大規模歸納數據集中取得了較好的效果。
基于此,本文提出一種基于注意力機制和圖卷積神經網絡的知識圖譜推理模型Att_GCN,旨在解決利用神經網絡進行知識圖譜推理無法有效衡量實體間相關性的問題,并使用ComplEx 作為打分函數,通過顯性考慮KG中的非對稱關系,以提高KG推理的準確性。
基于Att_GCN的知識圖譜推理模型,首先利用注意力機制學習KG 中實體節點的鄰域實體信息,隱式地為鄰域中的不同實體指定不同權重,從而有效衡量不同鄰域實體對當前實體的影響程度,達到多條路徑信息傳遞的效果。接著采用GCN 的參數共享技術學習實體的相鄰關系特征,進一步避免密集矩陣操作的計算。最后使用ComplEx作為模型預測的打分函數,通過分離實體特征和關系特征的實部和虛部來顯性的考慮KG 中的非對稱關系。模型框架圖如圖1所示。

圖1 模型框架
該模型主要包括兩部分:
(1)KG 數據的預處理。首先對KG 中的實體節點和帶關系標簽的邊進行編號,接著將KG 表示成三元組形式并生成實體嵌入向量;再將任意實體節點的所有直接鄰域節點分為以下兩類:以當前節點作為尾實體的所有頭實體集合和以當前節點作為頭實體的所有尾實體集合,并通過查找嵌入矩陣獲得相應的嵌入子矩陣;最后生成當前節點的關系稀疏矩陣。
(2)Att_GCN 模型的構建。首先采用注意力機制衡量不同鄰域實體對當前實體的影響程度,獲得當前實體的特征向量;接著設計關系共享權重矩陣,對當前實體的鄰域實體集合的特征向量進行卷積運算,并融合其所有鄰域實體特征及其相應的關系特征,得到該實體的隱性特征向量。最后利用生成的實體隱性特征向量進行實體分類和鏈接預測。
模型的構建是本文研究的核心內容,將注意力機制與圖卷積神經網絡結合并用于知識圖譜推理是研究的難點。下面將詳細介紹上述兩部分內容。
KG可以形式化描述為G={V,E,?},其中V 表示KG中的實體節點集合vi∈V,E 表示帶關系標簽的邊集合(vi,r,vj)∈E,?是關系類型集合r ∈?。
首先對KG 中的實體和關系類型進行編號,方便數據處理并保證其唯一性。例如三元組(4 512,52,546),其中4 512 和546 表示實體編號,52 表示關系編號,該三元組表示實體4 512 和546 間存在關系52。由于KG 中實體節點的表示是離散且沒有順序的,所以使用one-hot詞袋模型對實體進行編碼,并按實體編號順序生成實體嵌入矩陣G。
接著將任意實體節點i 的所有鄰域實體分為兩類:以節點i作為尾實體的所有頭實體集合,對應關系集合為r1;以節點i 作為頭實體的所有尾實體集合,對應關系集合為r2,并通過查找嵌入矩陣G 獲得相應的嵌入子矩陣g1、g2。
最后生成實體的關系稀疏矩陣p,根據節點i 的實體集合信息和關系集合信息,構造節點i 的關系稀疏矩陣,關系稀疏矩陣的行數代表KG 中的所有實體,列數代表與當前實體相關聯的邊數,值表示該邊的關系類型。假設三元組(4 512,52,546)是實體節點546 的第2條邊,則實體節點546 的前向稀疏矩陣p′中,第4 512行,第2列的值為52。
Att_GCN 模型的構建主要包括注意力層的設計、圖卷積層的設計、特征融合、實體分類、鏈接預測這五步,構建Att_GCN模型并進行特征融合的過程如圖2所示。
4.2.1 注意力層的設計
本文以單個實體節點i 為例,說明每個實體隱性特征向量的學習過程。由預處理過程可知,節點i 的頭實 體集合相 對 應 的 one - hot 編 碼 為,其中N 是集合中實體的個數,M 是每個實體嵌入向量的維數,M 設置為300。為了在注意力層獲得足夠有表達能力的特征信息,并在迭代訓練中保持相同的維度,對模型輸入的嵌入向量G 通過共享權重W ∈?M×D進行簡單線性變換,接著使用注意力機制計算集合中的節點j 與節點i 之間的相關系數,并經過LeakyReLU 非線性轉換:

圖2 Att_GCN模型構建過程
其中,注意力機制a 是?D×?D→?上的內積操作,衡量了集合中任意節點j 對節點i 的影響程度。為使eij系數在集合所有實體上易于比較,使用softmax 機制對所求的相關系數進行規范化。

則αij是鄰域節點j對i的影響程度。最后使用規范化權重系數αij計算節點i的前向隱藏狀態:

4.2.2 圖卷積層的設計
圖卷積神經網絡借助圖譜的理論來實現拓撲圖上的卷積操作,用于提取空間特征。利用卷積神經網絡的參數共享技術,可以在存有大量實體節點的知識圖譜推理中減少特征學習所需要的參數,使參數在稀有關系和頻繁關系之間共享,有效緩解稀有關系的過度擬合問題。與普通圖卷積神經網絡不同,本文使用特定于關系的共享權重機制,即卷積核權重的確定取決于邊的類型和方向。在進行卷積操作過程中,為保證l 層到l+1層神經轉換的正確性,對每個實體節點設置特殊的關系轉換權重,保證消息的有效傳遞。則一般情況下,從l 層到l+1層的卷積過程表示為:


同理,使用相同的關系共享權重機制學習節點i 的后向隱藏狀態輸出,則節點i 的隱藏狀態為
在模型的訓練過程中,所有實體的隱性特征向量的學習過程是并行進行的,每個實體特征向量的更新,都會影響其相鄰的所有實體的特征學習,因此,實體隱性特征向量的學習過程是循環迭代的,直到每個實體的狀態趨于穩定為止。最后,由于每個實體的特征信息都融合了其相鄰的所有實體信息,所以,模型可以解決多步信息的傳遞問題。
4.2.3 實體、關系特征融合
特征融合是將來源不同的特征融合到一起并去掉冗余信息,從而達到多種特征優勢互補的目的。已知節點i 的鄰域實體集合的隱藏狀態為:,其中表示節點j 的隱藏狀態。又因為節點i 的關系集合r1的關系稀疏矩陣為,通過融合節點i 的鄰域實體集合的隱藏狀態h′(l+1)和關系集合r1的關系稀疏矩陣,得到節點i的前向隱性特征向量:

為了評估模型的有效性,本文通過兩個實驗進行驗證:實體分類和鏈接預測。
實體分類任務旨在對任意給出的實體節點i,判斷其所屬的語義類別。本文模型通過最小化交叉熵損失函數對所有實體節點進行訓練:

其中,tik表示節點i 屬于第k 類語義類別的標記符,當節點i 屬于第k 類時tik值為1,WD×K是簡單線性變換權重矩陣,σ 為非線性轉換函數ReLU。
鏈接預測任務可以描述為:給出邊集合E 的部分子集e,設計一個打分函數f(s,r,o),對給定的任意邊(s,r,o)?e,判斷該邊屬于E 的可能性。本文使用基于復域空間的ComplEx[11]分解模型作為打分函數,利用嵌入的復共軛處理KG 中的不對稱關系。通過分離實體特征向量和關系特征向量的實部和虛部,能夠準確描述實體間的對稱關系和反對稱關系,其最終的打分結果為:

其中,Re(wr)表示(s,r,o)中關系特征向量的對稱實部,Im(wr)表示(s,r,o)中關系特征向量的反對稱虛部。Re(fs)、Im(fs)是(s,r,o)中相對應的實體特征向量的實部和虛部。
在實驗過程中隨機修改某些正三元組的頭實體或尾實體作為訓練的負樣本,使正負樣本比例為1∶1,并通過交叉熵損失函數對模型結果進行優化:

其中,Γ 是所有正負樣本集合,用y 進行標識,y=1對應正三元組,y=0 對應負三元組,S 是logistic sigmoid 函數。
Att_GCN 模型基于注意力機制和圖卷積神經網絡進行知識圖譜推理,將KG 中的實體進行編號并通過embedding的方式嵌入到向量空間,形成嵌入向量矩陣。通過查找向量空間得到每個實體的鄰域實體特征矩陣和關系稀疏矩陣。接著利用注意力機制衡量鄰域實體對目標實體的影響程度,并使用圖卷積神經網絡學習每個實體的隱藏特征。最后在更新迭代過程中,通過最小化交叉損失函數優化實體特征向量,直到更新收斂于某個值或最大迭代次數。具體的算法描述如下所示。
算法Att_GCN
input:實體集X,關系集R,三元組集S,最大迭代次數T
output:更新后的實體集X
/*預處理*/
whilexi∈X
#將xi嵌入到w 維向量空間,實體集合X,實體嵌入維度w,shape為實體個數*每個實體的維度
xi←onehot_input(X,shape)
#獲得節點i 的鄰域實體矩陣,通過索引值i 在X 中查找得到每個實體的嵌入向量
end while
while ri∈R
#生成節點i的關系向量,權重參數符合標準正態分布,其中標準正態分布的均值mean,標準差variance,共享權重矩陣的形狀為shape
ri←make_tf_variable(mean,variance,shape,'normal')
end while
while si∈S,xi∈X
#構造節點i關系稀疏矩陣,indices為二維張量( )n,ndims,n 為非零元素的個數,ndims 為稀疏矩陣維數;values:對應indices所指位置元素值;dense_shape:稀疏矩陣的維數
/*Att_GCN模型算法過程*/
for each xi∈X
#利用注意力機制獲得鄰域實體j 對節點i 的影響因子,W 為全連接層權重參數
αij=softmax(LeakyReLU(Wxi?Wxj))
#融合鄰域實體對節點i的影響程度得到i的隱藏狀態

#通過圖卷積操作學習節點i的鄰域實體特征

#融合鄰域實體和關系特征得到節點i 的隱性特征向量,將節點i的鄰域實體特征與稀疏矩陣信息融合

#更新節點i的特征向量,將節點i的前向信息與后向信息融合得到整體信息

end for
數據集:本文的實體分類實驗采用4個RDF 格式的數據集(http://dws.informatik.unimannheim.de/en/research/acollection-of-benchmark-datasets-for-ml),包括AIFB、MUTAG、BGS 和AM。其中AIFB 數據集描述了AIFB研究所的員工、研究組和出版物,用于預測數據集中人員的從屬關系。MUTAG 包含可能致癌的復雜分子圖數據集,其中的關系表示原子鍵,或者表示某個特性的存在,將分子的屬性作為預測目標。BGS是具有層次化特征描述的巖石類型數據集,其中關系表示了巖石的特征或特征層次,將巖石的特性作為預測目標。AM 數據集包含有關阿姆斯特丹博物館中的文物信息,數據集中每個制品都鏈接到其他工件以及有關其生產、材料和內容的詳細信息,將工件類別作為預測目標。在每個數據集中,要進行分類的是作為節點表示的實體屬性,數據的精確統計如表1 所示。數據集中移除了用于判斷實體語義類型的關系:AIFB 中的employs 和affiliation,MUTAG 中的isMutagenic,BGS 中的hasLithogenesis,以及AM中的objectCategory和material。
實驗評價指標:實體分類實驗采用正確率(precision)作為模型性能的評價指標:

表1 實體分類數據集

其中,out_right 表示輸出結果中分類正確的實體個數,out_all 表示用于實體分類的所有實體個數。
參數設置:本文使用500 維的實體訓練維度,與R-GCN 模型保持一致的維度以保證實驗的公平性。同時通過不同實體嵌入維度的實驗對比可知,取實體維度為500 維時訓練效果最佳。為了加速訓練并避免訓練過程中出現過擬合現象,利用L2正則化對關系共享權重參數進行約束,因為L2正則假設參數的先驗分布是Gaussian 分布,可以保證模型的穩定性和參數的值不會太大或太小,懲罰值L2范圍為{0,0.000 5,0.001};并使用dropout 策略,設置范圍為d={0.3,0.4,0.5,0.6,0.7};迭代過程中每批次送入訓練數據的大小參數為{50,100,150,200};在模型訓練過程中使用全批量梯度下降技術。所有訓練只對訓練集進行超參數優化,基于驗證集的性能,設置L2=0.000 5,注意力層d=0.6,圖卷積層d=0.4,每批次送入訓練數據的大小50。
實驗結果:實驗選取以上數據集進行模型訓練,其中訓練集和測試集的比例為4∶1,驗證集占訓練集的1/4,實驗結果對比了本文直接優化的R-GCN 模型。對比模型的結果直接從論文獲取,其評估結果如表2所示。
實驗分析:由表2可得,對4個數據集而言,Att_GCN對比改進的R-GCN 模型分類結果上均提高了2%左右,實驗結果說明對來自相鄰實體的消息進行不同程度的學習,對影響程度大的鄰域實體投入更多的注意力,并削弱一些無用信息,使學出來的實體特征向量更符合實際情況。

表2 實體分類結果對比
數據集:實驗選取具有挑戰的FB15K-237數據集[15]作為評估對象,由于WN18k[15]和FB15K[15]數據集上存在大量的逆三元組,基于規則的簡單線性轉換模型LinkFeat[15]利用逆三元組信息就可以得到很好的預測結果。FB15K-237 數據集是在FB15K 的基礎上去掉了所有逆三元組,通過該數據集可以更好地評估模型的性能。FB15K-237包含14 541個實體,237個關系類型。
實驗評價指標:實驗采用平均倒數排名(MRR)的原始設置和過濾設置[16],Hits@1、Hits@3、Hits@10 在過濾設置情況下的得分作為模型性能評價指標,指標的描述如下:

其中,out_right 表示前n%個預測結果中正確結果的個數,M 表示預測結果的總個數。

其中,out_rank 表示期望輸出結果在實際結果中的排名,M 表示預測結果的總個數。
參數設置:實驗選取的實體訓練維度為500 維,使用L2 正則化對打分函數進行約束,懲罰值L2 范圍為{0,0.005,0.01,0.015,0.02},學習率為{0,0.001,0.01},堆疊圖卷積層數可取值為c={1,2,3},迭代次數為{3 000,4 000,5 000,6 000}。通過驗證集實驗效果,選取L2=0.01,注意力層d=0.6,圖卷積層數c=2,圖卷積層d=0.5,迭代次數為6 000。
實驗過程中的訓練迭代次數、實體訓練維度、圖卷積層數的參數設置實驗對比如表3所示。
實驗結果:實驗結果比較了DisMult模型,本文直接優化的ComplEx 模型和R-GCN 模型,對比模型的結果直接從相應論文獲取,實驗結果如表4所示。
實驗分析:由表4 可知,Att_GCN 的實驗結果均高于DisMult 模型,直接改進的ComplEx 模型、R-GCN 模型的結果,說明Att_GCN模型將注意力機制與圖卷積神經網絡相結合,使用注意力機制進行實體間相關性學習,并顯性地考慮KG 中的非對稱關系有明顯的優勢,可以提高鏈接預測任務的性能。

表3 鏈接預測參數對比實驗Hits@10結果

表4 鏈接預測結果對比
本文針對基于神經網絡(GCN)的知識圖譜推理無法有效學習KG 中實體間的相關性問題,提出了一種Att_GCN 的知識圖譜推理方法,在公共語料庫上的實驗結果表明,該方法在KG 的實體分類任務中獲得了較先進的實驗效果,同時在KG 的實體鏈接預測中優于現有模型。本文的創新點在于采用注意力機制學習KG中實體的鄰域實體對當前實體的影響程度,并利用圖卷積神經網絡的參數共享技術緩解傳統神經網絡參數指數增長的問題,最后利用ComplEx 模型的復共軛技術處理KG 中的非對稱關系。通過有效編碼每個實體的鄰域實體信息,可以提取更豐富的實體特征,實現多路徑的實體和關系特征學習,提高知識圖譜推理的準確率。
該方法由于KG 中的每個實體都需要學習其相應的鄰域實體集合信息,故對于每個實體而言,均需進行多次卷積操作,所以在時間復雜度上很難大幅度的減小,未來考慮采用將頭實體、關系視為一個整體,將數據集中所有的實體視為尾實體進行鏈接預測,從而達到減少卷積操作次數的目的。其次,推理的對象是封閉的KG,即KG 的關系和實體種類是固定的,不能添加新的實體和關系,如何將深度學習的方法用到開放領域進行知識推理、自動發現新的關系還有待進一步研究。