原文 : A Review of Relational Machine Learning for Knowledge Graphs
1. Introduction
- Statistical Relational Learning
目的 : 預測邊, 預測node的屬性, 對node進行聚類 - 與KB的結合
- 從既有事實中推理出新的關系
- 結合信息抽出的方法, 從語料庫中抽出新的"noisy" 事實(即無法百分百確定的事實.)
- 章節結構
- 介紹知識圖譜和其屬性(第二章)
- 討論SRL相關和將其應用到KB的方法.(第三章)
- 利用潛在變量找到nodes/edges之間的關系.(第四章)
- 根據圖的統計信息直接找到nodes/edges之間的關系.(第五章)
- 上面兩種方法的結合(第六章)
- 將上面各種model如何在KG上訓練(第七章)
- 利用馬爾科夫隨機場的推理(第八張
- 如何將SRL應用於知識圖譜構建(第九章)
- 現有模型的擴展.
2. KNOWLEDGE GRAPHS
2.1 Knowledge representation
知識圖譜的基本結構是 SPO : (subject, predicate, object) (SPO) triples
比如:
這個就叫做 知識圖譜, 有時候也叫作 異質信息網絡.
知識圖譜有一定的規則:
- Type具有層級性. (Type 包括 Entity Type和Relation Type)
- Type之間包含着約束. (包括Entity Type和Entity Type之間的約束, Relation Type和Entity Type之間的 和 Relation Type和Relation Type之間的)
2.2 Open vs. closed world assumption
- Closed world assumption : KB是完美的, 沒有錯誤.
- Open world assumption : KB中含有很多沒有的鏈接.
2.3 Knowledge base construction
注意這里是知識圖譜的構建, 而不是補全. 進行了以下的分類:
- Curated approaches : 專家構建
- Collaborative approaches : 志願者參與構建(常識性的關系)
- Automated semi-structured approaches : 從結構化文本中進行構建的知識庫. 通常具有相當高的正確率
- Automated unstructured approaches : 從非結構性文本中利用機器學習構建. 這個就是關系抽出的任務, 在第九章講.
知識圖譜還根據 Entity和Relation的選用范圍是否被限定來對KB進行分類.
- schema-based : Entity和Relation都是固定的.
- schema-free : Entity和Relation都沒有確定. 是開放的, 但是有一個壞處是, 這里是按照字符進行儲存的,
會造成信息重復, 比如在這里, (“Obama”, “born in”, “Hawaii”), (“Barack Obama”,“place
of birth”, “Honolulu”), 會被當做兩個完全不同的triple來對待.
這篇文章我們聚焦於schema-based Knowledge Base.
2.4 Uses of knowledge graphs
一些應用, 包括指代消解, 信息去冗余, QA.
2.5 Main tasks in knowledge graph construction and curation
幾個經典的Knowledge Graph構建任務
- Link prediction( knowledge graph completion) : 即預測已經存在的邊, 這個能力可以用來發現未知的邊.
- Entity resolution: 由於Entity具有層級性, 如果將同屬於高一級的低級node合並, 其關系卻不能合並,
這樣Knowledge Graph就會存在多個相同的點, 而在給定具體的句子時我們需要確定句子中實體在Knowledge
Graph中的位置.例子見下圖, 其中 A.Guinners是高級node, 其可以代表 Arthur Guinness 和 Alec Guinness:
- Link-based clustering
就是說根據link來對點進行分類, 比如社交網絡中的團體分類.
3. SRL For Knowledge Graph
3.1 定義
Statistical Relational Learning : 是指利用關系數據的統計模型, 並沒有指定問題.
接下來的分析基於Knowledge Graph的種類是 :
- Open world assumption : Knowledge Graph中所有信息都是已知的(和沒說一樣), 但是triples中還有未完成的鏈接和噪聲.
- Entity和Type會由於層級性的存在, 存在重復. 如2.5.2 所示.
這一章的主要內容是對Knowledge Graph進行數據建模.
3.2 Notation
這里的符號過於多, 但是都很容易懂, 看論文即可.
3.3 Probabilistic knowledge graphs
這一節重要講了建模的方法.
如果采樣三階tensor的方法, 每個位置都是0/1的方式去儲存Knowledge Graph的話, 那么要求的時間復雜度和空間復雜度都是
O(n^3), 這對於擁有大量實體和關系的Knowledge Graph是不切實際的, 因此需要用 Type 之間的
constriant來進行限制.
理想的, 一個好的 Relation Model 應該是可以 O(max(entity_num, relation_num)) 的.
3.4 Statistical properties of knowledge graphs
3.4.1 Constriant
Type 之間的 constriant.
硬式constriant : 傳統的 constriant 是硬式的, 即如A的出身是東北, 東北又屬於中國, 那么A的出身也是中國.
軟式constriant(homophily) : 但是也還有一些在全局看來不正確但是有很強約束效果的約束條件.比如 擁有相似性質Entity更有可能連在一起, 美國演員更有可能參演美國的電影.
3.4.2 Block structure
entity可以先按照某種屬性分成很多Block. 在Block和Block之間具有高度密集連接的現象成為Block structure.
這里其實有點聚類的感覺, 在一個Block中的Entity其實有相似的某個性質, 而兩個密集連接的Block是說,
這兩個Block所代表的性質具有認知上的連接關系. 文中給出的例子是, 科幻演員的Block和科幻電影Block之間的連接緊密.
3.4.3 Global and long-range statistical dependencies
簡單來說, 就是Entities和Relations的組合 $((E_{1s},R_1,E_{1e}),...,(E_{ns},R_n,E_{ne}))$ 存在pattern, 比如說, 在東北出生的人A, 有很大概率A的爸爸B有東北的戶口.
這類組合中蘊含着豐富的信息.
3.4.4 Skewed
對於我們的討論對象, Imcomplete Knowledge Graph, 其中的連接是有偏向的.
比如, 在維基的Knowledge Graph中就很少會有 A是B 的獨生子這種關系.
3.5 Types of SRL models
1) 基礎模型的分類
SRL的定義是 : 對關系數據的統計學建模.
那么首先要看有什么關系, 關系在統計中的表現就是條件概率, 文中指出三種條件概率來指導的三種基礎模型, 之所以成為基礎是因為這三者可以進行疊加組合:
- Latent feature models
$P(y_{i,j,k})=f(subject, object, relation,\theta)$
對應第四章, 假設除了一些圖中沒有的特征, 基於這些進行推理, 有點像貝葉斯派的做法. - Graph feature models
$P(y_{i,j,k})=f(Graph_features,\theta)$
對應第五章 , 只基於圖中已有信息進行基於統計的推理, 有點類似與概率派的做法. - Markov Random Fields
假設 $y_{ijk}$ 有局部交互性, 即之后最近的連接node和edge有關.
$P(y_{i,j,k})=f(node_{m},edge_{n},\theta)$ 其中, node_m 是與目標位置連接的點, edge_n 是與目標位置連接的邊.
第三個模型具有較強的限制性一般的模型都沒有采用這個假設, 但是這個對於確定的關系網絡還是很有效的, 具體在第八章講解. 接下來我們主要集中於前兩個模型的融合.
2). 兩個模型的融合
公式如下 :
這個里面的 $\Theta$ 是中的潛在變量, $\mathcal{D}$ 是所有已知的triples, 也就是graph(從中可以提出Graph features).
其中, 用到了伯努利分布和sigmod函數.
這個公式就叫做概率模型.
3). 其他模型
Score-based models
除了基於條件概率的概率模型, 還可以制定基於幾何的 score-based models模型, 即最大化existing model和 non-existing model 之間距離的模型, 在 CoType 中就用到了這個模型(因為那個模型要把Entity和Type映射到向量空間去, 符合幾何的概念)
4. Latent Feature Model
這里對應的是上面的那個公式, 這里的潛在特征就是 $\Theta$.
這個模型的intuition是, 模型中的關系的連接都是依靠Entity內在特征的屬性來進行推理的. 因此這里的 Latent Features 指的是 Entity的內在特征.
4.1 Rescal: A bilinear model
4.1.1 模型形式
這個模型的思想是用一個轉換矩陣去連接兩個實體向量, 而實體向量的意義是, 對於一個實體而言, 向量中的每一維都代表着這個實體的某個 Latent Feature 信息.
公式如下:
處理的對象是鄰接張量, 張量的形式為 :
4.1.2 一個具體的例子
用一個實際的例子去解釋, 用論文中給出的演員獲獎的例子.
設Entity Embedding的第一維代表這個實體是不是一個好演員的指標, 如果是, 這個值就大, 反之則小.
設第二維代表的是, 這個實體是不是一個權威的關於演技獎項. 比如, 實體"奧斯卡獎"的這一維就大, 實體"金酸梅獎"的這一維就小. 現在我們給出兩個實際的例子.
第一個實體是一個著名的演員(參演星球大戰), 第二個是一個權威獎項.
我們知道, 好演員會拿大獎 是一個Latent Feature,即我們知道存在這種關系, 但是圖中並沒有明確表示出來. 那么, 我們看看表現映射 好演員應該拿大獎 的Latent Feature信息的矩陣, 代表的是什么:
注意 : 一個關系對應着一個關系矩陣
這個里面的第一項說的是, 左邊第一維和右邊第一維的關系, 即好演員和好演員, 雖然好演員和好演員是有偏向於合作的關系的, 但這個信息不是 好演員會拿大獎 這個關系矩陣所需要反應的, 因此這個地方為0.1, 也就是對這個預測沒有太大關系.
這個里面第二項說的是, 左邊第一維和右邊第二維的關系, 即好演員和大獎, 這個是有對於 好演員會拿大獎 這一個 Relation 幫助最大的信息, 因此這個值要占很大.
4.1.3 轉換矩陣的本質
這個轉換矩陣的擁有, 我們對於Knowledge Graph各種property的建模. (Knowledge Graph的property見3.4)
- Block property : 每個entry代表的是Block, 比如i-j的值, 指的是 擁有好演員性質實體組成的的Block 和 擁有大獎屬性的實體組成的Block 之間具有密集連接性.
- Homophily : 指的是擁有相同屬性的兩個實體, 即兩個實體的第i維都大的實體傾向於連接在一起. 比如說, 表達 好演員傾向於和好演員一起演戲 這個信息的矩陣的話, 就能體現網絡中的Homophily性. 這個矩陣中就會有大的對角線值.
- Anti-correlations : 不傾向於連接在一起的的維度i,j, 體現在矩陣中是, $W_{ij}$ 為負數.
4.1.4 潛在變量是?
講了這么多, 那么潛在變量是什么呢? 是實體變量和關系矩陣的集合.即:
4.1.5 幾個更為重要的性質
下面開始介紹這個模型的幾個更為重要的性質
1) Relational learning via shared representations
雖說每次的訓練都只更新一部分信息, 但是由於更新的一部分信息還是會在之后的訓練中起作用, 因此信息是可以在全局傳遞的, 其實這部分的特性基本上沒有解釋的意義. 可以忽視.
2) Semantic embedding
由於在知識圖譜中實體的語義就是由其相連的實體和edge的類型決定的, 因此這個訓練過程可以訓練出實體的語義向量. 這個性質支持了對Entity和Relation的聚類.
3) Connection to tensor factorization
就是說這個方法本質是鄰接張量分解, 其圖解是:
這個后面可以用來設計高效的參數估計算法.
4) 模型優化
一般有兩種方法, 梯度下降法 和 基於score的方法, 因為這個模型的核心公式是可以進行張量分解的, 因此可以用 scored-based model 來優化, 因此速度很快.
5) Decoupled Prediction
就是說正向預測的時間和graph大小無關, 只和graph中Latent feature的數量有關.
6) Relational learning results
這個模型可以實現最佳效果.
4.2 Other tensor factorization models
介紹了很多使用張量分解的模型, 其中比較有意思的一個是 discrete latent factors.
模型叫做 Boolean tensor factorization , 鄰接張量, (即表示圖的張量)基於布爾代數, 被分解為布爾向量.
4.3 Matrix factorization methods
這個是將鄰接張量變成了鄰接向量,
鄰接張量的公式是 :
鄰接向量的公式是 :
4.4 Multi-layer perceptrons
4.4.1 單層神經網絡
當然少不了神經網絡了.神經網絡的方法如下:
這個方法很簡單, 問題在於, 如果把神經網絡當做是 RESCAL 的轉換來看的話, 那么模仿關系矩陣的隱藏層 $w_k$ 將需要大量的node, 因為在 RESCAL 中的 $W_i$ 就是由大量參數組成的, 並且每個關系向量都需要有一個這樣的模型.
4.4.2 E-MLP
為了解決這個問題, 可以使用多層感知機, 如下(從下向上):
這里由於分了兩層, 那么就有一層可以為Latent Feature之間的交互留下了空間. 這個還有和上面一樣的過多參數的問題.
4.4.3 ER-MLP
將關系本身也作為了向量. 這個模型很好的捕捉到了實體和關系之間的語義.
4.5 Neural tensor networks
將tensor分解和神經網絡的結合的模型, 叫做NTN.
方法如下:
其中 $h_{ijk}^b$ 就是用的 tensor.
其中 $h_{ijk}^a$ 就是用的神經網絡法, A的符號看上面就知道了
由於參數過多, 出現過擬合.
4.6 Latent distance models
這個模型通過距離函數來進行優化.
對兩個實體之間的連接用距離函數進行建模, 距離是歐式距離這種(也會有其他的).
4.6.1 SE模型
這是最開始的模型. 目標公式如下:
其中k是關系的數量, 也就是說對於每一個關系都對應着兩個矩陣. 為了減少參數的量, 有了大名鼎鼎的TransE模型.如下:
4.6.2 TransE模型
就是很簡單的一個基於空間向量距離的目標函數.
然后基於這個有了各種各樣的變種, 其中有一個目標函數為:
4.7 模型對比
在不同的數據上的最佳模型不同, 一個研究顯示, RESCAL擁有比較好的屬性, 但是文中沒有將其與TransE 的數個變種進行比較, 因為TransE本身就是一個基本模型, 其后面還有很多很多變種.
5. GRAPH FEATURE MODELS
直接利用圖中信息的方法, 比如我們可以從 A,B是C的父母得知, AB是夫妻. 這個過程中只用到了Graph本身的信息. 而沒有潛變量這些.
5.1 Similarity measures for uni-relational data
單向關系數據的相似度計算, 這個適用於只有一種關系的數據.
判斷一個點和另外的點是否有鏈接, 可以通過判斷與他們相連的點之間的連接是否緊密.
比如, Hitting Time, Commute Time, and PageRank. 這種利用全局信息的算法比只利用本地信息的算法好.
5.2 Rule Mining and Inductive Logic Programming
intuition是, 從現有的數據中抽出rules, 然后利用rules去發現新的link.
抽取到的信息可以作為 Markov logic 的基礎(不懂).
比如說, ALEPH 就是一個Inductive Logic Programming (ILP) system可以從關系數據中學得rules通過 inverse entailment. 更多詳情見相關論文. 之后有介紹了一個AMIE的規則挖掘系統.
基於規則發掘的模型具有很強的可解釋性, 這個是全局方法, 但是由於真實世界中規則都有一定的范圍, 因此很難發現有效的規則.
5.3 Path Ranking Algorithm
簡稱 PRA, 一類通過隨機walk來發現組合路徑的算法, 沒有興趣看, 忽略.
6. 兩者的組合
兩者的優點是互相補充的, 兩者的特點是:
- 基於潛變量的方法
通過潛變量來對全局關系模式建模. 在前提假設成立的情況下, 可以在小數據下獲得不錯的結果. - 基於全局特征的方法
可以對局部或者擬局部的圖的模式進行建模.
兩者互補的例子:
對於一種大量的且硬式無法體現在實體表征的關系來說, 使用潛變量法會比較難以發現.
比如說, 夫妻關系, 一個人與一個人是否是夫妻關系, 這個基本無法靠兩個人的實體特征去發現, 因為這個特征過於局部, 沒辦法單獨作為一個屬性,出現在實體的特征里.
而夫妻關系卻可以通過, [他們有共同的孩子] 這一點,即表現於圖本身的路徑的pattern的識別, 來進行判斷. 因此兩者的融合特別重要.
6.1 Additive relational effects model
將RESCAL和PRA進行組合的方法 - additive relational effects (ARE).
6.2 Other combined models
個人認為之前看過的那篇利用自動變分編碼器進行物理動力學系統建模的論文也屬於這個類別.
介紹一個模型:
前兩項都比較好理解, 就是對Entity1和Entity2的編碼, 重點是第三個, 根據第二個式子可以知道, 這個是編碼了 ( [並非這個Relation的] Entity1和Entity2的 其他關系) 進入模型中.