王梓銘 張思佳,2 安宗詩
(1.大連海洋大學信息工程學院遼寧省海洋信息技術重點實驗室 大連 116023)
(2.設施漁業(yè)教育部重點試驗室(大連海洋大學) 大連 116023)
知識圖譜的基本存儲單元是三元組,三元組由頭部實體、關系和尾部實體組成。三元組之間通過關系聯(lián)系在一起從而構成一張巨大的有向圖。DBpedia[1]、NELL[2]等大型知識庫均是從多個網(wǎng)站上爬取,清洗制作得到的,其復雜的知識結構往往難以有效的進行質(zhì)檢和分析。制作知識圖譜過程中往往會引入一些噪聲數(shù)據(jù),如虛假的關系,錯誤的實體,甚至無中生有的三元組。由于制作知識圖譜過程各種不可避免引入噪聲三元組,這些三元組破壞了知識圖譜的網(wǎng)絡結構,使得知識難以得到有效的展示,基于知識圖譜的知識推薦和搜索會產(chǎn)生致命錯誤。
為對知識圖譜進行有效質(zhì)檢,Ruobing Xie[3]等提出的三元組置信度算法,三元組的置信度可在圖譜構建前后進行,置信度計算的結果隱含了知識圖譜的內(nèi)部特征和三元組之間的隱含信息。Shengbin Jia[4]等基于深度學習模型將三元組的內(nèi)部語義特征、節(jié)點的全局語義依賴信息、以及三元組組成要素之間的可信度整合在一起,構建強魯棒性的噪聲三元組質(zhì)檢算法,其性能遠遠超出了傳統(tǒng)的TransE[5]、TransR[6]等算法。Yu Zhao[7]等將頭尾結點實體詞向量表示進行了一定的擴充,主要是考慮到實體本就包含了豐富的語義信息。Shengbin Jia和Yu Zhao等均將Trans系列算法作為基礎算法,在多個層次上對實體和關系向量進行整合達到較好的結果。但是目前的知識圖譜質(zhì)檢存在如下問題:1)大多數(shù)學者均是基于常見的開源知識圖譜設計質(zhì)檢算法,人為構建噪聲數(shù)據(jù)集,將知識圖譜的質(zhì)檢轉(zhuǎn)換成常見的分類任務,噪聲數(shù)據(jù)集的構建缺乏有效的方法;2)復雜的知識圖譜如FB15K-237 知識圖譜包含237 種關系,三元組之間具有復雜的關系傳遞[8],僅以孤立的三元組作為正樣本,會極大削弱知識圖譜包含的知識。本文提出的算法能夠有效解決以上問題,主要創(chuàng)新點如下:
1)提出基于搜索深度的關系強弱表征方法。復雜知識圖譜節(jié)點之間通過關系進行鏈接,基于鏈接深度,本文將每個三元組賦予預置權重,表征三元組為真實的置信度;
2)使用基于有向圖的深度搜索算法,搜索所有可能的路徑,基于搜索路徑構建新的三元組,用以擴充源三元組的規(guī)模;
3)基于擴充的三元組構建噪聲三元組,本文構建的噪聲三元組有三種,分別是替換頭實體<?,r,t>、替換關系 4)本文使用基于TransR 對擴充后的真實三元組進行預訓練,得到實體和關系的初始表達,然后使用多種深度學習算法對三元組建模,特征融合最后完成質(zhì)檢。 本文中隱含三元組是指復雜知識圖譜中,實體之間的關系傳遞導致實體之間存在間接關系,基于關系傳遞構建的新三元組被稱為隱含三元組。為更準確的挖掘知識圖譜節(jié)點之間的隱含語義關系,本文首先對數(shù)據(jù)集進行預處理,得到隱含三元組數(shù)據(jù)集,對源圖譜中的三元組進行擴充。 首先基于FB15K-237 數(shù)據(jù)集構建Neo4J 數(shù)據(jù)庫。以實體為搜索起點,搜索以該實體為起點的最長有向路徑。遍歷數(shù)據(jù)集的所有實體,得到所有搜索路徑,然后刪除被包含的子路徑,最終得到互不包含的所有路徑,并構建實體-關系矩陣E。基于實體關系矩陣利用關系傳遞方向構建隱含三元組。實體-關系矩陣E如式(1)所示。 其中,sigi,j={0,1},D 是數(shù)據(jù)集中不重復實體的數(shù)目,sigi,j是實體Eni與Enj之間的關系,sigi,j=0,表示這兩個實體之間無關聯(lián),sigi,j=1,表示這兩個實體之間有關聯(lián)。由于該矩陣是基于有向圖搜索得到的,三元組 由于每一條搜索路徑均要求相鄰節(jié)點之間存在有向邊,且由頭部實體指向尾部實體,故本文基于有向搜索路徑構建基于搜索深度的三元組置信度矩陣,該置信度矩陣用來標識每一個三元組中頭部和尾部實體關聯(lián)強弱。考慮到某些實體可能同時包含于多條搜索路徑,且由于深度不同造成置信度計算混亂,為解決這個問題,本文只以矩陣E 標識的最長搜索路徑為基準計算構建的隱含三元組的置信度,每條最長搜索路徑之間相互獨立。置信度計算方式如式(3)所示。 其中,F(xiàn) 指包含三元組<Eni,sigi,j,Enj>的最長搜索路徑個數(shù),dk指當前三元組在當前所屬三元組中的搜索深度,pk是當前搜索路徑總長度,即包含三元組的個數(shù),L 是所有最長搜索路徑的最大長度,通過參數(shù)L將所有的置信度進行歸一化。 正三元組。本文中,正三元組指頭部和尾部實體間存在直接或傳遞關系而構成的三元組。正三元組的來源有兩種:1)訓練集提供的原始三元組;2)基于式(1)生成的隱含三元組。 噪聲三元組。噪聲三元組是指不與正三元組有交集,并且不包含于擴充的知識圖譜的假三元組。為充分檢驗本文算法對知識圖譜的質(zhì)檢效果,本文集每個原始數(shù)據(jù)集構建三套噪聲數(shù)據(jù)集,分別是 HR_FAKE_T、 H_FAKER_T、 FAKEH_R_T。HR_FAKE_T是在正三元組基礎上隨機替換尾部實體、H_FAKER_T 是在正三元組基礎上隨機替換關系、FAKEH_R_T 是在正三元組基礎上隨機替換頭部實體。三套噪聲數(shù)據(jù)集的構建過程如算法1 所示。 算法1 噪聲數(shù)據(jù)集構建 //假設關系集合OR,正三元組集合OP,不重復三元組集合OT,不重復實體集合OE //假設原始數(shù)據(jù)集搜索路徑集合OS,3套噪聲數(shù)據(jù)集規(guī)模分別是j1,j2,j3 1)輸入:OR、OP、OT、OS、OE、j1、j2、j3 2)輸出:HR_FAKE_T、H_FAKER_T、FAKEH_R_T 3)For k in random(OP)/**Work in OP**/ 4) If length HR_FAKE_T 5) temp=Check(k.h,random(OE),k.t,0) 6)HR_FAKE_T←temp 7) Else pass 8) If length FAKEH_R_T 9) temp=Check(random(OE),k.r,k.t,1) 10)FAKEH_R_T←temp 11)Else pass 12)If length H_FAKER_T 13) temp=Check(k.h,random(OR),k.t,2) 14)H_FAKER_T←temp 15)Else pass 算法1 中,Check 函數(shù)分別實現(xiàn)對三種噪聲三元組的選擇,偽代碼如算法2所示。 算法2 Check(選擇噪聲三元組) 1)輸入:RTRIP、OR、OE、OS、find=True/**RTRIP 是傳進來的隨機三元組**/ 2)輸出:噪聲三元組 3)While 4) For triplets in OS 5) If 6) find=False Break 7) If find is True 8) Return 9) Else 10) If RTRIP.flag==0 11) RTRIP=(RTRIP.h,random(OE),RTRIP.t,0) 12) If RTRIP.flag==1 13) RTRIP=(random(OE),RTRIP.r,RTRIP.t,1) 14) If RTRIP.flag==2 15) RTRIP=(RTRIP.h,random(OR),RTRIP.t,2) 算法1和算法2實現(xiàn)了三種類型噪聲數(shù)據(jù)集的選擇和過濾,過濾條件包含兩個:1)新產(chǎn)生的噪聲三元組不應出現(xiàn)在經(jīng)擴展的正三元組集合;2)新產(chǎn)生的噪聲三元組不應出現(xiàn)在實體-關系關聯(lián)矩陣E中。通過以上兩種過濾方法,能夠極大地避免噪聲三元組的頭部和尾部實體之間不存在傳遞關系。將正三元組和噪聲三元組合并得到新的數(shù)據(jù)集。 由于FB15K-237 數(shù)據(jù)集內(nèi)存在大量的1∶N 和N∶N 的關系,本文基于TransR 算法訓練正三元組,得到實體和關系的向量表示,然后遍歷三個數(shù)據(jù)集的噪聲三元組,使用TransR 訓練好的模型參數(shù)初始化所有的噪聲三元組。所有正三元組的嵌入與其置信度進行內(nèi)積,得到加權特征向量。 ITQI 算法的基本框架如圖1 所示。其中,Po-TransR 表示基于TransR 算法初始化的正三元組,N-Random 表示噪聲三元組。噪聲三元組和正三元組均使用相同的維度的向量進行初始化。DeepPath是基于實體-關系矩陣構建的搜索路徑。 圖1 算法的基本框架 ITQI算法包含兩個主要分支:當前批次樣本的搜索路徑矩陣建模和三元組質(zhì)檢分類建模。 當前批次樣本的搜索路徑矩陣建模。此分支的輸入是經(jīng)向量化的三元組,輸出是當前批次三元組中每個實體與其他實體之間的關聯(lián)關系矩陣。一個批次樣本中,每個實體與其他實體間均在在兩種互斥關聯(lián):存在間接關系或直接關系;不存在任何關系。ITQI 算法采用TextCNN 以及多層BiLSTM構成實體間互斥關系預測模型,學習實體間的直接關聯(lián)和間接關聯(lián)關系。 三元組質(zhì)檢分類建模。此分支的輸入仍然是經(jīng)向量化的三元組,輸出是當前批次三元組的質(zhì)檢結果:真三元組、假三元組。 考慮到本文對知識圖譜進行深度預處理時已經(jīng)得到了一定規(guī)模的有向搜索路徑,實體間的時空語義關聯(lián)對實體向量的深層表示具有一定意義。王斌[9]等人使用TransE 訓練三元組得到三元組的向量表示,基于三元組的向量分布及有向子圖直接求解三元組的局部特征、全局特征以及包含語義的路徑特征。本文使用多層BiLSTM實現(xiàn)對原始輸入的空間語義關系進行建模,學習實體之間的局部關聯(lián)關系;然后使用BiLSTM提取三元組的內(nèi)部特征,最后使用局部損失和內(nèi)部損失共同優(yōu)化網(wǎng)絡參數(shù)。局部特征建模輸入如式(4)所示。 其中,B 指BatchSize,及當前訓練的輸入批次大小,a 是所有批次樣本的關聯(lián)深度,且a≤B,局部特征建模的目標輸出標簽如式(5)所示,標簽含義如式(6)所示。 符號?表示實體Eni和實體Enj之間不存在關聯(lián)關系,兩者的關聯(lián)標簽為0,符號→表示實體Eni和實體Enj之間存在關聯(lián)關系,兩者的關聯(lián)標簽為1。 本文算法中,局部特征建模過程中,通過多標簽分類算法實體間關聯(lián)關系的訓練和預測,將不存在關聯(lián)關系的實體進行區(qū)分,使用二分類方式實現(xiàn)真假三元組的質(zhì)檢。將兩者的損失進行聚合共同優(yōu)化網(wǎng)絡參數(shù)。局部特征建模過程中實體關聯(lián)關系損失如式(7)所示。 三元組質(zhì)檢為常見的二分類交叉熵損失[10~11],與式(7)合并之后得到總損失,見式(8)所示。 其中,y-表示三元組質(zhì)檢標簽表示神經(jīng)網(wǎng)絡對每個三元組質(zhì)檢分類概率;yj表示局部特征建模過程中實體關聯(lián)關系標簽,pj表示神經(jīng)網(wǎng)絡對每個實體關聯(lián)關系預測概率。 本文提出的ITQI 算法可在GPU 快速部署運行,與其他算法在CPU 上進行對比實驗,對比實驗的配置如表1所示。實驗基本設置如表2所示。 表1 實驗硬件條件 表2 實驗條件設置 本文使用FB15K-237 數(shù)據(jù)集共有14541 種實體類別、237個關系、訓練集272115組數(shù)據(jù)、驗證集17535組數(shù)據(jù)和測試集20466組數(shù)據(jù)。 本文第3.2節(jié)使用基于有向最長路徑搜索算法將所有實體之間有無關聯(lián)關系映射至實體關系關聯(lián)矩陣E,實體之間有直接關系或間接關系的均被認為能夠構建為正三元組,基于矩陣E,極大的擴展了原有的正三元組,拓展后訓練集的數(shù)據(jù)規(guī)模增加75179個三元組。 噪聲三元組依據(jù)算法1 和算法2 進行構建,其三元組規(guī)模分別與各數(shù)據(jù)集的訓練集、測試集和驗證集規(guī)?;鞠嗤?。 本文實驗所使用的對比算法如表5 所示。評估指標分別是:Accuracy、Precision、Recall-Score、F1-Score、Quality。這四個評估指標的計算公式直接調(diào)用Sklearn.metrics封裝好的計算公式計算這四個指標值。Quality 指標時衡量三元組質(zhì)檢質(zhì)量的評估指標,本文借鑒Shengbin Jia 等提出的計算Quality指標公式,將0.5作為三元組質(zhì)檢的分界線,即預測為正的三元組其概率如果小于0.5則認為預測錯誤,預測為正的三元組其概率如果大于0.5 則認為預測錯誤。對比試驗與現(xiàn)有的較好模型TransE、TransR、TransD[12]、TransH[13]、PTransE[14]、KGTtm[15]、MLP和Bilinear[16]進行對比。 本文算法首先在FB15K-237 數(shù)據(jù)集上進行質(zhì)檢實驗,實驗對象分別如下: 1)正三元組+HR_FAKE_T; 2)正三元組+H_FAKER_T; 3)正三元組+FAKEH_R_T。 其 中HR_FAKE_T、H_FAKER_T 及FAKEH_R_T 等三個噪聲數(shù)據(jù)集的創(chuàng)建已在前文進行詳細介紹,三組實驗的評估指標分別是Accuracy、F-Score、Precision、Recall 實驗結果如圖2 所示,實驗結果匯總如表6所示。 表6 三個數(shù)據(jù)集上的實驗結果 從本文算法在三個數(shù)據(jù)集上的實驗結果可看出,本文實驗具有較好的魯棒性,四種評估指標下的實驗結果均較高。為驗證本文提出的ITQI 算法對實體間隱含關系學習的有效性以及對隱含三元組識別的準確性,ITQI 算法與Shengbin Jia 等提出的算法及其對比試驗結果進行對比,評估指標為Recall 及Quality,ITQI 算法與對比算法實驗結果如表7所示。 表7 對比實驗結果 從表7 可看出,本文所提算法ITQI 在FB15K-237 數(shù)據(jù)集的三個擴展集上的實驗結果優(yōu)于其它算法在原始數(shù)據(jù)集上的實驗結果。相對于其它對比算法的平均召回率和質(zhì)檢質(zhì)量均值而言,本文算法在三個拓展集的召回率最大提升6.09%、最小提升2.92%;Quality 指標下的最大提升15.09%,最小提升12.09%;和KGTtm-、PTransE-以及TransR-相比,本文算法召回率最大提升7.275%,最小提升0.201%;Quality 指標上最大提升14.98%,最小提升1.251%?;谝陨蠈Ρ冉Y果,本文算法在兩個對比指標上的平均提升率和在單個對比算法上的提升率均為正,實驗表明本文算法具有一定的優(yōu)勢。 針對現(xiàn)有三元組質(zhì)檢算法極少考慮到知識圖譜中由于關系轉(zhuǎn)遞存在的大量隱含三元組對質(zhì)檢效果的影響,本文提出基于帶噪聲數(shù)據(jù)集的強魯棒性隱含三元組質(zhì)檢算法ITQI,首先對FB15K-237數(shù)據(jù)集進行了擴充得到更大規(guī)模的三元組,并使用算法1和算法2分別生成三組噪聲數(shù)據(jù)集。通過本文算法與對比算法在數(shù)據(jù)集上的實驗表明,本文算法具有更高的準確率,且優(yōu)于其它算法。從評估指標對比結果來看,本文算法在正三元組+FAKEH_R_T 這類數(shù)據(jù)集上有更高的召回率,三元組的質(zhì)檢質(zhì)量更高。2 隱含三元組
3 ITQI算法
3.1 三元組構建及初始化
3.2 ITQI算法基本框架
4 ITQI算法對比實驗
4.1 實驗環(huán)境
4.2 數(shù)據(jù)集
4.3 實驗
5 結語