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