###haohaohao####知識圖譜補全技術

導讀:當前知識圖譜已經被廣泛應用在自然語言處理的各項任務中,但知識圖譜中實體間關係的缺失也給其實際的應用帶來了很多問題。因此,目前學術界圍繞知識圖譜的補全進行了大量的研究工作。本文主要對知識圖譜補全相關的研究進展進行了歸納與分享。

01

背景介紹

首先和大家分享下知識圖譜的背景。

圖片

知識圖譜,在互聯網行業已經被廣泛應用於多種不同的領域,如推薦系統、搜索引擎、智能對話系統等。在AI時代,知識圖譜是一項非常重要的技術。

1. 知識圖譜主要研究方向

圖片

知識圖譜的主要研究方向包括知識獲取、知識表示、時序知識圖譜、知識應用等方向。本次分享,主要聚焦於知識獲取中的一個子任務——知識圖譜補全。

2. 爲什麼要做知識圖譜的補全

圖片

知識圖譜普遍存在不完備的問題。以上圖爲例,黑色的箭頭表示已經存在的關係,紅色的虛線則是缺失的關係。我們需要做的,是基於圖譜裏已有的關係,去推理出缺失的關係。

3. 知識圖譜補全的難點與挑戰

  • 如何更好的建模知識的結構和推理規則?如何查找路徑?強化學習可用嗎?如何建模邏輯規則?

  • 如何解決長尾數據問題?few-shot learning?

02

問題定義

知識圖譜補全問題定義

給定知識圖譜G = {E, R, F},其中E表示所有實體的集合,R表示所有關係的集合,F爲所有三元組的集合。

知識圖譜補全的任務是預測出當前知識圖譜中缺失的三元組F'={(h, r, t) | (h, r, t)∉F, r∈R}

根據補全的實體是否在E中,知識圖譜補全可分爲兩個子任務:

  • 封閉域的知識圖譜補全,限制要補全的三元組的實體都在E中

  • 開放域的知識圖譜補全,不限制實體一定在E中

後面分享中除非特別提到,否則主要指封閉域的知識圖譜補全。

03

知識圖譜補全技術發展

知識圖譜補全技術,可歸納爲以下幾種:基於知識表示的方法、基於路徑查找的方法、基於推理規則的方法、基於強化學習的方法、基於元學習的方法。

1. 基於知識表示的方法

基於知識表示的方法,是最直接的一種方式。

圖片

  • 知識表示學習:對知識圖譜中的實體和關係學習其低維度的嵌入式表示。

  • 常見的知識表示學習方法:上圖涵蓋了常見的知識表示學習方法,主要是以TransE法爲核心,針對空間映射等場景做的改進。

  • 基於實體和關係的表示對缺失三元組進行預測;

  • 許多前面提到的知識表示方法都可以用在知識圖譜補全中。

以上圖中的三元組爲例,已知頭實體以及頭實體間的關係,預測其尾實體。可將頭實體的embedding組合到一起,在尾實體的candidate列表中計算score(可自定義score計算方法,例如相似度);從candidate中選擇一個分數最高的尾實體作爲補全。

基於這種方法可以做進一步的改進——引入實體描述信息,構建神經網絡:

圖片

  • 利用實體描述信息,可以解決開放域實體補全的問題;

  • 使用類似於attention的機制進行描述內容的masking,使得與關係關聯緊密的描述內容對結果影響更大;

  • 使用CNN來對masking後的實體描述進行特徵抽取(target fusion)。

通過以上步驟,將文本提取成兩種特徵:一種是含有三元組(即頭實體、尾實體和關係名)上下文信息的特徵,一種是偏向利用實體描述信息抽取新實體相關知識的特徵。將兩類特徵輸入到全連接網絡中,做最終補全結果的預測。

2. 基於路徑查找的方法

基於知識表示方法,一般不能處理下圖這種多步知識推理。(圖中從微軟到美國,需要經過4步推理才能獲得)

圖片

可使用基於路徑查找的方法來處理這類多步推理問題。

傳統的路徑查找方法主要是PRA方法(Path Ranking Algorithm);但是這種方法對於包含較大規模的知識圖譜來說,會由於路徑數量爆炸式增長,導致特徵空間急劇膨脹。

解決的方式,可以嘗試用embedding的方式表示關係,對關係進行泛化,並基於此對知識的補全進行建模,以緩解路徑數量過多導致的特徵空間膨脹問題。

圖片

  • 給定實體對集合,利用PRA查找一定數量的路徑;

  • 使用RNN沿着路徑進行向量化建模;

  • 通過比較路徑向量與待預測關係向量間的關聯度來進行關係補全。

此方法仍然存在一些問題:

  • 建模時未考慮路徑上的實體信息;

  • 每個關係類型需要使用一個單獨的RNN模型;

  • 建模時僅使用了實體對間的一條路徑。

基於此,後續的工作對以上方法做了如下改進:

圖片

  • 路徑計算過程中加入實體類型信息(減少長尾實體影響);

  • RNN模型參數在不同關係之間共享;

  • 提出新的分數計算方式,可以綜合運用多條路徑信息:

假設{s1,s2, …, sn}爲兩個實體{es,et}間所有路徑與關係r之間的相似度分數集合,那麼該實體對擁有關係r的概率可有以下幾種計算方式:

圖片

這裏特別提到LogSumExp法,將所有相似度分數計算指數和後取對數;這種計算方法,在誤差反向傳播的過程中,分數高的路徑獲得的梯度分配更多;類似於根據分數計算貢獻的方式。

3. 基於強化學習的方法

前面提到的兩種方法,仍然存在若干的問題:

  • 需要基於random walk來查找路徑;

  • 而random walk算法在離散空間中運行,難以評價知識圖譜中相似的實體和關係;

  • 超級結點可能影響random walk算法運行速度。

基於以上問題,有很多研究者開始嘗試強化學習方法:

  • 在連續空間中進行路徑搜索;

  • 通過引入多種獎勵函數,使得路徑查找更加靈活、可控。

這裏介紹DeepPath這種強化學習方法:

圖片

① 任務:查找Band of Brothers和English之間的關係。

② 路徑起點:Band of Brothers

③ 狀態:實體中的embedding

④ 動作:圖譜中的關係;

⑤ 獎勵:

  • Binary,是否到達終點

  • 路徑長度

  • 路徑多樣性

⑥ 策略網絡:使用全連接網絡。

DeepPath方法仍然存在一些缺陷:知識圖譜本身的不完善很可能對路徑查找造成影響。

基於此,研究者提出了更加開放的知識圖譜補全方法,在路徑查找過程中,通過抽取關係,將缺失的路徑補全。

圖片

上圖中,任務是查找Barack_Obama爲哪個組織工作。在原圖譜中,John_McCain和Rudy_Giuliani之間的路徑是斷的;通過弱監督的方式,從原文本中訓練出一個關係抽取器,通過這個關係抽取器將缺失的關鍵路徑補充完整。至於是否有必要做路徑補充,以及哪一條路徑需要補充,則是強化學習中策略選擇的工作。

下面介紹一下該模型中的一些細節:

圖片

模型包括兩個部分:

① 關係抽取(Extractor):使用PCNN-ATT,將文本輸入到模型中,可預測出一部分關係;將原圖譜中存在的關係和根據預測出來的關係結合,豐富了實體間的關係網絡,擴大了當前節點的關係選擇範圍。

② 關係推理(Reasoner):基於RNN神經網絡的推理,將節點當前狀態和當前節點可能存在的關係注入到模型中,從而判斷推理路徑。

4. 基於推理規則的方法

知識推理是針對知識的一項重要應用,很自然的會考慮將其應用在知識補全中;與路徑查找不同,知識推理更側重於對邏輯規則本身建模。

傳統的推理規則挖掘方法搜索空間龐大,會導致搜索速度慢。針對這一缺陷,有兩類不同的優化方案:

  • 推理規則與embedding結合

  • 神經網絡模型與傳統的推理模型結合

首先介紹推理規則與embedding結合的方法:

圖片

訓練知識圖譜的embedding的時候,可能會存在很多長尾的實體或關係,會使模型的訓練變得不可靠;而單純使用規則進行推理,挖掘規則本身是個搜索空間非常大。因此結合以上兩項工作,互相彌補各自優缺點。對於長尾的實體或關係,用規則進行擴充;對於搜索空間很大的規則來說,藉助embedding轉換成向量計算,大大降低計算量

這種方法的input是個Knowledge Graph,通過該Graph訓練出一個embedding;選取一些已有規則(如自反規則、傳遞規則、逆轉規則等7種規則,如下表所示),對知識圖譜中的已有規則進行擴展,進而生成命題:

  • 針對每個關係,利用它周圍的實體與關係隨機獲取具體的命題(隨機抽取k個含有該關係的三元組,經證明k有一個可控上界)

  • 在整個圖譜中查找能夠支持命題的實例,如果能夠查到則保留。

圖片

命題形成後,可通過關係表達滿足度分數等指標來判斷命題是否成立;如命題成立,可將其落地到原知識圖譜中,形成可擴充的三元組,並根據命題分數和三元組的分數去計算每個三元組的置信度;將高置信度的三元組擴充回到知識圖譜中,訓練新的embedding,不斷迭代下去。

接下來介紹另一種優化方案——神經網絡模型與傳統的推理模型結合。這裏的傳統推理模型主要指馬爾可夫邏輯網。使用馬爾科夫邏輯網定義三元組的聯合分佈:

①假設:邏輯規則推理得到的三元組,與基於KG embedding獲得的三元組,分佈一致。

②基於以上假設,使用EM算法進行訓練:

  • E-step: 限定邏輯規則的權重,基於邏輯規則生成三元組,學習KGE模型權重。

  • M-step: 限定KGE模型,更新邏輯規則的權重

圖片

5. 基於元學習的方法

前面介紹的幾種方法,往往都需要大量的訓練數據;而在知識圖譜中,大量關係出現頻次很低(即長尾數據);而越是低頻的關係,越可能需要補全。爲了解決這樣的矛盾,有人提出了使用元學習方法。

圖片

傳統的機器學習,通常是基於訓練數據去學習一種“從數據到標籤的映射”;而元學習,學習的是“一種更高階的映射”,即從數據到函數的映射。(見上圖)

相較於傳統機器學習,元學習可以用較少的數據去完成學習任務。

問題定義:基於極少量的已知三元組,對缺失的三元組進行預測

圖片

以上表爲例,Training過程由幾個Task組成,每個Task面向不同的關係;對於每個Task,會有一個自己的訓練集和測試集(其中訓練集的數量會比較少);Testing過程中,會有很少標籤數量的訓練集,讓模型很好地在該標籤下工作。

元學習有兩種方法:

  • 基於度量的方法

  • 基於優化的方法

圖片

基於度量的方法:One-Shot Relational Learning for Knowledge Graphs。該方法直接對訓練數據和測試數據之間的關聯進行建模。

思路:利用知識圖譜背景知識對實體對編碼,進而讓模型能夠學習到含有相同關係的實體對間的相似性,並基於此判斷測試數據的實體對之間是否存在某關係。

圖片

基於優化的方法:Meta Relational Learning for Few-Shot Link Prediction in Knowledge Graphs。該方法用來訓練一個模型,該模型在很小的數據上可以快速收斂優化達到較好的效果。

與基於度量的算法相比,主要的區別:

  • 直接尋找預測一個實體對間是否含有某個關係所需要的核心信息

  • 不需要已有的知識圖譜作爲背景知識,具有更強的魯棒性

模型訓練的關鍵點:

  • 使用support set生成gradient meta協助快速學習relation meta

  • 使用query set結果的Loss更新模型參數

04

總結與展望

1. 小結

  • 基於知識表示的方法模型簡單清晰,但是可解釋性較差,並且難以對複雜的知識推理建模

  • 在知識圖譜中進行路徑查找可以進行更加複雜的知識推理,重點在於如何緩解大規模的圖譜中的路徑數量爆炸以及無用信息過多的問題

  • 基於推理的方法將邏輯規則與圖譜表示相結合,緩解了稀疏數據的表示學習問題,並且增強了邏輯規則的泛化能力

  • 元學習算法致力於解決知識圖譜補全中長尾關係的問題,讓模型在極少量訓練數據的情況下有快速適配的能力

2. 未來的方向

  • 概率化邏輯推理與知識表示結合,解決推理過程中的不確定性問題

  • 持續強化知識推理的可解釋性

  • 知識推理的可擴展性

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