李少杰 陳曙東 郝悅星 歐陽小葉 龔立晨
(*中國科學(xué)院大學(xué)微電子學(xué)院 北京 100049)(**中國科學(xué)院微電子研究所 北京 100029)
近年來知識圖譜技術(shù)發(fā)展越來越快,在自然語言處理領(lǐng)域有了越來越多的應(yīng)用,如機器閱讀[1]和知識問答[2]。知識圖譜是圖結(jié)構(gòu)的知識庫,旨在描述真實世界中存在的各種實體及其關(guān)系,其構(gòu)成一張巨大的語義網(wǎng)絡(luò)圖,它的節(jié)點代表實體,邊代表連接2個實體之間的關(guān)系,邊和兩端的節(jié)點組成一個三元組。一般形式為(頭實體,關(guān)系,尾實體),比如:(希區(qū)柯克,導(dǎo)演,驚魂記),也可以縮寫為(h,r,t)。然而,一些大規(guī)模的知識圖譜,比如世界知識庫Freebase[3]、百科知識庫DBpedia[4]和多語言知識庫YAGO[5],通常是不完整的,缺少大量的合理三元組[6,7],知識補全(又稱為鏈接預(yù)測)任務(wù)[8]被提出來解決這個問題。知識補全也稱為鏈接預(yù)測,即預(yù)測一個三元組(h,r,t)是否是合理的知識,所采用的方法主要是基于知識表示的模型。知識表示旨在把圖譜中的三元組投射到一個連續(xù)的向量空間,使得可以在低維空間中高效計算實體和關(guān)系的語義聯(lián)系,有利于大量下游知識補全等任務(wù)的計算。知識表示的模型大致可以分為3類,基于向量元素組合的模型、翻譯模型、基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)的模型。矩陣分解模型(a three-way model for collective learning,RESCAL)[9]、張量神經(jīng)網(wǎng)絡(luò)模型(neural tensor network,NTN)[6]和全息表示模型(holographic embeddings,HOLE)[10]是基于向量元素組合的模型。RESCAL和NTN都使用捕獲向量各維度元素間豐富交互的張量乘積,但它們需要大量參數(shù)來建模關(guān)系,因此計算起來很麻煩。為了克服這些缺點,HOLE使用頭尾實體向量的循環(huán)相關(guān)來表示實體對,創(chuàng)建了更有效和可擴展的表示。以TransE[11]為代表的基于翻譯的模型一般把實體表示成向量,把關(guān)系表示成實體間的操作,它們的打分函數(shù)是基于距離的方式。由于TransE無法有效建模1-N、N-1、N-N這3種類型[11]的復(fù)雜關(guān)系,TransH[12]、TransR[13]和TransD[14]等一系列基于TransE的改進模型被提出。其中,TransH引入了關(guān)系超平面機制,同時用平移向量和超平面的法向量來表示三元組中的關(guān)系。TransR認為不同的關(guān)系應(yīng)該擁有不同的語義空間,所以它用不同的矩陣來表示關(guān)系。而TransD認為頭實體和尾實體應(yīng)該擁有不同的關(guān)系矩陣,于是用2個關(guān)系矩陣來表示三元組中的關(guān)系,并且為了解決參數(shù)過多的問題,TransD利用2個向量來構(gòu)建關(guān)系矩陣。這些翻譯模型結(jié)構(gòu)更簡單,參數(shù)更少并且相對更容易訓(xùn)練,但是基于翻譯的模型難以學(xué)到實體和關(guān)系間復(fù)雜的特征。最近,學(xué)者們提出了2種基于卷積神經(jīng)網(wǎng)絡(luò)的知識表示模型,卷積嵌入模型(convolutional embeddings,ConvE[15])和卷積知識庫模型(convolutional knowledge base,ConvKB[16])。ConvE在頭實體和關(guān)系組成的矩陣上用2-D卷積核來提取特征,得到的特征矩陣向量化后和尾實體向量內(nèi)積來得到代表三元組知識合理性的分數(shù)。ConvE架構(gòu)里包括卷積層,全連接映射層和用于最終預(yù)測的內(nèi)積層。ConvKB使用多個1-D卷積核在頭尾實體和關(guān)系組成的3列矩陣上逐行進行卷積操作以提取三元組每個維度上的特征關(guān)系。這2種基于卷積神經(jīng)網(wǎng)絡(luò)的模型都因為卷積特征提取器的高效性,可以提取到實體和關(guān)系間復(fù)雜的語義特征,得以學(xué)習到更高質(zhì)量的知識表示。但是ConvE沒有把頭尾實體和關(guān)系組合在一起來提取特征,丟失了三元組整體的結(jié)構(gòu)信息。而ConvKB雖然在頭尾實體和關(guān)系組成的矩陣上提取三元組整體特征信息,但由于采用1-D卷積核,卷積核的感受野僅限于一行,不如2-D卷積核覆蓋的范圍廣,提取到的信息豐富。
在以上研究工作的啟發(fā)下,為了能夠提取到更豐富的三元組嵌入的特征信息,本文提出了一種新的基于卷積神經(jīng)網(wǎng)絡(luò)的知識表示模型(convolutional knowledge embeddings,ConvKE),對于每個三元組(h,r,t),ConvKE把每個元素都表示成一個k維向量空間里的向量(vh,vr,vt),并把他們組合成一個3列的矩陣[vh,vr,vt],用來提取三元組的整體全局信息,并且對這個矩陣進行維度轉(zhuǎn)換以增加卷積核滑動窗口的步數(shù),提升三元組內(nèi)實體和關(guān)系在更多維度上的信息交互能力。除此之外,ConvKE還采用感受野更大的2-D卷積核來提取三元組里不同向量元素的內(nèi)在特征以及組合特征,得到不同的特征矩陣。然后ConvKE把這些矩陣組合在一起并且向量化,經(jīng)過一個全連接映射層和一個內(nèi)積層后,得到三元組的得分,這個得分用于判斷這個三元組的合理性。
本文在2個基準數(shù)據(jù)集(WN18RR[15]、FB15K-237[17])上評估了ConvKE,實驗結(jié)果顯示ConvKE在平均排名(mean rank,MR)指標上達到了較好的結(jié)果。
首先介紹在后文中提及的符號和定義,然后詳細介紹模型。
一個知識圖譜定義為G=(E,R),E和R分別代表實體集合和關(guān)系集合。一個三元組(h,r,t)代表知識圖譜G里的兩個實體h和t以及它們之間的關(guān)系r。知識表示模型旨在學(xué)習一個可以輸出每個三元組的合理性的打分函數(shù)f(h,r,t),合理的三元組知識得分高于不合理的三元組知識得分。
ConvKE把知識圖譜里的實體和關(guān)系表示成k維向量空間里的向量,每個三元組表示成(vh,vr,vt),3個向量組合在一起拼成一個3列的矩陣A=[vh,vr,vt]∈Rk×3。然后ConvKE對矩陣A做維度轉(zhuǎn)換得到矩陣B=Rm×n,其中m×n=k×3。ConvKE再把矩陣B輸入卷積層,不同的2-D卷積核ω對矩陣B進行卷積操作提取三元組(vh,vr,vt)里的特征。用Ω來代表卷積核ω的集合,τ=|Ω|表示卷積核的個數(shù),假設(shè)卷積操作得到的特征矩陣維度為p×q。ConvKE把這些特征矩陣組合在一起并向量化,得到一個向量vw∈Rpqτ×1。向量vw先與權(quán)重矩陣Wu×pqτ相乘映射到u維向量空間中,然后再與權(quán)重向量w1∈Ru×1內(nèi)積后得到三元組(h,r,t)的打分。圖1中表明了ConvKE的模型結(jié)構(gòu)。
圖1 ConvKE模型
ConvKE的打分函數(shù)為以下形式:
f(h,r,t)=vec(g(B*Ω))×W·w1
(1)
其中,*代表卷積操作,×代表矩陣相乘操作,·代表向量間的內(nèi)積操作,vec代表對組合后的特征矩陣的向量化操作,g代表Relu等非線性函數(shù),Ω、W和w1是與三元組(h,r,t)無關(guān)的共享參數(shù)。為了訓(xùn)練ConvKE中的參數(shù),使用Adam[18]優(yōu)化器來最小化損失函數(shù)ξ[19]:
(2)
本文使用2個數(shù)據(jù)集來評估模型FB15K-237和WN18RR。FB15K-237是FB15K的子集,F(xiàn)B15K是Freebase的子集,包含的三元組多與電影和體育話題有關(guān)。WN18RR是WN18的一個子集,包含的三元組多由下位詞和上位詞關(guān)系組成。文獻[17]提到數(shù)據(jù)集FB15K和WN18里大量測試三元組可以僅通過反轉(zhuǎn)訓(xùn)練三元組來簡單地獲得。文獻[15]介紹了一種簡單的基于規(guī)則的模型,該模型可以在WN18和FB15K上實現(xiàn)非常優(yōu)異的結(jié)果。因此,創(chuàng)建相應(yīng)的子數(shù)據(jù)集FB15K-237和WN18RR可以避免WN18和FB15K數(shù)據(jù)集中的這種可逆問題。所以使用數(shù)據(jù)集FB15K-237和WN18RR來測試ConvKE的效果更能體現(xiàn)模型的性能。表1提供了2個數(shù)據(jù)集WN18RR和Fb15K-237的統(tǒng)計數(shù)據(jù)。
表1 實驗數(shù)據(jù)集的統(tǒng)計信息
在采樣無效三元組時,使用常見的伯努利技巧[20,21]生成頭部或尾部實體。使用TransE來初始化數(shù)據(jù)集里的實體和關(guān)系向量表示。在本文中,對于TransE里的超參數(shù)選擇如下:(1)對于FB15K-237數(shù)據(jù)集,實體和關(guān)系的向量維度k=100,學(xué)習率為5e-4,間隔r=1,使用L1范數(shù);(2)對于WN18RR數(shù)據(jù)集,實體和關(guān)系的向量維度k=50,學(xué)習率為5e-4,間隔r=5,使用L1范數(shù)。在ConvKE模型中還有如下超參,卷積核ω,權(quán)重矩陣W和權(quán)重向量w1。為了訓(xùn)練這些參數(shù),采用Adam優(yōu)化器,采用批梯度下降方式并且設(shè)置批處理的大小為256,采用ReLU作為激活函數(shù)。關(guān)于卷積核的初始化,采用kaiming正態(tài)分布,卷積核的個數(shù)范圍選擇是τ∈{100, 300, 500}。學(xué)習率取值范圍是{1e-3, 5e-3, 5e-4, 5e-5, 5e-6}。對于數(shù)據(jù)集WN18RR,最終選擇卷積核個數(shù)為500并且設(shè)置學(xué)習率為1e-3,正則化L2的值為1e-5;對于數(shù)據(jù)集FB15K-237,最終選擇選擇卷積核個數(shù)為100,學(xué)習率選為5e-6,正則化L2的值為0.001。對于2個數(shù)據(jù)集,都采用3×3形狀的卷積核,并采用dropout防止模型的過擬合且設(shè)置dropout為0.3。在2個數(shù)據(jù)集都訓(xùn)練了200輪,并使用第200輪的參數(shù)來評估ConvKE的性能。
為了驗證維度轉(zhuǎn)換策略的有效性,本文設(shè)置了一組對照實驗,即把三元組拼成3列矩陣后,不采用維度轉(zhuǎn)換策略,直接用形狀的卷積核在三元組矩陣上卷積,其余模型結(jié)構(gòu)與圖1相同。除了在映射向量層沒有采用dropout操作,對照實驗的超參選擇與ConvKE一致。
本文用知識補全任務(wù)來評估ConvKE的性能,該任務(wù)的目的是在給定關(guān)系和一個實體的情況下預(yù)測另一個缺失的實體,即給定(r,t)預(yù)測h或者給定(h,r)預(yù)測t。與之前的研究工作類似[11],為每個有效的測試三元組生成一組無效的三元組(h,r,t)集合,即將h或t隨機替換為其他實體。在“過濾后”的設(shè)置[11]中評估模型,即不考慮KB中已存在的三元組,只考慮不存在于現(xiàn)有KB中的無效三元組。在評估過程中,模型給每個有效的測試三元組和其對應(yīng)的無效的三元組集合打分,然后對這些分數(shù)進行排名并獲得有效測試三元組的排名。本文使用了2個常用的評估指標:MR和前10名中含有預(yù)測正確三元組的比例(Hits@10)。較低的MR或較高的Hits@10代表著更好的性能。
表2列出了ConvKE和其他模型的結(jié)果對比,表格顯示ConvKE在數(shù)據(jù)集WN18RR和FB15K-237的MR指標上都獲得了最好的結(jié)果,并且相對于其他的模型,ConvKE在MR指標上取得了大幅度的提升。具體地,相較于之前最優(yōu)的結(jié)果,ConvKE在WN18RR上提升了2 554-391=2 163,在FB15K-237上提升了246-205=41。其中ConvKE(NDT)是沒有采用維度轉(zhuǎn)換策略的對照實驗,表2也顯示出了ConvKE(NDT)在2個數(shù)據(jù)集上的MR指標上取得了較優(yōu)的結(jié)果。采用3×3形狀卷積核的ConvKE(NDT)的與采用1×3形狀卷積核的ConvKB相比,實驗結(jié)果表明增大卷積核的感受野提升了MR指標的效果,但是降低了Hits@10指標的效果。再將ConvKE(NDT)與采用了維度轉(zhuǎn)換策略的ConvKE相比較,維度轉(zhuǎn)換策略再次提升了MR指標的效果以及WN18RR數(shù)據(jù)集上的Hits@10指標的效果,實驗結(jié)果證實了維度轉(zhuǎn)換策略的有效性。具體地,將ConvKE的信息交互能力與ConvKE(NDT)進行對比,假設(shè)三元組每個元素的向量維度是100,那么ConvKE(NDT)模型里每個3×3形狀的卷積核會在形狀為100×3的三元組矩陣上滑動98次。ConvKE采用了維度變換策略,可以把維度為100×3的三元組矩陣轉(zhuǎn)換成10×30的形狀,假設(shè)采取3×3大小的卷積核,那么每個卷積核在三元組矩陣上滑動了8×28=224次,卷積核在三元組矩陣上的滑動次數(shù)明顯增多。而且由于三元組矩陣維度的轉(zhuǎn)換,之前實體和關(guān)系之間沒有進行卷積操作的向量維度間也將有可能被卷積核覆蓋到以提取特征信息,這增加了三元組內(nèi)實體和關(guān)系在更多維度上的信息交互能力。本文認為正是這種信息交互能力的增加使得最好的結(jié)果加粗表示,第2好的結(jié)果下面劃線表示,ConvKE(NDT)是沒有采用維度轉(zhuǎn)換策略的對照實驗ConvKE在MR指標上獲得了目前最優(yōu)的結(jié)果。
表2 模型實驗結(jié)果對比
圖2~圖5可視化的顯示了不同模型在2個數(shù)據(jù)集上的MR和Hits@10指標上的效果對比。由于MR指標代表的是三元組集合的平均排名,所以實驗結(jié)果說明了ConvKE在測試集的平均預(yù)測結(jié)果上取得了較好的結(jié)果,也證明了把三元組各個元素組合成一個整體并且采用2-D卷積核以及矩陣維度轉(zhuǎn)換等策略的有效性。除此之外,從表2里可以看到,目前獲得最好實驗結(jié)果的模型都是基于卷積神經(jīng)網(wǎng)絡(luò)的,這就證明了卷積神經(jīng)網(wǎng)絡(luò)不僅在圖像處理上效果優(yōu)異[24-27],因為其可以對復(fù)雜的非線性關(guān)系進行擬合以及參數(shù)利用的有效性,所以在知識表示領(lǐng)域也表現(xiàn)出了非常優(yōu)異的效果。
圖2 不同模型在FB15K-237的MR效果
圖3 不同模型在FB15K-237的Hits@10效果
圖4 不同模型在WN18RR的MR效果
圖5 不同模型在WN18RR的Hits@10效果
本文提出了一個高效的基于卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)的知識表示模型ConvKE。ConvKE把三元組內(nèi)各元素拼接在一起來提取整體信息,采用維度變換策略來增加卷積滑動窗口在三元組矩陣上的滑動步數(shù),同時提升三元組內(nèi)實體和關(guān)系在更多維度上的信息交互能力。ConvKE還使用擁有更大感受野的2-D卷積滑動窗口來捕獲這些信息交互。本文用知識補全任務(wù)來評估ConvKE的性能,實驗結(jié)果顯示,ConvKE在2個基準數(shù)據(jù)集WN18RR、FB15K-237上的MR指標上取得了較好的結(jié)果。
在以后的工作中,將不再單獨考慮獨立的三元組,因為這會丟失一個三元組周圍復(fù)雜和隱藏的信息,考慮三元組之間的依賴性,加入關(guān)系路徑信息到ConvKE中。