1. 程式人生 > 實用技巧 >論文筆記007-Neighborhood Matching Network for Entity Alignment

論文筆記007-Neighborhood Matching Network for Entity Alignment

1. 簡介

題目:《Neighborhood Matching Network for Entity Alignment

來源:ACL-2020

連結:論文連結

程式碼:Code和Dataset

關鍵字:Entity Alignment

2. 研究背景

  從原先的大量依賴人工的參與實體對齊任務,到Embedding-Based的實體對齊方法的出現,大大縮減了人為的參與度,但是依舊需要一定量的訓練種子對,然後提出了基於GCN的相關方法,這些方法有一個假設前提-相似實體對的周圍鄰近結構也會很相似。但是實際情況不是這樣的。如下圖:

  從上圖中可以看到,對於有些對齊的實體,其周圍的鄰接點數目相差是很大的,而且就算不考慮數量的差別(圖中第二組),其鄰接點中相似的數量也很少,很多節點都是不相似,同時作者通過實驗發現,隨著鄰接點的數目增加,其Embedding-Based

方法的準確率會大大下降,同時鄰接點的數目增多,同時其評價鄰接點的相似度的難度也很大,其GCN方法的計算量的代價也會大大增加。作者由此分析提出了相應的改進的NMN模型。

3.Related Work

  作者在本段落介紹了其模型四個組成部分的相關研究狀況。

3.1 Embedding-based entity alignment

  早期的Embedding-Based方法TransE-2013,通過對KG的結構進行編碼來實現對齊,其變形有MTransE-2017、JAPE-2017、IPTransE-2017、BootEA-2018、NAEA-2019、OTEA-2019。最近提出的模型用GCN去對KG建模,如GCN-Align-2018、GMNN-2019、RDGCN-2019、AVR-GCN-2019、HGCN-JE-2019

。除了使用結構資訊,還有使用其他資訊的方法,如KDCoE-2018、AttrE-2019、MultiKE-2019、HMAN-2019這些方法使用其他的資訊去改善實體的表示學習。

  然而上面的方法都忽視了其鄰接點的異構性。MuGNN-2019AliNet-2020最新的兩個去解決這個問題的模型。但是其兩個模型依舊有些缺點,前者需要大量預先訓練的實體和關係資料,這個很代價很高。後者模型只考慮的一階鄰接點同等的重要性,然後並非所有的一階鄰接點都重要,作者考慮到上述的缺點,自己的模型NMN只會提取一些有用的鄰接點,同時只需要一些預先訓練的資料。

3.2 Graph neural networks

  GNNs

模型最近被很多NLP的研究使用,如語義標籤和機器翻譯等。GNNs的結點表達通過不斷的迭代聚集周圍鄰接點的表達,目前有很多其變種模型,如Graph Convolutional Network (GCN)-2017、Relational Graph Convolutional Network-2018、Graph Attention Network-2018等,考慮到其模型對圖結構的優越性,作者也是使用圖模型去建模結構資訊。

3.3 Graph matching

  圖之間的匹配測量一般通過精準的匹配或者通過結構資訊計算編輯距離, 近年來一個模型Graph MatchingNetwork (GMN) (Li et al., 2019b),其是通過基於注意力機在圖對上進行推理匹配的方法,作者採納其類似的方法去捕獲鄰接點的差異點。

3.4 Graph sampling

  這個圖取樣一般會選取原圖中一部分結點或者邊,一些流行的方法有vertex-edge-raversal-based sampling這三類,作者採用的是選取結點的方法,去選取一些有用的鄰接點。

4. Approach

  作者將知識圖譜表示為 G = ( E , R , T ) G=(E,R,T) G=(E,R,T),分別表示實體、關係、三元組。

4.1 Overview of NMN

  作者的模型分為4部分:1)Structure Embedding, 2)Neighborhood Sampling,3)Neighborhood Matching,4)Neighborhood Aggregation for Generating Embeddings,其將兩個圖一起輸入模型,同時進行嵌入學習,最後通過學習到的表示計算實體之間距離判斷相似性,如下圖:

4.2 KG Structure Embedding

  為了學習實體的表示,作者這裡使用多層GCN去聚集高緯的鄰接點結構資訊,NMN使用了預先已經訓練好的詞向量初始化圖,這個策略在(Xu et al., 2019; Wu et al., 2019a)研究中被證實了是很有效去學習實體名的編碼方式。作者將兩個圖一起作為GCN的輸入,每層更新結點表示的方法如下:
h i ( l ) = ReLU ⁡ ( ∑ j ∈ N i ∪ { i } 1 ϵ i W ( l ) h j ( l − 1 ) ) (1) \boldsymbol{h}_{i}^{(l)}=\operatorname{ReLU}\left(\sum_{j \in N_{i} \cup\{i\}} \frac{1}{\epsilon_{i}} \mathbf{W}^{(l)} \boldsymbol{h}_{j}^{(l-1)}\right) \tag {1} hi(l)=ReLUjNi{i}ϵi1W(l)hj(l1)(1)
  其中 { h 1 ( l ) , h 2 ( l ) , … , h n ( l ) ∣ h i ( l ) ∈ R d ( l ) } \left\{\boldsymbol{h}_{1}^{(l)}, \boldsymbol{h}_{2}^{(l)}, \ldots, \boldsymbol{h}_{n}^{(l)} \mid \boldsymbol{h}_{i}^{(l)} \in \mathbb{R}^{d^{(l)}}\right\} {h1(l),h2(l),,hn(l)hi(l)Rd(l)}是第 l l lGCN的輸出結點特徵,而其中的 ϵ i \epsilon_{i} ϵi是歸一化常數, N i N_{i} Ni是結點 i i i的鄰接點集合,而 W ( l ) ∈ R d ( l ) × ( l − 1 ) \mathbf{W}^{(l)}\in \mathbb{R}^{d^{(l)\times (l-1)} } W(l)Rd(l)×(l1)是第 i i i層的引數。為了控制累積誤差的影響,作者這裡引入了門控網路。

4.3 Neighborhood Sampling

  實體的一階鄰接點對於其對齊的判斷非常重要,但是不是所有的鄰接點都有用,作者模型中採用了一種降取樣的方式,只選取最有用的鄰接點。作者這裡認為:一個鄰接點越出現在實體的面前頻率越高,其對中心實體的重要性就越高。顯示中聯絡越緊密的經常一起出現在上下文中。

  對於給定實體 i i i,其鄰接結點 e i _ j e_{i\_j} ei_j的取樣概率如下:
p ( h i − j ∣ h i ) = softmax ⁡ ( h i W s h i − j T ) = exp ⁡ ( h i W s h i − j T ) ∑ k ∈ N i exp ⁡ ( h i W s h i − k T ) (2) \begin{aligned} p\left(\boldsymbol{h}_{i_{-} j} \mid \boldsymbol{h}_{i}\right) &=\operatorname{softmax}\left(\boldsymbol{h}_{i} \mathbf{W}_{s} \boldsymbol{h}_{i_{-} j}^{T}\right) \\ &=\frac{\exp \left(\boldsymbol{h}_{i} \mathbf{W}_{s} \boldsymbol{h}_{i_{-} j}^{T}\right)}{\sum_{k \in N_{i}} \exp \left(\boldsymbol{h}_{i} \mathbf{W}_{s} \boldsymbol{h}_{i_{-} k}^{T}\right)} \end{aligned} \tag {2} p(hijhi)=softmax(hiWshijT)=kNiexp(hiWshikT)exp(hiWshijT)(2)
  其中 N i N_{i} Ni是一階鄰結點的指示集合, h i h_{i} hi h i _ j h_{i\_j} hi_j是學習到的實體表達,而 W s \mathbf{W}_{s} Ws是共享的引數矩陣。

4.4 Neighborhood Matching

  作者通過上面的取樣以後,後續的操作只會在對應的子圖上面進行。作者認為相似實體的鄰接點也會盡可能相似,作者通過這個思路來判斷鄰接點的相似性。

Candidate selection

  作者考慮到,要是針對實體 i i i的子圖和另一個KG中的所有實體子圖進行比較,然後再去選擇最相似的子圖,這樣會非常耗費時間,所以作者先選擇一些可能相似的實體候選集合出來,然後就只和這些集合裡面的元素進行比較,這樣會大大降低計算量。而對於被選擇的後續實體選取規格如下:
p ( h j ∣ h i ) = exp ⁡ ( ∥ h i − h j ∥ L 1 ) ∑ k ∈ E 2 exp ⁡ ( ∥ h i − h k ∥ L 1 ) (3) p\left(\boldsymbol{h}_{j} \mid \boldsymbol{h}_{i}\right)=\frac{\exp \left(\left\|\boldsymbol{h}_{i}-\boldsymbol{h}_{j}\right\|_{L_{1}}\right)}{\sum_{k \in E_{2}} \exp \left(\left\|\boldsymbol{h}_{i}-\boldsymbol{h}_{k}\right\|_{L_{1}}\right)} \tag {3} p(hjhi)=kE2exp(hihkL1)exp(hihjL1)(3)
Cross-graph neighborhood matching

  作者收到圖匹配研究的啟發,其將所有的子圖作為輸入,為每一個鄰接點計算其對應的匹配向量, ( e i , c i k ) (e_i,c_{ik}) (ei,cik)是要評價的實體對,其分別屬於 E 1 E_{1} E1 E 2 E_{2} E2,而且 c i k c_{ik} cik是實體 e i e_{i} ei的候選集中的, p p p q q q分別是實體 e i e_{i} ei e i k e_{ik} eik的鄰接點,那麼對於實體 q q q的跨圖的匹配向量是:
a p q = exp ⁡ ( h p ⋅ h q ) ∑ q ′ ∈ N i k s exp ⁡ ( h p ⋅ h q ′ ) (4) a_{p q}= \frac{\exp \left(\boldsymbol{h}_{p} \cdot \boldsymbol{h}_{q}\right)}{\sum_{q^{\prime} \in N_{i_{k}}^{s}} \exp \left(\boldsymbol{h}_{p} \cdot \boldsymbol{h}_{q^{\prime}}\right)} \tag {4} apq=qNiksexp(hphq)exp(hphq)(4)

m p = ∑ q ∈ N i k s a p q ( h p − h q ) (5) \boldsymbol{m}_{p} =\sum_{q \in N_{i_{k}}^{s}} a_{p q}\left(\boldsymbol{h}_{p}-\boldsymbol{h}_{q}\right) \tag {5} mp=qNiksapq(hphq)(5)

  其中 q p q q_{pq} qpq是一個注意力權重, m p m_{p} mp是一個匹配向量,其描繪了其他對應子圖中最近鄰接點和 h p h_{p} hp之間差別。然後作者將其輸出和原先的結點表達聯合:
h ^ p = [ h p ∥ β ∗ m p ] (6) \hat{h}_{p}=\left[h_{p} \| \beta * m_{p}\right] \tag {6} h^p=[hpβmp](6)
  匹配向量對於相似的兩個鄰接點,其值接近於 0 0 0向量,其表達就非常而接近,而對於不相似的結點,其不對稱會在傳播過程中不斷增大,最後結果證明該匹配機制很有效。

4.5 Neighborhood Aggregation

  這個模組就是整合其鄰接點的連線資訊,即結構嵌入表示,同時將上一步匹配網路學習到的匹配資訊結合在一起,對於其取樣的的鄰接點 { h ^ p } \{\hat{h}_{p}\} {h^p},對於實體 i i i來說其匹配網路學習到的鄰接點表示為 g i g_{i} gi,然後將其和結構嵌入表示聯結起來:
g i = ( ∑ p ∈ N i s σ ( h ^ p W g a t e ) ⋅ h ^ p ) W N (7) \boldsymbol{g}_{i}=\left(\sum_{p \in N_{i}^{s}} \sigma\left(\hat{\boldsymbol{h}}_{p} \mathbf{W}_{g a t e}\right) \cdot \hat{\boldsymbol{h}}_{p}\right) \mathbf{W}_{N} \tag {7} gi=pNisσ(h^pWgate)h^pWN(7)
h i match = [ g i ∥ h i ] (8) \boldsymbol{h}_{i}^{\text {match}}=\left[\boldsymbol{g}_{i} \| \boldsymbol{h}_{i}\right] \tag {8} himatch=[gihi](8)

5. Entity Alignment and Training

Pre-training

  作者首先預先訓練基於GCN的嵌入模型去提供可信的實體表達,裡面通過測量兩個實體的距離來判斷是否應該對齊:
d ~ ( e 1 , e 2 ) = ∥ h e 1 − h e 2 ∥ L 1 (9) \tilde{d}\left(e_{1}, e_{2}\right)=\left\|\boldsymbol{h}_{e_{1}}-\boldsymbol{h}_{e_{2}}\right\|_{L_{1}} \tag {9} d~(e1,e2)=he1he2L1(9)
  其訓練的目標函式為,其中 γ \gamma γ > 0,而 L \mathbb{L} L L ′ \mathbb{L}^{\prime} L分別代表種子實體對和負樣本(在最近的結點中替換):
L ~ = ∑ ( i , j ) ∈ L ( i ′ , j ′ ) ∈ L ′ max ⁡ { 0 , d ~ ( i , j ) − d ~ ( i ′ , j ′ ) + γ } (10) \tilde{L}=\sum_{(i, j) \in \mathbb{L}\left(i^{\prime}, j^{\prime}\right) \in \mathbb{L}^{\prime}} \max \left\{0, \tilde{d}(i, j)-\tilde{d}\left(i^{\prime}, j^{\prime}\right)+\gamma\right\} \tag {10} L~=(i,j)L(i,j)Lmax{0,d~(i,j)d~(i,j)+γ}(10)
Overall training objective

  如果實體對齊預訓練完成,預訓練階段已經收斂到穩定狀態,其會給後續的部分提供充足的資訊。因此後續的損失函式會修改為如下:
L = ∑ ( r , t ) ∈ L ∑ ( r ′ , t ′ ) ∈ C max ⁡ { 0 , d ( r , t ) − d ( r ′ , t ′ ) + γ } (11) L=\sum_{(r, t) \in \mathbb{L}} \sum_{\left(r^{\prime}, t^{\prime}\right) \in \mathbb{C}}\max \left\{0, d(r, t)-d\left(r^{\prime}, t^{\prime}\right)+\gamma\right\} \tag {11} L=(r,t)L(r,t)Cmax{0,d(r,t)d(r,t)+γ}(11)

d ( r , t ) = ∥ h r match − h t match ∥ L 1 (12) d(r, t)=\left\|\boldsymbol{h}_{r}^{\text {match}}-\boldsymbol{h}_{t}^{\text {match}}\right\|_{L_{1}} \tag {12} d(r,t)=hrmatchhtmatchL1(12)

  其中負樣例集合 C = \mathbb{C}= C= { ( r ′ , t ′ ) ∣ ( r ′ = r ∧ t ′ ∈ C r ) ∨ ( t ′ = t ∧ r ′ ∈ C t ) } \left\{\left(r^{\prime}, t^{\prime}\right) \mid\left(r^{\prime}=r \wedge t^{\prime} \in \mathcal{C}_{r}\right) \vee\left(t^{\prime}=t \wedge r^{\prime} \in \mathcal{C}_{t}\right)\right\} {(r,t)(r=rtCr)(t=trCt)} 是由候選集合 C r \mathcal{C}_{r} Cr C t \mathcal{C}_{t} Ct組成(4.4中選擇的)。注意到,我們的取樣過程是不可微分的,所以其阻斷了引數矩陣 W s \mathbf{W}_{s} Ws(公式2)的訓練,為了訓練其值,我們不直接取樣,我們整合所有的鄰接點的資訊如下:
g i w = ( ∑ p ∈ N i α i p ⋅ σ ( h ^ p W g a t e ) ⋅ h ^ p ) W N (13) \boldsymbol{g}_{i}^{w}=\left(\sum_{p \in N_{i}} \alpha_{i p} \cdot \sigma\left(\hat{\boldsymbol{h}}_{p} \mathbf{W}_{g a t e}\right) \cdot \hat{\boldsymbol{h}}_{p}\right) \mathbf{W}_{N} \tag {13} giw=pNiαipσ(h^pWgate)h^pWN(13)
  其中 α i p \alpha_{i p} αip是一個聚合的權重,即式子2中的 p ( h j ∣ h i ) p\left(\boldsymbol{h}_{j} \mid \boldsymbol{h}_{i}\right) p(hjhi),既然訓練引數矩陣 W s \mathbf{W}_{s} Ws的目的是讓對齊的鄰接點的表示儘可能相似,那麼目標函式可以用下面的:
L w = ∑ ( r , t ) ∈ L ∥ g r w − g t w ∥ L 1 (14) L_{w}=\sum_{(r, t) \in \mathbb{L}}\left\|\boldsymbol{g}_{r}^{w}-\boldsymbol{g}_{t}^{w}\right\|_{L_{1}} \tag {14} Lw=(r,t)LgrwgtwL1(14)
  作者的模型在預訓練以後就是端到端的訓練,期間使用式子11作為目標函式,每50個週期就使用式子14調整引數 W s \mathbf{W}_{s} Ws

6. 實驗分析

資料集:DBP15K和DWY100K

  其資料大致情況如下,同時作者為了驗證其模型的效能,構造了一個稀疏的資料集S-DBP15K:

  作者將其他語言的文字通過谷歌翻譯成英文,相當於在同一空間進行實體的表示學習。同時為了驗證其提出模組重要性,作者對齊模型進行部分的刪減,形成變形對照實驗,具體的詳細引數設定可以閱讀論文。其實驗結果如下:

  通過上述的實驗,可以看到實驗結果有很大的提升,而且在作者自己構造的稀疏資料集上面還依舊錶現非常的好。同時作者論文後續的分析部分其實很不錯,對於不同的部分選取的原因加以了非常清晰的解釋,後續的Impact of neighborhood sampling strategiesImpact of neighborhood sampling sizeHow does the neighborhood matching module work這三個部分對其模型很具有解釋性,同時其豐富的實驗驗證了其理論,推薦大家詳細閱讀,在此就不具體介紹了。