汪璟玢 雷 晶 張璟璇 孫首男
知識圖譜為實體和關(guān)系提供大量的結(jié)構(gòu)化信息,現(xiàn)已成功應(yīng)用于人工智能任務(wù),如推薦系統(tǒng)[1]、語義解析[2]、信息抽取[2]、問答[3]等.典型的知識庫有YAGO[4]、 Freebase[5]、 DBpedia[6]等.
然而,大型的知識圖譜,即使包含數(shù)十億個三元組,仍是不完整的,會缺失很多有效的三元組[7].為了補全知識圖譜,預(yù)測不完整三元組中缺失值,Bengio等[8]提出基于知識圖譜的表示學(xué)習(xí)方法——知識表示學(xué)習(xí)(Knowledge Representation Learning, KRL).Bordes等[9]提出TransE(Translating Embe-dding),將關(guān)系視為頭實體到尾實體的一種平移變換.在歐拉恒等式的啟發(fā)下,Sun等[10]提出RotatE(Knowledge Graph Embedding by Relational Rotation in Complex Space),并取得較優(yōu)效果.Yang等[11]提出DistMult,將多關(guān)系矩陣限制為對角矩陣,進(jìn)行多關(guān)系表示學(xué)習(xí).Trouillon等[12]提出ComplEx(Com-plex Embeddings),將DistMult拓展到復(fù)數(shù)空間,對不對稱關(guān)系進(jìn)行建模.Dettmers等[13]提出ConvE(Convolutional 2D Knowledge Graph Embeddings),將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)用于表示學(xué)習(xí)的模型.Vashishth等[14]提出Inter-actE,在ConvE的基礎(chǔ)上增加實體和關(guān)系之間的交互,大幅增強ConvE的表現(xiàn)力.
雖然上述模型取得良好效果,但都只利用三元組本身的結(jié)構(gòu)信息,不可避免地會受到知識庫的稀疏性和不完整性的影響,導(dǎo)致模型區(qū)分能力較弱.
為了解決稀疏性問題,學(xué)者們開始引入文本信息,增強知識表示,并取得不錯效果.Yao等[15]提出KG-BERT(Bidirectional Encoder Representations from Transformers(BERT) for Knowledge Graph Comple-tion),利用預(yù)訓(xùn)練模型BERT,結(jié)合豐富的文本信息,將實體和關(guān)系的描述或名稱全部放入BERT中,實現(xiàn)知識補全.然而,實體的文本描述通常包含數(shù)百個單詞,含有很多不必要的單詞,會造成冗余,這些冗余的單詞會稀釋實體特征,阻礙潛在關(guān)系的表達(dá)[16].KG-BERT無法處理冗長文本,導(dǎo)致計算成本較高且預(yù)測結(jié)果容易受到文本中冗余信息的影響,存在一定的局限性.
為了解決長文本的冗余問題,并提取文本中的關(guān)鍵信息,Veira等[17]提出WWV(Weighted Word Vectors).作者認(rèn)為文本中相同的單詞在不同的關(guān)系下貢獻(xiàn)度是不同的,因此,引入注意力機(jī)制,關(guān)注文本中的關(guān)鍵單詞.然而,注意力機(jī)制的使用還是會忽略一些與實體語義相關(guān)性較強的單詞.
近年來,模型中引入拓?fù)溧従拥姆椒ㄒ驳玫綄W(xué)者的廣泛關(guān)注.Vashishth等[18]提出CompGCN(Com-position-Based Multi-relational Graph Convolution Networks),考慮多種關(guān)系,將鄰居信息通過圖神經(jīng)網(wǎng)絡(luò)融入實體嵌入中,增強知識表示.然而CompGCN忽略不同鄰居貢獻(xiàn)度不同的性質(zhì),容易受到鄰居中噪聲的影響.Kong等[19]提出LENA(Loca-lity-Expanded Neural Embedding for Knowledge Base Completion),Bansal等[20]提出A2N(Attending to Neighbors for Knowledge Graph Inference),都利用注意力機(jī)制聚合鄰居,可減輕鄰居中噪聲的影響.
然而,通過注意力機(jī)制給鄰居分配權(quán)重的方式會忽略實體和鄰居之間的語義相關(guān)性,阻礙模型性能的進(jìn)一步提升.實際上,在知識圖譜中,如果鄰居出現(xiàn)在實體的文本描述中,說明該鄰居與實體具有較強的語義相關(guān)性.LENA和A2N雖然會為實體的鄰居分配不同的注意力權(quán)重,但權(quán)值的分配未考慮文本描述對鄰居的影響,容易丟失拓?fù)溧従又须[含的語義信息,影響模型性能.
在知識圖譜中,不同的關(guān)系會關(guān)注實體的不同屬性和特征.現(xiàn)有的基于CNN的知識補全模型在提取關(guān)系和實體的交互特征時,容易受到實體中與關(guān)系無關(guān)的屬性和特征的影響.
為了更好地捕獲文本描述中與實體具有較強語義相關(guān)性的單詞,本文提出基于Triplet注意力的循環(huán)卷積神經(jīng)網(wǎng)絡(luò)模型(Circular Convolution Neural Networks Based on Triplet Attention, CCTA).首先,通過語義匹配的方式選取文本中的關(guān)鍵單詞作為實體的語義鄰居.然后從拓?fù)溧従又羞x取與實體相關(guān)性較強的鄰居與語義鄰居結(jié)合,作為實體的實體鄰居,進(jìn)一步增強實體表示.為了區(qū)分實體在不同關(guān)系下呈現(xiàn)的不同含義,提高CNN提取關(guān)鍵特征的能力,本文利用Triplet注意力[21]優(yōu)化CNN的輸入,給特定關(guān)系下的實體特征賦予更高的權(quán)重,避免受到預(yù)測無關(guān)信息的干擾,提高模型的區(qū)分能力和補全性能.在兩個公開數(shù)據(jù)集上的實驗表明,CCTA在多個評估指標(biāo)上性能較優(yōu),由此證實其有效性.
本文將知識庫定義為G={E,R,T},其中,E為實體的集合,R為關(guān)系的集合,T為知識的集合.一個知識也稱為一個三元組(h,r,t)∈T,其中h∈E表示頭實體,r∈R表示關(guān)系,t∈E表示尾實體.使用e∈Rd和r∈Rd表示實體e和關(guān)系r的嵌入表示,其中,|R|表示關(guān)系數(shù)量,|E|表示實體數(shù)量,d表示嵌入維度.實體e的語義鄰居集合
拓?fù)溧従蛹?/p>
實體鄰居集合
N′(e)={n1,n2,…,nk},ni∈E;
名稱單詞集合
Word(e)={word1,word2,…,wordu},wordi∈E.
本文定義:eneigh為實體的鄰居表示,ename為實體的名稱表示,ename_stru為實體的名稱結(jié)構(gòu)表示,estru為實體的結(jié)構(gòu)表示,eadd為實體的融合表示.
基于Triplet注意力的循環(huán)卷積神經(jīng)網(wǎng)絡(luò)模型(CCTA)總體框架如圖1所示.CCTA主要由4部分組成.
圖1 CCTA總體框圖
1)融合表示生成模塊.從文本描述和拓?fù)溧従又惺占玫綄嶓w鄰居,并對其進(jìn)行編碼,再結(jié)合實體名稱信息進(jìn)一步增強語義,最后生成實體的融合表示.
2)實體關(guān)系交互模塊.將得到的融合表示和關(guān)系表示進(jìn)行特征重排和特征重塑,以捕獲特征之間豐富的交互作用.
3)基于Triplet注意力的循環(huán)卷積神經(jīng)網(wǎng)絡(luò)模塊.使用Triplet注意力跨維度交互計算注意力,弱化輸入特征中的冗余特征,再通過循環(huán)卷積操作提取實體和關(guān)系的交互特征,得到特征圖.
4)三元組評分.將特征圖拉平,再通過一個全連接層映射到實體嵌入維度,最后與尾實體矩陣進(jìn)行點積和歸一化,得到三元組的評分和概率.
1.2.1融合表示生成模塊
融合表示生成模塊是為了生成實體e的融合表示,主要由實體鄰居生成與編碼、實體名稱與結(jié)構(gòu)編碼、融合表示生成組成,具體結(jié)構(gòu)如圖2所示.
圖2 融合表示生成模塊結(jié)構(gòu)圖
1)實體鄰居生成與編碼.在生成實體鄰居之前,本文首先借助實體的文本描述,構(gòu)造其對應(yīng)的語義鄰居.通過名稱匹配的方式,從文本描述中提取相關(guān)性較強的單詞構(gòu)成語義鄰居.本文定義實體e的語義鄰居為實體e的文本描述中提到的其它實體,或文本描述中實體e的語義鄰居集合:
Ntext(e)=
{ei|ei∈De,ei≠e}∪{ej|e∈Dej,ej≠e},
其中,De表示實體e的文本描述中的單詞集合,e∈E,ei∈E,ej∈E.
本文合并實體e的拓?fù)溧従蛹?/p>
和語義鄰居集合
作為實體e的實體鄰居.考慮到簡單合并上述兩個鄰居集合的元素,在某些情況下,數(shù)量會多達(dá)數(shù)百個,大幅降低計算效率,因此,需要篩選具有代表性的鄰居,才能在準(zhǔn)確表示實體語義的情況下減少計算量.
對于每個實體,最多從兩個鄰居集合中選擇k個鄰居作為最終的實體鄰居,具體的選擇機(jī)制如下.給定一個實體e,首先選擇同時出現(xiàn)在兩個鄰居集合的鄰居,即兩個集合的交集:
N∩=Ntext(e)∩Nstru(e).
如果取交集后的鄰居個數(shù)超過k個,選擇鄰居中的前k個作為最終的實體鄰居集合N′(e),如果取交集后的鄰居個數(shù)不足k個,通過隨機(jī)采樣剩余的鄰居填充實體鄰居,直到個數(shù)達(dá)到k個,即
其中,
Nsample=Samplek-|N∩|(Ntext(e)∪Nstru(e)-N∩),
Selectk(·)表示選取前k個鄰居,Samplek-|N∩|(·)表示隨機(jī)采樣k-|N∩|個鄰居.
實體鄰居選擇示意圖如圖3所示,以選取實體鄰居個數(shù)k=5且|N∩| 圖3 實體鄰居選擇示意圖 通過上述策略,得到實體e的實體鄰居 N′(e)={n1,n2,…,nk}. 為了編碼實體鄰居,先將實體鄰居進(jìn)行初始化,使用一個維數(shù)為d的嵌入層emb,得到實體鄰居的初始表示: 2)實體名稱與結(jié)構(gòu)的編碼.本文利用實體的名稱單詞進(jìn)一步增強實體表示.對于實體e的名稱單詞序列 Word(e)={word1,word2,…,wordu} 中的每個單詞,使用word2vec進(jìn)行初始化,對詞向量求平均,經(jīng)過一個全連接層降維到實體嵌入空間,得到實體的名稱表示: 其中W1、b1表示全連接層的權(quán)重矩陣和偏置. 然后,將實體的名稱表示ename和實體的結(jié)構(gòu)表示estru相加,得到實體的名稱結(jié)構(gòu)表示: ename_stru=ename+estru. 3)融合表示生成.將上述得到的鄰居表示eneigh和名稱結(jié)構(gòu)表示ename_stru進(jìn)行融合,得到實體的融合表示eadd. 本文設(shè)計如下3種融合方式. (1)門控融合(Gate).考慮到鄰居表示eneigh和名稱結(jié)構(gòu)表示ename_stru對實體e的貢獻(xiàn)度可能不同,引入門控機(jī)制,如圖4(a)所示.實體的融合表示eadd定義為 eadd=αeneigh+(1-α)ename_srtu, 其中,α∈[0,1]表示學(xué)習(xí)的參數(shù),用于調(diào)整兩部分的比例. (2)相加融合(Add).將鄰居表示eneigh和名稱結(jié)構(gòu)表示ename_stru直接相加,如圖4(b)所示.實體的融合表示eadd定義為 eadd=eneigh+ename_srtu. (3)連接映射融合(Conmap).將鄰居表示eneigh和名稱結(jié)構(gòu)表示ename_stru進(jìn)行拼接操作,將拼接后的表示經(jīng)過全連接層,映射到與實體表示相同的維度空間,得到eadd.如圖4(c)所示.實體的融合表示eadd定義為 (a)門控融合 (b)相加融合 (c)連接映射融合 eadd=W2[eneigh;ename_srtu]+b2, 其中,[;]為拼接操作,W2表示映射矩陣,b2表示偏置. 1.2.2實體關(guān)系交互模塊 假設(shè)實體融合表示eadd=(a1,a2,…,ad),關(guān)系表示r=(b1,b2,…,bd),其中,ai∈R,bi∈R,表示特征.本文通過如下2步實現(xiàn)實體和關(guān)系的充分交互. 1)特征重排.對于融合表示eadd和關(guān)系表示r,分別生成對應(yīng)的隨機(jī)排列.然而若不加以限制,隨機(jī)排列的個數(shù)會非常大,因此本文限制生成的隨機(jī)排列個數(shù)為C,可用集合 表示,Pi表示集合P中第i個元素.特征重排過程如圖5(a)所示. 2)特征重塑.定義重塑函數(shù)φ,將Pi轉(zhuǎn)化為矩陣φ(Pi)∈Rp×q,p×q=2d,使兩個相鄰的特征經(jīng)過重塑后不再相鄰.將重塑函數(shù)φ作用于每個Pi(i=1,2,…,C),再將φ(Pi)進(jìn)行拼接,得到張量 X=[φ(P1);φ(P2);…;φ(PC)], 其中[;]為拼接操作.具體重塑方式如圖5(b)所示. (a)特征重排 1.2.3基于Triplet注意力的循環(huán)卷積神經(jīng)網(wǎng)絡(luò)模塊 對于重塑后的張量X∈RC×H×W,顯然,X中并不是所有特征都對補全有用,無用的信息會影響卷積的性能,因此在卷積之前,使用Triplet注意力關(guān)注實體表示中與關(guān)系更相關(guān)的特征,給更有用的信息賦予更高的權(quán)重,過濾不必要的噪聲.Triplet注意力是一種通過使用三分支結(jié)構(gòu)捕獲跨維度交互以計算注意力權(quán)重的方法. 在計算Triplet注意力的過程中,會涉及到Z-pool的操作,對于輸入張量M,Z-pool操作的具體運算過程如下: Z-pool(M)=[MaxPool0d(M);AvgPool0d(M)], 其中,MaxPool表示最大池化,AvgPool表示平均池化,[;]為拼接操作,0d表示進(jìn)行最大池化和平均池化操作的第0維.例如,一個形狀為C×H×W的張量進(jìn)行Z-pool操作后會產(chǎn)生一個形狀為2×H×W的張量. 對于輸入張量X∈RC×H×W,首先將它傳遞給Triplet注意力模塊中的3個分支,3個分支的具體運算如下. 其中,H-表示沿H軸逆時針旋轉(zhuǎn)90°,H+表示沿H軸順時針旋轉(zhuǎn)90°,ω1表示卷積核,*表示卷積操作,σ表示激活函數(shù). 其中,W-表示沿W軸逆時針旋轉(zhuǎn)90°,W+表示沿W軸順時針旋轉(zhuǎn)90°,ω2表示卷積核,*表示卷積操作,σ表示激活函數(shù). 對于最后一個分支,輸入張量X,通過Z-pool操作,通道數(shù)減少為2,再進(jìn)行卷積操作,經(jīng)過Sigmoid激活函數(shù)產(chǎn)生注意力權(quán)重,將注意力權(quán)重與X進(jìn)行點乘,得到最終的張量: X*=Xσ(ω3*(Z-pool(X))), 其中,ω3表示卷積核,*表示卷積操作,σ表示激活函數(shù). 簡單地平均3個分支的張量,得 最后將X′輸入循環(huán)卷積神經(jīng)網(wǎng)絡(luò)中,卷積完后得到特征映射 基于Triplet注意力的循環(huán)卷積神經(jīng)網(wǎng)絡(luò)模塊結(jié)構(gòu)如圖6所示. 圖6 基于Triplet注意力的循環(huán)卷積神經(jīng)網(wǎng)絡(luò)模塊結(jié)構(gòu)圖 1.2.4三元組評分 將得到的特征圖V經(jīng)過拉平操作變成向量I=vec(V),經(jīng)過一個全連接層,將向量I映射到實體嵌入維度,得到輸出向量P,再與尾實體矩陣進(jìn)行點積,得到三元組的得分.CCTA的得分函數(shù)定義為 f(h,r,t)=σ(I·W3+b3)·et, 其中,σ表示ReLU激活函數(shù),W3表示全連接層的變換矩陣,b3表示偏置. 然后使用Sigmoid處理得分函數(shù),將其映射到0-1區(qū)間,得到候選實體的概率分布: p=Sigmoid(f(h,r,t)). 本文使用交叉熵?fù)p失函數(shù)訓(xùn)練模型,具體定義如下: 其中,G表示正確的三元組集合,G′表示不正確的三元組集合(通過隨機(jī)替換頭尾實體得到). 本文在FB15k-237、WN18RR數(shù)據(jù)集上評估CCTA.FB15k-237數(shù)據(jù)集是Freebase數(shù)據(jù)集的子集,包含237種關(guān)系、14 541個實體.WN18RR數(shù)據(jù)集包含11種關(guān)系、40 943個實體.本文使用ConvE[20]提供的數(shù)據(jù)集,各數(shù)據(jù)集統(tǒng)計信息如表1所示. 表1 實驗數(shù)據(jù)集 在訓(xùn)練期間,本文使用自適應(yīng)低階矩估計優(yōu)化器(Adaptive Estimates of Lower-Order Moments)進(jìn)行優(yōu)化.在訓(xùn)練時,使用網(wǎng)格搜索法尋找最優(yōu)參數(shù). 為了防止過擬合,本文引入如下失活參數(shù):循環(huán)卷積之前的inp_drop,循環(huán)卷積之后的feat_drop,全連接層之后的hidden_drop. 本文模型需要調(diào)整的超參數(shù)及其范圍如下:嵌入維度d=100,200,300,批處理大小batch=128,256,學(xué)習(xí)率lr=0.000 1,0.000 5,0.001,0.005,卷積核數(shù)量num_filt=36,64,96,128,卷積核大小ker_sz=7×7,9×9,11×11,實體鄰居個數(shù)k=10,20,30,40,Transformer頭數(shù)att_head=1,2,3,4,Transformer層數(shù)att_layer=1,2,3,4,重塑特征個數(shù)perm=1,2,…,7,hid_drop=0.1,0.2,…,0.5,feat_drop=0.1,0.2,…,0.5,inp_drop=0.1,0.2,…,0.5. CCTA的最優(yōu)參數(shù)設(shè)置如表2所示. 表2 本文模型在2個數(shù)據(jù)集上的最優(yōu)參數(shù) 為了評估本文方法的有效性,選擇如下3類對比模型.1)基于三元組結(jié)構(gòu)的模型:TransE[9]、RotatE[10]、DistMult[11]、ComplEx[12]、InteractE[14].這類方法建模知識圖譜中的三元組結(jié)構(gòu),學(xué)習(xí)實體和關(guān)系的嵌入.2)融合拓?fù)溧従有畔⒌哪P?CompGCN[18]、 LENA[19]、 A2N[20].這類方法通過鄰居信息增強實體表示.3)融合外部信息的模型:KG-BERT[15]、WWV[17]、 PE-WWV(Parameter-Efficient WWV)[17],F(xiàn)eatureSum[17].對于WWV、PE-WWV和FeatureSum,本文只展示基于TransE的結(jié)果.這類方法融合知識圖譜結(jié)構(gòu)外的信息,學(xué)習(xí)實體和關(guān)系的嵌入. 本文使用鏈路預(yù)測[22]評估模型性能,鏈路預(yù)測的目標(biāo)是預(yù)測頭尾實體,即對于缺失頭或尾實體的三元組(?,r,t)和(h,r,?),預(yù)測缺失的頭實體或尾實體.對于每個三元組,通常使用數(shù)據(jù)集上的全部實體分別替換頭實體或尾實體,并過濾新生成的三元組集合中已存在于訓(xùn)練集、驗證集和測試集的三元組.然后,分別計算替換后每個三元組的得分,計算真實三元組的評分在所有三元組的評分中的排名以評判模型優(yōu)劣,期望真實三元組的排名越高越好. 本文將使用鏈路預(yù)測中常用的兩種評估指標(biāo)以評估模型的有效性,分別為平均倒數(shù)排名(Mean Reciprocal Rank, MRR),排名前N個的命中概率(Hits@N),N=1,3,10.MRR和Hits@N值越大越好. 各模型在WN18RR、FB15k-237數(shù)據(jù)集上的鏈路預(yù)測結(jié)果如表3所示.在表中,TransE、DisMult、ComplEx、RotatE結(jié)果來自文獻(xiàn)[10],InteractE結(jié)果來自文獻(xiàn)[14],WWV、PE-WWV、FeatureSum是將源碼應(yīng)用于新的數(shù)據(jù)集得到的結(jié)果,CompGCN、KG-BERT、LENA、A2N結(jié)果來自原論文,黑體數(shù)字表示最優(yōu)結(jié)果,斜體數(shù)字表示次優(yōu)結(jié)果.WWV、PE-WWV、FeatureSum采用如下參數(shù)設(shè)置進(jìn)行源碼的復(fù)現(xiàn):epochs=200,batch=1 024,lr=0.1,d=100,超參數(shù)γ=1.0.CCTA-Gate、CCTA-Add、CCTA-Conmap分別表示CCTA應(yīng)用1.2.1節(jié)提到的3種不同融合方式得到的結(jié)果. 表3 各模型在2個數(shù)據(jù)集上的鏈路預(yù)測結(jié)果 由表3可得如下結(jié)論. 1)Gate、Add、Conmap這3種融合方式都取得較優(yōu)效果,相對而言,采取Add融合方式的模型效果最優(yōu). 2)相比只利用三元組結(jié)構(gòu)信息的模型,在WN-18RR數(shù)據(jù)集上,不管采用哪種融合方式,CCTA總體上鏈路預(yù)測結(jié)果最優(yōu).相比同樣利用CNN的InteractE,CCTA-Add在MRR、Hits@10、Hits@1上分別提升4.54%,6.06%、3.95%.相比復(fù)數(shù)模型RotatE,CCTA-Add在MRR、Hits@3、Hits@1上分別提升1.68%、1.02%、4.44%.在FB15k-237數(shù)據(jù)集上,CCTA在大部分情況下鏈路預(yù)測結(jié)果最優(yōu).相比InteractE,CCTA-Add在Hits@10上提升0.50%,其它指標(biāo)跟InteractE相當(dāng).相比RotatE,CCTA-Add在MRR、Hits@3、Hits@1上分別提升4.73%、1.00%、8.71%.CCTA利用附加信息增強實體的表示,提高知識表示的區(qū)分能力,并利用Triplet注意力關(guān)注實體中關(guān)系相關(guān)的部分,進(jìn)一步提升補全的性能.而InteractE只利用三元組結(jié)構(gòu)信息,忽略豐富的外部信息,而且對于輸入特征未進(jìn)一步過濾噪聲,導(dǎo)致模型性能不佳. 3)相比利用鄰居信息的模型,CCTA具有一定的競爭力.相比A2N,CCTA的指標(biāo)值在兩個數(shù)據(jù)集上都有大幅提升,在WN18RR數(shù)據(jù)集上,相比A2N,CCTA-Add在MRR、Hits@10、Hits@3、Hits@1上分別提升7.56%、9.80%、8.04%、6.43%.在FB15k-237數(shù)據(jù)集上,相比A2N,CCTA-Add在MRR、Hits@10、Hits@3、Hits@1上分別提升11.67%、10.70%、11.78%、13.36%.相比CompGCN,在WN18RR數(shù)據(jù)集上,CCTA-Add在MRR、Hits@10、Hits@3、Hits@1上分別提升1.04%、2.56%、0.61%、0.90%,在FB15k-237數(shù)據(jù)集上,CCTA-Add的所有指標(biāo)與CompGCN基本持平. 為了進(jìn)一步分析鄰居個數(shù)對實驗結(jié)果的影響,本文統(tǒng)計兩個數(shù)據(jù)集的鄰居個數(shù),結(jié)果如表4所示.由表可看出,WN18RR數(shù)據(jù)集的平均拓?fù)溧従觽€數(shù)很少,導(dǎo)致A2N和CompGCN利用鄰居信息給模型帶來的性能增益有限,而CCTA能利用語義信息從另一個角度反映實體的屬性和特征,進(jìn)一步增強實體表示,提升模型性能.在FB15k-237數(shù)據(jù)集上,相比CompGCN,CCTA性能提升不明顯,主要是因為FB15k-237數(shù)據(jù)集的平均語義鄰居個數(shù)和平均拓?fù)溧従觽€數(shù)都很多,此時拓?fù)溧従诱紦?jù)實體鄰居的主要部分,稀釋語義特征,加上拓?fù)溧従又泻休^多的噪聲,容易影響模型性能.相比A2N,CCTA性能有大幅提升,主要是由于A2N在利用注意力機(jī)制分配權(quán)重時忽略語義信息的影響,且相比使用神經(jīng)網(wǎng)絡(luò)的CompGCN和CCTA,A2N表達(dá)性較弱. 表4 2個數(shù)據(jù)集上鄰居個數(shù)統(tǒng)計 4)相比利用文本信息的模型,CCTA在兩個數(shù)據(jù)集上指標(biāo)值都取得顯著提升.相比KG-BERT:在WN18RR數(shù)據(jù)集上,CCTA-Add在Hits@10、Hits@3上分別提升6.87%、77.50%;在FB15k-237數(shù)據(jù)集上,CCTA-Add在Hits@10、Hits@3上分別提升28.10%、50.78%.這說明相對傳統(tǒng)的融合文本信息的模型,利用文本描述生成的實體鄰居對鏈路預(yù)測性能有更進(jìn)一步的提升,以這種方式提取的文本信息會減少不相關(guān)信息帶來的影響,在此基礎(chǔ)上進(jìn)一步融合拓?fù)溧従有畔⒑蛯嶓w名稱信息,使模型性能更具魯棒性. 為了進(jìn)一步分析模型特性,本文參考TransE[9],對WN18RR測試集上關(guān)系類型進(jìn)行統(tǒng)計,劃分4種不同類型的子集:一對一(1-to-1)、一對多(1-to-N)、多對一(N-to-1)、多對多(N-to-N).具體的劃分方式為:計算每個關(guān)系的頭實體個數(shù)和尾實體個數(shù),如果平均個數(shù)小于1.5,標(biāo)記為1,否則標(biāo)記為N. WNT8RR、FB15k-237數(shù)據(jù)集上不同關(guān)系類型鏈路預(yù)測結(jié)果如表5所示,表中黑體數(shù)字表示最優(yōu)結(jié)果,斜體數(shù)字表示次優(yōu)結(jié)果.由表可看出,在不同關(guān)系類型上,CCTA在WN18RR數(shù)據(jù)集上的鏈路預(yù)測結(jié)果均有所提升.相比InteractE,CCTA-Add在1-to-N復(fù)雜關(guān)系類型上,MRR、Hits@10、Hits@3、Hits@1分別提升25.5%、28.8%、22.2%、22.7%,在N-to-1復(fù)雜關(guān)系類型上,MRR、Hits@10、Hits@3、Hits@1分別提升23.5%、15.5%、23.6%、30.4%.在FB15k-237數(shù)據(jù)集上的N-to-1、1-to-N和N-to-N復(fù)雜關(guān)系類型上,CCTA在4個指標(biāo)上都至少有3個可取得最優(yōu).上述分析說明CCTA在處理復(fù)雜關(guān)系上更有優(yōu)勢,這得益于外部信息提高知識表示的區(qū)分能力. 表5 各模型在不同關(guān)系類型上的鏈路預(yù)測結(jié)果 為了進(jìn)一步驗證CCTA在處理復(fù)雜關(guān)系上的優(yōu)勢,對于兩個具有相同頭實體和關(guān)系的三元組(h1,r1,t1)和(h1,r1,t2),本文分析在1-to-N關(guān)系中不同尾實體的相似度.理論上說,為了區(qū)分兩個不同的尾實體,模型學(xué)習(xí)到的表示應(yīng)越不相似越好.本文參照文獻(xiàn)[23],定義兩個實體之間的相似性: similarity越小表示兩個實體越相似,模型的區(qū)分能力越差,否則越強. Czech Republic和Ottoman Empire這兩個實體在InteractE和CCTA中相似性的可視化結(jié)果如圖7所示.將長度d=200的向量重塑為一個10×20的矩陣,矩陣中的每個格子表示兩個實體在相同維度下的相似度值,值越接近于1,對應(yīng)的格子顏色越淺.由圖7可看出,CCTA比InteractE包含更多接近于1的區(qū)域(即顏色較淺的區(qū)域),說明CCTA能更好地區(qū)分Czech Republic和Ottoman Empire,而InteractE區(qū)分得不夠明顯,容易學(xué)到相似的向量表示,混淆兩個實體. (a)InteractE (b)CCTA 為了進(jìn)一步評估CCTA中每個模塊的效果,在WN18RR數(shù)據(jù)集上進(jìn)行消融實驗.將應(yīng)用不同融合方式的模型記為CCTA-X;移除Triplet注意力模塊的模型記為CCTA-X(-TA);移除Transformer編碼器模塊的模型記為CCTA-X(-Transformer),此處,將實體鄰居的表示進(jìn)行求平均,消除Transformer編碼器帶來的影響;同時移除Triplet模塊和Trans-former編碼器模塊的模型記為CCTA-X(-TA-Trans-former).為了確保評估的合理性,CCTA-X(-TA)、CCTA-X(-Transformer)和CCTA-X(-TA-Transformer)均采用與CCTA-X相同的參數(shù). CCTA結(jié)構(gòu)消融實驗結(jié)果如表6所示,表中黑體數(shù)字表示最優(yōu)結(jié)果,斜體數(shù)字表示次優(yōu)結(jié)果. 表6 CCTA在WN18RR數(shù)據(jù)集上的結(jié)構(gòu)消融實驗結(jié)果 由表6可看出,不管是采取哪種融合方式的模型,任何一個模塊的缺失,都會降低模型性能,說明Triplet注意力模塊、Transformer編碼器模塊都是CCTA中至關(guān)重要的一部分,尤其是Transformer編碼器模塊,這說明Transformer編碼器可捕獲實體鄰居中重要的特征信息,比簡單地對向量求平均性能更強.移除Triplet注意力模塊后模型性能下降,說明在計算注意力權(quán)重時捕獲跨維度交互的重要性,Triplet注意力模塊可在卷積之前通過捕獲跨維度交互關(guān)注對預(yù)測更有用的信息,給這些信息賦予更高的權(quán)重,進(jìn)一步提升模型性能. 為了驗證附加信息的有效性,在WN18RR數(shù)據(jù)集上對不同的附加信息進(jìn)行消融實驗.將移除拓?fù)溧従拥哪P陀洖镃CTA-X(-top);移除語義鄰居的模型記為CCTA-X(-sem);移除實體名稱的模型記為CCTA-X(-name);移出所有附加信息的模型記為CCTA-X(-all). CCTA附加信息消融實驗結(jié)果如表7所示,表中黑體數(shù)字表示最優(yōu)結(jié)果,斜體數(shù)字表示次優(yōu)結(jié)果.由表可得到如下結(jié)論. 表7 CCTA在WN18RR數(shù)據(jù)集上的附加信息消融實驗結(jié)果 1)不消融的模型效果最優(yōu),說明只利用三元組結(jié)構(gòu)信息的模型存在一定的局限性,可通過引入附加信息提升模型性能. 2)相比CCTA-X,CCTA-X(-name)和CCTA-X(-top)性能略微下降,說明引入實體名稱和拓?fù)溧従訉δP托阅芫哂幸欢ㄌ嵘饔?,但提升效果有?一方面是因為實體名稱的單詞序列較短,蘊含的語義信息較少;另一方面是因為拓?fù)溧従又邪^多的不相關(guān)信息,影響模型性能. 3)相比CCTA-X,CCTA-X(-sem)性能明顯下降,說明語義鄰居的引入對模型性能的提升具有顯著影響,這得益于本文通過名稱匹配進(jìn)行語義鄰居的篩選,能過濾很大一部分不相關(guān)的信息. 4)CCTA-X(-all)效果優(yōu)于CCTA-X(-sem),原因是拓?fù)溧従又邪牟幌嚓P(guān)信息會給模型帶來負(fù)面影響.從CCTA-X(-name)和CCTA-X(-sem)的效果可看出,在包含拓?fù)溧従拥幕A(chǔ)上,引入語義鄰居的模型性能得到顯著提升,這說明語義鄰居能抵消一部分不相關(guān)信息帶來的性能衰減,提升補全效果. 為了驗證不同類型鄰居個數(shù)對模型性能的影響,進(jìn)一步分析鄰居個數(shù).在以融合方式為Gate的CCTA-Gate上進(jìn)行實驗.記CCTA-Gate-top為只利用拓?fù)溧従拥哪P?,CCTA-Gate-sem為只利用語義鄰居的模型,CCTA-Gate-all為利用實體鄰居的模型. 3個模型的MRR、Hit@10值對比結(jié)果如圖8所示.由圖可得出如下結(jié)論. (a)MRR 1)CCTA-Gate-top性能最差,說明拓?fù)溧従拥囊雽δP托阅軒淼奶嵘Ч^有限.隨著拓?fù)溧従觽€數(shù)的增加,CCTA-Gate-top的性能呈現(xiàn)先提升后下降的趨勢,說明隨著拓?fù)溧従觽€數(shù)的增加,可提升模型性能,但是當(dāng)達(dá)到峰值后,繼續(xù)增加拓?fù)溧従拥膫€數(shù)會引入大量的不相關(guān)信息,降低模型效果. 2)在總體情況下,CCTA-Gate-all性能最優(yōu),很穩(wěn)定,不易受到實體鄰居個數(shù)的影響,說明同時結(jié)合兩種類型的鄰居可進(jìn)一步提升模型性能.另一方面,CCTA-Gate-all性能不易受到拓?fù)溧従又胁幌嚓P(guān)信息的影響,說明語義鄰居可抵消一部分拓?fù)溧従訋淼呢?fù)面影響,使模型更具有魯棒性. 3)CCTA-Gate-sem效果也很穩(wěn)定,但是會略差于CCTA-Gate-all,說明只引入語義鄰居,模型性能就已得到很大提升,但在此基礎(chǔ)上引入拓?fù)溧従?,還可進(jìn)一步提升模型性能. 為了驗證CCTA中特征重排的效果,在WN18RR數(shù)據(jù)集上進(jìn)行模型在不同特征重排個數(shù)下的實驗.CCTA-Gate的性能隨特征重排個數(shù)影響的結(jié)果如圖9所示.由圖可看出,隨著特征重排個數(shù)的增加,CCTA的MRR、Hits@10、Hits@3、Hits@1值都有所提升,當(dāng)特征重排個數(shù)為4時,模型達(dá)到最優(yōu)效果,當(dāng)特征重排個數(shù)繼續(xù)增加時,模型性能不升反降.這說明實體和關(guān)系之間的交互是有用的,同時也是有限的,當(dāng)特征重排個數(shù)較少時,模型得到的交互信息很少,對性能起不到促進(jìn)作用.隨著特征重排個數(shù)的增加,模型能學(xué)習(xí)到的交互信息會越來越豐富,性能也隨之提升,之后由于交互過多又會引入額外的噪聲,限制模型性能. 圖9 特征重排個數(shù)對指標(biāo)值的影響 為了進(jìn)一步證實Transformer編碼器的有效性,在WN18RR數(shù)據(jù)集上使用如下編碼器對實體鄰居進(jìn)行編碼:Linear表示線性變換,MLP表示多層感知機(jī),GCN[24]表示圖卷積神經(jīng)網(wǎng)絡(luò)編碼器,GAT[25]表示帶注意力的圖卷積神經(jīng)網(wǎng)絡(luò)編碼器.各編碼器的指標(biāo)值結(jié)果如表8所示,表中黑體數(shù)字表示最優(yōu)結(jié)果.由表可看出,Linear和MLP的時間復(fù)雜度雖然小于Transformer,但效果卻不如Transformer.適用于捕獲圖結(jié)構(gòu)信息的GCN和GAT編碼器效果也差于Transformer編碼器,而且GCN和GAT需要為每個實體建立一個鄰接矩陣,復(fù)雜度較高.總之,Trans-fomer在編碼實體鄰居上具有一定優(yōu)勢,但是復(fù)雜性相對會高一些. 表8 編碼器對指標(biāo)值的影響 為了進(jìn)一步分析模型中卷積層數(shù)對實驗結(jié)果的影響,在WN18RR數(shù)據(jù)集上進(jìn)行卷積層數(shù)的敏感性實驗,結(jié)果如表9所示,表中黑體數(shù)字表示最優(yōu)結(jié)果.由表可看出,使用一層卷積操作的效果仍最優(yōu),多層卷積的使用并未提升性能,而且復(fù)雜性也會隨著層數(shù)的增加而增加,因此本文仍保留一層卷積的實驗結(jié)果. 表9 卷積層數(shù)的敏感性實驗結(jié)果 本文提出基于Triplet注意力的循環(huán)卷積神經(jīng)網(wǎng)絡(luò)模型(CCTA).模型利用文本描述、實體名稱和拓?fù)溧従庸餐鰪妼嶓w表示,并通過特征重排、特征重塑增加實體和關(guān)系之間的交互,最后利用帶有Triplet注意力模塊的循環(huán)卷積神經(jīng)網(wǎng)絡(luò)提取交互特征.實驗表明,本文模型能達(dá)到較優(yōu)性能.特別地,語義鄰居的引入可提升文本質(zhì)量和補全性能.在卷積操作之前,Triplet注意力的使用能使模型關(guān)注到實體中關(guān)系相關(guān)的屬性與特征,增強卷積操作提取特征的能力,進(jìn)一步提升模型的補全性能.今后將進(jìn)一步融合圖像信息,改進(jìn)知識表示,并將模型應(yīng)用到開放世界中,預(yù)測知識庫中不存在的實體或關(guān)系.此外,本文模型雖然取得具有競爭力的效果,但使用Transformer編碼器對實體鄰居進(jìn)行編碼,復(fù)雜性較高,今后將進(jìn)一步研究更有效的編碼方式,降低模型的復(fù)雜度.2 實驗及結(jié)果分析
2.1 實驗環(huán)境
2.2 鏈路預(yù)測結(jié)果
2.3 不同關(guān)系類型鏈路預(yù)測實驗
2.4 模型結(jié)構(gòu)消融實驗
2.5 附加信息的消融實驗
2.6 不同類型鄰居個數(shù)的影響
2.7 特征重排效果
2.8 實體鄰居編碼器對比
2.9 卷積層數(shù)敏感性實驗
3 結(jié) 束 語