張洪程,李林育,楊莉,傘晨峻,尹春林,顏冰,于虹,張璇,4,5*
(1. 云南電網有限責任公司政企部,云南 昆明 650032;2. 云南大學軟件學院,云南 昆明 650091;3. 云南電網有限責任公司電力科學研究院,云南 昆明 650217;4. 云南省軟件工程重點實驗室,云南 昆明 650091;5. 跨境網絡空間安全教育部工程研究中心,云南 昆明 650091)
知識圖譜[1-2]利用海量知識的獨特表示與管理優(yōu)勢,為推薦系統(tǒng)[3-4]、智能問答[5]等多種下游知識感知工程任務提供了高品質的結構化知識。在實際工程應用中,知識圖譜的完整性和準確性對于自然語言處理和人工智能技術的發(fā)展至關重要。例如,在比較常見的問答系統(tǒng)或智能客服系統(tǒng)中,若知識圖譜缺失某些信息,則無法回答某些問題或無法提供準確的答案。另外,在數(shù)據(jù)挖掘和機器學習領域中,知識圖譜也扮演著重要的角色,因為它可以提供有價值的結構化數(shù)據(jù),幫助分析和預測數(shù)據(jù)。然而,在實際工程條件下知識圖譜通常由于數(shù)據(jù)來源的限制和知識獲取的困難,因此知識圖譜往往存在不完整的情況,即缺少某些實體、屬性或關系,這將造成大量有價值的知識缺失。因此,需要改進現(xiàn)有知識圖譜以便補充這些缺失的知識,知識圖譜補全(KGC)[6]技術應運而生并成了知識圖譜領域的一個重要研究問題。
通常知識圖譜補全翻譯模型TransE[7]能夠捕捉到良好的結構信息,然而這類模型僅過于簡單地依賴知識圖譜的結構信息,并且沒有考慮到每個實體間豐富的語義信息。對于結構信息匱乏的長尾實體而言,這類實體難以得到充分的表征。隨著基于來自Transformer的雙向編碼器表示的知識圖譜補全(KG-BERT)[8]的出現(xiàn),使用文本信息的模型得到了廣泛應用,但此類模型僅關注文本信息,對知識圖譜中原本應考慮的結構信息有所忽略。另外,在知識圖譜補全任務中,訓練數(shù)據(jù)通常不包含負樣本,即僅由正樣本三元組構成。但是,為了更好地訓練模型使得模型學到更多的知識,現(xiàn)有的方法通常采用隨機替換頭尾實體的負采樣方法增加負樣本。負采樣指的是在知識圖譜補全任務中,當給定輸入一個正樣本的三元組(h,r,t)時,需要通過某種方法來生成一個或者多個負樣本的同時輸入模型用于訓練,使得模型具有判別正確三元組和錯誤三元組的能力。多數(shù)現(xiàn)有方法使用TransE中所提出的隨機破壞方法來生成錯誤的三元組充當負樣本,然后過濾掉訓練過程中可能會因為隨機采樣而產生的虛假負類,每一個三元組的負樣本在訓練中都是獨立的。但這種負采樣方法的效率低下且沒有考慮文本重疊的問題,這將會導致模型無法獲得更優(yōu)質的負樣本。
基于上述問題,本文提出一種基于對比學習與語言模型增強的知識圖譜補全模型(CBT-KGC)。將語言模型用于增強翻譯模型的實體和關系語義部分,能夠更好地表示捕獲的知識圖譜中實體和關系的特征。此外,為了更好地利用負樣本來提升模型的表征能力,提出2種采集負樣本的方法用于對比學習:1)同批次負采樣方法,在輸入一個三元組時,利用同一個批次中的非其他實體來充當負樣本,這樣能夠充分利用同批次內其他三元組信息來輔助模型對輸入三元組的訓練;2)自我批評負采樣方法,當輸入一個頭實體h和關系r用來預測尾實體t時,基于文本的方法在預測尾實體時會有很大的概率把頭實體h當成尾實體從而分配較高的分數(shù),出現(xiàn)這種情況可能是因為文本的語義相似度非常高,給模型帶來了噪聲,自我批評負采樣方法使用頭實體h來充當該輸入三元組的負樣本,能在一定程度上緩解噪聲。通過引入上述2種負采樣方法能夠使得模型對虛假文本匹配的依賴程度降低,從而提高模型的魯棒性,并且還能夠使得模型更好地學習正確的語義關聯(lián),避免過度擬合到錯誤的關聯(lián),類似于自我校驗的過程。最后,在WN18RR、FB15K等數(shù)據(jù)集上進行大量實驗,將CBT-KGC模型與基線模型進行性能比較。
知識圖譜補全是指通過利用已有知識圖譜中的實體和關系之間的語義信息,預測缺失或未出現(xiàn)在知識圖譜中的實體或關系,這一任務在多個領域中都具有重要應用價值。目前,研究者將知識圖譜補全方法大致分為基于翻譯的嵌入模型、基于張量的因子分解模型、基于神經網絡與負采樣的改進模型3類。
基于翻譯的嵌入模型起源于TransE[6],TransE借鑒了Word2Vec[9]的思想,先將實體和關系分別從文本信息嵌入為向量表示,然后與向量運算中的加法運算類似,將三元組中的關系比作一個頭實體到一個尾實體間的翻譯。形式化表示如下:當一個三元組被認為是正確的三元組的前置條件是頭實體h、關系r和尾實體t要滿足h+r≈t。針對TransE面向復雜關系建模效果不好的缺陷,超平面上的TransH[10]隨之衍生。TransH的核心思想就是為每一個不同的關系定義一個不同的超平面,在這種情況下關系和實體就不在一個嵌入空間中,目的是使模型具有更加復雜的表征能力,而不是僅局限于表示一對一的簡單關系。隨后的TransR[11]的主要思想是通過引入一個關系矩陣將實體向量映射到與該關系對應的向量空間中。這樣可以將關系建模在不同的向量空間中,從而更好地處理多個不同的關系類型。TransD[12]的主要思想是在TransR的基礎上引入了實體嵌入矩陣,以更好地處理多種類型的關系。與TransR不同的是,TransD中每個實體都有一個對應的嵌入矩陣,該矩陣用于將實體的向量映射到對應的關系空間中。TransAD[13]通過在得分函數(shù)中引入權重矩陣來緩解維度無關性問題,也取得了較好的效果。
基于張量的因子分解模型是知識圖譜補全任務中常用的模型之一,主要包括DistMult[14]、ComplEx[15]和TuckER[16],這類模型過對知識圖譜的三元組關系張量進行分解,提取實體和關系之間的潛在特征向量表示,并基于這些向量表示來預測新的三元組。例如:知識圖譜的增強CP分解鏈接預測方法(E-CP)[17]通過逆關系的方法來解決實體相互獨立的問題,并取得了不錯的效果,當一個圖譜中出現(xiàn)可逆關系時,E-CP為關系的逆也添加實體關系,從而使得模型能夠同時處理可逆關系和非可逆關系。
基于神經網絡的知識圖譜補全方法是近年來快速發(fā)展的一類方法,主要思想是通過神經網絡來學習實體和關系之間的復雜非線性映射關系,從而提高模型的預測能力,主要包括基于卷積的2D知識圖譜嵌入(ConvE[18]、ConvKB[19])、融合多關系的圖卷積神經網絡(CompGCN)[20]、神經張量網絡(NTN)[21]和LTE[22]等模型,其中,NTN是一種基于雙線性張量層的知識圖譜補全模型,旨在通過多維關聯(lián)2個實體向量并計算它們具有某種關系的得分來推理知識圖譜中的新三元組,該模型能夠將實體名稱中的詞向量進行平均生成實體向量,并使名稱相似的實體共享文本信息。與NTN不同,基于鄰域聚合與卷積神經網絡的知識圖譜實體類型補全模型(NACE2T)[23]以鄰域聚合和卷積神經網絡為基礎,并采用注意力機制為實體鄰域中的每個關系-實體對分配不同的權重,以聚合實體鄰域中的實體和關系信息,從而有效利用實體之間的關系。
與圖像分類、文本分類等任務不同,在知識圖譜補全任務中的知識圖譜數(shù)據(jù)集通常是沒有負樣本的,需要設定規(guī)則采集負樣本用以模型的訓練。隨著TransE中的隨機負采樣方法的發(fā)展,目前已經有許多新的負采樣方法被提出。ZHANG等[24]提出基于緩存負樣本采樣的知識圖譜嵌入策略(NSCaching),使用緩存來保留經常出現(xiàn)在負采樣過程中的負樣本,并引入具有不同權重的緩存區(qū)域,以更好地處理不同類型的關系。
但上述方法均存在一定缺陷,它們通常只單一地考慮知識圖譜中的結構信息,忽略了知識圖譜中所蘊含的文本語義信息,未將結構信息與文本的語義信息相結合考慮,導致實體和關系的表示學習不能到達最優(yōu)的效果,這就會嚴重影響知識圖譜補全的性能。本文提出的CBT-KGC模型同時考慮了知識圖譜的文本語義信息和知識圖譜的結構信息。此外,還利用對比學習進一步改進知識圖譜中的三元組表示,從而獲得了非常優(yōu)異的補全效果。
本節(jié)中將描述CBT-KGC模型的具體實現(xiàn)及設計思路。在進行知識圖譜補全任務的過程中,除了需要考慮知識圖譜中三元組的結構信息以外,還應該考慮知識圖譜的實體和關系中豐富的自然語言語義信息。與此同時,引入對比學習并提出2種對比學習中的負采樣方法來更好地區(qū)分正負樣本,以提高模型的表示學習能力。
一個知識圖譜可以抽象地表示為G=(E,R,T),其中,E表示實體集合,R表示關系集合,T表示邊集合。每一條邊(h,r,t)∈T都代表一個三元組,表示在關系r∈R下頭實體h到尾實體t是真實存在的。
圖1 知識圖譜實例Fig.1 Knowledge graph example
圖2 CBT-KGC模型整體框架Fig.2 Overall framework of CBT-KGC model
知識圖譜的結構信息已經非常好地應用于知識圖譜補全任務。面向TransE、TransR等傳統(tǒng)模型,2個實體間的關系對應兩者在嵌入向量空間中的轉換,與通過只使用前向傳播的語言模型來進行知識圖譜補全任務的模型不同,單一使用語言模型無法捕獲到圖譜中的結構信息。針對該問題,CBT-KGC使用語言模型來增強并聯(lián)合捕獲結構信息,以實現(xiàn)同時捕獲圖譜文本的語義信息和圖譜中的結構信息,即通過微調包含著結構化損失函數(shù)的預訓練語言模型進行聯(lián)合嵌入。
模型訓練的目標是捕獲基于文本語義嵌入中的結構信息,h、r、t的向量在更新后表示為h、r、t,但它們融合了知識圖譜中的圖譜結構信息,并且同時保存了從預訓練語言模型中獲得的文本語義信息。通過優(yōu)化結構化損失來獲取文本語義嵌入中的結構信息,三元組的得分函數(shù)定義與TransE模型一致,如式(1)所示:
(1)
為了更好地區(qū)分正負樣本,受對比學習啟發(fā),本文提出2種新的對比學習方法,并將對比學習引入知識圖譜補全任務。值得注意的是,每一個三元組所生成的一個或者多個用于對比學習的負樣本是獨立存在而不共享的。
同批次負樣本(N1):使用同一個批次中三元組所包含的其他實體來充當負樣本。
自我批評負樣本(N2):為了緩解頭尾實體文本重疊度過高的問題,在預測尾實體時將頭實體當成尾實體作為自我批評負樣本。
隨機采樣負樣本(N3):除了上述2種負樣本以外,依舊使用TransE中的負采樣思想,通過隨機替換頭實體或尾實體有效地生成大量的負樣本,并且在一定程度上提高了模型的魯棒性和泛化能力。
需要注意的是,在具體應用中,通常會根據(jù)正負樣本的分布情況來調整負采樣的數(shù)量,以保證訓練數(shù)據(jù)中正、負樣本的比例平衡。假設模型的batch size設置為512,N1、N2、N3數(shù)量設置為511、1、512。
在訓練過程中,使用InfoNCE損失函數(shù)來訓練模型,如式(2)所示:
(2)
其中:φ()表示三元組的得分函數(shù);|N|表示負樣本集合;InfoNCE損失函數(shù)會使得正樣本的得分逐漸變大、負樣本的得分逐漸變小,直至收斂;溫度參數(shù)τ用于調整負樣本在損失函數(shù)中的相對重要性,不同的τ值會影響模型的性能和效果,較小的τ值可以使損失函數(shù)更加關注負采樣,從而提高模型的魯棒性和泛化能力,然而當τ過小時,模型可能會過度擬合訓練數(shù)據(jù)中的標簽噪聲,導致模型泛化能力下降。
為了保持與基線模型對比的一致性,使用的數(shù)據(jù)集為WN18、FB15K、WN18RR、FB15K-237、UML-S,其中,UML-S是包含了生物信息的小數(shù)據(jù)集,WN18RR和FB15K-237是通過刪除了WN18與FB15K冗余關系而得到的數(shù)據(jù)集。5個數(shù)據(jù)集的詳細信息統(tǒng)計如表1所示。
表1 數(shù)據(jù)集信息統(tǒng)計Table 1 Dataset information statistics 單位:個
與多數(shù)基線模型一致,使用平均倒數(shù)排名(MRR)、平均排名(MR)以及排名小于等于N的三元組的平均占比(Hits@N)指標評估知識圖譜補全模型性能。
MRR指標計算測試集中每個正確三元組在預測結果中的排序的倒數(shù)并求其平均值,反映了模型給出的排序結果對于正確三元組的倒數(shù)的平均排名。因此,MRR指標既考慮了預測結果的準確性,又考慮了位置信息,能較準確地評價模型的性能,計算公式如下:
(3)
其中:rrank,i表示第i個正確的三元組在所有候選三元組中的排名;|T|表示測試集中正確三元組的數(shù)量。
MR指標是在測試集中對每個正確三元組計算其排序結果的排名,并求出所有正確三元組的平均排名,計算公式如下:
(4)
Hits@N指標是知識圖譜補全任務中廣泛使用的評價指標之一,目的在于通過考察模型的前N個預測結果來衡量模型的預測準確性,即是否能夠將正確實體排在前N位,計算公式如下:
(5)
其中:|T|表示測試集集合;topN(h,r)表示在給定頭實體h和關系r的條件下,預測的前N個實體列表。
MRR指標和Hits@N指標值越大,模型的性能越好;MR指標值越小,模型的性能越好。
為了驗證CBT-KGC的有效性,選擇以下基線模型:
1)TransE[6]:經典的翻譯模型,假設一個三元組中的頭實體向量加上其與關系向量的和應該接近尾實體向量的向量表示。
2)TransR[11]:將實體和關系映射到不同的向量空間,可以捕獲到不同關系下更豐富的語義信息。
3)ComplEx[15]:采用復數(shù)向量表示實體和關系,并使用復數(shù)內積計算三元組,可對實體和關系之間的多重關聯(lián)關系進行建模,并表現(xiàn)出優(yōu)異性能,在眾多知識圖譜相關任務中得到廣泛應用。
4)DistMult[14]:類似于矩陣分解,但僅考慮與每個實體或關系相關的向量,并使用點積來預測三元組,核心思想是改進雙線性模型中的關系矩陣,使參數(shù)量減少至與TransE相同。
5)ConvE[18]:是一種經典的基于卷積神經網絡的知識圖譜表示學習模型,將三元組中的頭實體和關系嵌入拼接為一個特征圖,并使用卷積運算進行語義關系建模,最后使用逐點乘積操作計算頭尾實體之間的得分。
6)CompGCN[20]:是一種基于圖卷積神經網絡的知識圖譜表示學習模型,使用復合關系嵌入對多個關系之間的交互進行建模,并采用層次化聚合策略和殘差連接來提高模型性能,在實驗部分采用TransE作為基線模型。
7)NSCaching[24]:經典的負采樣模型,設計一種新的緩存機制來優(yōu)化負采樣策略,在實驗部分使用TransE作為基線模型。
8)E-CP[17]:通過增強因子分解的方法對一個三元組中的頭實體和尾實體分別進行向量嵌入學習,并在模型訓練中采用概率生成的方法進行負采樣,從而獲得了更好的效果。
9)KG-BERT[8]:利用BERT進行知識圖譜補全任務,通過實體和關系的描述文本來捕獲三元組中的文本信息,但沒有考慮結構信息。
10)利用預訓練模型的多任務知識圖譜補全(MKG-BERT)[25]:設計一種有效的多任務學習方法,克服了以往工作在知識圖譜建模任務中的局限性,在KG-BERT的基礎上通過將關系預測和相關性排序任務與目標鏈接預測任務相結合,使模型具有更好的表述能力,可以利用更多的屬性信息來學習知識圖譜中實體之間的關系。
11)用于鏈路預測的多任務預訓練知識圖BERT(LP-BERT)[26]:該模型經過多任務預訓練和知識圖譜微調2個訓練階段,采用掩碼語言模型學習上下文語境的知識并引入掩碼實體模型和掩碼關系模型,通過預測基于語義的實體和關系元素來學習三元組中的關系信息進行知識圖譜補全。
CBT-KGC模型采用PyTorch[27]實現(xiàn),所有實驗均在包含4張英偉達RTX 3090 GPU的Linux-Ubuntu服務器上并行進行。對模型參數(shù)進行批量搜索,通過驗證集中表現(xiàn)最優(yōu)的結構確定最終的參數(shù)。溫度參數(shù)τ初始化為0.05,學習率在{1×10-5,2×10-5,3×10-5,5×10-5}中尋找最優(yōu)值。對于所有數(shù)據(jù)集,batch size固定為16,實驗迭代次數(shù)為5??紤]到時間和服務器顯存的限制,實驗使用BERT-base預訓練語言模型。
實驗結果與基線模型TransE、TransR、ComplEx、DistMult、TransEAD、E-CP、KG-BERT在4個數(shù)據(jù)集上進行5個性能指標MRR、MR、Hits@1、Hits@3、Hits@10的比較分析,其中同一指標中表現(xiàn)最好的結果用加粗表示。由于KG-BERT等基線模型在原文獻中并沒有使用FB15K和WN18作為實驗數(shù)據(jù)集,因此本文在FB15K和WN18數(shù)據(jù)集中不使用MR評價指標以減少缺少的實驗數(shù)值。
由表2和表3可以看出,在FB15K和WN18數(shù)據(jù)集中CBT-KGC獲得了全部指標的最優(yōu)結果。相較于僅考慮知識圖譜中結構信息的TransE,CBT-KGC在2個數(shù)據(jù)集上的指標提升非常明顯,在FB15K和WN18數(shù)據(jù)集上的Hits@10分別提升了43%和2%。與張量分解的E-CP相比,CBT-KGC在FB15K數(shù)據(jù)集上的MRR和Hits@10分別提升了10%和9%,在WN18數(shù)據(jù)集上的MRR和Hits@10指標也提升了3%和2%。與ConvE相比,CBT-KGC在FB15K與WN18 2個數(shù)據(jù)集上的MRR指標上也分別提升了12%和2%。可見,CBT-KGC在眾多基線模型中保持著領先地位,這初步說明了CBT-KGC模型能夠有效地利用知識圖譜中的文本語義信息和結構信息。
表2 FB15K評測分數(shù)對比Table 2 Comparison of FB15K evaluation scores
表3 WN18評測分數(shù)對比Table 3 Comparison of WN18 evaluation scores
為了進一步研究和分析CBT-KGC在復雜數(shù)據(jù)集上的表現(xiàn)效果,在FB15K-237和WN18RR 2個數(shù)據(jù)集上也進行了鏈接預測實驗。由于文獻[18,28]指出FB15K和WN18有測試集泄露、關系冗余等問題,因此提出改進的更復雜和高質量的FB15K-237和WN18RR數(shù)據(jù)集。
由表4和表5可以看出,在FB15K-237和WN18RR數(shù)據(jù)集上,CBT-KGC依舊獲得了全部指標的最優(yōu)結果。與前2個數(shù)據(jù)集不同,這2個數(shù)據(jù)集新增了MR指標來衡量模型的效果。與基于單一文本語義信息的KG-BERT相比,CBT-KGC在FB15K-237數(shù)據(jù)集上的MR和Hits@10指標提升了14%和23%,在WN18RR數(shù)據(jù)集上的MR和Hits@10指標提升了50%和31%,這證明了在復雜知識圖譜環(huán)境下只考慮單一信息不能較好地完成知識圖譜補全任務。與考慮了多任務學習的MKG-BERT相比,CBT-KGC在FB15K-237和WN18RR數(shù)據(jù)集上的提升也非常明顯,其中,在FB15K-237上的MRR和Hits@10指標中分別提升了32%和6%,在WN18RR上的MRR和Hits10指標分別提升了78%和15%。在與基于圖神經網絡的經典模型CompGCN的對比中,CBT-KGC的表現(xiàn)同樣十分出色,在FB15K-237與WN18RR數(shù)據(jù)集中的MRR指標上也分別提升了15%和23%。通過對比單一使用結構化圖譜信息的TransE和單一使用文本語義信息的KG-BERT、MKG-BERT可以看出,CBT-KGC同時捕獲了結構信息和文本語義信息,并在對比學習的作用下獲得了非常優(yōu)異的效果。
表4 FB15K-237評測分數(shù)對比Table 4 Comparison of FB15K-237 evaluation scores
表5 WN18RR評測分數(shù)對比Table 5 Comparison of WN18RR evaluation scores
為了驗證負樣本對模型效果的影響,進行消融實驗,驗證本文提出的對比學習負采樣方法對模型效果的影響。通過刪減負樣本的集合,衍生了3個版本的消融實驗變體模型,如表6和表7所示,其中,N3模型代表只包含隨機負樣本采樣訓練的模型,N2+N3模型代表經過同時包含N2和N3負樣本采樣訓練的模型,N1+N2+N3模型代表同時包含N1、N2、N3 3種負樣本采樣并經過對比學習訓練的模型。
表6 FB15K-237數(shù)據(jù)集上的消融實驗結果Table 6 Ablation experimental results on the FB15K-237 dataset
表7 WN18RR數(shù)據(jù)集上的消融實驗結果Table 7 Ablation experimental results on the WN18RR dataset
由表6和表7可以看出,N1+N2+N3模型效果要明顯優(yōu)于只用隨機負采樣的N3和N2+N3,并且每一種用于知識圖譜補全對比學習的負采樣方法都能對模型性能產生一定的輔助作用,當同時使用對比學習負采樣方法進行對比學習時模型性能的提升幅度最大。可見,本文提出的用于對比學習的知識圖譜負采樣方法能夠提升模型的性能,這也證明了模型能夠通過更多的負樣本進行對比學習,從而提高模型的表征能力。
在對比學習中溫度參數(shù)τ是一個很重要的參數(shù)。為了驗證對比學習的τ對模型實際效果的影響程度,進一步對模型進行參數(shù)敏感性實驗。在實驗指標設置中,MR指標值越小越好,Hits@10指標值越大越好。
文獻[29]指出了溫度參數(shù)的作用主要是調節(jié)對困難負樣本的關注程度,并指出當τ降低到0時,對比損失函數(shù)將只關注困難負樣本,當τ增大至無窮大時,對比損失函數(shù)會對所有負樣本一視同仁,喪失了對困難負樣本的個性化關注。為了驗證最優(yōu)的溫度參數(shù)τ,在實驗中設置了τ為0.05、0.10、0.20、0.30、0.40,在UML-S數(shù)據(jù)集上的參數(shù)敏感性實驗結果如圖3所示。由圖3可以看出,模型溫度參數(shù)τ=0.20時獲得了最優(yōu)的效果,并且從柱狀圖的性能趨勢來看,τ的增大并不會使模型性能越來越好,這一發(fā)現(xiàn)進一步證明了比較學習損失函數(shù)中的τ值不能過大或過小的原則,與文獻[29]所述相吻合。
圖3 參數(shù)敏感性分析Fig.3 Parameter sensitivity analysis
本文提出一種基于對比學習與語言模型增強嵌入的知識圖譜補全模型,能夠有效地捕獲知識圖譜中的文本語義信息和結構信息,同時基于對比學習的正負樣本的良好區(qū)分特性,在實驗分析中取得了非常好的效果。實驗結果表明,該模型相比于同類模型具有較好的鏈接預測效果,對于實際工程任務具有較高的借鑒價值。在未來的研究中,將提出更多知識圖譜補全方面的對比學習方法,并將這些方法融入基于知識圖譜的推薦和對話系統(tǒng)等中。