肖亞新,韓 斌
(江蘇科技大學計算機學院,江蘇鎮江 212003)
知識圖譜被定義為G={E,R,F},即{實體,關系,事實的集合}[1],是一種存在多種實體關系的結構化有向圖,其節點與“頭實體—關系—尾實體”三元組相對應。其中,三元組(h,r,t) ∈F表示事實,h表示頭實體,t表示尾實體,r表示兩者之間的關系。現階段,Freebase[2]、Dbpedia[3]等知識圖譜已被廣泛應用,最新研究集中在知識圖譜嵌入領域,旨在將實體和關系映射到低維向量,并捕捉其中的語義關系[4-5]。
目前,知識圖譜嵌入技術可分以下4 類:①基于深度學習的知識圖譜嵌入技術;②基于圖形特征的知識圖譜嵌入技術;③基于翻譯模型的知識圖譜嵌入技術;④基于元學習的知識圖譜嵌入技術[6]。基于以上方法,本文定義了一種新的元學習框架。通過特定關系的元信息觀察實例,達到加速學習過程的目的,并將常見的關系信息從已有的三元組中轉移至其它三元組。此外,在預測過程中通過關系元傳遞重要信息,利用梯度元提升模型的學習效率。
在知識圖譜補全中,通常通過鏈接預測和三元組分類方法評價兩個任務模型的性能。肖陽華[7]提出的翻譯模型在兩個任務中均取得了較好的成績。Border 等[8]提出的原始模型TransE 是目前具有代表性的方法,將實體和關系嵌入低維空間,模型結構簡單,具有以下優勢:在數據集中表現出色且容易擴展;能夠訓練大規模數據。TransE 的目的是使實體向量和關系向量靠近于一種向量運算關系h+r=t,其中h為頭實體向量,r為關系向量,t為尾實體向量,但該模型在處理一對多、多對一、多對多等復雜關系時效果并不理想。
為此,不少學者對TransE 模型進行了改進,衍生了TransH[9]、TransR[10]、TransD[11]等模型,此類模型均將實體與關系映射到不同的空間。其中,TransH 運用空間投影建立超平面的思想,將實體與關系映射到同一個向量空間的不同向量平面,但導致該方法計算較為復雜;TransR 通過變換矩陣的思想,將實體與關系映射到另一個向量空間進行投影,方法精度較高,但參數設置較為復雜;TransD 模型則為頭、尾實體分別設置了兩個不同的矩陣投影,每個矩陣均由實體和關系決定。上述方法雖在一定程度上解決了TransE 的局限性,但根本上均利用頭實體和關系向量預測尾實體向量。
此外,Borders 等[12]提出了一種結構化嵌入模型,該模型為每個關系設置了兩個獨立的矩陣Mrh和Mrt投影頭實體和尾實體。Borders 等[13-14]提出的語義匹配能量(Sematic Matching Energy,SME)模型將每個命名的實體和關系編碼為一個向量,通過矩陣運算捕捉實體和關系間的相關性。Sutskever 等[15-16]提出的潛在因素模型(Latent Factor Model,LFM)將每個實體編碼為一個向量,并為每個關系設置唯一的矩陣。Nickel 等[17]提出的基于張量分解的語義匹配模型RESCAL,旨在學習具有雙線性評分函數的多關系數據的潛在語義。
由于知識圖譜中存在長尾現象,并且現實世界中知識是動態變化的,為保證三元組未被使用,提出元學習框架通過少量的樣本預測新的關系事實。Xiong[18]提出了一種基于度量小樣本的學習方法,該方法先利用R-GCN 為單跳鄰居進行編碼,捕捉局部圖結構信息,然后在長短時記憶網絡的指導下將結構實體嵌入模型進行多步匹配,計算相似度得分。Lyu[19]等提出了一種基于優化的元學習方法Meta-KGR,該方法采用模型無關元學習進行快速自適應與強化學習,并應用于實體搜索和路徑推理領域。Zhang等[20]提出了異構圖編碼器、遞歸自動編碼器和匹配網絡聯合模塊,能夠在小樣本中補全新的關系事實。Qin 等[21]利用生成式對抗網絡(Generative Adversarial Networks,GAN)在零樣本學習下為未知關系進行合理嵌入。Baek[22]提出了一種轉導元學習框架,用于在知識圖譜中預測小樣本外圖的鏈接。
基于上述方法,本文通過相同關系獲得元信息,將信息從支持集傳輸至查詢集,并利用梯度元加速學習關系元信息,通過梯度下降方法使函數損失達到最小。實驗結果表明,所提出的模型在實體和關系預測方面性能更優。
元學習是對多種學習任務進行系統性觀察的研究,并從中學習新任務,目標是概括任務的分布,對成批的任務進行優化。每個任務都有相應的學習問題,表現良好的任務能夠提升學習效率,并在未過度擬合的情況下概括小樣本問題。由表1 可知,在元學習中共劃分了3 種數據集,分別為支持集S、查詢集Q及輔助集A,并且根據N-way,Kshot方法對每個集合進行任務取樣,構成訓練集合T。

Table 1 Examples of meta-training set and meta-testing set data表1 元訓練集和元測試集數據示例
關系是支持集和查詢集中共有的部分,實驗目的是將支持集和查詢集中共有的關系信息遷移到缺失尾實體的三元組中,通過遷移關系特定的元信息實現小樣本知識補全,使模型利用關系元和梯度元信息快速學習重要知識。其中,關系元表示支持集和查詢集中連接頭實體和尾實體的關系;梯度元為支持集中關系元的梯度,通過梯度元改變關系元達到最小損失并加速學習過程。此外,特定關系的元信息一方面將共同信息從三元組轉移至不完整的三元組中;另一方面通過觀察少量實例加速任務內的學習過程。
元學習模型主張跨任務學習并適應新任務,目的在關系任務上學習任務未知的模型,而并非只針對含有特定任務模型。該模型通過元訓練和測試階段處理小樣本的學習問題,先將現有完備的實體關系三元組定義為補全任務的元訓練集Dtrn,再將待補全的知識圖譜三元組定義為補全任務的元測試集Dtst,最后對Dtrn和Dtst中所有的三元組進行初始化處理,得到向量表示的三元組(h,r,t) ∈G,G為三元組樣本集,h,t∈E,E為實體集,r∈R,R為關系集。
在Dtrn中將具有同一關系的三元組歸為同一集合,則該集合為關系對應的關系任務Tr,Tr∈T,T~p(T),p(T)為所有關系任務構成的任務集合。在任務集合p(T)中隨機抽取一項任務,取N個三元組樣本作為該任務的支持集Sr,剩余樣本作為任務的查詢集Qr,并且支持集的樣本數小于查詢集中的樣本數。元學習模型具體算法如下:
輸入:關系任務訓練集Ttrn。
輸出:嵌入層參數emb、元學習器的參數φ、新的關系元R'。
1.當訓練集Ttrn為空。
2.在訓練集Ttrn中定義一個任務Tr={Sr,Qr}。
3.從支持集Sr中取關系元R。
4.計算當前任務Sr的損失函數和得分函數。
5.從關系元R中獲取梯度元G。
6.根據梯度元G更新關系元R。
7.計算當前任務查詢集Qr的損失函數。
8.根據任務查詢集Qr的損失函數更新學習器的參數φ和嵌入層參數emb。
9.結束學習過程。
10.輸出新的關系元R'。
通過L層全連接神經網絡提取實體的特定關系元:

其中,hi∈Rd為頭部實體hi維數為d的嵌入,ti∈Rd為尾部實體ti維數為d的嵌入,L為神經網絡的層數l∈{1,…,L-1},Wl、bl為l層神經元的權重和偏置,使用LeakyReLU 計算激活σ,x⊕y表示向量x和y的拼接,R(hi,ti)表示特定實體hi和ti的關系元。
對于多個實體對(hi,ti)的特定關系元,通過當前任務中所有實體對的特定關系元生成最終關系元:

其中,K表示關系元個數。
為了評估梯度元對關系元的更新效果,需要構造得分函數評估特定關系下實體對的有效排名,并計算當前任務的損失函數。為此,將嵌入方法的核心思想應用于嵌入學習器中,證實知識圖譜中三元組的真實排名的有效性。
在任務τr中,計算支持集Sr中每個實體對(hi,ti)的得分:

其中,||x||表示向量x的L2 范數。假設頭實體、關系和尾實體構成的三元組(h,r,t)滿足h+r=t,可利用得分函數比較h+r和t之間的距離,使其最小??蓪⒋怂枷霊糜谛颖炬溄宇A測任務中,但由于任務中并無直接的關系嵌入,因此將關系嵌入r替換為關系元Rτr。
對于每個三元組的得分函數,設置以下損失函數:

其中,[x]+表示x的正例三元組,γ表示邊緣超參數,S(hi,t'i)為當前支持集中實體對(hi,ti) ∈Sr的得分,S(hi,t'i)為支持集中負樣本的得分,兩者滿足(hi,r,t'i) ?G。
由于任務Tr表示模型能夠正確編碼正確的三元組,L(Sr)的值較小,因此將基于L(Sr)的R(Tr)梯度視為梯度元G(Tr):

根據梯度更新規則,對關系元進行快速更新:

其中,β表示關系元操作時梯度元的步長。
當通過編碼學習器對查詢集進行評分時,在得到更新后的關系元R(Tr)'后,將其轉移至查詢集Qr={(hj,tj)}的樣本中,計算在查詢集中的得分和損失。同理,對支持集進行操作:

其中,L(Qr)為最小化的訓練目標,可利用其損失對模型進行更新。
訓練的目標是最小化損失函數,一個小批量中樣本所有任務的損失之和可表示為:

本文提出的模型將在Wordnet 數據集、Freebase 數據集下的子集FB15K 及小樣本數據集NELL-995 進行實驗,并且采用鏈接預測和三元組分類兩個評價指標對模型進行評價。表2為數據集的統計信息。

Table 2 Statistics of different data sets表2 不同數據集的統計信息
鏈接預測是指預測一個三元組中缺失的實體或關系。在任務中,基于所有正確實體的平均排名(Mean Rank)和排名前10 的正確實體的比例(Hits@10)作為評價指標。在Wordnet、FB15K 和NELL-995 數據集上與RESCAL、TransE、DistMult、ComplE 及小樣本進行比較。
超參數的范圍設定為:實體、關系和詞的向量維數k∈{50,80,100,150};隨機梯度上升算法學習率λ∈{0.001,0.005,0.01};負采樣參數n∈{10,15,20,30};偏置量α∈{6.0,8.0,10.0},β∈{6.0,8.0,10.0};相同關系下實體的結構字段中的實體數閾值τ2∈{5,10,20};SGA 中的batch 大小b∈{20,120,480,600,960,1 440,4 800}。
實驗采用隨機梯度下降法,使用初始學習率為0.001的Adam 優化器對參數進行更新。設定初始參數γ=β=1,在查詢集中正三元組和負三元組的數量分別為3 和10,訓練后的模型每1 000 個epoch 對應一個驗證任務,并記錄當前的模型參數和性能,以便于后期進行比較。各模型具體性能參數見表3。

Table 3 Prediction results of different models表3 不同模型的預測結果
由表3 可見,在單次鏈路預測(1-shot)方面,相較于基準模型,本文模型在3 個數據集的Mean Rank 分別平均提升了32%、27.9%、7%,Hits@10 平均改善率分別為41%、19%、13%;在5 次鏈路預測(5-shot)方面,本文模型在3個數據集的Mean Rank 分別平均提升了30%、40%、22%。由此可見,所提出的模型預測能力小樣本鏈路的能力更強。
然而,Freebase 與Wordnet 數據集的最佳結果出現在不同的數據集。尤其在Freebase 上,兩個數據集的差異更為明顯。在3 個數據集中,小樣本數據集NELL-995 表現更為出色,可能是由于FB15K 數據較為稀疏,連接相同關系的實體較少,每個實體對應的相似實體較少,導致實體嵌入偏差較大。
為了判斷三元組分類給定的(h,r,t)是否正確,在數據集Wordnet、FB13、NELL-955 上進行實驗,對模型進行評估。表4為不同數據集上三元組分類的結果。

Table 4 Triple classification results表4 三元組分類結果
由表4 可知,本文提出的模型的分類性能均優于基準模型,特別是在數據集NELL-995中,性能最佳。
本文提出了一種基于元學習框架預測知識圖譜中的少量鏈接,并設計了將特定關系的元信息從支持集傳遞至查詢集的模型。
通過在Wordnet 數據集、Freebase 數據集下的子集FB15K 及小樣本數據集NELL-995 的大量實驗表明,本文提出的模型性能均優于現階段的常用模型。
此外,本文還分析了訓練任務的數量和實體稀疏性對模型性能造成的影響,為后期模型優化奠定基礎。接下來,將思考如何在知識圖譜小樣本知識補全的鏈接預測中,獲取有關稀疏實體的信息。