AliNet
代碼
之前的模型都沒有考慮KG結構的非同構性,雖然MuGNN注意到了KG的不完整性,提出了一個兩步的模型:基於規則的KG補全和多通道GNN來解決實體對齊的問題。但是學習到的規則依賴關系對齊來解決結構的異質性。(schema heterogeneity)
-
同構結構的學習也是有用的
對於具有同構領域的實體, GNN會學習到具有相同特征向量的實體的相同表示,這些特征向量表示相應的鄰居。
在某些情況下,如果兩個實體有着同構的鄰居結構,並且先預對齊部分的鄰居結構,GNN也可以捕獲到要對齊的其他鄰居的相似性。
但是在三角形的圖結構中,兩個不同的實體可能會學到一樣的表示,雖然R-GCN在公式中加入了關系,但是如果兩個KG沒有對關系進行預對齊,那網絡就無法知道r1 = r2這樣的關系,R-GCN也就無法發揮作用。
-
用遠距離的鄰居和關系進行補償
為了減少非同構圖中鄰居的影響,我們提出了導入遠距離鄰居信息。

但是不是所有遠距離的鄰居信息都是有用的, 如何有選擇性地聚合這些遠距離鄰居的信息是這篇論文的動機,為了進一步提高AliNet的表示能力,我們選擇考慮關系的語義信息而不是引入關系向量。
AliNet
在AliNet中通過門控機制來控制對k跳的聚合實體表示。
門控多跳鄰居聚合(gated multi-hop neighborhood aggregation)
對於one-hop的那些向量,我們選擇使用香農GCN層來學習這些鄰居表示(vanilla GCN)
在第l層實體i的one-hop表示: \(h_{i,1}^{(l)}\) 盡管GCN用L層可以捕獲實體的L-hop鄰居,但這種一層一層的聚合不夠高效, 所以對於two-hop鄰居聚合,我們引入了注意力機制,因為直接使用原始的GCN聚合會引入噪聲,\(N_2(.)\) 來表示給定實體的two-hop鄰居集合,實體i的hidden的two-hop表示可以如下計算

使用門控機制來控制連接one-hop和two-hop之間的信息
注意力機制
傳統的GAT通過分享一個線性轉換的公式在每一個注意力公式中。但是因為在KG中因為中心實體和它的鄰居會變得很不一樣。這種分享公式的方法會給對區分它們造成不好的影響。於是我們使用兩個不同的矩陣單獨對中心實體和它的鄰居做線性轉換。


損失函數
讓對齊的實體的距離最小,未對齊的實體變得更大

\(\lambda\) :margin \(\alpha_1\) :是為了平衡的超參數
之前的工作都把最后一層的隱藏層的輸出\(h_L\)當作最后的實體表示向量,但是中間層的信息也包含了有用的信息,所以我們使用之前所有隱藏表示來作為最后的結果。

關系語義模型
因為KG在實體之間提供了語義關系信息,所以很自然的要把這些信息加到實體的模型中。R-GCN需要兩個KG高度相似,或者預先對關系進行對齊。這里我們借鑒了一些TransE的translational思想。為了避免過多的參數,我們不引入額外的關系embeddings。

得到的關系向量可以通過檢索來得到。
實現時的細節
-
objective
最終目標是連結alignment loss和relation loss
-
Generalization to k-hop neighborhood
使用下面的門控機制的公式把之前的信息連結在一起
-
增加鄰居
我們使用了一種啟發式的模式來增加預對齊實體的邊。如果KG1的兩個實體i和j之間有一個邊而在KG2中\(i^{'}\)和\(j^{'}\)沒有邊,則我們在\(i^{'}\)和\(j^{'}\)之間加一條邊。使用這種方法的目的是可以減輕非同構性。
-
對齊預測
一旦訓練了AliNet我們就可以基於跨KG范圍的實體表示中的最近鄰搜索來預測實體對齊。給定KG1中的源實體i,對應的在KG2中的實體應為
Π是歐幾里得距離。
實驗
數據集
DBP15K
DWY100K
對比模型
GMNN和RDGCN在表示中融入了實體的表面信息,但在我們的方法中只依賴於結構信息,所以我們沒有和這些模型作比較。
為了消融研究,我們改進了下AliNet模型。AliNet(w/o rel.loss)不優化relation loss. AliNet(w/o rel.loss & augment)沒有優化relation loss也沒有進行鄰居補全的操作。
實驗中有用的問題
觀察到實體的直接鄰居和遠距離鄰居的相似度較小,因此可能不需要基於attention的鄰域聚合來選擇相關的鄰域實體。這也是在one-hop的鄰居聚合中選擇GCN而不是GAT的原因。還觀察到GCN的baseline要優於很多基於嵌入的實體對齊模型包括另一個GCN的變體GCN-Align,這也再一次證實了我們模型的有效性。
實驗分析
-
多跳的聚合策略
從MixHop借鑒思路做了AliNet(mix),把two-hop的鄰居作為one-hop來看待,然后直接使用GCN layers來直接聚合這些信息。
AliNet(add),把門控機制改成了addition operator
AliNet(gat),用GAT代替了建議的注意力機制。
實驗發現,mix版本效果不太好,這暗示對two-hop的鄰居來直接使用GCN不是很有效因為會引入過多的噪聲信息。add版本也沒有表現出令人滿意的效果因為相加的機制並不能像門控機制一樣可以挑選出重要的信息。gat版本比原版的性能較低,這更進一步顯示了我們模型注意力機制的有效性。
-
layer數和k的選擇
我們在DBP15K數據集上做了1-4層的實驗,2層的時候實現了最后的性能。但層數變多的時候性能也會下降。盡管更多層能讓模型捕獲更多的遠距離鄰居信息但是也會引入更多的噪聲並且會引入更多的異構鄰居結構。
我們也嘗試了更多跳的對比。在DBP ZH-EH中,每個中文實體平均有6.6個單挑鄰居而每個英文實體這個數字是8.6。但是,在它們的單跳鄰居之間,只有4.5對的對應實體。在中文中有2.1個未對齊的實體,英語中有4.1個。如果是two-hop,未對其的實體在中文中就減少為0.5個,英語為0.9個。所以這也認為two-hop就足夠了
-
鄰居重疊的分析
兩個實體擁有過高的重疊值意味着在它們的one-hop鄰居中有大量的重疊。我們在每個epoch中計算正確預測對齊的實體中平均的重疊值。並和GCN做了對比。我們發現AliNet的值要比GCN小,這暗示了AliNet可以有效地在one-hop鄰居中使重疊值較小的實體對齊。
-
基於不同層的表現

可以看到1層的表現的要優於layer2,也進一步證實了我們的把layer1和layer2一起加起來的效果更好。