劉偉,謝璐鈞,張智慧,陳亞繁
(1.北京信息科技大學(xué) 自動化學(xué)院,北京 100192;2.北京航天智造科技發(fā)展有限公司,北京 100143)
知識圖譜可以看作是由多個三元組組成的語義網(wǎng)絡(luò),主要用于描述現(xiàn)實世界中實體、概念或事件之間的關(guān)系。傳統(tǒng)用三元組表示的語義網(wǎng)絡(luò),其表達的關(guān)系往往是靜態(tài)的,然而在實際使用場景中,實體之間的關(guān)系通常會隨著時間的推移而變化。因此,學(xué)者們提出構(gòu)建四元組形式的知識網(wǎng)絡(luò),也就是為原始三元組多分配一個額外的時間變量。加入時間屬性的知識圖譜被稱為時序知識圖譜(temporal knowledge graph,TKG)。
關(guān)于時序知識圖譜的推理,目前較為流行的方法是基于嵌入的推理方法[1],即將實體與關(guān)系轉(zhuǎn)換為嵌入表示來進行推理。表示學(xué)習(xí)模型可分為平移距離模型、語義匹配模型以及神經(jīng)網(wǎng)絡(luò)模型。其中,平移距離模型使知識圖譜中的頭實體、關(guān)系以及尾實體向量滿足平移距離約束。典型的模型如TransE[2],使用L1和L2范數(shù)衡量兩實體之間的距離,實現(xiàn)使頭實體向量和關(guān)系向量的和貼近尾實體向量的目的,在處理復(fù)雜關(guān)系時實體區(qū)分性較低。為解決這個問題,TransH[3]將頭尾實體分別投影到關(guān)系所在的超平面。上述方法雖效果有所提升,然而因為引入空間投影,導(dǎo)致參數(shù)增多,復(fù)雜度變高。語義匹配模型使用基于相似度的評分函數(shù)來計算實體和關(guān)系的語義聯(lián)系。典型的模型有RESCAL[4],它通過低維的實體矩陣和低維的關(guān)系矩陣乘積的形式,來判斷每個三元組成立的可能性。為克服RESCAL模型過擬合的問題,DisMult[5]將原關(guān)系矩陣轉(zhuǎn)化為對角矩陣。近來的TuckERT[6]模型,將一個三階張量分解為一個核心張量每一維度乘上一個矩陣作為評分函數(shù)。神經(jīng)網(wǎng)絡(luò)模型是使用深度神經(jīng)網(wǎng)絡(luò)的表達能力,進行實體和關(guān)系的特征學(xué)習(xí)。典型的方法如NTN[7],用一組神經(jīng)網(wǎng)絡(luò)的參數(shù)來表示關(guān)系。另外,ConvE[8]對實體和關(guān)系的向量進行二維卷積操作,來建模實體間和關(guān)系間的交互;RGCN[9]通過圖卷積神經(jīng)網(wǎng)絡(luò)將實體的鄰域信息進行聚合,來更新實體的嵌入表示。近幾年提出的TDT[10]、ReNet[11]、TA-GAT[12]、EvoKG[13]、TeMP[14]以及RE-GCN[15]等模型也是基于神經(jīng)網(wǎng)絡(luò)的方法。
目前關(guān)于時序知識圖譜嵌入方法的研究可分為內(nèi)推與外推[16],其中內(nèi)推是補全部分事實已知的時序知識圖譜序列所缺失的事實,而外推更多關(guān)注于時序知識圖譜的預(yù)測,即通過已知事實來預(yù)測未來的事實?,F(xiàn)有的時序知識圖譜表示學(xué)習(xí)模型,如CyGNet[17]可以基于歷史事實來識別可能重復(fù)發(fā)生的事實。
然而,在類似方法中,TKG中四元組的嵌入并沒有充分利用時間信息。TNTCompEx[18]中的關(guān)系具有不同的時間特性,具體可以分為靜態(tài)屬性和動態(tài)屬性。受其啟發(fā),本文將關(guān)系的張量嵌入分解為靜態(tài)和動態(tài)(時序)部分,同時將上述關(guān)系和實體張量嵌入的乘積作為TKG模型的評分函數(shù),對模型進行訓(xùn)練,得到模型的各個張量嵌入表示,所提方法可稱為分解張量嵌入序列網(wǎng)絡(luò)(decomposed tensors embedding sequential net,DTESN)。最后,通過對比實驗驗證了該模型的有效性。
時序知識圖譜可以看作是四元組(頭實體,關(guān)系,尾實體,時間戳)事實的集合,將四元組記為(s,r,o,t)。實體集合中,元素數(shù)量為N,張量嵌入的維度為d。s和o分別對應(yīng)頭實體和尾實體,s,o∈N×d;r對應(yīng)關(guān)系,關(guān)系集合中元素的數(shù)量為M,r∈M×d;t對應(yīng)時間戳,時間戳集合中的元素數(shù)量為K,t∈K×d。
本文所提出的模型使用分解張量嵌入的雙線性函數(shù),同時結(jié)合歷史詞匯表的指導(dǎo)作為評分函數(shù),通過訓(xùn)練四元組各元素的嵌入以及相關(guān)網(wǎng)絡(luò)參數(shù),使有效的四元組比無效的四元組得分更高。訓(xùn)練完成后,使用上述評分函數(shù)來推斷確定四元組事實的可能性。具體地,在四元組事實的有效性得分判定之后,通過分數(shù)排序確定在給定時間的事件中預(yù)測缺失實體的最大可能,例如(s,r,?,t)表示給定頭實體、關(guān)系和時間戳,預(yù)測尾實體;或者(?,r,o,t)表示給定關(guān)系、尾實體和時間戳預(yù)測頭實體。
對于預(yù)測缺失實體,該模型假設(shè)既可以從歷史事件中得到結(jié)論,即已經(jīng)發(fā)生過的事情可能重新發(fā)生;也可以從歷史事實中推導(dǎo)結(jié)論,即發(fā)生以前沒有的事實。對應(yīng)地,模型中構(gòu)建了2種推理模式:復(fù)制模式和生成模式。前者實現(xiàn)從歷史詞匯表中預(yù)測出一個對象實體,后者則從整個實體集中預(yù)測出一個新的對象實體。
(1)
時序知識圖譜中,實體、關(guān)系和時間的張量嵌入維度分別為N×d、M×d和K×d。設(shè)訓(xùn)練時一個批次的四元組數(shù)量為b,為了便于對每個批次進行分解張量嵌入網(wǎng)絡(luò)的訓(xùn)練進行介紹,將每個批次的張量嵌入的定義具體為該批次的張量值,即實體張量嵌入為S∈b×d、關(guān)系張量嵌入為R∈b×d和時間張量嵌入為T∈b×d。
由于關(guān)系具有時間屬性,可能會隨著時間發(fā)生變化,即對于同一個對象實體,在不同的時間對應(yīng)的關(guān)系和實體可能不同。因此,模型在評估實體間關(guān)系時,將關(guān)系視為時變的。然而,并非所有的關(guān)系都會隨時間而變化,因此,模型將關(guān)系張量嵌入R分解為靜態(tài)關(guān)系張量嵌入Rs和動態(tài)時間關(guān)系張量嵌入的疊加。其中,動態(tài)時間關(guān)系張量嵌入可表示為動態(tài)關(guān)系張量嵌入Rt與時間張量嵌入T的哈達瑪(Hadamard)積,即Rt⊙T。設(shè)時間基張量嵌入tb∈b×d,令T為tb和當前時間戳t的乘積。則時序知識圖譜的關(guān)系張量嵌入R可計算如下:
R=Rs+Rt⊙T
(2)
式中:第一部分是通過初始化靜態(tài)關(guān)系張量嵌入并學(xué)習(xí)不同時間的事實集合得到的;第二部分是動態(tài)關(guān)系張量嵌入和時間張量嵌入的哈達瑪積。它也需要先對模型進行初始化,并根據(jù)不同時間的事實集進行學(xué)習(xí)后獲得。
1.2.1 復(fù)制模式
首先,利用雙線性評分函數(shù)vq得到頭實體、關(guān)系矩陣和整個實體集之間的相關(guān)性。vq是一個N維向量,E表示對應(yīng)于所有實體的嵌入張量,E∈N×d。
vq=S⊙R*ET
(3)
(4)
pc=Softmax(cq)
(5)
1.2.2 生成模式
生成模式是復(fù)制模式的補充。由于待預(yù)測實體也可能出現(xiàn)在歷史詞匯表中已存在的實體之外,因此需要構(gòu)建新的模式來預(yù)測它們。與復(fù)制模式不同,生成模式的尾實體是整個實體詞匯表,生成的預(yù)測實體不需要參考歷史事實,可以直接視為新實體。
生成模式同樣使用雙線性模型來獲得頭實體和關(guān)系矩陣和整個實體集間的相關(guān)性,用一個N維向量gq表示。
gq=S⊙R*ET
(6)
由于生成模式不考慮歷史事實,所以無需對歷史詞匯表進行修改,直接通過Softmax函數(shù)得到從整個實體詞匯表中生成尾實體的概率pg。
pg=Softmax(gq)
(7)
給定預(yù)測范圍的實體預(yù)測可以視為多分類任務(wù),其中每個分類對應(yīng)一個實體。因此,所提模型的學(xué)習(xí)目標是對訓(xùn)練期間存在的所有事實最小化以下交叉熵損失L。
(8)
式中:oik表示tk時刻時序知識圖譜中的第i個尾實體標簽;p(yin|s,r,tk)表示當尾實體標簽為oik時,實體集中第n個實體yin的預(yù)測概率值。
為了對四元組(s,r,?,t)中缺失的尾實體o進行預(yù)測,復(fù)制模式和生成模式都給出了相應(yīng)的預(yù)測結(jié)果,但兩者的預(yù)測對象都是整個實體集。因此,為了保證實體集中所有實體的概率之和等于1,引入了一個系數(shù)α,α∈[0,1],來調(diào)整復(fù)制和生成模式之間的權(quán)重,通過對2種模式得到的概率值,如式(5)和式(7)所示,進行加權(quán)求和,得到整個實體集中所有實體的預(yù)測概率值。最終的預(yù)測對象將是組合概率p(o|s,r,t)最高的實體。
p(o|s,r,t)=α×pc+(1-α)×pg
(9)
實驗在3個公開數(shù)據(jù)集上驗證該模型的有效性。首先闡明實驗的配置,包括實驗環(huán)境及實驗參數(shù)設(shè)置,然后對實驗結(jié)果進行討論。
本文實驗使用中央處理器為Intel(R)n Core(TM) i7-10700 CPU,顯卡為NVIDIA GeForce RTX 3070 GPU的硬件配置。所提出的模型使用相同的3個基準數(shù)據(jù)集進行測試。這3個數(shù)據(jù)集分別是:GDELT[19],一個關(guān)于時間、語言和語調(diào)的全球數(shù)據(jù)庫;維基百科的子集WIKI[20]和YAGO3的子集YAGO[20]。表1展示了3個數(shù)據(jù)集的統(tǒng)計量。3個數(shù)據(jù)集根據(jù)時間順序按8∶1∶1的比例分為訓(xùn)練集、驗證集和測試集。
表1 不同數(shù)據(jù)集的統(tǒng)計量Table 1 Statistics of different datasets
將所提出的模型與目前較為流行的模型,如TransE[2]、Dismult[5]、CyGNet[1]等進行了性能對比。本文選取平均倒數(shù)排名(mean reciprocal rank,MRR)、Hits@1、Hits@3和Hits@10對模型的性能指標進行度量。其中,Hits@n代表在鏈接預(yù)測中排名小于n的三元組的平均占比。在測試時,針對所提出的模型評測,還使用了常用的過濾評價約束,即從測試候選四元組中剔除真實的四元組所對應(yīng)的尾實體,同時加入未在訓(xùn)練集中的尾實體,以獲得相關(guān)性能指標。
超參數(shù)的設(shè)置取決于每個驗證集的MRR性能,如式(9)中的系數(shù)α在范圍0.1~0.9之間以步長為0.1進行調(diào)節(jié)取值。經(jīng)實驗測試,本文在GDELT集上的α設(shè)置為0.7,YAGO和WIKI上設(shè)置為0.5。由于超參數(shù)的選擇會影響模型性能,實驗選取了不同超參數(shù)值來驗證模型的有效性。由表2可以看出,在YAGO數(shù)據(jù)集上,本文算法在α為0.5時的性能優(yōu)于0.7。
表2 不同超參數(shù)在YAGO數(shù)據(jù)集上的性能對比Table 2 Performance comparison of different hyperparameters on YAGO dataset
除了超參數(shù)的選取,嵌入維度的選擇也會對模型性能產(chǎn)生影響。實驗對比了嵌入維度為200和400測試結(jié)果,如表3所示??梢钥闯?在YAGO數(shù)據(jù)集上的效果前者要比后者好。因此,本文選擇嵌入維度為200進行后續(xù)實驗。另外,模型選用Xavier方法進行初始化,然后使用AMSgrad方法進行優(yōu)化。學(xué)習(xí)率設(shè)為0.001,批大小為1 024,訓(xùn)練輪次設(shè)置為30。
表3 不同嵌入維度在YAGO數(shù)據(jù)集上的性能對比Table 3 Performance comparison of different embedding dimensions on YAGO dataset
本文所提模型與其他6種模型性能對比如表4所示,其中最好的結(jié)果用加粗表示,次好的結(jié)果用下劃線表示。由表4可以看出,本文提出的模型性能優(yōu)于目前幾種流行的模型。這表明,在考慮實體之間的關(guān)系時,考慮關(guān)系的時間屬性會帶來性能的提升。表4顯示,在不同的數(shù)據(jù)集上,性能的提升是不同的。在GDELT數(shù)據(jù)集上,本文所提模型性能提升優(yōu)于其他基準數(shù)據(jù)集。但是這并不意味著所有預(yù)測精度的提高。從表5可以看到,YAGO數(shù)據(jù)集雖然整體預(yù)測效果提高,但是Hits@3和Hits@10的值分別下降了0.19%和0.97%。
表4 不同模型在3個數(shù)據(jù)集上的性能對比Table 4 Performance comparison of different models on three datasets %
表5 本文所提模型相比于CyGNet模型的性能增量Table 5 Performance increments of the proposed model compared with the CyGNet model %
該模型在YAGO數(shù)據(jù)集上的訓(xùn)練過程中,尾實體和頭實體預(yù)測的損失函數(shù)變化如圖1所示。可以看出,針對頭實體和尾實體,在訓(xùn)練初始階段,該方法就可以達到較好的效果。尤其針對尾實體,該方法收斂更快。這是因為YAGO數(shù)據(jù)集中重復(fù)的頭尾實體比例不平衡,經(jīng)統(tǒng)計得到訓(xùn)練集中尾實體的歷史重復(fù)率為93.8%,而頭實體的歷史重復(fù)率為99.0%,也就意味著在預(yù)測頭實體過程中,本文所提模型的復(fù)制模式將無法對重復(fù)率過高(99.0%)的頭實體相關(guān)事實進行有效篩選,也將無法有效降低歷史上未發(fā)生事實的預(yù)測概率,這時復(fù)制模式無法發(fā)揮優(yōu)勢。然而,對于沒有達到非常高重復(fù)率的尾實體的預(yù)測,本文所提模型將會表現(xiàn)出其優(yōu)勢。
圖1 訓(xùn)練過程中損失函數(shù)的變化Fig.1 Changes of loss function during training process
時序知識圖譜的表示和推理是一個具有挑戰(zhàn)性的問題。本文根據(jù)關(guān)系的時變特性,將關(guān)系嵌入分解為靜態(tài)和動態(tài)2個部分來解決這個問題。同時,本文所提DTESN模型融合了復(fù)制模式和生成模式2種推理模式,既可以從歷史事件中得到結(jié)論,即已經(jīng)發(fā)生過的事情可能重新發(fā)生,也可以從歷史事實中推導(dǎo)結(jié)論,即發(fā)生以前沒有的事實。實驗結(jié)果表明,具有時間屬性的關(guān)系嵌入矩陣在預(yù)測時序知識圖譜中未來事實方面具有更好的性能。進一步地,可以對歷史詞匯表的構(gòu)建進行改進,以提高模型的性能。