自動化知識圖譜表示:從三元組到子圖


導讀:
知識圖譜是一種特殊的圖結構,它包含了語義信息與圖結構信息。它可以被應用在多個領域,如QA問答系統、推薦系統、新葯發現、股市預測等。現在無論是學術界還是工業界都陸續提出了自己的知識圖譜構建平台。第四范式也建立了低門檻、全流程的知識圖譜平台Sage Knowledge Base。今天的分享旨在從三元組到子圖的維度來介紹自動化知識圖譜表示學習的相關技術。

今天的介紹會圍繞下面四點展開:

  • 背景介紹:什么是知識表示學習
  • 重要方向:知識表示學習及AutoML
  • 模型設計:從三元組到子圖
  • 總結

▌背景介紹

首先和大家分享下知識表示學習的背景。

自動化知識圖譜表示:從三元組到子圖

知識圖譜是一種特殊的圖結構,它使用實體來表示自然界的物體或者抽象的概念,使用關系來建模實體之間的交互,其基本的存儲形式是(頭實體h,關系r,尾實體t)的三元組。知識圖譜是一個語義圖,它既包含語義信息又包含圖結構信息。

自動化知識圖譜表示:從三元組到子圖

知識表示學習旨在學習將知識圖譜中的符號(包括實體和關系)映射到一個低維的向量空間。其優點在於學習得到的向量是連續的,且可以發掘隱藏的性質。此外,在向量空間中計算相似度是十分高效的。

知識圖譜表示學習的整體框架如上圖所示。給定一個知識圖譜,我們將圖中所有存在的三元組作為正樣本,同時我們也需要在圖中采樣負樣本,我們需要保證負樣本不存在於知識圖譜中,通常的做法為將圖中存在的三元組的頭實體、尾實體、關系選擇至少一個進行隨機替換。得到正負三元組后,我們會設計一個模型對知識圖譜進行建模,通過循環迭代來優化損失函數,更新embedding以及模型參數。我們的優化目標是盡可能多地保留原圖中蘊含的信息。
自動化知識圖譜表示:從三元組到子圖

知識圖譜表示學習有以下幾個基本的任務:

  • 知識圖譜補全:這是目前業界關注最廣泛的任務,其針對圖譜中不存在的邊進行鏈接預測或者在圖譜中進行三元組分類任務;
  • 實體匹配:其目標是將兩個不同的知識圖譜中相同實體進行匹配。例如一個中文圖譜與另一英語圖譜中有一些詞語是同義的,那么我們可以進一步發掘兩張圖中其他詞之間的關系來判斷它們是否是同義的;
  • 實體分類:任務目標是預測實體的類別。例如在學術圖譜中判斷一篇文章屬於哪一個領域等。

自動化知識圖譜表示:從三元組到子圖

這里以鏈接預測任務為例展示知識圖譜表示學習的評估指標。對於給定的三元組(h,r,t),我們可以把頭實體或者尾實體替換為圖中所有的實體組成一個集合,那么評估任務就是得到模型經過打分排序后對正樣本的排名。評價指標有三類:mean rank (MR),mean reciprocal rank (MRR)以及Hit@K。三個指標的評估側重點不一樣。MR受離群值的影響較大,MRR更關注准確率,Hit@K更關注召回率。

▌重要方向:知識表示學習及AutoML

自動化知識圖譜表示:從三元組到子圖

知識圖譜表示學習由五個關鍵模塊組成。首先,我們需要定義一個打分函數對問題進行建模;然后,由於圖譜中只包含正樣本,那么負采樣的設計也十分關鍵;得到正負樣本之后我們需要定義一個損失函數;同時,為了避免模型過擬合,我們需要設計正則化項;最后,我們針對損失函數以及正則化項進行整體的模型優化。

自動化知識圖譜表示:從三元組到子圖

給定一系列三元組,我們需要對它們進行打分。目前有三類建模方法:基於三元組,直接對其進行打分;基於路徑,我們需要找到頭實體和尾實體的連接路徑,通過尋找到的一系列路徑進行推理;基於子圖,我們需要在圖譜中抽取包含頭實體與尾實體的子圖,然后根據子圖信息進行推理。

自動化知識圖譜表示:從三元組到子圖

負采樣的基本做法是對給定的正樣本(h,r,t),我們將頭實體或者尾實體隨機替換為圖中另外一個實體,並且這個新的三元組不存在於圖譜中。

自動化知識圖譜表示:從三元組到子圖

但是由於負樣本集合的數量十分龐大,進行簡單的隨機采樣會導致得到的負樣本質量較差。在2018年,學術界提出了基於對抗神經網絡的方法生成高質量負樣本,但是這一類方法的問題在於:我們需要單獨訓練一個生成模型來輸出負樣本,而且由於樣本是離散的,模型的學習過程需要基於強化學習。這兩大問題會導致整體模型的學習十分不穩定。

我們針對以上問題,提出一個將高質量負樣本存儲在緩存中的方法。在訓練過程中,負樣本的生成、抽取和更新是不斷進行的,保證模型能得到高質量負樣本的同時大幅提升訓練效率,且這一方法不需要額外訓練一個樣本生成模型。以上工作發表在ICDE 2019會議與VLDB-J 2021期刊上。

自動化知識圖譜表示:從三元組到子圖

模型需要平衡表達能力和復雜度。在知識圖譜中,由於embedding的參數十分龐大,我們必須考慮對模型進行正則化。正則化的通用方法有:將embedding的范數限制在小於1的范圍內;加入一個p范數的regularizer;增加針對embedding的dropout。

自動化知識圖譜表示:從三元組到子圖

模型參數可以通過隨機梯度下降的方法來進行優化。整個算法流程如上圖所示,我們首先在圖譜上抽取正樣本,並通過負采樣得到負樣本,隨后使用模型得到三元組的打分,最后基於包含正則化項的損失函數來更新embedding。模型優化過程中包含很多超參數,如學習率、初始化、batch size、dimension size、early stop等。

自動化知識圖譜表示:從三元組到子圖

超參數優化是我們一個重點研究的方向。大部分超參數優化算法每次迭代時在搜索空間中選取一組參數,在整個知識圖譜上評估模型效果,但這一算法費時費力。在今年的ACL會議中,我們提出了KGTuner。這是一個兩階段的超參數搜索優化算法。在第一階段,我們大幅減少了參數搜索空間,並且使得算法在一個采樣得到的子圖上評估模型效果。通過這一方法,我們可以在第一階段搜索中探索大量優質的超參數樣本,選取模型效果最好的top10超參數,作為第二階段fine-tune的候選集合。第二階段搜索優化的過程中我們會增加樣本的batch size和dimension size,並基於完整的圖譜來評估模型效果,最終確定最優的超參數。

自動化知識圖譜表示:從三元組到子圖

下面簡單介紹一下自動化機器學習AutoML。AutoML將搜索空間和搜索目標包裝成一個上層的優化問題,從而使得整個超參數優化問題可以轉化為一個Bi-level的優化過程。具體地,搜索空間定義了我們需要搜索的對象(如超參數、模型結構等),訓練目標位於優化問題的內層,搜索目標位於優化問題的外層,同時在搜索的過程中存在一些限制條件。

自動化知識圖譜表示:從三元組到子圖

不同知識圖譜的數據集數據分布差異較大,它們包含的關系種類也各不相同,例如關系種類可以分為:對稱性、反對稱性、相反性、非對稱性、組合性等。另外,知識圖譜的下游任務多種多樣,如邊預測、實體匹配、節點分類等。面對如此復雜的數據以及多樣的任務,如果我們想要進行統一的建模則需要豐富的專家知識才能完成,而AutoML可以幫助我們有效地降低建模的門檻。

自動化知識圖譜表示:從三元組到子圖

AutoML搜索優化的定義也可以一一對應於超參數優化的四個組成模塊:

  • 搜索空間:包含搜索超參數以及打分模型;
  • 搜索目標:基於排序的評價指標;
  • 訓練目標:損失函數;
  • 搜索限制條件:搜索的總時長。

AutoML也有很多待選擇的搜索算法。傳統的搜索算法有grid search, random search, 貪心算法,遺傳算法等。此外,我們還有一些基於模型的優化算法,如貝葉斯優化、強化學習、梯度下降算法等。

▌模型設計:從三元組到子圖

下面我來重點分享針對知識圖譜表示學習的模型設計。

1. 基於三元組的模型

在過去的十年間,業界提出了大量的打分函數來建模三元組,它們對三元組中存在的關系的捕捉側重點各有不同。我們先來介紹基於三元組的模型。

自動化知識圖譜表示:從三元組到子圖

首先是基於平移距離的模型。例如TransE以及它的衍生模型TransH和RotatE將三元組建模為頭實體經過關系r在一個向量空間中進行平移后得到尾實體,通過向量的距離差來設計模型的打分函數。TransH和RotatE解決了TransE在一對多與對稱關系中建模能力不足的問題。但是總體來說,基於平移距離的模型表達能力不足,導致其在邊預測任務中效果不盡如人意。

自動化知識圖譜表示:從三元組到子圖

隨着神經網絡的發展,如基於多層感知器(MLP)的模型、基於卷積神經網絡的模型(ConvE)以及基於遞歸神經網絡的模型(RSN)被業界提出,用來建模三元組的知識表示學習。但是,基於神經網絡的模型通常較為復雜並且難以被訓練。

自動化知識圖譜表示:從三元組到子圖

最后一類是雙線性模型,它們也是基於三元組的知識表示學習中效果最好的一類。雙線性模型的表達能力強且模型復雜度不高。2011年被提出的RESCAL便是一個典型的雙線性模型。通俗來說,線性模型是一個矩陣乘以一個向量,而雙線性模型則是則一個矩陣兩側分別左乘和右乘一個向量(頭實體向量和尾實體向量),最后得到一個標量來作為三元組的得分。RESCAL的relation矩陣的維度是D×D,其包含的參數過多,從而導致模型的過擬合。

自動化知識圖譜表示:從三元組到子圖

為了解決過擬合問題,DistMult將relation矩陣限制為一個對角矩陣。但是DistMult的打分函數滿足交換律,導致其不能建模一些非對稱的關系。

自動化知識圖譜表示:從三元組到子圖

為了方便統一建模雙線性模型,DistMult可以拆分為上圖所示的表達形式。例如,我們將頭實體和尾實體向量都分為四份,那么DistMult可以被分解為四組內積相加的形式。

自動化知識圖譜表示:從三元組到子圖

為了解決DistMult不能建模非對稱關系的問題,ComplEx將實體向量與關系矩陣所在空間從實數空間轉換為復數空間。那么由於復數乘法的不對稱性,ComplEx可以建模非對稱的關系。

自動化知識圖譜表示:從三元組到子圖

同理,我們也可以對ComplEx進行類似於DistMult的拆分,寫成四組實部內積之和和四組虛部內積之和的形式。事實上,對於所有基於雙線性建模的模型,我們都可以將其拆分為類似的表達形式,具體細節這里就不再展開,感興趣的同學可以通過查看對於論文來進行了解。

自動化知識圖譜表示:從三元組到子圖

以上所有雙線性模型的不同之處在於對於relation矩陣的建模方式各有差異。雖然每一個模型都具有很好的表達能力,但是針對多種多樣的下游任務,它們每一個都無法在所有任務中優於其他同類型方法,導致其泛化能力不足。基於雙線性模型的表達形式以及之前方法存在的問題,我們提出了AutoSF,旨在自動化搜索relation矩陣的建模方法,從而達到統一建模的目標。

自動化知識圖譜表示:從三元組到子圖

對搜索問題的定義如上圖所示。考慮到雙線性模型的差異在於relation矩陣的不同形式,所以我們把問題抽象為:對於一個K×K的relation矩陣,每一個元素我們可以在-K,…0,…K這(2K+1)個數字中選擇一個來進行填充。給定搜索空間,我們每次在搜索空間中選取一個結構(即一個relation矩陣),它對應於一個打分函數;基於這個打分函數我們可以訓練一個模型,並在驗證集中使用評估函數衡量模型效果;得到的結果傳遞至優化器,旨在在搜索空間中選取在驗證集中能得到更好的效果的結構。通過循環迭代,最終得到最優的打分函數。搜索空間十分龐大,大小為
自動化知識圖譜表示:從三元組到子圖
如果我們對每一個候選元素進行訓練與評估,那么其開銷是不可接受的,所以AutoSF及其改進版本AutoSF+分別設計了兩種算法來優化搜索效率。

自動化知識圖譜表示:從三元組到子圖

在AutoSF中我們提出了漸進式的搜索算法。以上圖為例,首先我們搜索在測試集中表現最好的relation矩陣,且限制其僅含有四個非零元素;在此基礎上,每次迭代我們進一步增加非零元素的個數,並搜索對應條件下評價指標最好的relation矩陣。漸進式算法的靈感來源於我們希望保證每次對效果最好的relation矩陣進行微調,從而使其逐漸地找到最優結構。但是,漸進式搜索算法屬於貪心算法,容易得到局部最優解。為了解決這個問題,我們在AutoSF+中提出了基於遺傳算法的搜索模式。具體地,我們可以在每次迭代時使用變異和交叉操作對矩陣進行修改,然后在所有修改的矩陣中保留一部分性能較好的矩陣,最終找到更好的relation矩陣。一般來說,這一算法相較於漸進式算法會更加靈活。

自動化知識圖譜表示:從三元組到子圖

同時,在選取矩陣的過程中我們會考慮領域的性質。我們設計一個過濾器來減少冗余評估。比如,包含全零行或者全零列的矩陣不需要被評估;某些矩陣之間是等價的,我們僅需保留其中一個矩陣進行評估即可。此外,在文章中我們證明了矩陣的對稱性是模型是否可以全面表達知識圖譜的重要性質。所以,我們定義了一個基於relation矩陣的對稱性來進行模型性能預測的預測器,它通過矩陣中包含的對稱性相關特征,使用兩層MLP對模型性能進行打分。

自動化知識圖譜表示:從三元組到子圖

實驗結果表明雙線性模型比基於平移距離的模型與基於神經網絡的模型效果更好。此外,對於每一組雙線性模型,在不同數據集下的表現均有所差異,不存在絕對的勝者。而AutoSF通過搜索算法在不同數據集中都可以得到最優的效果。我們對搜索到的結構進行了可視化,如上圖所示。可以觀察到,AutoSF搜索到的最優關系結構在不同數據集下各不相同,這證明了我們的方法達到了data dependent的目標。
最后對基於三元組的知識圖譜表示學習進行簡單的總結。雙線性模型是基於三元組的建模方法中效果最好的。AutoSF(+)是一個基於AutoML的雙線性打分模型,其搜索空間是統一表達形式下的雙線性模型,它們可以保證模型擁有出色的表達能力。AutoSF(+)使用了漸進式以及基於遺傳算法的搜索算法,並設計了過濾器和預測器來引入領域屬性特征,進一步提升模型結構搜索性能。相關文章發表在了ICDE 2020會議以及TPAMI 2022期刊中。

2.基於關系路徑的模型

下面來介紹一下基於關系路徑的模型。

自動化知識圖譜表示:從三元組到子圖

三元組的表達能力有限,如果我們可以將三元組中的頭實體和尾實體通過圖中一條路徑進行連接,那么我們就可以得到更加豐富的信息。首先,三元組本身會被保留在路徑之中;其次,路徑可以表達更復雜的關系;此外,路徑中還包含了多個三元組之間的長鏈信息。

自動化知識圖譜表示:從三元組到子圖

PTransE基於TransE做了拓展,將三元組改造為一系列由多個關系組合而成的路徑。類似於TransE,頭實體和尾實體之間的關系可以使用平移向量之和來表達。具體公式如上圖所示。但是,與TransE存在的問題一樣,它無法解決一對多與對稱關系,所以PTransE的建模效果一般。

自動化知識圖譜表示:從三元組到子圖

RSN(Recurrent Skipping Network)使用RNN來建模路徑,其中實體節點加入了skip connection結構,最終輸出對應的實體與關系embedding。RSN可以很好地建模長期信息,但它很難有效地捕捉三元組內部的語義信息。

自動化知識圖譜表示:從三元組到子圖

為了解決前述方法的缺陷,我們提出了Interstellar模型。我們以每個三元組為單位將路徑進行切分。針對每個三元組,我們可以對模型的建模結構進行搜索。如果我們將三元組之間的路徑斷開,那么模型就可以退化為基於三元組的建模方式;如果我們將路徑中間每個三元組的尾實體去除(輸入0向量),那么模型就退化為PTransE(只建模關系向量表達)。通過這一策略,我們可以使得模型自動化地捕捉路徑中包含的不同語義信息與性質。

自動化知識圖譜表示:從三元組到子圖

與AutoSF相同,我們需要對模型的搜索算法進行設計。若我們直接采用AutoSF的搜索算法,將每一組新的結構配置對應的模型進行一次完整的訓練(stand-alone)則會有很高的代價,但是這一做法的好處是可以得到精准的模型評估結果。相對地,基於one-shot的方法會共享已經訓練好的模型參數,使得這一類型的搜索算法十分高效,但是代價是只能得到不可靠的模型評估結果。我們的算法吸收了這兩類算法的優點,在宏觀層面(connection、combinators)使用stand-alone的方法得到對模型結構配置的准確效果評估,而在微觀層面(activation、weight matrix)使用one-shot的方法得到高效的模型評估結果。

自動化知識圖譜表示:從三元組到子圖

自動化知識圖譜表示:從三元組到子圖

在實體匹配任務中,經過對比實驗我們可以發現Interstellar相較於其他基礎模型都有很大的性能提升;在不同的數據集上,我們的模型也對三元組建模了完全不同的結構配置。在鏈接預測任務中,我們觀察到WN18-RR數據集中一跳的關系較多,而相對的在FB15k-237數據集中兩跳關系的占比較高。Interstellar最終給出的三元組結構搜索結果也很好地體現了這一特點,可視化圖示如上所示。以上結果佐證了我們所提出的模型的建模結果與數據具有強相關性,且模型針對結構搜索的設計對最終性能的提升有着關鍵作用。
在這里,我對基於關系路徑的建模方法做一個總結。首先,基於關系路徑的方法與基於三元組的方法相比蘊含了更多的信息。我們提出了Interstellar,它是一個基於神經網絡結構搜索的算法,可以遞歸地處理路徑中實體之間的關系。搜索空間分為宏觀搜索空間(connections以及combinators算子)與微觀搜索空間(activations以及weighting matrices);搜索算法利用了stand alone與one-shot方法中各自的優點,設計了一種混合式的搜索算法。以上工作發表在了NeurIPS 2020會議中。

3.基於圖神經網絡的模型

自動化知識圖譜表示:從三元組到子圖

最后一類方法是基於子圖的圖神經網絡(GNN)模型。圖神經網絡近些年在包含圖結構的數據中展現了強大的表達能力。在知識圖譜表示學習領域,最近也有不少模型嘗試將GNN運用至圖譜的子圖中。
R-GCN、CompGCN、KE-GCN三種方法都是以淺層的embedding作為模型輸入,使用關系型GNN進行節點聚合得到高層embedding,再通過TransE、ConvE等打分函數來得到最終得分。但是這類型方法需要加載完整的知識圖譜,導致其可擴展性較差;另外,這類模型依賴於打分函數,且使用GNN后對模型最終效果的提升有限。

自動化知識圖譜表示:從三元組到子圖

2020年業界提出了GraIL模型,它基於給定的頭實體與尾實體將包含它們的子圖從原圖譜中抽取出來,隨后基於節點與頭尾實體的距離進行entity labeling,最后使用GNN對子圖進行消息傳遞與更新。最終我們可以得到以頭實體與尾實體組成的三元組的打分。GraIL不需要經過訓練的embedding就可以做歸納式推理,這就使得其對於未知節點也可以使用圖結構進行打分,但是子圖的抽取與子圖中節點標簽的生成的時間復雜度較高。

自動化知識圖譜表示:從三元組到子圖

基於前述模型的缺點,我們提出了RED-GNN的模型。首先,我們利用關系路徑,將圖中得到的路徑增強至同一長度,具體做法是引入了identity關系;隨后,我們將所有路徑進行堆疊,得到一個關系子圖(有向圖,保留了信息的傳播方向)。

自動化知識圖譜表示:從三元組到子圖

由於關系子圖中層與層之間的路徑存在overlapping,我們可以利用動態規划的方式來一次性建模所有共有相同頭實體的關系子圖。如上圖所示,左側是傳統的GNN計算方法,我們需要對每一個關系子圖進行單獨的計算,而右側展現了RED-GNN的計算方法,我們可以使用遞歸計算與並行計算,使得GNN一次性建模多個關系子圖。GNN的信息聚合是基於實體之間的關系信息,並且采用了attention機制進行自適應融合。

自動化知識圖譜表示:從三元組到子圖

上圖展示了對比實驗的結果。RED-GNN是一個純粹使用子圖結構的模型,並沒有使用實體embedding,所以它同時適用於transductive以及inductive的推理。從實驗結果中我們可以發現,即使模型沒有使用任何embedding信息,它的效果依然優於絕大部分方法。由於模型的參數量較少,且設計了基於動態規划的算法,RED-GNN的計算效率相較於GraIL有了很明顯的提升。
現在我來對基於GNN的方法進行總結。首先,單純將GNN經過少量修改使用到知識圖譜表示學習中的效果並不理想。我們提出了RED-GNN模型,通過對於子圖結構進行基於GNN的學習,在transductive與inductive推斷中均取得了SOTA的效果。我認為知識圖譜中的子圖學習是一個很有潛力的研究方向,目前該方法面臨着計算效率的挑戰。

▌總結

今天我們針對知識圖譜表示學習領域介紹了三類模型:

  • 基於三元組的模型:側重於建模具有對稱性或相反性的語義,但它無法建模結構信息且可解釋性較差。其優勢在於計算效率高,在實際落地中應用較為廣泛;
  • 基於關系路徑的模型:側重於建模復合語義,可以建模序列型結構信息,使用簡單邏輯規則來達到可解釋性的效果。這一類模型的計算復雜度依賴於路徑的數量;
  • 基於子圖的模型:側重於建模高階語義,可以建模拓撲結構信息,使用復雜邏輯規則來達到可解釋性的目標。這一類模型的計算復雜度由抽取的子圖決定。

使用AutoML設計模型結構可以大幅提升知識圖譜表示學習的性能,但是在使用這一方法時,我們需要針對搜索空間與搜索算法考慮領域的先驗知識與性質。
未來我們可以從以下四個方面來繼續探索知識圖譜表示學習:
將GNN的結構設計轉變為一個自動化的流程;

  • 在超大規模知識圖譜中達到高效的推理;
  • 在動態或者事例(event)知識圖譜中完成推理;
  • 將知識圖譜表示學習運用至更廣泛的領域,例如生物、金融等。

▌Q&A

  1. 知識圖譜中存在一些長尾的關系,針對這些關系我們應該如何設計算法來更好地學習它們?

我們在實踐中發現通過AutoML可以緩解長尾關系欠學習的問題。因為AutoML的評估方式可以間接地增加那些學習得不好的關系樣本的權重,從而使得優化模型結構設計時考慮到這些長尾關系的學習效果。事實上,這就類似於upsampling的方式。此外,可考慮通過小樣本學習的方式更有針對性地去學習長尾關系。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM