©原創作者 | 朱林
01 序言
知識是人類在實踐中認識客觀世界的結晶。知識圖譜(Knowledge Graph, KG)是知識工程的重要分支之一,它以符號形式結構化地描述了物理世界中的概念及其相互關係。
知識圖譜的基本組成形式為<實體,關係,實體>的三元組,實體間通過關係相互聯結,構成了複雜的網狀知識結構。
圖1 知識圖譜組成複雜的網狀知識結構
知識圖譜從萌芽思想的提出到如今已經發展了六十多年,衍生出了許多獨立的研究方向,並在眾多實際工程專案和大型系統中發揮著不可替代的重要作用。
如今,知識圖譜已經成為認知和人工智慧日益流行的研究方向,受到學術界和工業界的高度重視。
本文對知識圖譜的歷史、定義、研究方向、未來發展、資料集和開源庫進行了全面的梳理總結,值得收藏。
02 簡史
圖2 知識庫簡史
圖2展示了知識圖譜及其相關概念和系統的歷史沿革,其在邏輯和人工智慧領域經歷了漫長的發展歷程。
圖形化知識表徵(Knowledge Representation)的思想最早可以追溯到1956年,由Richens首先提出了語義網(Semantic Net)的概念。
邏輯符號的知識表示形式可以追溯到1959年的通用問題求解器(General Problem Solver, GPS)。
20世紀70年代,專家系統一度成為研究熱點,基於知識推理和問題求解器的MYCIN系統是當時最著名的基於規則的醫學診斷專家系統之一,該專家系統知識庫擁有約600條醫學規則。
此後,20世紀80年代早期,知識表徵經歷了Frame-based Languages、KL-ONE Frame Language的混合發展時期。
大約在這個時期結束時的1984年,Cyc專案出現了,該專案最開始的目標是將上百萬條知識編碼成機器可用的形式,用以表示人類常識,為此專門設計了專用的知識表示語言CycL,這種知識表示語言是基於一階關係的。該專案有極大的野心,但是手動錄入、概念屬性模糊等缺陷也遭受了許多非議。
20世紀末,資源描述框架(Resource description framework, RDF)、Web本體語言(Web Ontology Language, OWL)相繼釋出,成為語義網的重要標準。隨後,越來越多開放的知識庫或本體陸續釋出,例如WordNet、DBpedia、YAGO和Freebase。
2012年,知識圖譜這一概念由Google首次提出並得到廣泛接受,更多通用領域和特定領域的知識圖譜相繼釋出。
自此,知識圖譜逐漸成為一個獨立的研究領域,得到學術界和工業界的極大重視,並由此推動了包括知識表徵、知識獲取、知識推理、知識應用的研究,在自然語言處理、人工智慧及其他交叉領域裡發光發亮。
03 定義
學術界目前缺乏一個被普遍接受的嚴格定義,大多數定義是通過形式化描述知識圖譜的一般語義表示或基礎特徵來給出定義。下面提供兩條相對準確的定義以供參考。
定義1(Ehrlinger et al.):A knowledge graph acquires and integrates information into an ontology and applies a reasoner to derive new knowledge. 知識圖譜獲取資訊並將其整合到本體中,並應用推理器來獲取新知識。
定義2(Wang et al.):A knowledge graph is a multi-relational graph composed of entities and relations which are regarded as nodes and different types of edges, respectively. 知識圖譜是由實體和關係組成的多關係圖,實體和關係分別被視為節點和不同型別的邊。
04 符號描述
表1 知識圖譜中常見的符號描述
05 研究方向
知識圖譜目前的研究方向可以大致分為四類:知識表徵學習(Knowledge Represent Learning, KRL)、知識獲取(Knowledge Acquisition)、時序知識圖譜(Temporal Knowledge Graph, TKG)和應用(Knowledge-aware Applications)。
圖3展示了知識圖譜的主要研究方向分支圖,圖中詳細羅列了相關領域的承繼關係。
圖3 知識圖譜的主要研究方向分支圖
知識表徵學習 Knowledge Represent Learning(KRL)
知識表徵學習KRL也稱為KGE、多關係學習、統計關係學習,是知識圖譜的一個關鍵研究問題,它為許多知識獲取任務和下游應用鋪平了道路。
我們可以將KRL分為四個方面,為開發KRL模型提供清晰的工作流程。具體包括:
(1)表徵空間:關係和實體的空間分佈表示;
(2)評分函式:用於衡量事實三元組合理性的評分;
(3)編碼模型:將表徵進行編碼;
(4)輔助資訊:嵌入到方法中的其他相關資訊。
表徵空間 Representation Space
表徵學習的關鍵問題是學習實體和關係的低維分佈嵌入(embedding)。目前的研究主要採用以下幾種空間及其變種:
圖4 不同空間中的知識表示示意圖
(1)Point-wise空間(圖4a):被廣泛應用於表示實體和關係,通過投影關係嵌入向量或矩陣空間,捕獲互動關係。一般數學形式為向量、矩陣和張量。
(2)復向量空間(圖4b):實體和關係不使用實值空間,而是在復空間中表示。
(3)高斯分佈(圖4c):受Gaussian word embedding的啟發,基於密度的嵌入模型引入了高斯分佈來處理實體和關係的確定性或非確定性。
(4)Manifold空間(圖4d):是一個拓撲空間,可以通過集合論定義為一組具有鄰域的點。此空間可以從幾何角度對問題進行描述,增強表現力和解釋性。但對數學有較高的要求。
此外,嵌入空間需遵循三個條件,即函式的可微性、計算的可行性和可定義性。
評分函式 Scoring Function
有兩種典型的評分函式,基於距離(圖5a)和基於相似度(圖5b)的函式。
圖5 基於距離和基於相似度匹配的評分函式示意圖
編碼模型 Encoding Models
這裡的編碼模型指通過特定模型架構對實體和關係的互動進行編碼的模型。模型包括線性/雙線性(linear/bilinear)模型、分解(factorization)模型和神經網路(neural network)模型。
(1)線性模型:通過將頭部實體投影到靠近尾部實體的表徵空間中,將關係表述為線性或雙線性對映。
(2)分解模型:旨在將關係資料分解為低秩矩陣以進行表徵學習。
(3)神經網路模型:是目前絕對主流的研究方向,其通過匹配實體和關係的語義相似性,對具有非線性神經啟用和更復雜網路結構的關係資料進行端到端地編碼。
圖6 典型神經網路編碼模型
典型的神經網路模型如圖6所示:
CNN(圖4a):將三元組輸入到dense layer和卷積層(convolution layer)以學習語義表徵。
GCN(圖4b):充當知識圖譜的編碼器以生成實體和關係嵌入。
RSN(圖4c):編碼實體關係序列並有區別地跳過部分關係。
Transformer(圖4d):將三元組編碼為序列,其中一個實體被[MASK]替換。
目前的研究普遍會採用以上列舉的骨幹(Backbone)網路作為基礎進行堆疊重組,構成適合每個特定任務的網路再進行實驗。
輔助資訊嵌入 Embedding with Auxiliary Information
輔助資訊往往以多模態嵌入的形式將諸如文字描述、型別約束、關係路徑和視覺資訊等外部資訊與知識圖譜本身結合起來,以促進更有效的知識表徵。
(1)文字描述:知識圖譜中的實體具有文字描述,一般表示為集合形式,提供補充的語義資訊。KRL在文字描述嵌入的挑戰主要是如何將結構化知識和非結構化文字資訊一同嵌入到同一表徵空間中。因此,學者進行了深入研究。
Wang等人:通過引入實體名稱和維基百科錨點,提出了兩種對齊模型,用於對齊實體空間和單詞空間。
DKRL:擴充套件了TransE網路,以通過卷積編碼器直接從實體描述中學習表徵。
SSP:通過將三元組和文字描述投影到語義子空間中來捕捉它們之間的強相關性。
(2)型別資訊:實體具有的型別屬性。有許多方法可以用來做嵌入,比如:
SSE:結合實體的語義類別,將屬於同一類別的實體平滑地嵌入到語義空間中。
TKRL:提出了用於實體投影矩陣的型別編碼器模型以捕獲型別層次結構。
KREAR:結合一些關係表示的實體屬性,將關係型別分類為屬性和關係,並對實體描述之間的相關性進行建模。
Zhang等人:用關係簇、關係和子關係的層次關係結構擴充套件了現有的嵌入方法。
(3)視覺資訊:可用於豐富KRL,包括實體影像。典型方法有:
IKRL:包含基於跨模態結構和基於影像的表徵,將影像編碼到實體空間。跨模態表徵確保基於結構和基於影像的表徵融合在相同的表徵空間中。
(4)不確定資訊:ProBase、NELL和ConceptNet等知識圖譜包含不確定資訊,併為每個相關事實分配了置信度分數。與經典的確定性知識圖譜嵌入相比,不確定嵌入模型旨在捕獲表徵關係的不確定性。由此產生了一些結合不確定資訊的方法,包括:
Chen等人:提出了一種不確定的知識圖譜嵌入模型,以同時保留結構和不確定性資訊。其應用概率軟邏輯來推斷置信度得分,概率校準採用後處理過程來調整概率分數,使預測具有概率意義。
Tabacof等人:首次研究了封閉世界假設下知識圖譜嵌入的概率校準情況,揭示了良好校準的模型可以提高模型準確性。
Safavi等人:在更具挑戰性的開放世界假設下進一步探索了概率校準的情況。
知識獲取 Knowledge Acquisition
知識獲取旨在從非結構化文字和其他結構化或半結構化源中構建知識圖譜,補全現有的知識圖譜,發現和識別實體和關係。構建良好的大規模知識圖譜可用於許多下游應用程式,並通過常識推理為Knowledge-aware模型提供支援,從而為人工智慧鋪平道路。
知識獲取的主要任務包括知識圖譜補全、實體識別、實體對齊、關係抽取等面向實體的獲取任務。
大多數方法分別實現知識圖譜補全和關係提取兩個任務。當然,這兩個任務也可以整合到一個統一的框架中,如Han等人提出了一種聯合學習框架,用於知識圖譜和文字之間的資料融合,解決了知識圖譜補全如何從文字中提取關係的問題。
還有其他與知識獲取相關的任務,例如三重分類(triple classification)、關係分類(relation classification)和開放知識富集(open knowledge enrichment)等等,感興趣的可以自行查閱相關文獻資料。
知識圖譜補全 Knowledge Graph Completion(KGC)
由於知識圖譜往往不完整,需要持續向知識圖譜新增新的三元組,也需要通過現有圖譜推斷出缺失的實體或者關係,所以就有了知識圖譜補全任務,即KGC。
該任務有幾個典型的子任務,包括連結預測、實體預測和關係預測,衍生出了包括基於嵌入的模型、關係路徑推理、基於強化學習的尋路、基於規則的推理、元關係學習和Triple分類等子分支。
圖7 基於嵌入的排序(左圖)和關係路徑推理(右圖)
(1)基於嵌入的模型:如圖7(左)所示,以實體預測為例,基於嵌入的排序方法首先基於現有的三元組學習嵌入向量,通過用每個實體替換尾部實體或頭部實體的辦法計算所有候選實體的分數,並對前個實體進行排名。
基於嵌入的方法通常依賴表徵學習來捕獲語義並進行候選排序來完成任務,其基於的嵌入推理停留在個體關係層面,忽略了知識圖譜的符號性,缺乏可解釋性,在複雜推理方面表現不佳。
(2)關係路徑推理:實體和關係的嵌入學習在一些基準測試中獲得了顯著的效能提升,但它無法對複雜的關係路徑進行建模。關係路徑推理依賴於圖結構上的路徑資訊。
目前,隨機遊走推理方法已被廣泛研究,例如,路徑排序演算法(Path-Ranking Algorithm, PRA)是在路徑組合約束下選擇關係路徑並進行最大似然分類,具有較強的推理能力。
(3)基於強化學習的尋路:一般將實體對之間的尋路(路徑查詢)設定為順序決策任務,如經典的馬爾可夫決策過程(MDP),為多跳(hop)推理引入深度強化學習(Reinforcement Learning, RL)方法。
基於策略的Agent通過知識圖譜Environment之間的互動來學習並找到與擴充套件推理路徑相關的步驟,其中策略梯度用於訓練Agent。
(4)基於規則的推理:邏輯規則是一種輔助資訊,可以通過AMIE等規則挖掘工具提取。同時,它可以結合先驗知識,實現可解釋的多跳推理能力,併為泛化鋪平道路,即使在少樣本標記的關係三元組中也是如此。
然而,單獨的邏輯規則只能覆蓋知識圖譜中有限數量的關係事實,並存在巨大的搜尋空間。可以將神經網路和符號計算進行結合,它們之間具有互補優勢,利用高效的資料驅動學習和進行可微優化,並利用先驗邏輯知識進行精確且可解釋的推理。
將基於規則的學習結合到知識表徵中為表徵提供正則化或約束以解決問題是個很好的思路。然而,當遍歷大規模圖時,它們會出現連通性不足的缺點。
(5)元關係學習:長尾現象廣泛存在於知識圖譜的關係中,且現實世界的知識場景是動態的。針對這一新場景,學者們提出了元關係學習(或稱少樣本關係學習)方法,其需要模型僅用很少的樣本來預測新的關係事實。
(6)Triple分類:Triple分類是KGC的一項相關任務, Triple分類是在測試資料中判斷三元組事實是否正確,通常被認為是一個二分類問題。
實體發現 Entity Discovery
實體發現任務是從文字中獲取面向實體的知識,並在知識圖譜之間融合知識。可以劃分為幾個子任務,即實體識別、實體型別標記、實體消歧和實體對齊。我們將其統稱為實體發現,因為它們都在不同的配置下探索與實體相關的知識。
(1)實體識別(Entity Recognition):實體識別通常狹義定義為命名實體識別(Named Entity Recognition, NER),該任務專注於在文字中標記出特定命名的實體。
堆疊網路:最近的工作常用sequence-to-sequence的神經網路架構,如LSTM-CNN用於學習字元級和單詞級特徵。此外還有LSTM的變種,比如堆疊LSTM層和CRF層組合的LSTM-CRF和Stack-LSTM等。如圖8左所示。
MGNER:提出了一個整合框架,該框架具有各種粒度的實體位置檢測和基於注意力的實體分類,適用於巢狀和非重疊命名實體。
(2)實體型別標記(Entity Typing):實體型別標記包括標註粗粒度型別和細粒度型別,後者使用樹結構的型別類別,通常被視為多類和多標籤分類。
PLE:為了減少標籤噪聲,該模型專注於正確的型別識別,並提出了一種帶有異構圖的部分標籤嵌入模型,用於表示實體提及(mention)、文字特徵和實體型別及其關係。
Ma等人:為了解決噪音標籤的日益增長問題,提出了原型驅動的標籤嵌入,其中包含用於零樣本細粒度命名實體型別的分層資訊。
JOIE:學習例項檢視和本體檢視的聯合嵌入,並將實體型別表述為top-k排名以預測相關概念。
ConnectE:探索區域性型別和全域性三元組知識的關係以增強聯合嵌入學習效果。
圖8 LSTM-CRF實體識別任務(左圖)和實體對齊任務(右圖)
(3)實體消歧(Entity Disambiguation):實體消歧或實體連結是將實體提及連結到知識圖譜中相應實體進行統一的任務。例如,愛因斯坦在1921年獲得諾貝爾物理學獎。“愛因斯坦”的實體提及應該與阿爾伯特·愛因斯坦的實體聯絡起來。目前,端到端學習方法為通過實體和提及的表徵學習提供了有力支援:
DSRM:用於建模實體語義相關性的模型。
EDKate:用於實體和文字的聯合嵌入的模型。
Ganea等人:提出了一種在區域性上下文視窗上的注意力神經網路模型,用於實體嵌入學習和用於推斷模糊實體的可微訊息傳遞。
Le等人:通過將實體之間的關係視為潛在變數,開發了一種端到端的神經網路架構,使關係和提及規範化。
(4)實體對齊(Entity Alignment, EA):如前所述,這些任務涉及從文字或單個知識圖譜中發現實體,而實體對齊旨在融合各種知識圖譜之間的知識。
關係抽取 Relation Extraction(RE)
關係提取是通過從純文字中提取未知的關係事實並將其新增到知識圖中來,以自動構建大規模知識圖譜的任務。
由於缺乏標記的關係資料,遠端監督(distant supervision),也稱為弱監督或自監督,通過假設包含相同實體提及的句子在監督下可能表達相同的關係,使用啟發式匹配來建立訓練資料的關聯式資料庫。
傳統方法高度依賴特徵工程,最新的方法採用深度神經網路探索特徵之間的內在相關性。
在遠端監督的假設下,關係提取會受到噪聲的影響,尤其是在不同領域的文字語料庫中。因此,弱監督關係提取必須減輕噪聲標籤的影響。
例如,多例項學習(MIL)將詞袋(Bag-of-Words, BoW)作為輸入,注意力機制(Attention Mechanism)通過對例項的軟選擇來減少噪聲,而基於RL的方法將例項選擇設定為硬決策。
另一個原則是儘可能學習更豐富的表示。由於深度神經網路(DNN)可以解決傳統特徵提取方法中的錯誤傳播,因此該領域主要由基於DNN的模型主導。
(1)神經關係提取:神經網路廣泛應用於NRE任務。
CNN:將相對實體距離的位置特徵和關係分類資訊輸入具有多尺度卷積CNN中進行關係提取。
多例項學習(MIL):以詞袋作為輸入來預測實體對的關係。
PCNN:在以實體位置的卷積表示的片段上應用分段最大池化。與普通相比,PCNN可以更有效地捕獲實體對內部的結構資訊。
MIMLCNN:進一步將PCNN擴充套件到具有跨句子最大池化的多標籤學習以進行特徵選擇。還利用了諸如類關係和關係路徑之類的輔助資訊。
SDP-LSTM:採用多通道LSTM,同時利用實體對之間的最短依賴路徑。
Miwa等人:構建了基於依賴樹堆疊順序和樹結構的LSTM。
BRCNN:將用於捕獲順序依賴關係的RNN與用於使用雙通道雙向LSTM和CNN表示區域性語義的CNN相結合。
(2)注意力機制:注意力機制的許多變體與CNN相結合,包括用於捕獲單詞語義資訊的單詞級注意力和對多個例項的選擇性注意力以減輕噪聲例項的影響。此外,還引入了其他輔助資訊以豐富語義表示:
APCNN:引入了PCNN的實體描述和句子級注意。
HATT:提出了分層選擇性注意,通過連線每個分層的注意表徵來捕獲關係層次。
Att-BLSTM:該模型不是基於CNN的句子編碼器,而是使用BiLSTM提出詞級注意力。
Soares等人:利用了來自深度Transformers模型的預訓練關係表示。
(3)圖卷積網路(GCN):GCN用於編碼句子上的依賴樹或學習KGE以利用關係知識進行句子編碼。
C-GCN:是一個上下文相關的GCN模型,它以路徑為中心,運用句子級的剪枝依賴樹。
AGGCN:也將GCN應用於依賴樹,但利用多頭注意力以soft weighting方式進行邊緣選擇。
Zhang等人:與之前兩個基於GCN的模型不同,其將GCN應用於知識圖譜中的關係嵌入,用於基於句子的關係提取。作者進一步提出了一種從粗到細的知識感知注意機制,用於選擇資訊例項。
(4)對抗訓練:對抗訓練(Adversarial Training, AT)用於在多例項多標籤學習(MIML)中將對抗性噪聲新增到詞嵌入中,以進行基於CNN和RNN的關係提取。典型的有:
DSGAN:通過學習句子級真陽性樣本的生成器和最小化生成器真陽性概率的鑑別器來對遠端監督關係提取進行去噪。
(5)強化學習:最近,通過使用策略網路訓練例項選擇器,RL已被整合到神經關係提取中。
Qin等人:提出訓練基於策略的Agent句子關係分類器,將誤報例項重新分配到負樣本中,以減輕噪聲資料的影響。作者將F1分數作為評估指標,並使用基於F1分數的效能變化作為對策略網路的獎勵。
Zeng等人:提出了另外一種不同的獎勵策略。
HRL:提出了一種高層關係檢測和低層實體提取的分層策略學習框架。
基於RL的NRE的優點是關係提取器與模型無關。因此,它可以很容易地適應任何神經架構以進行有效的關係提取。
(6)其他進展:深度學習的其他進展也可以應用於神經關係提取。
Huang等人:將深度殘差學習應用於噪聲關係提取,發現9層CNN的配置,效能有所提高。
Liu等人:提出通過實體分類的遷移學習來初始化神經模型有效提高準確率。
協作CORD:通過雙向知識蒸餾和自適應模仿,將文字語料庫和知識圖譜與外部邏輯規則相結合。
TK-MF:通過匹配句子和主題詞來豐富句子表徵學習。
Shahbazi等人:通過對幾種解釋機制進行基準測試來研究可信關係提取,包括顯著性、梯度×輸入和leave one out。
(7)聯合提取:傳統的關係提取模型採用首先提取實體提及然後對關係進行分類的流水線方法來完成任務。但是,流水線方法可能會導致錯誤累積。幾項研究表明,聯合學習的效能優於傳統的流水線方法。
Katiyar等人:提出了一個基於注意力的LSTM網路的聯合提取框架。
一些方法將聯合提取轉換為不同的問題,例如通過新的標記方案和多輪問答進行序列標記。但是在處理實體對和關係重疊方面仍然存在挑戰。
Wei等人:提出了一個級聯二進位制標記框架,將關係建模為主體-物件對映函式來解決重疊問題。
時序知識圖譜 Temporal Knowledge Graph(TKG)
時序資訊嵌入 Temporal Information Embedding
動態實體 Entity Dynamics
現實世界的事件會改變實體的狀態,從而影響相應的關係。為了改進時序範圍推斷,上下文時序範圍輪廓模型(contextual temporal profile model)將Temporal scope問題表述為狀態變化檢測,並利用上下文來學習狀態和狀態變化向量。
Goel等人:將實體和時間戳作為實體嵌入函式的輸入,以保留實體在任何時間點的時序感知特性。
Know-evolve:是一個深度進化知識網路,研究實體的知識進化現象及其進化關係。使用多元時間點過程對事實的發生進行建模,並開發了一種新的迴圈網路來學習非線性時序演化表示。
RE-NET:為了捕獲節點之間的互動資訊,通過基於RNN的事件編碼器和鄰域聚合器對事件序列進行建模。具體來說,RNN用於捕獲時間實體互動,鄰域聚合器聚合併發互動。
時序關係依賴 Temporal Relational Dependency
關係鏈中存在時間依賴關係,例如,wasBornIn→graduateFrom→workAt→deadIn。
時序邏輯推理 Temporal Logical Reasoning
邏輯規則也被用於進行時序推理。
Chekol等人:探索了馬爾可夫邏輯網路和概率軟邏輯,用於對不確定的時間知識圖譜進行推理。
RLvLR-Stream:考慮時間閉合路徑規則,並從知識圖譜流中學習規則結構進行推理。
應用 Knowledge-aware Applications
豐富的結構化知識可用於AI應用程式。然而,如何將這些符號知識整合到現實世界應用程式的計算框架中仍然是一個挑戰。
知識圖譜的應用包括兩個方面:
(1)in-KG應用:如連結預測、命名實體識別等;
(2)out-of-KG應用程式:包括關係提取和更多下游知識感知應用程式,例如問答和推薦系統。
語言表徵學習 Language Representation Learning
通過自監督語言模型預訓練的語言表徵學習已經成為許多NLP系統的一個組成部分。傳統的語言建模不利用文字語料庫中經常觀察到的實體事實,如何將知識整合到語言表徵中已引起越來越多的關注。
知識圖譜語言模型(KGLM):通過選擇和複製實體來學習並呈現知識。
ERNIE-Tsinghua:通過聚合的預訓練和隨機Mask來融合資訊實體。
K-BERT:將領域知識注入BERT上下文編碼器。
ERNIE-Baidu:引入了命名實體Mask和短語Mask以將知識整合到語言模型中,並由ERNIE 2.0通過持續的多工學習進一步改進。
KEPLER:為了從文字中獲取事實知識,通過聯合優化將知識嵌入和Mask語言建模損失相結合。
GLM:提出了一種圖引導的實體Mask方案來隱式地利用知識圖譜。
CoLAKE:通過統一的詞-知識圖譜和改進的Transformer編碼器進一步利用了實體的上下文。
BERT-MK:與K-BERT模型類似,更專注於醫學語料庫,通過知識子圖將醫學知識整合到預訓練語言模型中。
Petroni等人:重新思考語言模型的大規模訓練和知識圖譜查詢,分析了語言模型和知識庫,他們發現可以通過預訓練語言模型獲得某些事實知識。
問答 Question Answering
基於知識圖譜的問答(KG-QA)用知識圖譜中的事實回答自然語言問題。基於神經網路的方法表示分散式語義空間中的問題和答案,有些方法還進行符號知識注入以進行常識推理。
Single-fact QA:以知識圖譜為外部知識源,simple factoid QA或single-fact QA是回答一個涉及單個知識圖譜事實的簡單問題。
Dai等人:提出了一種條件聚焦神經網路,配備聚焦修剪以減少搜尋空間。
BAMnet:使用雙向注意機制對問題和知識圖譜之間的雙向互動進行建模。儘管深度學習技術在KG-QA中得到了廣泛應用,但它們不可避免地增加了模型的複雜性。
Mohammed等人:通過評估有和沒有神經網路的簡單KG-QA,發現複雜的深度模型(如LSTM和GRU等啟發式演算法)達到了最先進的水平,非神經模型也獲得了相當好的效能。
多跳推理(Multi-hop Reasoning):處理複雜的多跳關係需要更專門的設計才能進行多跳常識推理。結構化知識提供了資訊豐富的常識,這促進了最近關於多跳推理的符號空間和語義空間之間的常識知識融合的研究。
Bauer等人:提出了多跳雙向注意力和指標生成器(pointer-generator)解碼器,用於有效的多跳推理和連貫的答案生成,利用來自ConceptNet的relational path selection和selectively-gated注意力注入的外部常識知識。
Variational Reasoning Network(VRN):使用reasoning-graph嵌入進行多跳邏輯推理,同時處理主題實體識別中的不確定性。
KagNet:執行concept recognition以從ConceptNet構建模式圖,並通過GCN、LSTM和hierarchical path-based attention學習基於路徑的關係表示。
CogQA:結合了implicit extraction和explicit reasoning,提出了一種基於BERT和GNN的認知圖模型,用於多跳QA。
推薦系統 Recommender Systems
將知識圖譜整合為外部資訊,使推薦系統具備常識推理能力,具有解決稀疏問題和冷啟動問題的潛力。通過注入實體、關係和屬性等知識圖譜的輔助資訊,許多方法致力於使用基於嵌入的正則化模組以改進推薦效果。
collaborative CKE:通過平移KGE模型和堆疊自動編碼器聯合訓練KGE、文字資訊和視覺內容。
DKN:注意到時間敏感和主題敏感的新聞文章由大量密集的實體和常識組成,通過知識感知CNN模型將知識圖譜與多通道word-entity-aligned文字輸入相結合。但是,DKN不能以端到端的方式進行訓練,因為它需要提前學習實體嵌入。
MKR:為了實現端到端訓練,通過共享潛在特徵和建模高階專案-實體互動,將多工知識圖譜表示和推薦相關聯。
KPRN:雖然其他工作考慮了知識圖譜的關係路徑和結構,但KPRN將使用者和專案之間的互動視為知識圖譜中的實體關係路徑,並使用LSTM對路徑進行偏好推斷以捕獲順序依賴關係。
PGPR:在基於知識圖譜的user-item互動上執行reinforcement policy-guided的路徑推理。
KGAT:在entity-relation和user-item圖的協作知識圖譜上應用圖注意力網路,通過嵌入傳播和基於注意力的聚合對高階連線進行編碼。
總而言之,基於知識圖的推薦本質上是通過在知識圖譜中嵌入傳播與多跳來處理可解釋性。
文字分類和特定任務應用程式 Text Classification and Task-Specific Applications
知識驅動的自然語言理解(NLU)是通過將結構化知識注入統一的語義空間來增強語言表徵能力。最近成果利用了明確的事實知識和隱含的語言表徵。
Wang等人:通過加權的word-concept嵌入,通過基於知識的conceptualization增強了短文字表徵學習。
Peng等人:整合了外部知識庫,以構建異構資訊圖譜,用於短社交文字中的事件分類。
在精神衛生領域,具有知識圖譜的模型有助於更好地瞭解精神狀況和精神障礙的危險因素,並可有效預防精神健康導致的自殺。
Gaurs等人:開發了一個基於規則的分類器,用於知識驅動的自殺風險評估,其中結合了醫學知識庫和自殺本體的自殺風險嚴重程度詞典。
情感分析與情感相關概念相結合,可以更好地理解人們的觀點和情感。
SenticNet:學習用於情感分析的概念原語,也可以用作常識知識源。為了實現與情感相關的資訊過濾。
Sentic LSTM:將知識概念注入到vanilla LSTM中,併為概念級別的輸出設計了一個知識輸出門,作為對詞級別的補充。
對話系統 Dialogue Systems
問答(QA)也可以被視為通過生成正確答案作為響應的單輪對話系統,而對話系統考慮對話序列並旨在生成流暢的響應以通過語義增強和知識圖譜遊走來實現多輪對話。
Liu等人:在編碼器-解碼器框架下,通過知識圖譜檢索和圖注意機制對知識進行編碼以增強語義表徵並生成知識驅動的響應。
DialKG Walker:遍歷符號知識圖譜以學習對話中的上下文轉換,並使用注意力圖路徑解碼器預測實體響應。
通過形式邏輯表示的語義解析是對話系統的另一個方向。
Dialog-to-Action:是一種編碼器-解碼器方法,通過預定義一組基本動作,它從對話中的話語對映可執行的邏輯形式,以在語法引導解碼器的控制下生成動作序列。
醫學和生物學 Medicine and Biology
知識驅動的模型及其應用為整合領域知識以在醫學和生物學領域進行精確預測鋪平了道路。醫學應用涉及有眾多醫學概念的特定領域知識圖譜。
Sousa等人:採用知識圖譜相似性進行蛋白質-蛋白質相互作用預測,使用基因本體。
Mohamed等人:將藥物-靶點相互作用預測設定為生物醫學知識圖譜中與藥物及其潛在靶點的連結預測。
Lin等人:開發了一個知識圖譜網路來學習藥物-藥物相互作用預測的結構資訊和語義關係。
UMLS:在臨床領域,來自Unified Medical Language Systems(UMLS)本體的生物醫學知識被整合到語言模型預訓練中,用於臨床實體識別和醫學語言推理等下游臨床應用。
Liu等人:設定了醫學影像報告生成的任務,包括編碼、檢索和釋義三個步驟。
其他應用
還有許多其他應用程式利用以知識驅動的方法。
(1)學術搜尋引擎幫助研究找到相關的學術論文
Xiong等人:提出了帶有知識圖譜嵌入的顯式語義排序,以幫助學術搜尋更好地理解查詢到的概念的含義。
(2)零樣本影像分類受益於知識圖譜傳播和類的語義描述
Wang等人:提出了一種多層GCN,使用類別和類別關係的語義嵌入來學習零樣本分類器。
APNet:使用類別圖傳播屬性表徵。
(3)文字生成,組成連貫的多句文字。
Koncel-Kedziorski等人:研究了資訊提取系統的文字生成,並提出了一種圖譜轉換編碼器,用於從知識圖譜生成圖譜到文字的對映,側重於解決生成自然語言的問題。
Seyler等人:通過在知識圖譜上生成結構化查詢,同時估計了問題的難度,研究了測驗式知識問題的生成。然而,為了表達這個問題,作者使用了基於模板的方法,這可能會限制生成更自然的表達方式。
06 未來發展方向
古往今來,眾多學者已經進行了許多工作來應對知識圖譜及其相關應用的挑戰。然而,仍然存在一些開放性問題值得解決,是未來的研究方向。
複雜推理 Complex Reasoning
知識表徵和推理的數值計算需要一個連續的向量空間來捕捉實體和關係的語義。雖然基於嵌入的方法在複雜的邏輯推理上存在侷限性,但關係路徑和符號邏輯兩個方向值得進一步探索。
一些有前途的方法,如迴圈關係路徑編碼、基於GNN的知識圖譜傳遞訊息以及基於強化學習的尋路和推理,正在用於處理複雜的推理。對於邏輯規則和嵌入的組合,最新的工作將馬爾可夫邏輯網路與KGE相結合,旨在利用邏輯規則並處理其不確定性。
通過有效嵌入來實現概率推理以捕獲不確定性和領域知識將是一個值得注意的研究方向。
統一框架 Unified Framework
知識圖譜上的幾種表徵學習模型已被驗證為等價,例如,Hayshi和Shimbo證明了HolE和ComplEx模型在具有特定約束的連結預測方面在數學上是等價的。
ANALOGY:提供了幾個代表性模型的統一檢視,包括DistMult、ComplEx和HolE。
Wang等人:探索了幾個雙線性模型之間的聯絡。
Chandrahas等人:探索了加法和乘法KRL模型的幾何理解。
Han等人:將不同模型放在同一個框架下,並提出了一種相互關注的聯合學習框架,用於知識圖譜和文字之間的資訊共享。
目前,對知識表徵和推理的統一理解研究仍然較少,但是卻很有價值。
可解釋性 Interpretability
知識表徵的可解釋性是知識獲取和實際應用的一個重要問題。研究人員已經為可解釋性做出了初步努力。
ITransF:使用稀疏向量進行知識轉移並通過注意力視覺化進行解釋。
CrossE:通過使用基於嵌入的路徑搜尋來為連結預測生成解釋,探索了知識圖譜的解釋方案。
然而,最近提出的神經網路模型取得了很高的效能指標,但是在透明度和可解釋性方面仍然存在侷限性。一些方法通過使用邏輯規則使神經模型和符號推理相結合提供一定可解釋性。
可解釋性可以說服人們相信模型的預測,因此,未來工作應該更多地提高可解釋性,也相當於提高了預測知識的可靠性。
可擴充套件性 Scalability
可擴充套件性在大規模知識圖譜中至關重要。計算效率和模型表達能力之間需要權衡,極少有工作是在超過100萬個實體的知識圖譜上進行的。
幾種嵌入方法可以用來簡化計算,降低計算成本,例如使用迴圈相關運算來簡化張量積。然而,這些方法仍然難以擴充套件到數百萬個實體和關係。
使用馬爾可夫邏輯網路的概率邏輯推理是計算密集型的,因此很難擴充套件到大規模的知識圖譜。最新的神經邏輯模型中的規則是通過簡單的蠻力搜尋生成的,這使得它在大規模知識圖譜上更為力不從心。
要處理繁瑣的深層架構和日益增長的知識圖譜,還有很長的路要走。
知識聚合 Knowledge Aggregation
全球知識的聚合是以知識作為驅動的應用的核心。例如,推薦系統使用知識圖對user-item互動和文字分類進行聯合建模,將文字和知識圖譜編碼到語義空間中。當前大多數知識聚合方法都使用了神經網路架構,如注意力機制和GNN。
Transformer和BERT大規模預訓練模型及其變體極大地推動了自然語言處理的發展。
同時,最新的一項研究表明,對非結構化文字進行預訓練的語言模型可以獲得一定的事實知識,大規模的預訓練可以作為一種直接的知識注入後續任務。然而,知識聚合仍然需要有效且可解釋,不能用大模型蠻幹。
自動構建與動態生成 Automatic Construction and Dynamics
當前的知識圖譜高度依賴人工構建,這是勞動密集型且經濟成本高的工作。知識圖譜在不同認知智慧領域的廣泛應用需要從大規模非結構化內容中自動構建知識圖譜。
最新的研究主要是在現有知識圖譜的監督下進行半自動構建。面對多模態、異構性和大規模應用,自動化構建仍然具有很大的挑戰。
主流研究集中在靜態知識圖譜上,在預測Temporal scope有效性和學習時間資訊和動態實體方面工作較少。許多事實只在特定時期內成立,動態知識圖譜與捕捉動態的學習演算法一起,可以通過考慮時間性質來解決傳統知識表徵和推理的侷限性。
07 資料集
目前,許多公共資料集已經釋出於網路。這裡對通用領域、特定領域、特定任務和時序資料集進行簡單介紹和總結。
通用領域資料集
具有通用本體知識的資料集包括WordNet、Cyc、DBpedia、YAGO、Freebase、NELL和Wikidata。很難在一個表中比較它們,因為它們的本體是不同的。因此,表2中僅展示了它們的規模,此外,它們的數量仍在繼續變化。
表2 通用領域資料集的統計資訊
WordNet:於1995年首次釋出,是一個包含約11萬個同義詞集的詞彙資料庫。
DBpedia:是從Wikipedia中提取的社群驅動的資料集。它包含1.03億個三元組。
YAGO:為解決單源本體知識覆蓋率低、質量低的問題,利用維基百科分類頁面中的概念資訊和WordNet中概念的層次資訊,構建了覆蓋率高、質量高的多源資料集。此外,它可以通過其他知識源進行擴充套件。它目前可線上獲得超過1000萬個實體和1.2億個事實。
Freebase:是一個可擴充套件的知識庫,於2008年出現,用於儲存世界知識。它目前的三元組數量為19億。
NELL:是通過一個名為Never-Ending Language Learner的智慧代理從Web構建的,具有很高的置信度。
Wikidata:是一個免費的結構化知識庫,由人工編輯建立和維護。它是多語言的,有358種不同的語言。
上述資料集由社群或研究機構公開發布和維護。此外,還有一些商業資料集。
Cycorp的Cyc知識庫:包含大約150萬個一般概念和超過2000萬條一般規則,一個名為OpenCyc的可訪問版本已於2017年棄用。
Google知識圖譜:包含超過5億個實體和35億個事實和關係。
Microsoft知識圖譜:Microsoft構建了一個稱為Probase的知識庫,其中包含270萬個概念。
特定領域資料集
各個行業專業人士設計和收集了其特定領域的一些知識庫來評估特定領域的任務。一些值得注意的領域包括生命科學、醫療保健和科學研究,這些庫中囊括了複雜的領域和關係,例如化合物、疾病和組織。常見的醫學類知識圖譜如下表所示:
表3 醫學資料集摘要
特定任務資料集
生成特定於任務的資料集的一種流行方法是從大型通用資料集中取樣子集。表4列出了知識圖譜本身任務的幾個資料集的統計資料。
表4 知識圖譜本身任務的資料集摘要
對於帶有輔助資訊的KRL和其他下游應用,還收集文字和影像,例如帶有采樣影像的WN18-IMG和包括SemEval 2010資料集、NYT和Google-RE的文字關係提取資料集。
IsaCore:是Probase的一個analogical closure,用於意見挖掘和情感分析,是通過公共知識庫混合和多維縮放構建的。
FewRel資料集:用以評估新興的少樣本關係分類任務。
還有更多用於特定任務的資料集,例如用於實體對齊的跨語言DBP15K和DWY100K,帶有例項和本體的YAGO26K-906和DB111K-174的多檢視知識圖譜等等。
開源庫
最近的研究推動了開源運動,表5中列出了常見的幾個開源庫。
表5 開源庫列表
AmpliGraph:用於知識表徵學習。
Grakn:用於整合知識圖譜與機器學習技術。
Akutan:用於知識圖譜儲存和查詢。
研究界還發布了程式碼以促進進一步的研究。值得注意的是,有三個有用的工具包,即用於知識圖嵌入的scikit-kge和OpenKE,以及用於關係提取的OpenNRE。
更多資料可以檢視連結:
https://shaoxiongji.github.io/knowledge-graphs/,該連結提供了知識圖譜出版物的線上集合,以及它們的一些開源實現的連結。
圖9 關於知識圖譜的精選研究集
08 簡史
隨著知識表徵學習、知識獲取方法和各種知識驅動應用的出現,知識圖譜引起了越來越多的研究者關注。
全文全面回顧了知識圖譜的歷史沿革、重要定義和符號描述,重點對四個重要研究方向知識表徵學習、知識獲取、時序知識圖譜及相關應用進行了全面介紹。此外,還介紹和討論了一些有用的資料集和開源庫資源及未來的研究方向。
如今,知識圖譜擁有著龐大的研究社群,擁有大量重要的方法和應用,期待未來對其的進一步研究可以帶給我們更美好的生活。
參考文獻
[1] S. Ji, S. Pan, E. Cambria, P. Marttinen, P. S. Yu, "A survey on knowledge graphs: Representation, acquisition and applications," arXiv preprint arXiv:2002.00388, 2020.
[2] M. Nickel, K. Murphy, V. Tresp, and E. Gabrilovich, “A review of relational machine learning for knowledge graphs,” Proceedings of the IEEE, vol. 104, no. 1, pp. 11–33, 2016.
[3] Q. Wang, Z. Mao, B. Wang, and L. Guo, “Knowledge graph embedding: A survey of approaches and applications,” IEEE TKDE, vol. 29, no. 12, pp. 2724–2743, 2017.
[4] Y. Lin, X. Han, R. Xie, Z. Liu, and M. Sun, “Knowledge representation learning: A quantitative review,” arXiv preprint arXiv:1812.10901, 2018.
[5] H. Paulheim, “Knowledge graph refinement: A survey of approaches and evaluation methods,” Semantic web, vol. 8, no. 3, pp. 489–508, 2017.
[6] T. Wu, G. Qi, C. Li, and M. Wang, “A survey of techniques for constructing chinese knowledge graphs and their applications,” Sustainability, vol. 10, no. 9, p. 3245, 2018.
[7] X. Chen, S. Jia, and Y. Xiang, “A review: Knowledge reasoning over knowledge graph,” Expert Systems with Applications, vol. 141, p. 112948, 2020.