論文題目: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可能代表着一個很大的答案實體集合,直接將這樣的一個集合表示爲空間中的一個點也許是不合理的。
而且,現有的方法只能處理合取關係和存在關係,處理帶有析取關係的有邏輯的query仍是一個問題。
本文提出Query2Box,是一個基於嵌入(embedding-based)的框架,可用於推理任何使用操作符的query,並且可用於任意大規模的不完全的KG中。
作者的主要觀點是:query可以被編碼成box(例如hyper-rectangles),box內的一組點對應於query中的一組答案實體(answer entities)。
作者證明了合取可以天然地表示爲boxes間的交集。同時還證明了一個負面的結果,即處理析取需要embedding的維度和KG實體數成比例。但是,通過將query轉換爲析取範式(Disjunctive Normal Form),Query2Box能夠以可擴展的方式處理帶有的任意邏輯查詢。
作者在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,是一階邏輯中的子集,包含合取和存在,但不包括析取。在向量空間有效地處理析取邏輯還是一個有待解決的問題。
(3)作者提出
作者提出Query2Box模型用於處理基於KG的推理問題,並且可以解決任意的EPFO(Existential Positive First-order)邏輯查詢(含有任意子集的查詢),還有着可擴展性。
首先,爲了準確地建模一組實體,作者的主要思想是使用一個關係緊密的範圍(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 (如圖1 A所示),對其定義一個計算圖(圖1 B),然後在boxes上通過執行一組幾何運算符(geometric operators)對query進行嵌入(圖1 D)。最終封裝到一個box中的實體就是query的答案(圖1 D)。
爲了訓練模型,在訓練階段使用一組queries和它們的答案,然後學習到實體的嵌入以及幾何操作符,以對queries進行正確的回答。
4.1 KGs and Conjunctive Queries
將KG定義爲,代表實體集合,代表一個二元函數,表示一對實體間是否有關係(有向邊)。
Conjunctive Queries是一階邏輯查詢的一個子集,使用到了操作符。形式化定義如下:
其中表示非變量的錨實體(non-variable anchor entity),是量化的邊界變量(quantified bound variables),是目標變量。回答邏輯查詢的目的是找到一組實體使 iff 。稱是query 的符號集(例如 答案集)。
如圖1 A所示,依賴圖是conjunctive query 的圖表示形式,其中節點對應於中變量或非變量的實體,邊對應於中的關係。
爲了使得query有效,相應的依賴圖應該是有向無環圖(DAG),錨實體是DAG的源節點,query目標是唯一的匯聚節點(unique sink node)。
根據query 的依賴圖,我們可以得到計算圖,其中包含了兩種類型的有向邊代表了在實體集合上的操作:
(1)Projection:給定實體集合和關係,這一操作得到,其中。
(2)Intersection:給定實體集合,這一操作得到。
給定一個query ,計算圖將推理過程轉變爲得到答案的實體集合的過程,即從錨節點集合出發,遞歸地應用上面兩個操作符,直到到達唯一的匯聚節點。
4.2 使用box embedding在實體集合上進行推理
到目前爲止我們將conjunctive queries定義成了計算圖,並且可以直接在KG的節點和邊上執行。接下來我們定義在向量空間中的邏輯推理。給定一個複雜的query,需要將其分解成一個邏輯操作序列,然後在向量空間中執行這些操作。這樣就獲得了query的嵌入,針對此query的答案就是在封裝在最終的query embedding box中的實體。
接下來詳細介紹以下兩個方法:(1)如何使用box embedding有效地建模並且在向量空間中的實體集合上進行推理;(2)如何處理析取操作符,從而擴大可以被建模到向量空間中的一階邏輯集合。(4.3節)
Box embeddings
爲了在向量空間中有效地建模實體集合,作者使用了boxes(例如axis-aligned hyper-rectangles)。如果集合中有某個實體,就可以很自然地將這個實體的嵌入建模成box內的一個點。在空間中的一個box定義如下:
其中;是元素級別的不等關係;是box的中心;是box的正偏移,建模了box的大小。
KG中的每個實體都分配了一個向量(例如 a zero-size box),box嵌入建模了(例如 向量在box內的實體的集合)。
接下來都用加粗的字母表示嵌入,例如的嵌入表示爲。
在KG上進行推理是基於query的計算圖的,如圖1 D所示:從源節點(錨節點)初始的box嵌入出發,根據邏輯操作符序列對嵌入進行更新。接下來描述如何爲源節點設置初始的box嵌入,以及如何建模projection和intersection操作符。之後將描述entity-to-box距離函數以及爲了學習到嵌入和幾何操作符(geometric operators)的整體目標函數。
(1)源節點的初始boxes
每個源節點都表示一個錨節點,可視爲單個實體組成的集合。這樣的single-element set可以天然地使用偏移量爲0、中心爲的box進行建模。我們將初始的box嵌入設爲,其中是錨實體向量,是一個維的全0向量。
(2)幾何投影操作符
將每個關係和關係嵌入關聯起來。給定一個輸入的box嵌入,使用建模投影(projection),對中心(centers)和偏移量(offsets)進行求和。
這就得到一個有轉換後的中心和更大的偏移量的新的box,如圖2 A所示。有適應能力的box size有效地建模了集合中不同數量的實體/向量。
(3)幾何交集操作符
對box的中心使用注意力機制,並使用sigmoid函數縮小box的偏移量,將box embeddings集合 的交集建模成:
其中表示dimension-wise乘積;是多層感知機;表示sigmoid函數;表示排列不變的(permutation-invariant)深層架構;都是在dimension-wise進行操作。
根據前人的工作,作者使用建模所有的deep sets,其中所有的兩個MLPs間的隱層維度都和輸入維度相同。
幾何交集背後的想法是生成一個位於一組boxes內的更小的box,如圖2 B所示。和一般的建模交集的deep sets不同,我們的幾何交集操作有效地限制了中心的位置並且建模了shrinking set size。
(4)Entity-to-box distance
給定一個query box 和實體向量,將它們間的距離定義如下:
其中,。
如圖2 C所示,對應於實體和其在box內最接近的邊/角的距離;對應於box的中心和它的邊/角的距離(如果實體在box內則爲實體自身)。
這裏的關鍵在於使用減小box內部距離的權重,這就意味着只要實體向量在box內部,則認爲該實體距離query的中心足夠近(例如,使用進行縮放)。當時,變成原始的距離,例如
(5)訓練目標
接下來的目標是學習到實體嵌入以及幾何映射和交集操作符。
給定訓練使用的query集合以及它們的答案,優化一個負採樣損失以有效地優化本文的基於距離的模型:
其中表示margin;是正實體(query 的答案);是第個負實體(不是query 的答案);是負實體的數目。
4.3 使用disjuctive normal form處理disjunction
目前爲止我們聚焦於conjuntive queries,我們這裏的目標是在向量空間中處理更廣泛的邏輯查詢,稱爲EPFO(Existential Positive First-order)查詢,包括。我們特別地關注於計算圖爲DAG的EPFO queries,和第4.1節中的conjunctive queries相同,只是我們現在有了一種額外類型的有向邊,稱爲,定義如下:
一個最直接的想法就是爲union定義一個幾何操作符,就像前面的操作一樣。但是對於box embedding有一個挑戰:boxes可以位於向量空間中的任意位置,它們的union可以不再是一個簡單的box。
作者在理論上證明了一個普遍的負面結果,適用於任何的將query 嵌入到並使用距離函數來檢索實體的embedding-based方法(例如 當且僅當)。這裏的是實體嵌入和query嵌入間的距離,例如或。
定理 1:
證明見附錄A,關鍵是隨着union操作的引入,denotation sets的任何子集都可以作爲答案,這強迫我們在向量空間中建模powerset 。
對於真實世界中的KG,有個conjunctive queries,它們的答案不重疊。例如,在從Freebase中獲取的常用數據集FB15k中,我們找到,。
細節見附錄 B
定理 1證明了爲了使用現有的框架準確地建模任意的EPFO query,使用VC維度衡量的距離函數的複雜度需要和KG中實體的數量一樣大。這就表示着,如果我們使用普通的基於超平面(hyper-plane)、歐幾里得球體(Euclidean sphere)或者axis-aligned rectangle的距離函數,它們的參數維度需要是,對於我們感興趣的真實的KG來說就是。
換句話說,邏輯查詢的嵌入維度需要是,維度太大了,不利於擴展到大規模的KG,並且無法推廣到未見過的KG邊。
爲了解決這一問題,作者的主要思想是:將給定的EPFO query轉換成Disjunctive Normal Form(DNF),因此union操作僅在最後一步出現。每個conjunctive query都能在低維空間進行推理,之後使用簡單的過程對結果進行聚合。
接下來將描述向DNF的轉換,以及聚合的過程。
(1)向DNF的轉換
任意的一階邏輯可以被轉換成等價的DNF。我們直接在計算圖的空間進行轉換,例如 將所有類型爲“union”的邊移動到計算圖的最後一步。
令表示給定EPFO query 的計算圖,表示入邊的類型爲“union”的節點集合。對於每個,定義爲其父節點的集合。
我們首先生成個不同的計算圖(步驟如下所示)每個在第一步都有不同的選擇:
1)對於每個,選擇一個父節點;
2)去除所有的類型爲“union”的邊;
3)合併和,同時保留其他的所有的邊。
然後組合獲得的計算圖,以得到最終的等價的計算圖:
1)將所有得到的計算圖的目標匯聚節點轉換成量化邊界的變量節點(the existentially quantified bound variables nodes);
2)創建一個新的目標匯聚節點,將類型爲“union”的有向邊從上述所有的變量節點繪製到新的目標節點。
整個轉換過程如圖3所示:
通過union操作的定義,我們給出了與原始計算圖等價的計算圖。由於所有的union操作符從中移除了,所有的這些計算圖表示的conjunctive queries定義成。接着使用現有的框架得到這些conjunctive queries的嵌入集合。
(2)聚合
接下來定義給定的EPFO query 和實體間的距離函數。
由於在邏輯上等價於,我們可以使用box距離定義聚合的距離函數:
其中是使用EPFO query 進行參數化的。當是一個conjunctive query時,例如 。對於,取到最近的box的最小距離作爲到實體的距離。該模型和union操作一致,只要實體在一個集合中,該實體就在集合的並集中。
注意,我們的DNF-query重寫模式是通用的,能夠擴展到任何適用於conjunctive queries的方法以處理更一般的EPFO queries。
(3)計算複雜度
使用本文的框架回答EPFO queries的計算複雜度和回答個conjunctive queries的相等。所有的個計算可以並行進行。回答每個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 ,使用式(3)中的對$v \in \mathcal{V} $ \ 進行排序,定義爲,然後使用如下的度量進行評估:
對於MRR(Mean Reciprocal Rank),;對於H@K(Hits at K),。
然後基於式(6)對所有的有相同query結構的queries取平均,分別得到針對不同query結構的評估結果。
3、對比方法
(1)baselines
- GQE:state-of-the-art,將query編碼成一個向量,將projection和intersection操作符分別建模成translation和deep sets。使用距離衡量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。
這篇文章大致領會了思想,具體細節沒有太讀懂,日後有需要再仔細閱讀文章及附錄。