【論文解讀 ICLR 2020 | Jure Leskovec組】Query2box: Reasoning over KGs in Vector Space using Box Embedding

論文題目:Query2box: Reasoning over Knowledge Graphs in Vector Space using Box Embeddings

論文來源:ICLR 2020 斯坦福大學 Jure Leskovec組

論文鏈接:https://arxiv.org/abs/2002.05969

代碼鏈接:http://snap.stanford.edu/query2box

關鍵詞:知識圖譜,知識推理,邏輯推理,注意力機制

推薦閱讀Aminer的簡要解讀:ICLR 2020 | 知識圖譜推理框架:基於向量空間的推理和數值邏輯推理



1 摘要

本文解決的是回答大規模不完全知識圖譜(KG)上的複雜邏輯查詢(EPFO query)。

現有方法的思路是將KG中的實體以及查詢的query編碼到一個向量空間中,能夠回答這一query的實體在這一空間中和query的距離較近。

但是,先前的方法都將query建模成向量空間中的一個點(single point),這是有問題的,因爲一個複雜的query可能代表着一個很大的答案實體集合,直接將這樣的一個集合表示爲空間中的一個點也許是不合理的

而且,現有的方法只能處理合取關係\wedge和存在關係\exists,處理帶有析取關係\vee的有邏輯的query仍是一個問題。

本文提出Query2Box,是一個基於嵌入(embedding-based)的框架,可用於推理任何使用,,\wedge, \vee, \exists操作符的query,並且可用於任意大規模的不完全的KG中。

作者的主要觀點是:query可以被編碼成box(例如hyper-rectangles),box內的一組點對應於query中的一組答案實體(answer entities)。

作者證明了合取\wedge可以天然地表示爲boxes間的交集。同時還證明了一個負面的結果,即處理析取\vee需要embedding的維度和KG實體數成比例。但是,通過將query轉換爲析取範式(Disjunctive Normal Form)Query2Box能夠以可擴展的方式處理帶有,,\wedge, \vee, \exists的任意邏輯查詢。

作者在3個大規模的KG上進行了實驗,展示了Query2Box的有效性,並實現了state-of-the-art


2 引言

本文面對的任務是基於KG的問答推理

(1)最直接的想法和其侷限性

一階的邏輯查詢可以表示成圖1 A所示的有向無環圖(DAG),根據DAG進行推理得到一組答案,如圖1 C所示。

這樣的方法有一些缺點(1)子圖匹配的計算複雜度和query size成指數關係,這會影響到向大規模KG的擴展;(2)子圖匹配非常敏感,因爲它不能正確地回答缺少關係的查詢。爲了解決第二個問題,可以對KG中缺失的關係進行補全,但是這樣會使得KG更加稠密,這就加劇了第一個問題。


(2)近期的基於表示學習的方法

將邏輯查詢和KG中的實體編碼到低維向量空間中,可以回答這一查詢的實體和該查詢在空間中的位置接近。這樣的方法可以魯棒地處理關係缺失問題,並且速度也快幾個量級,因爲回答任意的邏輯查詢被簡化爲了識別在向量空間中最接近於query嵌入向量的實體。

但是這一方法有許多不足

1)先前的工作將query編碼成了向量空間中的一個單點。這是有問題的,因爲回答一個邏輯查詢需要建模KG中的一組實體,如圖1 C所示,如何有效地將一個集合建模成一個單點還是有待研究的。

2)此外,在向量空間中定義兩個點的邏輯操作符(例如 集合交集)也是不自然的

3)只能處理conjuctive queries,是一階邏輯中的子集,包含合取\wedge和存在\exists,但不包括析取\vee。在向量空間有效地處理析取邏輯還是一個有待解決的問題。


(3)作者提出

作者提出Query2Box模型用於處理基於KG的推理問題,並且可以解決任意的EPFO(Existential Positive First-order)邏輯查詢(含有,,\wedge, \vee, \exists任意子集的查詢),還有着可擴展性

首先,爲了準確地建模一組實體,作者的主要思想是使用一個關係緊密的範圍(closed region)而不使用向量空間中的一個單點。我們使用box(axis-aligned hyper-rectangle)來表示一個query,如圖1 D所示,這就帶來了以下3個好處:

1)Boxes可以自然地對其封裝的實體進行建模

2)邏輯運算符(例如 集合交集)可以自然地在box上定義,就像維恩圖一樣

3)在box上執行邏輯運算符就會產生新的box,這意味着操作符已關閉

因此,根據圖1 B, D所示的query計算圖迭代地更新boxes,就可以有效地進行邏輯推理。

作者證明了Query2Box可以天然地處理conjunctive queries,還第一個證明了將EPFO query編碼成單點是很難處理的,因爲這需要embedding的維度和KG中實體數量成比例

因此,作者提供了一個優雅(elegant這個詞用得真好)的解決方法,將給定的EPFO邏輯查詢轉換成Disjunctive Normal Form(DNF)。給定任何的EPFO query,Query2Box將其表示成一組boxes,每個box對應DNF中的一個conjunctive query。然後,將最近鄰的鄰居實體作爲查詢的答案返回。也就是說,回答任何的EPFO query時,我們首先回答單個的conjunctive query,然後再將回答實體聯合起來。


(4)實驗證明

作者在3個KG benchmarks上使用Query2Box方法進行了實驗,證明了:

1)Query2Box有很強的泛化能力,可以回答複雜的查詢;

2)Query2Box可以泛化到訓練中沒有見過的新的邏輯查詢結構;

3)當和query相關聯的關係在KG中缺失時,Query2Box可以回單任意的EPFO query,並且有較高的準確率;

4)Query2Box在回答EPFO queries方面實現了state-of-the-art。


3 進一步的相關工作

和文本工作最相關的是處理KG上多跳推理的嵌入學習方法。主要的區別在於,本文提供的方法可以處理一階邏輯的較大的一個子集(EPFO queries vs. conjunctive queries),而且本文的方法將query編碼成box,實現了更高的準確率和泛化能力

本文的方法和維恩圖相關,box可以看成是向量空間中的維恩圖。聯合學習boxes和實體的嵌入,實現了在不完全的KG上進行推理。


4 Query2Box: Logical Reasoning Over KGs In Vector Space

作者提出Query2Box,定義一個目標函數以學習到KG中實體的嵌入,同時基於boxes學習到參數化的邏輯操作。給定任意的一個EPFO query qq(如圖1 A所示),對其定義一個計算圖(圖1 B),然後在boxes上通過執行一組幾何運算符(geometric operators)對query進行嵌入(圖1 D)。最終封裝到一個box中的實體就是query的答案(圖1 D)。

爲了訓練模型,在訓練階段使用一組queries和它們的答案,然後學習到實體的嵌入以及幾何操作符,以對queries進行正確的回答。


4.1 KGs and Conjunctive Queries

將KG定義爲G=(V,R)\mathcal{G}=(\mathcal{V}, \mathcal{R})V\mathcal{V}代表實體集合,rRr \in \mathcal{R}代表一個二元函數r:V×V{True,False}r : \mathcal{V}\times \mathcal{V} \rightarrow {\{True, False}\},表示一對實體間是否有關係rr(有向邊)。

Conjunctive Queries是一階邏輯查詢的一個子集,使用到了,\exists, \wedge操作符。形式化定義如下:

其中vav_a表示非變量的錨實體(non-variable anchor entity),V1,...,VkV_1, ..., V_k是量化的邊界變量(quantified bound variables),V?V_?目標變量。回答邏輯查詢qq目的是找到一組實體[q]V[q] \subseteq \mathcal{V}使v[q]v\in [q] iff q[v]=Trueq[v]=True。稱[q][q]是query qq的符號集(例如 答案集)。

圖1 A所示,依賴圖是conjunctive query qq的圖表示形式,其中節點對應於qq中變量或非變量的實體,邊對應於qq中的關係。

爲了使得query有效,相應的依賴圖應該是有向無環圖(DAG),錨實體是DAG的源節點query目標V?V_?是唯一的匯聚節點(unique sink node)。

根據query qq的依賴圖,我們可以得到計算圖,其中包含了兩種類型的有向邊代表了在實體集合上的操作:

(1)Projection:給定實體集合SVS\subseteq \mathcal{V}和關係rRr\in \mathcal{R},這一操作得到vSAr(v)\cup_{v\in S}A_r(v),其中Ar(v){vV:r(v,v)=True}A_r(v)\equiv {\{v^{'}\in \mathcal{V} : r(v, v^{'})=True}\}

(2)Intersection:給定實體集合{S1,S2,...,Sn}{\{S_1, S_2, ..., S_n}\},這一操作得到i=1nSi\cap^n_{i=1}S_i

給定一個query qq計算圖將推理過程轉變爲得到答案的實體集合的過程,即從錨節點集合出發,遞歸地應用上面兩個操作符,直到到達唯一的匯聚節點。


4.2 使用box embedding在實體集合上進行推理

到目前爲止我們將conjunctive queries定義成了計算圖,並且可以直接在KG的節點和邊上執行。接下來我們定義在向量空間中的邏輯推理。給定一個複雜的query,需要將其分解成一個邏輯操作序列,然後在向量空間中執行這些操作。這樣就獲得了query的嵌入,針對此query的答案就是在封裝在最終的query embedding box中的實體。

接下來詳細介紹以下兩個方法:(1)如何使用box embedding有效地建模並且在向量空間中的實體集合上進行推理(2)如何處理析取操作符\vee,從而擴大可以被建模到向量空間中的一階邏輯集合。(4.3節


Box embeddings

爲了在向量空間中有效地建模實體集合,作者使用了boxes(例如axis-aligned hyper-rectangles)。如果集合中有某個實體,就可以很自然地將這個實體的嵌入建模成box內的一個點。在Rd\mathbb{R}^d空間中的一個box定義如下:

其中p=(Cen(p),Off(p))R2d\mathbf{p}=(Cen(\mathbf{p}), Off(\mathbf{p}))\in \mathbb{R}^{2d}\preceq是元素級別的不等關係;Cen(p)RdCen(\mathbf{p})\in \mathbb{R}^d是box的中心;Off(mathbfp)R0dOff(mathbf{p})\in \mathbb{R}^d_{\ge 0}是box的正偏移,建模了box的大小。

KG中的每個實體vVv\in \mathcal{V}都分配了一個向量vRd\mathbf{v}\in \mathbb{R}^d(例如 a zero-size box),box嵌入p\mathbf{p}建模了{vV:vBoxp}{\{v\in \mathcal{V} : \mathbf{v} \in Box_{\mathbf{p}}}\}(例如 向量在box內的實體的集合)。

接下來都用加粗的字母表示嵌入,例如vv的嵌入表示爲v\mathbf{v}


在KG上進行推理是基於query的計算圖的,如圖1 D所示:從源節點(錨節點)初始的box嵌入出發,根據邏輯操作符序列對嵌入進行更新。接下來描述如何爲源節點設置初始的box嵌入,以及如何建模projection和intersection操作符。之後將描述entity-to-box距離函數以及爲了學習到嵌入和幾何操作符(geometric operators)的整體目標函數

(1)源節點的初始boxes

每個源節點都表示一個錨節點vVv\in \mathcal{V},可視爲單個實體組成的集合。這樣的single-element set可以天然地使用偏移量爲0、中心爲v\mathbf{v}的box進行建模。我們將初始的box嵌入設爲(v,0)(\mathbf{v},\mathbf{0}),其中vRd\mathbf{v}\in \mathbb{R}^d是錨實體向量,0\mathbf{0}是一個dd維的全0向量。


(2)幾何投影操作符

將每個關係rRr\in \mathcal{R}和關係嵌入r=(Cen(r),Off(r))R2d,Off(r)0\mathbf{r}=(Cen(\mathbf{r}), Off(\mathbf{r}))\in \mathbb{R}^{2d}, Off(\mathbf{r}) \succeq \mathbf{0}關聯起來。給定一個輸入的box嵌入p\mathbf{p},使用p+r\mathbf{p} + \mathbf{r}建模投影(projection),對中心(centers)和偏移量(offsets)進行求和。

這就得到一個有轉換後的中心和更大的偏移量的新的box,如圖2 A所示。有適應能力的box size有效地建模了集合中不同數量的實體/向量。


(3)幾何交集操作符

對box的中心使用注意力機制,並使用sigmoid函數縮小box的偏移量,將box embeddings集合{p1,...,pn}{\{\mathbf{p_1}, ...,\mathbf{p_n} }\} 的交集建模成pinter=(Cen(pinter),Off(pinter))\mathbf{p}_{inter} = (Cen(\mathbf{p}_{inter}), Off(\mathbf{p}_{inter}))

其中\odot表示dimension-wise乘積;MLP():R2dRdMLP(\cdot): \mathbb{R}^{2d}\rightarrow \mathbb{R}^d是多層感知機;σ()\sigma(\cdot)表示sigmoid函數;DeepSets()DeepSets(\cdot)表示排列不變的(permutation-invariant)深層架構;Min(),exp()Min(\cdot), exp(\cdot)都是在dimension-wise進行操作。

根據前人的工作,作者使用DeepSets({x1,...,xN})=MLP((1/N)i=1NMLP(xi))DeepSets({\{\mathbf{x_1}, ..., \mathbf{x_N}}\}) = MLP((1/N)\cdot \sum^N_{i=1}MLP(\mathbf{x_i}))建模所有的deep sets,其中所有的兩個MLPs間的隱層維度都和輸入維度相同。

幾何交集背後的想法是生成一個位於一組boxes內的更小的box,如圖2 B所示。和一般的建模交集的deep sets不同,我們的幾何交集操作有效地限制了中心的位置並且建模了shrinking set size


(4)Entity-to-box distance

給定一個query box qR2d\mathbf{q}\in \mathbb{R}^{2d}實體向量vRd\mathbf{v}\in \mathbb{R}^d,將它們間的距離定義如下:

其中qmax=Cen(q)+Off(q)Rd,qmin=Cen(q)Off(q)Rd\mathbf{q}_{max} = Cen(\mathbf{q}) + Off(\mathbf{q}) \in \mathbb{R}^d, \mathbf{q}_{min} = Cen(\mathbf{q}) - Off(\mathbf{q}) \in \mathbb{R}^d0<α<10<\alpha <1

圖2 C所示,distoutsidedist_{outside}對應於實體和其在box內最接近的邊/角的距離distinsidedist_{inside}對應於box的中心和它的邊/角的距離(如果實體在box內則爲實體自身)。

這裏的關鍵在於使用α\alpha減小box內部距離的權重,這就意味着只要實體向量在box內部,則認爲該實體距離query的中心足夠近(例如distoutside=0dist_{outside}=0distinsidedist_{inside}使用α\alpha進行縮放)。當α=1\alpha=1時,distboxdist_{box}變成原始的L1L_1距離,例如Cen(q)v1||Cen(\mathbf{q})-\mathbf{v}||_1


(5)訓練目標

接下來的目標是學習到實體嵌入以及幾何映射和交集操作符。

給定訓練使用的query集合以及它們的答案,優化一個負採樣損失以有效地優化本文的基於距離的模型:

其中γ\gamma表示margin;v[q]v\in [q]是正實體(query qq的答案);vi[q]v^{'}_i \notin [q]是第ii個負實體(不是query qq的答案);kk是負實體的數目。


4.3 使用disjuctive normal form處理disjunction

目前爲止我們聚焦於conjuntive queries,我們這裏的目標是在向量空間中處理更廣泛的邏輯查詢,稱爲EPFO(Existential Positive First-order)查詢,包括,,\vee, \wedge, \exists。我們特別地關注於計算圖爲DAG的EPFO queries,和第4.1節中的conjunctive queries相同,只是我們現在有了一種額外類型的有向邊,稱爲unionunion,定義如下:

一個最直接的想法就是爲union定義一個幾何操作符,就像前面的操作一樣。但是對於box embedding有一個挑戰boxes可以位於向量空間中的任意位置,它們的union可以不再是一個簡單的box

作者在理論上證明了一個普遍的負面結果,適用於任何的將query qq嵌入到q\mathbf{q}並使用距離函數來檢索實體的embedding-based方法(例如 dist(v;q)βdist(\mathbf{v}; \mathbf{q}) \le \beta當且僅當v[q]v\in [q])。這裏的dist(v;q)dist(\mathbf{v}; \mathbf{q})是實體嵌入和query嵌入間的距離,例如distbox(v;q)dist_{box}(\mathbf{v}; \mathbf{q})vq1||\mathbf{v}-\mathbf{q}||_1

定理 1

證明見附錄A,關鍵是隨着union操作的引入,denotation sets的任何子集都可以作爲答案,這強迫我們在向量空間中建模powerset {qiS[qi]:S{q1,...,qM}}{\{\cup_{q_i\in S} [q_i] : S\subset {\{q_1, ..., q_M}\} }\}

對於真實世界中的KG,有MVM \approx |\mathcal{V}|個conjunctive queries,它們的答案不重疊。例如,在從Freebase中獲取的常用數據集FB15k中,我們找到M=13,365M=13,365V=14,951|\mathcal{V}|=14,951

細節見附錄 B

定理 1證明了爲了使用現有的框架準確地建模任意的EPFO query,使用VC維度衡量的距離函數的複雜度需要和KG中實體的數量一樣大。這就表示着,如果我們使用普通的基於超平面(hyper-plane)、歐幾里得球體(Euclidean sphere)或者axis-aligned rectangle的距離函數,它們的參數維度需要是Θ(M)\Theta(M),對於我們感興趣的真實的KG來說就是Θ(V)\Theta(|\mathcal{V}|)

換句話說,邏輯查詢的嵌入維度需要是Θ(V)\Theta(|\mathcal{V}|),維度太大了,不利於擴展到大規模的KG,並且無法推廣到未見過的KG邊


爲了解決這一問題,作者的主要思想是:將給定的EPFO query轉換成Disjunctive Normal Form(DNF),因此union操作僅在最後一步出現。每個conjunctive query都能在低維空間進行推理,之後使用簡單的過程對結果進行聚合。

接下來將描述向DNF的轉換,以及聚合的過程。

(1)向DNF的轉換

任意的一階邏輯可以被轉換成等價的DNF。我們直接在計算圖的空間進行轉換,例如 將所有類型爲“union”的邊移動到計算圖的最後一步。

Gq=(Vq,Eq)G_q=(V_q, E_q)表示給定EPFO query qq的計算圖,VunionVqV_{union}\subset V_q表示入邊的類型爲“union”的節點集合。對於每個vVunionv\in V_{union},定義PvVqP_v \subset V_q爲其父節點的集合。

我們首先生成N=vVunionPvN=\prod_{v\in V_{union}}|P_v|個不同的計算圖Gq(1),...,Gq(N)G_{q^{(1)}}, ..., G_{q^{(N)}}(步驟如下所示)每個在第一步都有不同的vparentv_{parent}選擇:

1)對於每個vVunionv\in V_{union},選擇一個父節點vparentPvv_{parent} \in P_v

2)去除所有的類型爲“union”的邊;

3)合併vvvparentv_{parent},同時保留其他的所有的邊。

然後組合獲得的計算圖Gq(1),...,Gq(N)G_{q^{(1)}}, ..., G_{q^{(N)}},以得到最終的等價的計算圖:

1)將所有得到的計算圖的目標匯聚節點轉換成量化邊界的變量節點(the existentially quantified bound variables nodes);

2)創建一個新的目標匯聚節點V?V_?,將類型爲“union”的有向邊從上述所有的變量節點繪製到新的目標節點。

整個轉換過程如圖3所示:

通過union操作的定義,我們給出了與原始計算圖等價的計算圖。由於所有的union操作符從Gq(1),...,Gq(N)G_{q^{(1)}}, ..., G_{q^{(N)}}中移除了,所有的這些計算圖表示的conjunctive queries定義成q(1),...,q(N)q^{(1)}, ..., q^{(N)}。接着使用現有的框架得到這些conjunctive queries的嵌入集合q(1),...,q(N)\mathbf{q^{(1)}}, ..., \mathbf{q^{(N)}}


(2)聚合

接下來定義給定的EPFO query qq和實體vVv\in \mathcal{V}間的距離函數

由於qq在邏輯上等價於q(1)...q(N)q^{(1)}\vee ... \vee q^{(N)},我們可以使用box距離distboxdist_{box}定義聚合的距離函數:

其中distaggdist_{agg}是使用EPFO query qq進行參數化的。當qq是一個conjunctive query時,例如 N=1,distagg(v;q)=distbox(v;q)N=1, dist_{agg}(\mathbf{v}; q) = dist_{box}(\mathbf{v}; \mathbf{q})。對於N>1N>1distaggdist_{agg}取到最近的box的最小距離作爲到實體的距離。該模型和union操作一致,只要實體在一個集合中,該實體就在集合的並集中。

注意,我們的DNF-query重寫模式是通用的,能夠擴展到任何適用於conjunctive queries的方法以處理更一般的EPFO queries。


(3)計算複雜度

使用本文的框架回答EPFO queries的計算複雜度和回答NN個conjunctive queries的相等。所有的NN個計算可以並行進行。回答每個conjunctive query的速度很快,因爲它要求我們執行一個簡單的box操作序列,然後在嵌入空間中執行一系列搜索,搜索可以基於局部敏感哈希(LSH)技術在固定時間內完成。


5 實驗

實驗部分的目的是評估Query2Box在發現複雜邏輯查詢的答案時的性能,並且這些問題是不能通過遍歷不完全的KG來獲得的。這就意味着,我們重點回答KG中需要成功預測出一個或多個缺失邊的query

1、數據集

FB15k、FB15k-237、NELL995

考慮9種不同的query結構,如圖4所示。使用5種query結構用於訓練,在9種query結構上進行評估。

表1顯示了不同的query結構答案實體的平均數。可以看出複雜的邏輯查詢(例如 2p, 3p, ip, pi, up)缺失需要建模更多的答案實體。


2、評估方法

給定一個測試query qq,使用式(3)中的distboxdist_{box}對$v \in \mathcal{V} $ \ [q]test[q]_{test}進行排序,定義爲Rank(v)Rank(v),然後使用如下的度量進行評估:

對於MRR(Mean Reciprocal Rank),fmetrics(x)=1xf_{metrics}(x)=\frac{1}{x};對於H@K(Hits at K),fmetrics(x)=1[xK]f_{metrics}(x)=1[x\le K]

然後基於式(6)對所有的有相同query結構的queries取平均,分別得到針對不同query結構的評估結果。


3、對比方法

(1)baselines

  • GQE:state-of-the-art,將query編碼成一個向量,將projection和intersection操作符分別建模成translation和deep sets。使用L1L_1距離衡量query和實體向量間的距離。
  • GQE-DOUBLE:在GQE的基礎上使用雙倍的嵌入維度,使得Query2Box和GQE-DOUBLE的參數量一樣。

儘管原始的GQE不能處理EPFO queries,我們使用了本文提出的DNF-query重寫策略使得GQE也可以處理EPFO queries。

(2)Query2Box的變形

  • Q2B:使用box嵌入建模queries,並且使用注意力機制用於intersection操作;
  • Q2B-AVG:使用平均操作替換intersection中的注意力機制;
  • Q2B-DEEPSETS:使用deep sets替換intersection中的注意力機制;
  • Q2B-AVG-1P:Q2B-AVG的變形,僅僅使用1p queries訓練,因此邏輯運算符沒有經過顯示的訓練;
  • Q2B-SHAREDOFFSET:box的偏移量在所有的queries間共享(每個query都表示成了相同大小的box)。

4、實驗結果

和baseline進行對比的實驗結果:

消融實驗的實驗結果:


6 總結

本文提出了一個推理框架Query2Box,可以有效地建模實體集合,並基於其進行推理,同時還可以處理EPFO queries。

給定一個邏輯查詢,首先將其轉換成DNF,將每個conjunctive query嵌入到一個box中,並輸出最接近boxes的實體。

本文的方法可以處理所有類型的EPFO queries,並且具有較好的可擴展性和準確率。

在KG上進行了實驗,證明了Query2Box在回答多樣的邏輯查詢方面,顯著優於現有的方法。


本文的思路非常新穎,作者將query建模成了一個box,而不是向量空間中的a single point。

這篇文章大致領會了思想,具體細節沒有太讀懂,日後有需要再仔細閱讀文章及附錄。

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