冉丈杰,孫林夫,鄒益勝,馬玉麟
(1.西南交通大學 計算機與人工智能學院,成都 611031;2.西南交通大學 制造業產業鏈協同與信息化支撐技術四川省重點實驗室,成都 611031)
知識圖譜(Knowledge Graph,KG)是一種新興的有向圖數據結構,其中蘊含了豐富的多元關系數據,已經廣泛應用于人類生活的各個領域。Freebase[1]、YAGO[2]、WordNet[3]、NELL[4]、Wikidata[5]等現有知識圖譜都包含了大量由事實構成的三元組,這些三元組通常以(頭實體,關系,尾實體)的形式表示,即(h,r,t)。在現實生活中,知識圖譜已在信息提取[6]、語義搜索[7]、智能問答[8]、個性化推薦[9]等任務中發揮了重要作用。然而由于多數知識圖譜中實體間的關系是不完整的,因此有必要通過推斷新的事實來進行知識圖譜補全(Knowledge Graph Completion,KGC),從而提高知識圖譜的利用價值。
知識圖譜G 可以表示為三元組集合的形式{(h,r,t)}?E×R×E,其中,E 和R 分別表示實體集合與關系集合。知識圖譜補全任務包括給定頭實體h和關系r預測尾實體t、給定頭實體h和尾實體t預測關系r、給定關系r和尾實體t預測頭實體h等3 類。與一般的知識圖譜補全任務不同,小樣本知識圖譜補全任務在參考樣本很少的情況下進行,即在給定關系r?R 的參考樣本很少的情況下,補全(h,r,?)缺失的尾實體t?E。
近年來,知識圖譜嵌入(Knowledge Graph Embedding,KGE)方法被證明對知識圖譜補全任務非常有效[10]。但由于知識圖譜的自身特性,知識圖譜中普遍存在一些出現次數很少的關系,即小樣本關系。對于現實世界中知識圖譜的小樣本關系而言,在有限的訓練實例中無法有效地學習它們的表示,這導致知識圖譜嵌入方法在小樣本知識圖譜補全任務中的效果不理想。然而,對這些低頻關系的鏈接預測是非常重要的,因為這些關系不僅在多數知識圖譜中非常豐富,而且對于模型訓練后可能出現新關系的知識圖譜補全任務也非常關鍵[11]。因此,針對小樣本知識圖譜補全的研究逐漸成為熱點。
在知識圖譜中,往往還存在以下兩種現象:同一實體在不同關系的三元組中可能具有不同的語義角色;同一名稱的關系在不同的三元組中也可能具有不同的細粒度語義。這兩種現象在常規的知識圖譜補全任務中并不會造成過多的影響,因為其具備足夠的訓練實例,但在小樣本知識圖譜補全任務中,卻會極大地影響補全效果。
為解決小樣本知識圖譜補全的問題,本文首先選擇小樣本關系的三元組作為參考集,對每個三元組的頭尾實體進行鄰域編碼,之后結合Transformer編碼器與長短期記憶(Long Short-Term Memory,LSTM)神經網絡學習小樣本的關系表示,最后將其與待查詢的三元組進行匹配,基于優化的得分函數實現匹配打分,從而完成小樣本知識圖譜補全任務。
近年來,基于知識圖譜嵌入技術,研究者們從表示學習的角度,對大規模知識圖譜補全任務進行了廣泛的研究。知識圖譜嵌入通過發現知識圖譜中即有事實的潛在特征,學習實體和關系的分布式表征,從而實現知識圖譜補全任務。經典的TransE[12]將關系視為實體對之間的轉換操作,以測試三元組的兼容性。TransH[13]在TransE 的基礎上,將實體嵌入到給定的不同關系的超平面上,賦予實體不同的表示形式。受此啟發,TransR[14]將實體嵌入到多種關系并存的空間中,以此獲取實體的表征。DistMult[15]利用雙線性對角矩陣,對知識圖譜內的關系進行嵌入表示的學習。ComplEx[16]將實體和關系嵌入復數向量空間,以處理并推斷對稱和反對稱關系的問題。ConvE[17]、ConvKB[18]以及CapsE[19]都是利用卷積神經網絡的思想,捕捉實體的特征和關系。KGBN[20]考慮同類實體之間所涉及關系的依賴性,基于KGBN 推理構造新的三元組以補全知識圖譜。四元數膠囊網絡[21]將四元數嵌入模型QuaR[22]訓練得到的超復數嵌入作為膠囊網絡嵌入模型CapsE 的輸入,捕獲三元組全局特性,取得了更高的預測準確性。
然而,這些方法都需要大量的訓練實例,忽略了實際知識圖譜中存在的長尾關系以及動態更新特性,因此無法提供足夠的訓練實例。
為了在樣本關系較少的知識圖譜中實現知識圖譜補全任務,近年來多種小樣本知識圖譜補全模型陸續被提出。作為一種單樣本學習模型,GMatching[23]利用鄰域編碼器來增強單跳鄰域的實體嵌入,并利用LSTM 單元計算匹配分數,以得到不同實體 對之間 的相似 性。FSRL[24]將GMatching 推廣到多樣本情況,進一步利用注意力機制捕捉小樣本在知識圖譜中的局部結構。這兩種模型都屬于度量學習的范疇。元關系學習框架MetaR[25]在任務之間提取共享知識,并將其從一系列現有事實轉移到不完整的事實上,利用模型不可知元學習(Model-Agnostic Meta-Learning,MAML)快速適應策略網絡參數或關系元。FAAN[26]通過學習自適應實體和參考表示,引入一種自適應注意力網絡,主要由一個自適應鄰域編碼器與一個自適應查詢感知聚合器構成。GANA[27]采用一種全局-局部兩階段的框架進行小樣本關系學習,在全局階段利用門控機制過濾噪聲鄰域,在局部階段設計一種基于元學習的TransH(MTransH)方法來對一對多(1-N)、多對一(N-1)甚至多對多(N-N)的復雜關系進行建模。
然而,現有的小樣本知識圖譜補全模型仍存在一些問題。GMatching 由于提出時間較早,只考慮對單樣本進行學習,無法針對多樣本的關系進行建模。FSRL 更多地關注相似性或路徑發現,而不是學習小樣本參考最為核心的關系表示的信息。MetaR 基于元學習的方法傳遞特定關系元所包含的信息,但忽略了鄰域中的相關語義。FAAN 在學習關系表示的過程中,只對參考集中每個樣本自身的關系進行建模,未考慮參考集上下文語義對關系表示的影響。GANA 學習特定關系的超平面參數來建模復雜關系,但同樣忽略了實體對語義對關系建模的影響。總體而言,現有的小樣本知識圖譜補全模型片面地關注相似性或元學習過程,未能從細粒度的上下文語義層面對小樣本關系進行深入研究。
針對上節所述問題,提出一種基于關系學習網絡的小樣本知識圖譜補全模型FRLN,該模型通過融合路徑發現與上下文語義,最終達到有效提取小樣本關系表示的目的。模型主要由鄰域聚合編碼器、關系表示編碼器、匹配計算單元等3 個部分組成,如圖1 所示。由圖1 可以看出,模型輸入包括由K個小樣本關系的三元組構成的參考集以及待查詢的三元組,參考集中的每一個三元組以及待查詢的三元組依次經過鄰域編碼與關系表示兩步操作,然后利用所有得到的關系表示進行匹配計算,最后輸出查詢三元組與參考集之間的匹配得分。需要注意的是,輸入的參考集與查詢三元組具有相同的小樣本關系r。

圖1 小樣本知識圖譜補全模型結構Fig.1 Structure of few-shot knowledge graph completion model
文獻[23]研究表明:顯式地編碼圖譜局部結構(即一跳鄰域)有利于關系預測。因此,考慮不同關系的鄰域對實體的動態影響,將基于注意力機制的鄰域聚合編碼器用于識別與當前實體更為相關的鄰域,如圖2 所示。

圖2 鄰域聚合編碼器結構Fig.2 Structure of neighbor aggregation encoder
在給定關系r的小樣本參考/查詢集中,取一個三元組(h,r,t),以頭實體h為例,設h的一跳鄰域為Nh={(ri,ti)|(h,ri,ti)?G′},其中,G′是背景知識圖譜,ri和ti分別表示h的第i個鄰域關系及對應的尾實體。為了量化h的特征輸出,首先使用一個雙線性點積函數Φ來計算參考關系r和鄰域關系ri之間的相關性,可表示如下:
其中:r和ri?Rd×1為嵌入表示向量,可使用隨機初始化向量或預訓練向量;W?Rd×d和b?Rd×1均為模型的可訓練參數;LeakyReLU(?)為非線性轉換的激活函數。
然后使用Softmax 機制對相關性得分進行規范化,并基于規范化的權重系數對ti進行加權求和,計算出基于注意力機制的頭實體h的鄰域感知嵌入向量hc,可表示如下:
其中:αi為權重系數;ti?Rd×1為鄰域尾實體的嵌入向量。
為了增強實體嵌入,同時考慮h及其鄰域感知嵌入向量hc的存在,得到最終的鄰域編碼輸出hn,可表示如下:
其中:σ為激活函數,如Tanh、ReLU 等;W1和W2?Rd×d同樣是模型的可訓練參數。
至此,得到了h經過鄰域聚合編碼器處理后的輸出嵌入向量,該輸出不僅保留了h自身原有的特性,同時融合了h在不同鄰域關系中所表現出的屬性。
在得到了增強的實體嵌入向量后,需要進一步對實體對進行關系表示編碼。文獻[26]針對每個實體對分別使用Transformer 編碼器生成關系表示的嵌入向量,但忽略了各個實體對在上下文語義中受到的影響。受R-TLM[28]結構的啟發,本文基于調整后簡化的R-TLM,對Transformer 編碼器做出改進。
為了利用LSTM 長程表示的互補性,同時進一步學習路徑發現與上下文語義之間的潛在規律,在每個Transformer 編碼器的輸出后添加一個LSTM 單元,并將每個LSTM 單元輸出的隱藏狀態進行殘差連接,即將LSTM 的輸入與輸出相加,以此作為每個編碼器最終的輸出。同時,將每個實體對內以及實體對間的LSTM 單元串聯起來,形成一個LSTM 神經網絡,以此學習實體對間的上下文語義表征。整個關系表示編碼器的結構如圖3 所示。

圖3 關系表示編碼器結構Fig.3 Structure of relation representation encoder
基于上述關系表示編碼器,對每個實體對進行關系表示編碼。令X=(xh,xr,xt)為三元組(hk,r,tk)在關系表示編碼器中的初始輸入,其中,xh是頭實體的鄰域編碼,xr是參考關系的嵌入向量,xt是尾實體的鄰域編碼。為了方便表示,取每一個三元組的xh、xr、xt?xi,首先,將xi加上自己的位置嵌入向量作為關系表示編碼器的實際輸入,可表示如下:
其中:xi,pos為位置嵌入向量,可采用常見的正弦位置嵌入。由三元組元素個數可知,每個實體對的位置嵌入長度為3。然后,基于構造出的所有待輸入后續結構的向量表示,將其輸入關系表示編碼器對實體對進行編碼,計算過程如下:
其中:Transformer(?)表示Transformer 編碼操作,主要包括多頭注意力(Multi-Head Attention,MHA)、前饋網絡(Feed-Forward Network,FFN)以及殘差連接與標準化等步驟,允許每個元素都注意到序列中不同權重的其他元素,這里Transformer 編碼器的詳細結構 參考文獻[29];LSTM(?)輸入中 的xi,1即為當 前Transformer 編碼器輸出的隱藏狀態,hi-1為前向LSTM 單元輸出的隱藏狀態,經過當前LSTM 單元處理后得到的隱藏狀態xi,2最終與xi,1進行加和連接,即得到關系表示編碼器的最終輸出xi,3。最后,對于每個輸入到關系表示編碼器中的實體對,都將會得到由3 個輸出向量構成的序列X3=(xh,3,xr,3,xt,3)。
在小樣本知識圖譜補全任務中,為實現關系表示這一核心的目標,往往更關注于關系r的編碼表示,因此將序列X3的中間元素xt,3作為當前實體對關系表示編碼的核心輸出向量,該向量能對每個實體對的語義角色進行編碼,從而表示出小樣本參考集中不同實體對自身的細粒度語義。
在小樣本知識圖譜補全任務中,為最終實現對(h,r,?)的尾實體的預測,還須進行匹配計算操作,如圖4 所示。

圖4 匹配計算單元Fig.4 Matching calculation unit
首先,根據不同環節的需要構造出待查詢的三元組(hQ,r,tQ)后,同樣將該三元組經過鄰域聚合編碼以及關系表示編碼等操作,得到該查詢實體對的關系表示rq。此外,取rk為每個參考實體對的關系表示,即每個關系表示編碼器輸出序列的中間元素。考慮參考關系r的不同語義,定義函數Ψ用于計算rq與rk之間的語義相似性,可表示如下:
然后,為了動態學習參考關系r的表示,同樣引入Softmax 機制計算注意力權重,以最終獲取當前小樣本參考集在該查詢實體對語義下的動態參考關系表示rm,可表示如下:
其中:βk為規范化的各個參考關系表示的注意力權重;rk為第k個參考實體對的關系表示。由于rq與rk是關系表示編碼器的輸出,能夠區分不同實體對的細粒度語義,因此rm也能夠動態地對參考關系進行表征。
最后,利用查詢關系表示rq與動態參考關系表示rm,在參考關系r下與計算查詢實體對(hQ,tQ)與小樣本參考集之間的語義相似性得分s1,可表示如下:
其中:?表示相似性運算符,可采用點積、余弦相似度或歐氏距離等。s1值越大,說明在參考關系r下查詢實體對(hQ,tQ)與小樣本參考集之間相似性越大,查詢三元組成立的可能性越大,反之越小。此外,考慮平移模型TransE 對h+r≈t的期望,追加平移得分s2,若(hq,rq,tq)為查詢實體對(hQ,tQ)經過關系表示編碼器后的輸出序列,則s2可表示如下:
其中:‖x‖2表示向量x的L2范數,s2實際上就是hq+rq與tq之間的距離。由于s2越小,查詢三元組成立的可能性越大,因此綜合考慮s1和s2,針對待查詢實體對(hQ,tQ)的最終匹配得分s可表示如下:
其中:δ為調整因子。
對于所有待查詢的三元組,計算出最終匹配得分s并進行排序,以此開展后續計算相關評價指標的工作。
模型訓練在元訓練集Tmtr上進行。Tmtr中每個任務Tr的執行方式為:對于待查詢的小樣本關系r,從G 中隨機抽取k個正例實體對作為參考集Rr={(hk,tk)|(hk,r,tk)?G},剩余的正例實體對作為正例查詢集Qr={(hQ,tQ)|(hQ,r,tQ)?G ∩(hQ,tQ)?Rr}。此外,還須構造負例實體對作為負例查詢集,通過錯誤的隨機替換tQ生成。至此,總損失函數可表示如下:
其中:[x]+=max(0,x)是標準Hinge 損失;γ是Margin超參數;分別是正例實體對(hQ,tQ)和負例實體對與Rr中對應小樣本參考集之間的匹配得分。
采用文獻[24]中提出的基于批量抽樣的元訓練過程,將Tmtr中的每個關系作為一個元訓練任務,為了在最小化L 的同時優化模型參數集Θ,使用Adam[30]優化器對模型進行優化,并對Θ施加L2 正則化以避免過擬合,目標函數可表示如下:
FRLN 模型訓練過程的算法描述如下:
算法1FRLN 訓練過程

在實驗過程中使用文獻[23]構建的兩個數據集NELL-One 和Wiki-One,分別在原始數據集中選擇三元組數目大于50 但小于500 的關系作為小樣本關系,其余與這些三元組相關的關系構成背景知識圖譜,兩個數據集的統計數據如表1 所示。NELL-One和Wiki-One 上的訓練、驗證、測試的任務關系數分別是51、5、11 以及133、16、34。

表1 數據集統計情況 Table 1 Statistics of datasets 單位:個
FRLN 模型使用PyTorch 框架實現,并在具有CUDA 加速功能的實驗設備上進行實驗以提升實驗效率。實驗中選擇的小樣本數K=5,預訓練嵌入模型選擇經典的TransE 模型,在NELL-One 上進行實驗的相關參數為:嵌入維度d=100,批處理大小b=128,學習率l=5×10-5,Margin 超參數γ=5.0,正則項系數λ=0,熱身步數設置為1 000,訓練次數設置為3 000;在Wiki-One 上進行實驗的相關參數為:嵌入維 度d=50,批處理大小b=128,學習率l=6×10-5,Margin 超參數γ=5.0,正則項系數λ=1×10-4,熱身步數設置為1 000,訓練次數設置為6 000。
3.3.1 實驗設計
在知識圖譜中,鏈接預測可表示為預測一個三元組缺失的實體或關系。小樣本的鏈接預測特指僅參考K個小樣本關系的三元組來預測另一個三元組缺失實體或關系。此外,小樣本鏈接預測還有一個重要特性,那就是進行訓練和測試的任務集是不相交的,即訓練集中不包括測試集含有的關系,這增加了小樣本鏈接預測的難度。如上文所述,針對正例查詢集Qr以及負例查詢集,計算出其中每個待查詢三元組的得分之后進行排序,從而進一步開展性能評估工作。
3.3.2 評價指標
實驗采用平均倒數排名(MRR)以及排名前n的比例(Hits@n)作為評價指標。MRR 指的是正確答案排名倒數的平均值,MRR 值越大,說明模型性能越好;Hits@n指的是正確答案排在前n位的概率,同樣是值越大,模型性能越好,實驗中n取1、5 和10。
3.3.3 結果分析
根據上文參數設置,分別在NELL-One 以及Wiki-One 數據集上進行小樣本鏈接預測實驗,并計算評價指標。同時,與現有 的FSRL[24]、MetaR[25]、FAAN[26]、GANA[27]小樣本知識圖譜補全模型進行對比,對比數據均來自原文獻,最終的實驗結果分別如表2、表3 所示,其中最優指標值用加粗字體標示。

表2 NELL-One 數據集上的實驗結果 Table 2 Experimental results on the NELL-One dataset %

表3 Wiki-One 數據集上的實驗結果 Table 3 Experimental results on the Wiki-One dataset %
由表2、表3 中的數據可以看出,FRLN 在各個評價指標上均取得了最優的實驗結果。
在同一數據集上對比FRLN 的每項評價指標以及4 種基線模型中該項評價指標的最優值,可以看出:在NELL-One 數據集 上,FRLN 的MRR 提升了15.4 個百分點,Hits@10 提升了9.7 個百分點,Hits@5提升了8.2 個百分點,Hits@1 提升了5.5 個百分點;在Wiki-One 數據集 上,FRLN 的MRR 提升了13.7個百分 點,Hits@10 提升了8.4 個百分 點,Hits@5 提升了7.1 個百分點,Hits@1 提升了8.1 個百分點。綜上,FRLN 在兩個數據集上較基線模型中所有評價指標的最優值平均提升了9.5 個百分點。
在同一數據集上對比FRLN 以及每個基線模型的4 個評價指標的平均值,可以看出:在NELL-One數據集 上,FRLN 較FSRL 提升了11.6 個百分 點,較MetaR 提升了17.9 個百分點,較FAAN 提升了16.5 個百分 點,較GANA 提升了9.7 個百分 點;在Wiki-One 數據集 上,FRLN 較FSRL 提升了19.1個百分點,較MetaR 提升了12.4 個百分點,較FAAN 提升了10.3 個百分點,較GANA 提升了9.8 個百分點。
根據上述結果分析可知:FRLN 較FSRL 性能更優,表明FRLN 的關系表示編碼器充分考慮上下文語義,比FSRL 中單獨的LSTM 神經網絡更能有效提取小樣本的關系表示;FRLN 較MetaR 性能更優,表明FRLN 的度量學習方式在網絡結構設計合理的前提下,比MetaR 使用的MAML 框架更能勝任小樣本關系學習任務;FRLN 較FAAN 性能更優,表明FRLN 的關系表示編碼器兼顧路徑發現與上下文語義,彌補了FAAN 中獨立的Transformer 編碼器在長程依賴方面的不足,更能有效提取小樣本的關系表示;FRLN 較GANA 性能更優,表明FRLN 針對鄰域聚合過程的設計較GANA 更為合理,因為FRLN 更關注鄰域關系自身,而不是鄰域關系與實體的拼接。
上述實驗結果和分析充分表明,FRLN 有效融合了路徑發現與上下文語義,學習到小樣本參考關系的核心關系表示,在小樣本鏈接預測實驗中性能出眾。
3.3.4 消融實驗
FRLN 由多個模塊組合而成,分別是鄰域聚合編碼器、關系表示編碼器以及匹配計算單元。為了驗證各個模塊的有效性,針對每個模塊做出修改以進行消融研究。
1)為了研究鄰域聚合編碼器的有效性,對其做出修改:A1_a 移除了注意力機制,使用鄰域嵌入的平均值代替鄰域感知嵌入hc;A1_b 移除了實體自身嵌入,僅使用鄰域進行編碼輸出。
2)為了研究關系表示編碼器的有效性,對其做出修改:A2_a 移除了Transformer 編碼器;A2_b移除了LSTM 神經網絡。
3)為了研究匹配計算單元的有效性,對其做出修改:A3 移除了注意力機制,使用參考集中所有樣本的關系表示的平均值代替動態參考關系表示rm。
消融實驗在NELL-One 數據集上進行,實驗結果如表4 所示,其中最優指標值用加粗字體標示。

表4 NELL-One 數據集上的消融實驗結果 Table 4 Ablation experimental results on the NELL-One dataset %
由表4 可以看出,完整的FRLN 模型的性能均優于各個模型的變體。通過對比FRLN 及各個模型變體的4 個評價指標的平均值,可以看出:A1_a 較FRLN低了6.6 個百分 點,A1_b 較FRLN低了2.3 個百分點,這表明注意力機制在鄰域聚合過程中十分有 效;A2_a 較FRLN低了15.0 個百分 點,A2_b 較FRLN 低了19.4 個百分點,這表明關系表示編碼器中Transformer 編碼器與LSTM 神經網絡的組合結構優于兩者單獨使用;A3 較FRLN 低了13.3 個百分點,這表明注意力機制在動態表征參考關系的過程中也相當重要。上述結果同樣表明,FRLN 在小樣本鏈接預測實驗中表現良好。
3.3.5 損失函數
對模型訓練過程中損失函數的變化情況進行對比分析,每個模型每訓練50 次采集1 次損失函數的數值。為了方便進行對比,取調整因子δ=0,得到FRLN 與FSRL、FAAN 損失函數變化曲線的對比情況如圖5、圖6 所示。

圖5 NELL-One 數據集上的損失值變化Fig.5 Variations of loss on the NELL-One dataset

圖6 Wiki-One 數據集上的損失值變化Fig.6 Variations of loss on the Wiki-One dataset
由圖5、圖6 可以看出,FRLN 在NELL-One 以及Wiki-One 數據集上均在訓練約500 次時就已接近收斂,且收斂速度遠快于其他2 種模型,說明FRLN 能夠更快地縮小預測輸出與期望輸出之間的差值,從模型訓練速度這一方面反映了FRLN 的優異性能。
針對小樣本知識圖譜補全任務中小樣本關系表示無法有效提取的問題,本文提出一種基于關系學習網絡的小樣本知識圖譜補全模型。該模型利用Transformer 編碼器優秀的語義編碼能力以及LSTM神經網絡在長程依賴方面的優勢,融合路徑發現與上下文語義,充分學習實體對之間的關系表示,從而有效提取小樣本關系的細粒度語義。此外,結合語義相似性以及平移模型的思想,在得分函數中充分利用關系表示編碼器的輸出元素,對得分函數以及損失函數進行優化。在NELL-One 以及Wiki-One 數據集上的實驗結果表明,所提模型相比于基準模型取得了較好的性能提升。
為了進一步提高模型泛化能力,后續將從以下3 個方面進行深入研究:針對知識圖譜中廣泛存在的長尾關系現象,在進行鄰域編碼時擴大鄰域選擇范圍,結合多跳鄰域進行關系建模;針對1-N、N-1、N-N的復雜關系進行建模與優化,并在訓練過程中同時對模型參數以及嵌入表示的向量進行更新,提高模型準確性;對于候選的實體對進行初步的篩選處理,進一步提高鏈接預測的成功率。