【論文解讀 ICLR 2020】Differentiable Learning of Numerical Rules in Knowledge Graphs

論文題目:Differentiable learning of numerical rules in knowledge graphs

論文來源:ICLR 2020 CMU, Bosch Center for AI

論文鏈接:https://openreview.net/forum?id=rJleKgrKwS

關鍵詞:知識圖譜,數值規則,規則的學習(抽取),知識推理



1 摘要

本文解決的是規則的學習問題,學習出來的規則可用於知識推理任務,例如鏈接預測等。

KG上的規則捕獲了數據中可解釋的模式,並且可以用於KG的清洗和補全。

可微邏輯框架TensorLog將規則推理編譯成了可微的操作序列。受TensorLog的啓發,最近提出的Neural LP方法可用於學習參數和規則的結構。

然而,它在處理age, weight, scicentific measurements等數字特徵方面受限。本文對Neural LP進行擴展,使其能學習有數字值的規則,例如“People younger than 18 typically live with their parents”。

本文還展示瞭如何使用動態規劃和累積和操作來確保擴展的效率。本文的方法可以實現使用聚合抽取出更具表達性的規則,並且這些規則和state-of-the-art的方法學習到的規則相比質量更高。


2 引言

鏈接預測是知識圖譜領域的一項常見任務。大多數針對此任務的工作聚焦於規則抽取技術,近期有一些方法使用深度學習解決此任務,但是絕大多數基於深度學習的方法不具有可解釋性

Yang等人提出的Neural LP方法[1]可爲鏈接預測任務學習到具有可解釋性規則,同時保留了學習方法的靈活性。但是Neural LP方法能表示的規則種類有限,它不能學習到依賴於數值(numerical)特徵的規則

本文提出Neural LP的擴展,可實現對數值規則的快速學習。在通用的Neural LP方法中,數值規則會導致稠密的矩陣操作,作者使用動態規劃累積求和運算,有效地表達了用於數值比較的操作符。

通過隱式地定義相關的操作符,實現了對Neural LP的擴展,使其可以有效地利用數值特徵進行規則的學習,同時保留了Neural LP框架的可解釋性

在多個KG數據集上進行了實驗,證明了本文的方法和Neural LP方法相比,可以更準確地回答queries,並且比state-of-the-art的規則抽取方法(AnyBurl[2])準確率更高。在兩個合成的真實數據集上進行了實驗,證明了本文的方法可以依賴於數值信息更準確地恢復出規則,以實現在KG上進行更精準的鏈接預測。和純圖嵌入方法不同的是,本文的方法抽取出的規則仍然具有可解釋性


3 相關工作

(1)關係數據挖掘

從數據中學習規則可以看成是關係數據挖掘歸納式邏輯編程(ILP)問題。

和本文工作最相關的是從關係數據中學習具有聚合的決策樹。但是這些方法的可擴展性不好,不能處理真實世界中的KG。

在KG上進行規則的學習吸引了許多研究學者的關注,Ortona等人[3]提出的方法考慮到了帶有否定詞的規則,和本文的方法一樣也支持數值比較。但是與本文的方法不同的是,Ortona等人的方法目的是找到一小組規則,以涵蓋大多數的正例和儘可能少的負例,而本文的方法是在無監督的情況下進行規則的學習。


(2)基於神經的規則學習

有許多學者利用了嵌入模型神經架構以進行規則的學習任務,和本文工作最相關的是Yang等人提出的方法[4],該方法將規則學習問題簡化成了對給定KG的neural-embedding-based表示進行的代數運算。但是該方法只能處理非數值型的規則


(3)使用數值的嵌入模型

針對KG的不完備性,可以預測已有實體間的關係連邊來對KG進行補全。許多方法依賴於統計並且包括張量的分解。本文的模型是基於神經嵌入的。

和本文工作最相關的是Garc´a-Dur´an和Niepert的工作[5],他們提出了一個結合了關係、隱層和數值特徵的新方法,但是該方法不具有可解釋性


4 一些定義與準備工作

在這裏插入圖片描述

(1)知識圖譜

  • C\mathcal{C}爲常量集合,例如實體;
  • NR\mathcal{N}\in \mathbb{R}是數值(numerical values);
  • R\mathcal{R}是二元關係,例如謂詞;
  • 知識圖譜G\mathcal{G}定義成有限的原子(例如 事實)集合,表示爲p(x,y)p(x, y),其中pR,xC,yCNp\in \mathcal{R}, x\in \mathcal{C}, y\in \mathcal{C}\cup \mathcal{N}。例如citedIn(john,article1)citedIn(john, article1)
  • 集合RnR\mathcal{R}_n \subseteq \mathcal{R}存儲了所有的數值型謂詞pp,例如p(x,y)G,xC,yNp(x, y)\in \mathcal{G}, x\in \mathcal{C}, y\in \mathcal{N}
  • 數值型的事實定義爲GnG\mathcal{G}_n \subseteq \mathcal{G}

使用小寫字母表示常量,大寫字母表示變量。

由於KG是不完備的,我們可以假定缺失的事實是未知的或者是錯誤的。開放世界假設(OWA)認爲缺失的事實應該看成是未知的,而不是錯誤的。局部封閉世界假設(LCWA)則認爲KG是局部完全的,缺失的事實是錯誤的。


(2)數值規則

規則可表示成如下的形式:

在這裏插入圖片描述

其中p,q1,...,qnRp, q_1, ..., q_n\in \mathcal{R},左邊是規則頭,右邊是規則體,規則頭或規則體中的每一個合取符可以看成是一個原子

數值規則指的是規則中包含變量間或變量和一個數值常量間的數值比較,例如兩個學者的被引用量。

爲了簡化表示,與C\mathcal{C}中的某一實體相連的N\mathcal{N}中的數值,可以看成是其“特徵”,而在Rn\mathcal{R}_n中的數值關係可視爲依賴於這些特徵的函數。在這種情況下,對於p(X,Y)p(X, Y),還可以表示成X.p=YX.p = Y。例如john.hasCitation=124john.hasCitation = 124hasCitation(john,124)hasCitation(john, 124)的另一種表示形式。爲了簡潔,rpq(X,Y)r^{\circ}_{pq}(X, Y)代表X.pY.qX.p \circ Y.q,其中{,>}\circ \in {\{\le, >}\}。若p=qp=q,則rpqr^{\circ}_{pq}下標中的第二個值可省略。


例子 1:考慮圖 1所示的KG和如下的規則:

在這裏插入圖片描述

這個規則表示學生受有較高引用量的導師的同事的影響。


我們還可以定義一個分類關係,將特徵映射爲logistic分類的概率,例如σ(wTX.features+b)\sigma(w^TX.features + b)。我們後面將講述這樣的規則可以使用Neural LP框架學習到。


(3)規則學習

給定一個知識圖譜G\mathcal{G},規則學習的目的是從G\mathcal{G}中抽取出規則,使得它們在G\mathcal{G}中的應用接近於儲存了所有正確的事實的理想的知識圖譜。

Neural LP方法[1]就是一種規則學習的方法,它以端到端的模式並使用基於梯度的優化方法,學習到了沒有比較操作符的式(1)形式的規則的分佈。

Neural LP方法依賴於TensorLog框架,TensorLog將規則應用和稀疏的矩陣乘法連接了起來。在TensorLog中,所有的實體被映射爲了整數,每個實體ii都和一個one-hot向量vi{0,1}Cv_i \in {\{0, 1}\}^{|\mathcal{C}|}相關聯,向量中的對應位置爲1。

例如,圖 1中的每個實體cCc\in \mathcal{C}都編碼成了一個長度爲5的0/1向量。對於每個關係pRp\in \mathcal{R} \ Rn\mathcal{R}_n和每個實體對x,yCx, y \in \mathcal{C},定義一個矩陣Mp{0,1}C×CM_p \in {\{0, 1}\}^{|\mathcal{C}|\times |\mathcal{C}|}。矩陣的entry (y,x)(y, x)定義爲(Mp)yx(M_p){yx},若p(x,y)Gp(x, y)\in \mathcal{G},則其值爲1。例如考慮圖 1中的KG,對於關係p=citedInp = citedIn,我們有:

在這裏插入圖片描述

TensorLog的思想是通過進行矩陣相乘來模擬對任意實體X=xX=x應用規則,具體來說是:Mqn...Mq2Mq1vx=sM_{q_n}...M_{q_2}M_{q_1}v_x = s,其中vxv_x表示實體xx。向量ss中非零的元素值指向的實體yy表示:在G\mathcal{G}上應用上述規則可以得到p(x,y)p(x, y)。例如,規則influences(X,Y)colleagueOf(X,Z),supervisorOf(Z,Y)influences(X, Y)\leftarrow colleagueOf(X, Z), supervisorOf(Z, Y)的推斷可以翻譯成:

在這裏插入圖片描述

通過設置vx=[1,0,0,0,0]Tv_x = [1, 0, 0, 0, 0]^T做爲john的指示器,並應用矩陣相乘,我們可以得到bobbob的指示器s=[0,0,1,0,0]Ts = [0, 0, 1, 0, 0]^T。由於Mq1,...,MqnM_{q_1},...,M_{q_n}是稀疏的,可以高效地進行matrix-vector相乘操作,並在GPU上並行進行推斷過程。

在Neural LP中,使用上述的操作符用於學習每個規則頭:

在這裏插入圖片描述

其中ii是所有可能規則的索引,αi\alpha_i是和規則rir_i相關聯的可信度,βi\beta_i是在這些規則中出現的所有關係的有序列表。規則是從如下的優化問題的解中得出的:

在這裏插入圖片描述


5 使用數值特徵和否定詞進行規則學習

本文的主要貢獻是對Neural LP框架進行擴展,使得我們可以在規則體中使用帶有數值的比較操作符,同時也可以處理原子的否定。

原始的Neural LP框架不能直接支持有數值的事實樸素的做法是將數值常量作爲C\mathcal{C}中的實體,但這將會非常難以處理,因爲各自矩陣中非零的元素值非常非常多。類似地,樸素的處理否定原子的操作會引入操作不可行的稠密矩陣

本文方法的主要思想是:隱式地表示必要的矩陣操作,可以使用動態規劃、累積求和和排列(用於數值比較特徵),也可以使用低秩分解(用於否定原子)。使用這一結構,我們可以形成相關的TensorLog操作符,並將其高效地集成到Neural LP框架中用於規則的抽取。


5.1 比較操作符

(1)Pair-wise Comparison

首先,隱式地表示和數值比較符相關的操作符。令p,q(R{NaN})Cp, q\in (\mathbb{R} \cup {\{NaN}\})^{|\mathcal{C}|}表示兩個特定特徵的向量,其中NaNNaN表示缺失值。比較操作符MrpqM_{r^{\le}_{pq}}定義爲:

在這裏插入圖片描述

這一矩陣是針對KG上所有包含p,qp, q的實體對的,因此MrpqM_{r^{\le}_{pq}}通常是稠密的,因此樸素的具體化將超過GPU內存的限制。而且,在現實中通常不需要明確地具體化TensorLog的關係矩陣。注意,在我們上面提到的Neural LP推理鏈中,所需要做的就是有效地計算關係矩陣和表示推理鏈中當前概率的某個向量之間的matrix-vector積。


考慮到特殊的情況ppqq都以升序進行排列,記爲p~,q~\tilde{p}, \tilde{q},相對應的比較矩陣記爲M~rpq\tilde{M}_{r^{\le}_{pq}}。因爲q~iq~i+1,p~jp~j+1\tilde{q}_i\le \tilde{q}_{i+1}, \tilde{p}_j\le \tilde{p}_{j+1},所以有如下的屬性(P1):

在這裏插入圖片描述

定義γi=argmaxj\gamma_i=argmax_j使(M~rpq)ij=1(\tilde{M}_{r^{\le}_{pq}})_{ij}=1,例如 γi\gamma_i是值爲1的最後一個元素的索引。對於任意的向量vv,我們可以使用這個γ\gamma向量計算需要的matrix-vector乘積:

在這裏插入圖片描述
γ\gamma值可以預先在CPU上進行計算,使用動態規劃可以實現線性的複雜度,因爲根據P1可知它的值是單調增的。另外,累積求和操作(cumsum)可以在O(C)O(|C|)內的時間內完成。


考慮一般的情況,也就是p,qp, q沒有進行排序:首先對輸入的vv進行排序,進行matrix-vector相乘操作,然後對結果重新排序爲原始的順序。令Pp,PqP_p, P_q分別表示p,qp, q的轉置矩陣(permutation matrices)。對應於比較操作符的matrix-vector乘積可寫爲:

在這裏插入圖片描述


(2)通過多原子符號匹配有效地使用數值比較

儘管上述的符號比較操作符爲在Neural LP框架內實現這種比較,提供了一種有效的方法,但是也有明顯的缺點。特別地,由於比較操作符是稠密的,當使用它去匹配圖中的潛在實體時,就有可能生成大量的候選匹配。例如,操作符(X.pY.p)(X.p\le Y.p)將會連接有着最小的pp值的實體和其他所有擁有屬性pp的實體,這將會降低找到正確目標的可能性。爲使比較操作符更加有用,很自然地想到將其和其他的一些稀疏的操作符聯合起來,例如:

在這裏插入圖片描述

如上所示的規則只會對XX在圖中的鄰居進行搜索,同時遵循數值關係。令這兩個並行的關係分別對應於操作符McolleagueOf,MrpqM_{colleagueOf}, M_{r^{\le}_{pq}}。上述的合取操作可以通過如下的式子在TensorLog中執行:

在這裏插入圖片描述

其中\odot定義了element-wise乘積操作。不幸的是,上述的關係在標準的Neural LP框架中是不可學習的,因爲Neural LP只支持matrix-vector操作的單個鏈Mqn...Mq2Mq1vxM_{q_n}...M_{q_2}M_{q_1}v_x。然而,作者注意到,在乘法鏈中簡單地緩存vv的中間值是很簡單的,並且用這種方式可以方便地計算Hadamard乘積。在KG的設置中,這正好對應了推理鏈中多處整合符號匹配的能力。


(3)分類操作符

作者也考慮到了更多的一般規則,在這種規則中,不一定非要對實體的兩個數值屬性間進行比較,也可以對這些屬性的functions進行比較。

這種對於所有的實體進行這樣的比較,可以很容易地通過TensorLog操作符得到,即給定數值ZZ相應的矩陣是一個對角矩陣。我們使用一個logistic模型對數值ZZ進行建模。即對於每個實體我們收集到特徵向量ϕ\phi,其中包含了從N\mathcal{N}中得到的,和給定實體相關聯的所有的數值(numerical values)。MM對角線中的第ii個元素可定義成sigmoid(wTϕ+b)sigmoid(w^T\phi + b),其中權重向量ww和偏置向量bb需要學習得到。在Neural LP框架中,可以使用反向傳播很容易地學習到這些參數。


(4)否定操作符(Negated Operators)

對於一個關係pRˉp\in \bar{\mathcal{R}},要想得到它的否定(negation),可以將對應的(稀疏)矩陣MpM_p中的所有0翻轉爲1以得到稠密的矩陣,但TensorLog不能直接支持這一操作。

爲了計算出negated operator Mˉp{0,1}C×C\bar{M}_p\in {\{0, 1}\}^{|\mathcal{C}|\times |\mathcal{C}|},我們使用了局部封閉世界的假設(local closed-world assumption)。對於給定的MpM_p,對那些要被翻轉的元素進行了限制,即要被翻轉的元素所在的行至少要有一個非零元素。negated operator Mˉp\bar{M}_p的matrix-vector乘積可以寫爲:

在這裏插入圖片描述

其中1p{0,1}C1_p\in {\{0, 1}\}^{|\mathcal{C}|}pp的indicator vector,當pi=NaNp_i = NaN時,使得(1p)i=0(1_p)_i = 01\mathbf{1}表示元素值全爲1的向量。

等式(3)可以推廣爲比較操作符MrpqM_{r^{\circ}_{pq}},即:

在這裏插入圖片描述

例如,Mˉrpqv=1p1pTvMrpq>v\bar{M}_{r^{\le}_{pq}}v = 1_p1^T_pv - M_{r^{>}_{pq}}v。使用這種方式,我們就可以學習到規則體中有否定原子(negated atoms)的規則。

通過本文的方法學習到了規則後,作者和Yang等人[4]使用一樣的過程,即將它們編碼回等式(1)中的形式。


(5)Connection to Rules with Aggregates over Knowledge Graphs

使用上述方法抽取出來的規則屬於帶有外部計算的邏輯規則語言,並與知識表示中聚合的概念相關聯。事實上,我們在這裏展示的大部分公式都可以被看作是從知識圖譜中獲得聚合的學習規則的實例。這是當前研究的一個活躍領域,我們提出了使用(有限形式的)這樣的聚合來學習規則的最初方法之一。

見附錄A


6 實驗

1、數據集

在這裏插入圖片描述


2、實驗任務:鏈接預測


3、對比方法

本文的方法稱爲Neural-Num-LP,和以下兩個baselines進行對比:

  • AnyBURL:用於學習Horn規則的自底向上的方法(Horn規則:例如只有positive atoms沒有比較操作符的規則);
  • Neural-LP:可微的規則學習系統。

4、實驗結果

本文的方法和baselines對比的實驗結果:

在這裏插入圖片描述
實驗結果可以看出,本文基於Neural-LP拓展出的方法Neural-Num-LP在自造的數據集上,達到了一種很好的效果,而另外倆個相關的baseline因爲沒有加入數值推理的邏輯,所以效果不行;同時,在倆個標準知識圖譜上,Neural-Num-LP也能達到一個較好的效果,體現出框架的一方面很好的保存了關係推理的功能,又較好的建模了數值推理的邏輯。

圖 3展示了本文的方法抽取出來的一個規則例子。規則r1,r2r^1, r^2分別從Numerical1和Numerical2數據集中抽取出來,規則r3r^3來自FB15K-237-num數據集,其他的規則來自於DBPedial15K數據集。

在這裏插入圖片描述

其中函數ff是自變量數值屬性的線性組合。


7 總結

本文解決的任務是從大型的KG中學習數值型的規則。

特別地,作者考慮到了在規則體中,允許使用數值比較操作符和聚合(例如 外部oracle查詢)來聚合實體的數值屬性。

Neural-LP方法是基於TensorLog的最近流行的方法,但是它不支持數值型的規則,因爲會導致稠密的矩陣操作。本文提出了Neural-LP框架的擴展,允許通過高效地表示比較和分類操作符、否定和多原子符號匹配從KG中學習這些規則。

未來的工作:對本文的模型進行進一步的擴展,允許更一般的規則,包括複雜的外部計算,以及在規則頭有存在變量的規則。


以下轉自[6]:ICLR 2020|知識圖譜推理框架:基於向量空間的推理和數值邏輯推理

先前的基於Neural-LP(Neural Logic Programming)框架的模型一般只能在由<實體,關係,實體>組成的知識圖譜結構謂詞上進行推理,而不能解決涉及到實體屬性數值方面的問題,例如“比A年長的人是誰?”本文是在Neural-LP框架上進行了拓展,加入了數值推理的邏輯,解決了數值比較,屬性聚合以及求反等三個方面的推理。

具體來說,文中把實體屬性的數值比較也定義了成了一種謂詞操作:

query4.png

其中,p, q表示待比較的屬性,這樣就可以自然的將屬性謂詞使用類似於Neural-LP的謂詞矩陣運算來實現。但是與關係謂詞不同,屬性謂詞矩陣通常是稠密的,因爲屬性在實體上較爲通用,而稠密矩陣的相乘複雜度特別高,所以文中定義了一種排序正則化的思路,將矩陣相乘轉化爲排序後的累加,極大地降低了複雜度。有了之前的定義,求反操作就比較容易得出,即對於之前得到的屬性謂詞矩陣的每一維取非(0->1, 1->0),但會遵循Local Closed-world Assumption(LCWA),即至少有一個非0值的行纔會取非。

基於定義的數值比較和求反操作,通過在之上施加聚合函數 F 去達到多個屬性操作聚合作用的效果,例如下面一條邏輯表達式:

query6.png

其中 F 代表的聚合操作就是由倆種基礎的屬性比較操作的某種聯合作用,聚合函數可用任意的神經網絡來替換,文中使用了簡單的MLP。


參考文獻

[1] Fan Yang, Zhilin Yang, and William W. Cohen. Differentiable learning of logical rules for knowledge base reasoning. In NeurIPS, pp. 2316–2325, 2017.

[2] Christian Meilicke, Melisachew Wudage Chekol, Daniel Ruffinelli, and Heiner Stuckenschmidt. Anytime bottom-up rule learning for knowledge graph completion. In Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence, IJCAI 2019, Macao, China, August 10-16, 2019, pp. 3137–3143, 2019.

[3] Stefano Ortona, Venkata Vamsikrishna Meduri, and Paolo Papotti. Rudik: Rule discovery in knowledge bases. PVLDB, 11(12):1946–1949, 2018b.

[4] Fan Yang, Zhilin Yang, and William W. Cohen. Differentiable learning of logical rules for knowledge base reasoning. In NeurIPS, pp. 2316–2325, 2017.

[5] Alberto Garc´a-Dur´an and Mathias Niepert. Kblrn: End-to-end learning of knowledge base representations with latent, relational, and numerical features. In UAI, pp. 372–381, 2018.

[6] ICLR 2020|知識圖譜推理框架:基於向量空間的推理和數值邏輯推理 https://www.bilibili.com/read/cv5893715/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章