知識圖譜(KGs)在圖的結構中存儲了關于世界的高度異構的信息,對于回答問題和推理等任務非常有用。然而,它們經常包含錯誤和丟失信息。KG精化的活躍研究已經解決了這些問題,裁剪技術可以檢測特定類型的錯誤,也可以完成KG。
這個工作,我們引入了一個統一的解決方案來描述KG的特性,通過用一組歸納的軟規則將問題化為無監督的KG總結,這些規則描述了KG中的正常值,從而可以用來識別異常值,不管是奇怪的還是缺失的。與一階邏輯規則不同,我們的規則被標記為有根圖,即根據節點的類型和KG中的信息,描述一個(可見或不可見的)節點周圍的預期鄰域的模式。在傳統的基于支持/信任的規則挖掘技術的基礎上,我們提出了KGist,即知識圖譜歸納摘要,它學習歸納規則的摘要,根據最小描述長度原則對KG進行最佳壓縮——這是我們在KG規則挖掘上下文中首次使用的公式。我們將規則應用于三個大型KGs (NELL、DBpedia和Yago),以及諸如壓縮、各種類型的錯誤檢測和不完整信息標識等任務。我們證明了KGist在錯誤檢測和不完全性識別(識別93%缺失實體的位置—比基線多10%)方面優于特定于任務的、有監督的和無監督的基線,同時對于大型知識圖譜也是有效的。
圖神經網絡通過聚合和結合鄰居信息來學習節點特征,在許多圖的任務中取得了良好的性能。然而,GNN大多被視為黑盒,缺乏人類可理解的解釋。因此,如果不能解釋GNN模型,就不能完全信任它們并在某些應用程序域中使用它們。在這項工作中,我們提出了一種新的方法,稱為XGNN,在模型級別上解釋GNN。我們的方法可以為GNNs的工作方式提供高層次的見解和一般性的理解。特別地,我們提出通過訓練一個圖生成器來解釋GNN,使生成的圖模式最大化模型的某種預測。我們將圖形生成表述為一個強化學習任務,其中對于每一步,圖形生成器預測如何向當前圖形中添加一條邊。基于訓練后的GNN信息,采用策略梯度方法對圖生成器進行訓練。此外,我們還加入了一些圖規則,以促使生成的圖是有效的。在合成和真實數據集上的實驗結果表明,我們提出的方法有助于理解和驗證訓練過的GNN。此外,我們的實驗結果表明,所生成的圖可以為如何改進訓練的神經網絡提供指導。
概述
圖神經網絡(GNNs)在不同的圖任務(如節點分類[11,37]、圖分類[39,47]和鏈接預測[46])上顯示了其有效性并取得了最新的性能。此外,對不同的圖運算進行了大量的研究,如圖卷積[13,16,19]、圖池化[20,44]、圖注意力[10,36,37]。由于圖數據廣泛存在于不同的真實世界應用程序中,如社交網絡、化學和生物學,GNN變得越來越重要和有用。盡管它們的性能很好,GNNs也有和其他深度學習模型一樣的缺點;也就是說,它們通常被視為黑盒子,缺乏人類理解的解釋。如果不理解和驗證內部工作機制,就不能完全信任GNNs,這就阻礙了它們在涉及公平、隱私和安全的關鍵應用程序中的使用[7,40]。例如,我們可以訓練一個GNN模型來預測藥物的效果,我們將每種藥物視為一個分子圖。如果不探索其工作機理,我們就不知道分子圖中是什么化學基團導致了這些預測。那么我們就無法驗證GNN模型的規則是否與真實世界的化學規則一致,因此我們不能完全信任GNN模型。這就增加了開發GNN解釋技術的需要。
最近,人們提出了幾種解釋技術來解釋圖像和文本數據的深度學習模型。根據所提供的解釋的類型,現有的技術可以歸類為實例級[5,9,29,31,32,43,45,48]或模型級[8,24,25]方法。實例級解釋通過模型確定輸入中的重要特征或該輸入的決策過程來解釋對給定輸入示例的預測。這類常用技術包括基于梯度的方法[31,32,43]、中間特征圖可視化[29,48]和基于遮擋的方法[5,9,45]。與提供依賴于輸入的解釋不同,模型級別的解釋旨在通過研究哪些輸入模式可以導致某種預測來解釋模型的一般行為,而不考慮任何特定的輸入示例。輸入優化[8,24 - 26]是最常用的模型級解釋方法。這兩類解釋方法旨在從不同的角度解釋深層模型。由于解釋的最終目的是驗證和理解深度模型,我們需要手動檢查解釋結果,并得出深度模型是否按我們預期的方式工作的結論。對于示例級方法,我們可能需要探究大量示例的解釋,然后才能相信模型。然而,這需要時間和專家的廣泛努力。對于模型級方法,其解釋更加普遍和高級,因此需要較少的人力監督。然而,與實例級的解釋相比,模型級方法的解釋不那么精確。總的來說,模型級和實例級方法對于解釋和理解深度模型都很重要。
在圖數據上解釋深度學習模型變得越來越重要,但仍缺乏探索。就我們所知,目前還沒有在模型級解釋GNN的研究。現有研究[4,40]僅對圖模型提供了實例層次的解釋。作為對現有工作的徹底背離,我們提出了一種新的解釋技術,稱為XGNN,用于在模型級別上解釋深層圖模型。我們提出研究什么樣的圖模式可以最大化某個預測。具體地說,我們提出訓練一個圖生成器,以便生成的圖模式可以用來解釋深度圖模型。我們把它表示為一個強化學習問題,在每一步,圖生成器預測如何添加一條邊到給定的圖和形成一個新的圖。然后根據已訓練圖模型的反饋,使用策略梯度[35]對生成器進行訓練。我們還加入了一些圖規則,以鼓勵生成的圖是有效的。注意,XGNN框架中的圖生成部分可以推廣到任何合適的圖生成方法,這些方法由手邊的數據集和要解釋的GNN決定。最后,我們在真實數據集和合成數據集上訓練了GNN模型,取得了良好的性能。然后我們使用我們提出的XGNN來解釋這些訓練過的模型。實驗結果表明,我們提出的XGNN可以找到所需的圖模式,并解釋了這些模型。通過生成的圖形模式,我們可以驗證、理解甚至改進經過訓練的GNN模型。
在本文中,我們對知識圖譜進行了全面的介紹,在需要開發多樣化、動態、大規模數據收集的場景中,知識圖譜最近引起了業界和學術界的極大關注。在大致介紹之后,我們對用于知識圖譜的各種基于圖的數據模型和查詢語言進行了歸納和對比。我們將討論模式、標識和上下文在知識圖譜中的作用。我們解釋如何使用演繹和歸納技術的組合來表示和提取知識。我們總結了知識圖譜的創建、豐富、質量評估、細化和發布的方法。我們將概述著名的開放知識圖譜和企業知識圖譜及其應用,以及它們如何使用上述技術。最后,我們總結了未來高層次的知識圖譜研究方向。
盡管“知識圖譜”一詞至少從1972年就開始出現在文獻中了[440],但它的現代形式起源于2012年發布的谷歌知識圖譜[459],隨后Airbnb[83]、亞馬遜[280]、eBay[392]、Facebook[365]、IBM[123]、LinkedIn[214]、微軟[457]、優步[205]等公司相繼發布了開發知識圖譜的公告。事實證明,學術界難以忽視這一概念的日益普及: 越來越多的科學文獻發表關于知識圖譜的主題,其中包括書籍(如[400]),以及概述定義(如[136])的論文,新技術(如[298,399,521]),以及對知識圖譜具體方面的調查(如[375,519])。
所有這些發展的核心思想是使用圖形來表示數據,通常通過某種方式顯式地表示知識來增強這種思想[365]。結果最常用于涉及大規模集成、管理和從不同數據源提取價值的應用場景[365]。在這種情況下,與關系模型或NoSQL替代方案相比,使用基于圖的知識抽象有很多好處。圖為各種領域提供了簡潔而直觀的抽象,其中邊捕獲了社會數據、生物交互、書目引用和合作作者、交通網絡等[15]中固有實體之間的(潛在的循環)關系。圖允許維護者推遲模式的定義,允許數據(及其范圍)以比關系設置中通常可能的更靈活的方式發展,特別是對于獲取不完整的知識[2]。與(其他)NoSQL模型不同,專門的圖形查詢語言不僅支持標準的關系運算符(連接、聯合、投影等),而且還支持遞歸查找通過任意長度路徑[14]連接的實體的導航運算符。標準的知識表示形式主義——如本體論[66,228,344]和規則[242,270]——可以用來定義和推理用于標記和描述圖中的節點和邊的術語的語義。可伸縮的圖形分析框架[314,478,529]可用于計算中心性、集群、摘要等,以獲得對所描述領域的洞察。各種表示形式也被開發出來,支持直接在圖上應用機器學習技術[519,527]。
總之,構建和使用知識圖譜的決策為集成和從不同數據源提取價值提供了一系列技術。但是,我們還沒有看到一個通用的統一總結,它描述了如何使用知識圖譜,使用了哪些技術,以及它們如何與現有的數據管理主題相關。
本教程的目標是全面介紹知識圖譜: 描述它們的基本數據模型以及如何查詢它們;討論與schema, identity, 和 context相關的表征;討論演繹和歸納的方式使知識明確;介紹可用于創建和充實圖形結構數據的各種技術;描述如何識別知識圖譜的質量以及如何改進知識圖譜;討論發布知識圖譜的標準和最佳實踐;并提供在實踐中發現的現有知識圖譜的概述。我們的目標受眾包括對知識圖譜不熟悉的研究人員和實踐者。因此,我們并不假設讀者對知識圖譜有特定的專業知識。
知識圖。“知識圖譜”的定義仍然存在爭議[36,53,136],其中出現了一些(有時相互沖突的)定義,從具體的技術建議到更具包容性的一般性建議;我們在附錄a中討論了這些先前的定義。在這里,我們采用了一個包容性的定義,其中我們將知識圖譜視為一個數據圖,目的是積累和傳遞真實世界的知識,其節點表示感興趣的實體,其邊緣表示這些實體之間的關系。數據圖(又稱數據圖)符合一個基于圖的數據模型,它可以是一個有向邊標記的圖,一個屬性圖等(我們在第二節中討論具體的替代方案)。這些知識可以從外部資源中積累,也可以從知識圖譜本身中提取。知識可以由簡單的語句組成,如“圣地亞哥是智利的首都”,也可以由量化的語句組成,如“所有的首都都是城市”。簡單的語句可以作為數據圖的邊來積累。如果知識圖譜打算積累量化的語句,那么就需要一種更有表現力的方式來表示知識——例如本體或規則。演繹的方法可以用來繼承和積累進一步的知識(例如,“圣地亞哥是一個城市”)。基于簡單或量化語句的額外知識也可以通過歸納方法從知識圖譜中提取和積累。
知識圖譜通常來自多個來源,因此,在結構和粒度方面可能非常多樣化。解決這種多樣性, 表示模式, 身份, 和上下文常常起著關鍵的作用,在一個模式定義了一個高層結構知識圖譜,身份表示圖中哪些節點(或外部源)引用同一個真實的實體,而上下文可能表明一個特定的設置一些單位的知識是真實的。如前所述,知識圖譜需要有效的提取、充實、質量評估和細化方法才能隨著時間的推移而增長和改進。
在實踐中 知識圖譜的目標是作為組織或社區內不斷發展的共享知識基礎[365]。在實踐中,我們區分了兩種類型的知識圖譜:開放知識圖譜和企業知識圖譜。開放知識圖譜在網上發布,使其內容對公眾有好處。最突出的例子——DBpedia[291]、Freebase[51]、Wikidata[515]、YAGO[232]等——涵蓋了許多領域,它們要么是從Wikipedia[232,291]中提取出來的,要么是由志愿者社區[51,515]建立的。開放知識圖譜也在特定領域內發表過,如媒體[406]、政府[222,450]、地理[472]、旅游[11,263,308,540]、生命科學[79]等。企業知識圖譜通常是公司內部的,并應用于商業用例[365]。使用企業知識圖譜的著名行業包括網絡搜索(如Bing[457]、谷歌[459])、商業(如Airbnb[83]、亞馬遜[127、280]、eBay[392]、Uber[205])、社交網絡(如Facebook[365]、LinkedIn[214])、金融(如埃森哲[368]、意大利銀行[32][326]、彭博[326]、Capital One[65]、富國銀行[355])等。應用包括搜索[457,459],推薦[83,205,214,365],個人代理[392],廣告[214],商業分析[214],風險評估[107,495],自動化[223],以及更多。我們將在第10節中提供更多關于在實踐中使用知識圖譜的細節。
結構。本文件其余部分的結構如下: