?

基于卷積神經網絡的知識圖譜補全方法研究

2021-04-15 03:48王維美史一民李冠宇
計算機應用與軟件 2021年4期
關鍵詞:圖譜卷積向量

王維美 陳 恒,2 史一民 李冠宇*

1(大連海事大學信息科學技術學院 遼寧 大連 116026)2(大連外國語大學軟件學院 遼寧 大連 116044)

0 引 言

知識圖譜(Knowledge graph,KG)是種新型知識表示方法,其概念最早由谷歌公司提出,Google認為“things,not strings”,即對于搜索引擎來講,世界中的各種物體不應該僅僅是string,而是具有實際含義的thing[1]。KG提供圖結構化信息,成為智能問答、Web搜索、推薦系統和專家系統等智能應用程序的關鍵資源。隨著知識圖譜的興起,出現了很多大型知識圖譜,如Freebase、DBpedia,但這些知識圖譜并不完備,知識圖譜中實體間隱含的關系沒有被充分挖掘,補全三元組成為亟需解決的問題。近幾年,很多工作利用卷積神經網絡表示知識圖譜中實體和關系,并進行知識圖譜補全,從而完善知識圖譜。

知識圖譜是一種描述真實世界客觀存在的實體、概念及它們之間關聯關系的語義網絡[2],是結構化的語義知識庫[3],其中實體使用節點代替,關系用邊表示,表示形式為三元組(h,r,t),即(頭實體,關系,尾實體)。隨著知識圖譜規模越來越大,三元組數據稀疏問題愈加嚴重。知識圖譜的表示學習技術將三元組中實體和關系表示成向量,在低維向量空間計算實體和關系的語義聯系,解決獨熱學習維度過高和無法有效表示兩個實體的問題。知識圖譜表示學習面向知識圖譜的實體和關系進行學習,該技術可以有效緩解數據稀疏問題,使知識圖譜更加完備。

目前一些知識表示學習算法不能有效解決知識圖譜存在的數據稀疏問題,如早期的TransE嵌入模型在處理復雜關系上性能降低。對此,本文提出一種基于CNN(卷積神經網絡)的知識圖譜補全方法。卷積神經網絡為計算機視覺而設計,在自然語言處理領域受到很大關注[4],在某些任務(如分塊、詞性標簽、命名實體識別和關系分類)上取得了不錯效果[5]。與全連接神經網絡相比,卷積神經網絡學習非線性特征可以捕獲復雜關系,且參數數量明顯減少[6]?;贑NN的優點,使用其進行知識圖譜補全的優點在于:(1) 充分考慮到上下文信息和詞序,能夠學習實體和關系的嵌入向量間的深層聯系[6];(2) 所需參數較少,計算復雜度低,能夠適用大規模知識圖譜補全。本文方法使用改進的卷積神經網絡對三元組(h,r,t)的嵌入矩陣(h,r,t)進行操作,將三元組矩陣和不同的卷積核進行卷積,把卷積得到的特征圖進行連接,將特征圖和權重向量作點積運算,用點乘的分數判斷三元組正確與否。分數越趨近于0,代表三元組越正確,其中正確三元組分數低于錯誤三元組分數。

本文使用從Freebase和WordNet抽取的數據集,進行知識圖譜補全相關的鏈接預測和三元組分類實驗。實驗結果表明,本文方法擁有更好的預測精度,補全效果更好。

1 相關工作

1.1 嵌入模型

典型的嵌入模型有TransE[7]、TransH[8]、TransR[9]、TransD[10]等嵌入模型。這些嵌入模型將實體和關系投影到連續的低維向量空間中,即圖1中將三元組(h,r,t)投影到低維嵌入空間Rk中,生成(h,r,t)的過程。TransE模型將知識圖譜的關系看作是頭實體到尾實體的一種平移。給定一個三元組(Beijing,cityOf,China),TransE將關系向量r作為頭實體向量h和尾實體向量t之間的一種平移[11],即h+r≈t,這也表明在嵌入空間中t應該是h+r最近的鄰居[12]。

圖1 實體和關系的低維嵌入

TransE模型只適用一對一關系,在處理復雜關系類型1-N、N-1、N-N上模型性能顯著降低。例如,給定兩個三元組(The Terminator,_directed_by,James Cameron)、(Aliens,_ditrected_by,James Cameron),為得到頭實體The Terminator和Aliens的向量,使用打分函數h+r≈t進行計算,得到兩個相同向量。實體不同,向量就不同,TransE不能有效解決此問題。為了彌補這個缺陷,出現了TransH、TransR等模型。TransR模型對一個給定關系r,定義關系的投影矩陣Mr,將實體從實體空間投影到關系r的子空間,利用打分函數h+r≈t計算每個三元組的得分。TransR通過將實體和關系投影到不同的空間,解決了實體和關系屬于不同對象時,不能用同一個空間表示的問題?;赥ransR這種特性,本文用TransR對數據集中所有三元組進行訓練,將得到的向量作為本文算法的輸入,使得每個三元組輸入時擁有一定的語義信息。

1.2 神經網絡模型

上述嵌入模型僅表達了三元組結構信息,沒有利用實體或關系的描述文本。文獻[13]提出了一種張量神經網絡(NTN),用實體名稱所有詞向量平均值表示該實體,讓具有類似名稱的實體能夠共享文本信息。DKRL[14]使用連續詞袋(CBOW)以及卷積神經網絡(CNN)兩種表示學習方法來建立實體描述文本的語義向量。OOKB[15]模型是一種基于圖神經網絡(Graph-NNs)的模型,將圖譜中頭實體和尾實體向量進行組合,形成最終向量。此外,模型DisMult[16]和ComplEx[17]使用向量點乘計算三元組得分,利用打分函數判定其正確性。

和鏈接預測模型DisMult相比,ConvE[18]模型參數少,計算復雜度低,可以高效訓練三元組,獲取實體和關系的向量嵌入,同時學習三元組更多的特征表示。ConvE作為使用CNN來補全知識圖譜的模型,將頭實體和關系向量重組,組合成矩陣作為CNN卷積層的輸入,使用不同的卷積核進行卷積,輸出多個特征圖,將這些特征圖矢量化,映射成一個向量,此向量和尾實體作點積運算得到三元組分數,利用得分判斷三元組的正確性。ConvE模型打分函數見表1。ConvE將頭實體和關系作為輸入矩陣,忽略了三元組的全局特征。為了使用三元組的全局特征,文獻[6]提出了ConvKB模型,該模型將三元組(頭實體,關系,尾實體)矩陣作為輸入,捕獲三元組全局特征,利用不同的卷積核進行卷積,通過打分函數得到每個三元組的得分,作為判斷三元組正確的依據。從上述兩個模型可以看出,卷積神經網絡可以提取三元組中實體和關系的特征,然后和不同的卷積核進行卷積,得到相應的特征圖,將特征圖進行連接得到三元組的整體特征。文獻[6]提出使用CNN對三元組進行編碼,但只融合進了TransE,沒做進一步探索。為充分考慮三元組的結構信息和特征表示,本文使用TransR訓練出的三元組矩陣作為本文算法的輸入,解決TransE模型不能建模復雜關系的缺陷,同時使用不同的卷積核進行卷積。本文對卷積核形狀做了一定修改,同時設置不同的步長數對輸入矩陣作卷積運算,對輸入的三元組盡可能捕獲更多的特征,獲取三元組的全局表示特征。以上模型的打分函數如表1所示。

表1 相關模型的打分函數

2 算法設計

使用TransR模型訓練出的三元組矩陣作為本文算法的輸入,并在TransR模型算法的基礎上完善了基于卷積神經網絡的算法。給定一個三元組(h,r,t)∈T,h,r∈E,r∈R,即KG=(E,R,T),E為實體集,R是關系集,T是訓練集,每個實體和關系的嵌入維度為N。本文算法如下:

輸入:訓練集T=(h,r,t),實體集E,關系集R,正則項權重λ,嵌入層維度N。

初始化:

Loop:

Tbatch←sample(T,b)

//sample a minibatch ofb

Tbatch←?

for(h,r,t)∈Tbatchdo

Tbatch←Tbatch∪{((h,r,t), (h′,r′,t′))}

endfor

更新嵌入層

Input←[h,r,t]

//輸入矩陣

計算concat(g([h,r,t]*Ω))·w

更新損失函數

//θ=±1

EndLoop

本文算法框架圖如圖2所示。使用(h,r,t)表示每個三元組(h,r,t)相應的嵌入矩陣,令M=[h,r,t]∈RN×3,Mi,:∈R2×3表示矩陣的每一行,和不同的卷積核進行卷積。ω是一個2×3的卷積核,和M的每兩行重復卷積,得到一個個特征圖,連接所有特征圖得到的列向量如式(1)所示。

圖2 算法框架

v=[g(ω·M1,:+b),g(ω·M2,:+b),…,

g(ω·Mk,:+b)]∈RN

(1)

列向量和權重向量作點積運算,得到的分數作為判斷三元組是否正確的依據。本文采用不同卷積核進行操作,形狀為2×3,步長為{1,2,3},令步長為1,卷積核數量|ω|=m,會產生m個不同的特征圖,m個不同特征圖進行連接得到一個列向量v∈Rm(N-1),然后和一個權重向量w∈Rm(N-1)作點乘。其中,打分函數越小代表三元組越正確,打分函數如下:

f(h,t)=concat(g([h,r,t]*Ω))·w

(2)

式中:Ω和w分別是卷積核集、權重,它們都是超參數;g代表激活函數,本文比較了ReLU和Sigmoid兩個激活函數,實驗結果表明,ReLU卷積效果更好;*代表卷積操作;concat表示連接操作;[h,r,t]表示算法的輸入矩陣,此矩陣由本文改進后的TransR模型進行訓練得到。最小化損失函數作為最終的訓練目標,損失函數如下:

(3)

T′={(h,r,t)|h′∈E}∪{(h,r,t)|t′∈E}

(4)

即將正確三元組的頭實體和尾實體分別用數據集所有實體代替,正例三元組得分低于負例三元組得分。本文使用Adam[20]最小化如式(3)所示的損失函數。

3 實 驗

3.1 數據集

本文使用從Freebase和WordNet中抽取的3個數據集:FB15k[7]、WN18RR[18]、FB15K-237[20]進行實驗。由文獻[20]可知,數據集WN18和FB15k包含一些反轉關系,這些反轉關系會使實驗結果顯著提高,為保證實驗結果的準確性,將數據集WN18和FB15k中具有反轉關系的三元組去掉,得到對應數據集WN18RR和FB15K-237。

數據集FB15k包含1 345種關系,14 951個實體,592 213個三元組,訓練集、驗證集、測試集大致比率為9 ∶1 ∶1。

數據集FB15K-237包含237種關系,14 541個實體,310 116個三元組,訓練集、驗證集、測試集大致比率為14 ∶1 ∶1。

數據集WN18RR包含11種關系,40 943個實體,93 003個三元組,分為訓練集、驗證集、測試集3種,大致比率為28 ∶1 ∶1。

數據集統計情況如表2所示。

表2 數據集統計

3.2 參數設置

本文使用改進后的TransR訓練出三元組矩陣來作為本文算法的輸入。使用超參數網格搜索訓練TransR 3 000次,最終超參數設置如下:數據集的嵌入維度N∈{50,100},SGD的學習速率λ1∈{0.1,0.01,0.001,0.000 1},間隔γ∈{1,2,3,4,5},歸一化采用L1或L2范數。

為了學習實體和關系的嵌入維度N、卷積核ω、權重w、偏置項b這些超參數,本文使用Adam優化器,其學習速率λ2∈{0.01,0.001,0.000 1,0.000 5,0.000 01,0.000 05}。卷積核ω的數值隨機初始化,卷積核數量m∈{100,150,200,300,400,600},損失函數的λ值設置為0.001,所有實驗進行500輪的迭代訓練。此外,為有效緩解過擬合,根據驗證集上的MRR評估指標,通過網格搜索選擇dropout值,其值為dropout∈{0.1,0.2,0.3,0.5}。

在經過500次迭代訓練后,使用最后一次迭代訓練的輸出值作為測試集評估,不同數據集最優Hit@10如下:在WN18RR上,Hit@10最優設置為:N=50,m=600,λ2=0.000 5,dropout=0.5;在FBI5K-237上,Hit@10最優設置為:N=100,m=100,λ2=0.000 01,dropout=0.3。

3.3 鏈接預測

3.3.1實驗設計

鏈接預測即預測知識圖譜中三元組缺失的實體和實體間關系。例如:給定三元組(Michelle Obama,residence,?),其中:頭實體為Michelle Obama,關系為residence,尾實體缺失,為補全三元組,將American添加到該元組中,對其進行補全;或者(鄧超,?,孫儷),該三元組中缺失關系,為補全三元組,將夫妻(或配偶)關系添加進去進行補全。實驗采用文獻[7]的標準,對測試集中每個三元組(h,r,t),把頭實體、尾實體去掉,依次使用數據集所有實體替代,得到負例三元組,對新三元組使用打分函數計算相似性得分,相似度越高排名越靠前,這樣可以得到正確實體的真實排名。

3.3.2評估指標

本文選擇平均排名MR(MeanRank)、倒數平均排名MRR(Mean Reciprocal Rank)、進入前10名的比例(Hit@10)作為本文算法評估指標。三個指標中,MR越低、MRR越高、Hit@10越高,代表算法的效果越好,學習能力越強。數據集中可能存在一些錯誤三元組,采用文獻[7]的標準,把錯誤三元組從數據集中刪除,刪除后的設置為Filter,原來的為Raw。在數據集FB15K-237和WN18RR上,僅使用Filter設置。

3.3.3實驗結果和分析

采用相同實驗設置情況下,本文實驗環境為:Window 7 64位系統,物理內存為8 GB。數據集WN18RR和FB15K-237在不同模型下的鏈接預測結果如表3和表4所示。

表3 WN18RR在不同模型下鏈接預測結果

表4 FB15K-237在不同模型下鏈接預測結果

可以看出,本文方法在WN18RR和FB15K-237數據集上均獲得了最低的MR和最高的Hit@10。具體分析如下:(1) 本文方法與ConvKB模型相比,數據集WN18RR在MR上降低了4.2%,在Hit@10上提高了3.8;數據集FB15K-237在MR上降低了4.7%,在Hit@10上提高了2.8。(2) 在數據集WN18RR上,TransE模型的MR指標優于ConvE、ComplEx等模型;TransE模型的Hit@10指標優于ConvE、DISTMUL等模型??梢?,基準模型TransE在數據集WN18RR上具有很好的表示效果。(3) 和其他模型相比,本文方法具有更好的表示能力,也說明了改進的卷積神經網絡用于知識圖譜補全具有更好的性能。

3.4 三元組分類

3.4.1實驗設計

三元組分類即判斷知識圖譜中三元組的正確性。引用文獻[9]提出的三元組分類,設置一個閾值,對于任意給定的三元組,使用式(2)所示的打分函數計算得分,如果這個得分低于閾值,則三元組是正確的,否則為錯誤。

3.4.2實驗結果和分析

參照文獻[9],本文使用基準數據集FB15K進行三元組分類實驗。實驗環境為Window 7 64位系統,物理內存為8 GB。FB15K最優參數為N=100,m=300,λ2=0.000 05,dropout=0.1。實驗結果如表5所示。

表5 三元組分類實驗結果

可以看出:(1) 本文方法取得了90.5%的準確率,優于DKRL模型,證明在三元組分類這個任務上本文方法效果更好。(2) 基于表示學習的嵌入模型效果都要好于NTN,說明將關系看作頭實體到尾實體的平移的嵌入模型更能表示知識圖譜中的數據和區分正確的三元組。

4 結 語

本文針對知識圖譜補全提出一種基于卷積神經網絡的方法,利用三元組全局信息,將三元組矩陣作為算法的輸入,和不同的卷積核進行卷積操作,得到不同的特征圖,將這些特征圖進行連接,得到的向量和權重作點積運算產生一個得分,分數越低三元組越正確。

(1) 三元組分類實驗結果表明,本文方法優于一些傳統嵌入模型,在鏈接預測實驗中,在MR、MRR、Hit@10指標上有了明顯提高,從這三個指標可以看出本文方法解決了知識圖譜中數據稀疏問題,提高了知識圖譜的完備性。

(2) 本文方法可以對普通知識圖譜和領域性知識圖譜進行補全,同時也可以應用到查詢系統,比如建模三元組(查詢,用戶,文檔),通過查找三元組中缺失的實體或關系,將缺失的實體或關系以三元組的形式添加到數據庫中,從而對數據庫進行補全擴充。

另外,針對得到的實體或關系與已有實體關系存在不相容或沖突問題:使用本文方法判斷不同三元組得分,利用分數判斷三元組正確性;使用實體或關系對齊模型來判斷不同三元組的正確性,若三元組正確,則在知識圖譜中可以共存,比如:姚明亦指大姚(別名)。

為提高三元組補全正確率,今后的研究將嘗試修改卷積神經網絡內部架構,對三元組特征提取作更深入的研究;將實體和關系的描述文本融入到卷積神經網絡中,作為算法的輸入。

猜你喜歡
圖譜卷積向量
基于全卷積神經網絡的豬背膘厚快速準確測定
基于圖對比注意力網絡的知識圖譜補全
“植物界大熊貓”完整基因組圖譜首次發布
向量的分解
基于圖像處理與卷積神經網絡的零件識別
一種基于卷積神經網絡的地磁基準圖構建方法
基于3D-Winograd的快速卷積算法設計及FPGA實現
圖表
向量垂直在解析幾何中的應用
向量五種“變身” 玩轉圓錐曲線
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合