陳新元, 謝晟祎, 陳慶強, 劉 羽
(1.閩江學院計算機與控制工程學院,福建 福州 350121;2.福州墨爾本理工職業(yè)學院信息工程系,福建 福州 350121;3.福建農業(yè)職業(yè)技術學院實驗實訓中心,福建 福州 350300;4.福建工程學院信息科學與工程學院,福州 350118;5.福州墨爾本理工職業(yè)學院現(xiàn)代教育技術中心,福建 福州 350121)
知識圖(knowledge graph,KG)中的節(jié)點和邊分別對應實體和關系,以三元組(頭實體,關系,尾實體)的形式編碼事實,即(h,r,t),h和t分別為頭、尾實體,r為實體間關系,如(Beijing,isCapitalOf,China)。主流知識庫如NELL[1],YAGO[2],Freebase[3]等,常用于信息檢索[4]、問題回答[5-7]、語義搜索引擎[8]、專家系統(tǒng)和社交網(wǎng)絡分析等領域[9]。現(xiàn)有知識庫數(shù)據(jù)不完整[10],知識圖譜補全[11]是近年的熱點方向之一[12-14],主流思路是學習KG中節(jié)點和關系的多維矢量表示,同時保留原有結構信息和知識約束。知識有效性常受時間限制,或僅在特定時段內正確,例如(Donald Trump,isPresidentOf,United States)目前僅在2016-2020年有效;(Barack Obama,presidentOf,USA)僅在2008-2017年有效。部分知識庫已開始為事實打上時間標簽,如YAGO和Wikidata[15]等。然而主流方法在學習實體嵌入和關系翻譯時,常將知識圖視作靜態(tài),忽略了時間信息,因此相關研究較少;Jiang等[16]提出利用時序信息輔助知識補全,但并非直接將時間整合到嵌入表示中,而是先學習關系間的相對順序,再在嵌入階段將關系順序引入為約束。
文中提出一種基于時間映射和卷積神經網(wǎng)絡的嵌入表達技術TSKGC,將時序信息直接納入事實嵌入學習,旨在提高鏈路預測的性能表現(xiàn)。TSKGC先將輸入的知識圖根據(jù)不同的時間戳分為多個子圖,將實體和關系投影至對應時間戳的超平面上,從而學習攜帶時間信息的向量表示。主要工作如下:探討較少涉及的時間敏感性問題,將時間信息集成至三元組的嵌入表示中;將映射三元組的矩陣表示用作卷積神經網(wǎng)絡(CNN)的輸入,通過多個通道(不同時間節(jié)點對應的超平面)的卷積遍歷提取事實特征。
嵌入學習是知識表達的熱門領域之一,常用于知識圖譜補全或鏈路預測,大致分為兩類。一是基于距離的平移嵌入方法,通過降低關系平移后的實體向量距離優(yōu)化嵌入表示,如 TransE[17],TransH[18],TransR[19],TransD[20],STransE[21]和 TranSparse[22]等。 二是基于矩陣化參數(shù)的方法,如基于矩陣嵌入的SE[23]認為若三元組有效,頭實體在子空間中的映射應接近尾部向量;RESCAL[24]使用雙線性模型表示特征和關系間的相互作用;DistMult[25]和ComplEx[26]使用三重積計算三元組得分。此外,NTN[27]使用張量網(wǎng)絡提升表達能力;Nguyen等[28]和Toutanova等[29]引入了關系路徑;也有研究使用文本信息增強等其他方法[30-34]。
TransE在層次結構的概念樹和詞嵌入空間中矢量表示的基礎上設計模型,將標記邊對應的關系映射為平移向量,即vh+vr≈vt,其中vh,vr,vt分別為實體h,t和關系r的嵌入表示。d=‖vh+vr-vt‖p,計算當p取L1或L2范數(shù)時三元組得分,該算法相對簡單,但在復雜關系三元組上學習能力欠佳。
TransH設計了關系特定的超平面wr,將實體進行差異化投影。本文在此基礎上,嘗試為時間信息建立超平面以學習知識表達。TransR使用投影矩陣Wr進一步提高表達能力,但計算開銷增加。
近年來,CNN廣泛應用于NLP[35]領域,代表模型如ConvE[13],使用CNN提取頭實體和關系特征,但二維卷積可能導致全局特征丟失。ConvKB[36]在ConvE基礎上調整,過濾器尺寸size設置為1×3。
實體之間的關系基數(shù)可分為1-1,M-1,1-M和M-M 4種類別,簡單方法在1-1關系上可獲得較好的建模結果,而對M-1,1-M和M-M等復雜關系,目前尚無統(tǒng)一的建模標準。部分復雜關系與不同時間節(jié)點對應的不同尾實體有關,但主流關系嵌入模型的研究對象多為靜態(tài)知識圖,忽略了對時間維度的分析,因而無法直接對這類關系進行區(qū)分。
早期的T-YAGO[37]從Wikipedia Infoboxes的半結構化數(shù)據(jù)中提取時間信息,使用正則表達式分類;UzZaman等[38]設計了時間提取和表達方案并根據(jù)順序與事實對應;t-TransE[16]在TransE的基礎上通過關系排序學習時間感知的嵌入表達;雙線性模型Know-Evolve[39]使用RNN捕獲非線性時間變化的動態(tài)特征;Leblay等[40]使用知識圖中靜態(tài)的輔助信息進行時間嵌入學習;Dasgupta等[41]將時間對應的超平面與實體關系融合;另外有許多研究致力于時間相關的推理[42-43]。文中重點是設計關系嵌入學習模型,以及進一步提高特征提取能力用于知識推理或補全,而非提取時序信息。
將時間跨度信息以list形式合并到知識庫的三元組中,即(h,r,t,[τs,τe]),τs和 τe分別表示有效期的起始和終止;設定時間點將知識圖劃分為多個靜態(tài)子圖,每個子圖內包括在對應時間點上有效的所有三元組,單個三元組可在多個子圖上存在。設圖其中i∈1,2,…,N表示離散的時間節(jié)點的編號,將其對應到N個超平面,即對于分別有ωT1,ωT2,…,ωTN與之對應。 若 Ti,Ti+1,…,Tm落在三元組的時間跨度[τs,τe],即 τs≤Ti≤Ti+1≤…≤Tm≤τe,則該三元組在上有效,將其投影至這m個超平面,如圖1所示,從而保留三元組的時間信息,并通過縮小平移距離優(yōu)化嵌入表示。

圖1 單一三元組映射至多個超平面(多個時間節(jié)點內有效)
使用CNN提取三元組嵌入表示的非線性時間演化特征。將對應不同時間節(jié)點的N個超平面作為卷積層的多個通道,每通道多個卷積核遍歷矩陣,并行提取特征。過濾器的尺寸size和步長stride對特征提取和計算開銷影響較大,使用ω∈1×3提取同一維度嵌入向量的特征,步長設置為3,提取全局特征的同時避免無意義的局部特征。特征映射vi為

g為非線性激活函數(shù),b為偏置系數(shù),本文使用ReLU。令Ω和τ分別表示ω的卷積核和核數(shù),即τ=|Ω|。卷積層處理后,特征映射的規(guī)模可表示為k×m(×τ)。
評分函數(shù)f(h,r,t)定義為

其中,*表示卷積運算,w為權重參數(shù)。非線性函數(shù)的參數(shù)通過關系融合和平移轉換得到。流程框架如圖2所示。

圖2 TSKGC的卷積流程

模型算法如Algorithm 1所示,開銷控制為O(nek+nrk),與TransE等主流模型在相同量級上。考慮到數(shù)據(jù)集中的重數(shù)關系對實體/關系預測的影響,即一組頭實體+關系,或一組頭實體+尾實體,可能對應單一或多種尾實體或關系。而單一情況下預測結果應相對較好,因此根據(jù)重數(shù)關系,為損失函數(shù)添加權重系數(shù),使單一取值預測錯誤的懲罰較高。

無效三元組分為兩類:

與時間信息相關:隨機選擇KG中存在的三元組,但修改其時間節(jié)點歸屬。
在YAGO11k和Wikidata12k數(shù)據(jù)集上進行鏈路預測和時間預測[45],將TSKGC算法與TranE、t-TranE、HyTE和ConvKB共4種主流算法比較。YAGO11k從YAGO3[46]數(shù)據(jù)集中提取包含occurSince和occurUntil標注的事實,選擇頻數(shù)最高的10種關系并去除部分稀疏實體。Wikidata12k的處理流程類似,選擇最常見的24種關系。數(shù)據(jù)集統(tǒng)計信息如表1所示。

表1 數(shù)據(jù)集統(tǒng)計信息
鏈路預測在給定關系和頭實體或尾實體的前提下推測丟失實體。文中使用MR(平均排名)和Hits@10(排名在前10位的有效實體的百分比)作為評估指標。實驗使用第1類方法創(chuàng)建無效樣本,取驗證集上Hits@10得分最高的模型用于測試。
TransE的超參數(shù)初始化設置如下:k∈[50,100],學習率設定為[1e-4,5e-4],L1范數(shù),margin γ∈[1,3,5,7]。在YAGO11k上,當k=50,學習率=5e-4,L1范數(shù),γ=1時得分最高;在Wikidata12k上,當k=100,γ=3且其他參數(shù)相同時,得分最高。
t-TransE的初始設置為k∈[20,50,100],學習率∈[1e-1,1e-2,1e-3],γ1,γ2∈[1,2,4,10],λ∈[1e-1,1e-2,1e-3,1e-4],當 k=100,學習率=1e-3,γ1=γ2=4,λ=1e-2時表現(xiàn)最優(yōu)。
HyTE的參數(shù)初始化設置為:batch size=50k,k∈[50,100,200],學習率∈[1e-2,1e-3,1e-4],L1范數(shù),γ∈[1,2,5,10],當 k=100,學習率=1e-3,γ=5時表現(xiàn)最佳。
TSKGC學習率初始設置為∈[1e-5,1e-4,5e-4],batch size設為[128,256],kernel數(shù) τ∈[100,200,500],輪數(shù) epoch∈[200,500,1000],L2正則化 λ=0.001,使用Algorithm 1中描述的正態(tài)分布初始化過濾器,使用Adam優(yōu)化器,將ReLU作為非線性激活函數(shù)。在 YAGO11k上,當k=50,學習率=5e-4,τ=100,使用[0.1,0.1,-0.1]的過濾器分布時表現(xiàn)最佳;Wikidata12k上,當k=100,τ=200,truncated分布,其他參數(shù)相同時,得分最優(yōu);兩個數(shù)據(jù)集上batch大小都為256,epoch=100。
鏈路預測結果如表2所示(最優(yōu)表現(xiàn)設置為黑體,其次設置為下劃線),HyTE、ConvKB和TSKGC的MR得分和Hit@10成績明顯優(yōu)于TransE和t-TransE,而TSKGC成績總體上相較HyTE和ConvKB又有所提高,說明將時間信息集成到實體關系映射中有助于知識補全,使用多通道卷積網(wǎng)絡也利于提取全局特征。

表2 YAGO11k和Wikidata12k上的鏈路預測結果
YAGO11k相較Wikidata12k,復雜關系的比例更高,而相應Hits@10得分中,TSKGC的優(yōu)勢相比HyTE和ConvKB也較明顯,因此將YAGO11k中的三元組按重數(shù)關系分為4類,進一步比較 HyTE、ConvKB和TSKGC這3種模型在不同關系上的性能,每類別的預測頭/尾實體的Hits@10得分如圖3、圖4所示。在1-1關系中,無論是預測頭部或尾部,HyTE、ConvKB和TSKGC的性能相仿;預測1-M類型的頭部和M-1類型的尾部,三者差距也不大;在M-1和M-M類型的頭部預測,以及1-M和M-M類型的尾部預測這4種情況下,TSKGC的得分均最高,說明其能更好地識別上述復雜關系。

圖3 YAGO11k上針對4種類型關系的尾實體預測性能比較(Hits@10)

圖4 YAGO11k上針對4種類型關系的頭實體預測性能比較(Hits@10)
通過超平面映射將時間維度信息直接集成至事實向量,本文模型可用于給定三元組(h,r,t,?)的時間節(jié)點預測。實驗采用第2類方法創(chuàng)建無效樣本,在相同數(shù)據(jù)集上以相同參數(shù)訓練、驗證并測試;由于其他主流模型無法用于時間預測,故只比較TSKGC與HyTE的表現(xiàn)。實驗使用調整的MR指標[41],考察模型的時間預測性能:將三元組的構成元素分別映射至所有超平面上,按概率降序排列,正確時間節(jié)點對應超平面的排序越前越好。以年為最小時間跨度,允許稀疏事實的年份合并,閾值設置為500,YAGO11k和 Wikidata12k分別取51和63個時間節(jié)點。實驗結果如表3所示,可見TSKGC的時間預測能力在YAGO11k中與HyTE基本持平,在Wikidata12k中略有提升。若時間信息完備,該類算法還可擴展為時間范圍預測。

表3 時間預測的MR得分
基于超平面的映射,將事實三元組蘊含的時間信息集成到實體關系嵌入空間中,并進一步結合卷積神經網(wǎng)絡,在減小參數(shù)規(guī)模的同時提取特征并評分,以解決主流算法多在靜態(tài)圖上進行知識表示或推理,沒有利用時間信息的局限。實驗證明TSKC模型的集成時間信息有助于提高鏈路預測的性能表現(xiàn)。但實驗采用的是帶時間信息的數(shù)據(jù)集,這類數(shù)據(jù)集難以獲取,或手工標注成本較高,因此算法的適用范圍需進一步泛化。如根據(jù)事實是否攜帶時間信息,選擇不同的嵌入模型并在同一框架內計算其向量表示,以便共享參數(shù),用于知識補全等任務。此外,近年來基于關系路徑,以及注意力機制的知識表達和推理模型也取得了較好的成果,計劃在未來工作中結合上述思路進一步提升模型性能。