趙國(guó)清,何佳洲,李永盛,王景石
(江蘇自動(dòng)化研究所,江蘇 連云港 222061)
為了能充分利用異質(zhì)多元、組織結(jié)構(gòu)松散的互聯(lián)網(wǎng)數(shù)據(jù),從中獲取有價(jià)值的知識(shí),研究人員們做了大量的工作。Bernerslee等人[1]提出了語義網(wǎng)概念,用本體模型形式化表達(dá)Web數(shù)據(jù)信息中的隱含語義;W3C提出使用資源描述框架(RDF)和萬維網(wǎng)本體語言(OWL)來規(guī)范化地描述網(wǎng)絡(luò)資源[2]。2012年Google在此基礎(chǔ)上提出了知識(shí)圖譜概念[3],用以提升搜索引擎能力、增強(qiáng)用戶體驗(yàn)。目前,知識(shí)圖譜以其強(qiáng)大的語義處理能力和開放組織結(jié)構(gòu),已經(jīng)成為人工智能領(lǐng)域的關(guān)鍵技術(shù),也是當(dāng)下研究的熱點(diǎn)之一。
目前,已經(jīng)出現(xiàn)了一大批可用的開放知識(shí)圖譜,如YAGO[4-5]、Dbpedia[6]、NELL[7]、Freebase[8]等。這些知識(shí)圖譜從大量數(shù)據(jù)資源中精煉出知識(shí),并組織及管理知識(shí)庫(kù),為垂直搜索,問答系統(tǒng)等智能應(yīng)用提供支持。然而不全面的數(shù)據(jù)來源使得這些知識(shí)圖譜比較稀疏,大量實(shí)體間的關(guān)系未標(biāo)注,甚至已標(biāo)注關(guān)系中也存在錯(cuò)誤,這就需要使用知識(shí)圖譜補(bǔ)全技術(shù)補(bǔ)全知識(shí)圖譜中缺失的知識(shí),同時(shí)使用知識(shí)圖譜去噪修正錯(cuò)誤關(guān)系[9],主要采用的方法便是知識(shí)推理技術(shù)。
區(qū)別于傳統(tǒng)意義上的推理,面向知識(shí)圖譜的知識(shí)推理,是根據(jù)知識(shí)庫(kù)中兩個(gè)或兩個(gè)以上的已有知識(shí),通過各種方法推理出新知識(shí)的過程。由于知識(shí)圖譜是以(頭實(shí)體,關(guān)系,尾實(shí)體)事實(shí)三元組形式存儲(chǔ)知識(shí),故知識(shí)推理的任務(wù)主要是對(duì)實(shí)體預(yù)測(cè)或?qū)?shí)體間關(guān)系預(yù)測(cè)。
根據(jù)采用的方法不同,知識(shí)推理可分為基于邏輯的推理和基于統(tǒng)計(jì)的推理兩大類。其中,基于邏輯的知識(shí)推理方法又可具體分為基于一階謂詞邏輯、基于描述邏輯和基于本體三種。一階謂詞邏輯以非結(jié)構(gòu)化形式表達(dá)知識(shí),將三元組化為一系列命題,其中頭尾實(shí)體對(duì)應(yīng)命題的個(gè)體,實(shí)體間關(guān)系對(duì)應(yīng)命題的謂詞,再根據(jù)設(shè)定好的邏輯規(guī)則與約束條件推理出新的命題(知識(shí))。例如,由“A是B的父親”和“B是C的父親”,可推出“A是C的爺爺”。描述邏輯專門用來應(yīng)對(duì)實(shí)體關(guān)系復(fù)雜的推理任務(wù),通過知識(shí)庫(kù)中的TBox與Abox將復(fù)雜問題簡(jiǎn)化為一致性檢測(cè)問題[10]?;诒倔w的知識(shí)推理,則是利用SWRL等規(guī)則語言,在概念層次上進(jìn)行推理。
基于邏輯的方法依靠專家先行給出確定的邏輯規(guī)則,再在此基礎(chǔ)上進(jìn)行推理,在小規(guī)模的知識(shí)圖譜上取得了很高的精準(zhǔn)度和解釋性。然而為了適應(yīng)信息技術(shù)的飛速發(fā)展,現(xiàn)在的開放知識(shí)圖譜規(guī)模越來越大,包含的知識(shí)也橫跨了越來越多的領(lǐng)域,單靠專家們一一設(shè)定邏輯規(guī)則效率太低。由此產(chǎn)生了基于統(tǒng)計(jì)的知識(shí)推理方法,利用知識(shí)圖譜的統(tǒng)計(jì)規(guī)律,結(jié)合機(jī)器學(xué)習(xí)來進(jìn)行推理。
知識(shí)圖譜除了遵循一些確定性規(guī)則(如實(shí)體類型的傳遞性)外,還遵循一些統(tǒng)計(jì)規(guī)律:1)同質(zhì)性,即具有相同特征的實(shí)體間更有可能有聯(lián)系;2)可用塊結(jié)構(gòu)劃分實(shí)體,同一個(gè)塊的所有實(shí)體都與其他塊的實(shí)體有相似關(guān)系[11];3)部分實(shí)體間依賴關(guān)系可能橫跨多個(gè)不同三元組鏈與關(guān)系類型?;诮y(tǒng)計(jì)的知識(shí)推理要充分利用知識(shí)圖譜的這些統(tǒng)計(jì)規(guī)律,從現(xiàn)有知識(shí)庫(kù)中學(xué)習(xí)新的知識(shí)。
2.1.1 建立數(shù)學(xué)模型
為學(xué)習(xí)實(shí)體及實(shí)體間關(guān)系,需要先建立起數(shù)學(xué)模型,將實(shí)體與關(guān)系轉(zhuǎn)化為機(jī)器所能理解的形式。設(shè)知識(shí)圖譜中所有實(shí)體的集合為E={e1,e2,…,en},所有關(guān)系的集合為R={r1,r2,…,rm},則事實(shí)三元組可表示為xijk=(ei,rk,ej),其中i,j=1,2,…,n,k=1,2,…,m。
引入隨機(jī)變量yijk∈{0,1} 表示三元組xijk的存在性,yijk取1代表xijk存在,取0則表示xijk不存在。由m*n2個(gè)yijk組成三階張量Yijk∈{0,1}n×m×n,每個(gè)可能的Yijk都代表真實(shí)世界的一個(gè)可能實(shí)現(xiàn)。令P(Yijk)為隨機(jī)張量Yijk的聯(lián)合分布函數(shù),則基于統(tǒng)計(jì)的知識(shí)推理方法便是通過機(jī)器學(xué)習(xí)方法計(jì)算P(Yijk)來達(dá)到預(yù)測(cè)事實(shí)三元組的目的。
例如,在假設(shè)隨機(jī)變量yijk條件獨(dú)立的情況下,P(Yijk)可定義為[12]
(1)
其中D是E×R×E×{0,1}的一個(gè)子集,代表當(dāng)前知識(shí)圖譜,函數(shù)Ber(y|p)為伯努利分布函數(shù)。C為參數(shù),σ(x)=1/(1+e-x)為sigmoid函數(shù),fijk為事實(shí)三元組xijk的得分函數(shù)。
由此可見,P(Yijk)正相關(guān)于fijk,也即fijk可代表對(duì)三元組xijk存在的信心,得分越高,xijk越有可能存在。事實(shí)上,不管P(Yijk)表達(dá)式如何,總需要設(shè)計(jì)出一個(gè)與P(Yijk)正相關(guān)的合適的得分函數(shù)fijk,這即是影響統(tǒng)計(jì)關(guān)系學(xué)習(xí)效率與準(zhǔn)確度的關(guān)鍵。
2.1.2 RESCAL模型
針對(duì)知識(shí)圖譜中關(guān)系域維度高、分布稀疏的特點(diǎn),Nickel等人[13-15]引入張量分解(Tensor Factorization)的方法,提出了RESCAL模型,通過模型的隱特征向量進(jìn)行集體學(xué)習(xí)。他們認(rèn)為實(shí)體的隱特征(Latent Feature)是影響實(shí)體間關(guān)系的關(guān)鍵,將各種不可被機(jī)器理解的實(shí)體用一個(gè)個(gè)隱特征向量表示后,可以方便地使用機(jī)器學(xué)習(xí)的方法來預(yù)測(cè)實(shí)體間的關(guān)系。
模型中設(shè)定xijk=(ei,rk,ej)的得分函數(shù)為
(2)
其中l(wèi)i=(li1,li2,…,liN)T,lj=(lj1,lj2,…,ljN)T為實(shí)體ei和ej的隱特征向量,d為實(shí)體的隱特征個(gè)數(shù),wabk表示關(guān)系rk中隱特征a和b的相互作用程度。它用乘法項(xiàng)描述了兩實(shí)體間的相互作用,因li和lj都是線性關(guān)系,故也稱為雙線性模型。訓(xùn)練過程中,同時(shí)學(xué)習(xí)實(shí)體的隱特征向量表示為影響矩陣Wk。
RESCAL模型的推理準(zhǔn)確率高,但是計(jì)算慢,時(shí)間復(fù)雜度高,占用內(nèi)存大,在大型知識(shí)圖譜上并不適用。在此基礎(chǔ)上,Chang等人[16]提出了TRESCAL模型,引入實(shí)體類型約束,提前排除與關(guān)系rk不相關(guān)類型的實(shí)體,很大地提升了計(jì)算速度。
2.1.3 結(jié)構(gòu)化嵌入模型(SE)
相比較于RESCAL模型直接利用實(shí)體的隱向量表示進(jìn)行集體機(jī)器學(xué)習(xí),隱距離模型(LDM)方法則是根據(jù)實(shí)體隱特征向量間的距離來預(yù)測(cè)兩實(shí)體間的關(guān)系。Hoff等人在文獻(xiàn)[17]中第一次提出此算法,并用于社交網(wǎng)絡(luò)分析。他們定義得分函數(shù)fij為
(3)
其中α與β為常數(shù),附加協(xié)變量δij表示觀測(cè)得到的潛在成對(duì)性,d(li,lj)表示實(shí)體ei和ej的隱特征向量之間的距離(常用歐氏距離,也即‖li-lj‖2)。d(li,lj)越大,則fij越小,實(shí)體ei和ej間就越可能有關(guān)系。
在此基礎(chǔ)上,Bordes等人[18]提出了結(jié)構(gòu)化嵌入(SE)模型,將隱距離模型方法推廣到了多關(guān)系數(shù)據(jù)的知識(shí)推理中。定義所有實(shí)體的d維隱特征向量組成的空間為嵌入空間,取得分函數(shù)fij為
(4)
2.1.4 翻譯模型(TransE)
無論是基于隱特征的RESCAL模型,還是基于隱距離的SE模型,都是將關(guān)系視作一個(gè)變換矩陣,將實(shí)體映射到特定維的向量空間中進(jìn)行集體學(xué)習(xí)。然而訓(xùn)練過程中需要先學(xué)習(xí)出關(guān)系變換矩陣等參數(shù),對(duì)于大型知識(shí)圖譜來說耗費(fèi)時(shí)間較長(zhǎng),占用內(nèi)存也較大,準(zhǔn)確度不高。
為此,Bordes等人[19]受文獻(xiàn)[20]中提出的“用嵌入空間中的向量差表示詞匯間關(guān)系”思路啟發(fā),提出了TransE模型,定義得分函數(shù)fij為
(5)
其中函數(shù)d(x1,x2)表示向量x1,x2間距離(常取歐氏距離),li與lj分別為頭實(shí)體ei和尾實(shí)體ej在嵌入空間中的向量表示,rk為關(guān)系rk在嵌入空間中的向量表示。該模型思路為:如果事實(shí)三元組xijk=(ei,rk,ej)存在,那么頭實(shí)體向量li與關(guān)系向量rk之和與尾實(shí)體向量lj相近,否則遠(yuǎn)離。訓(xùn)練過程中,若關(guān)系數(shù)量不足,可通過替換頭尾實(shí)體增加負(fù)例,最終根據(jù)得分函數(shù)的高低確定推理結(jié)果。
TransE模型簡(jiǎn)單有效,可并行性好,計(jì)算效率和召回率都很高,在學(xué)術(shù)界大受歡迎,科研工作者們不斷地投入了對(duì)Trans系列的研究。例如, Wang等人[21]為了提升TransE處理多屬性關(guān)系的能力,提出了TransH模型,先將實(shí)體映射到關(guān)系所在的超平面上,再利用TransE算法建模;Lin等人[22]提出了TransR模型,先將實(shí)體和關(guān)系映射到不同向量空間,再通過空間映射矩陣將實(shí)體向量映射到每個(gè)關(guān)系對(duì)應(yīng)的不同空間中,最后再計(jì)算得分函數(shù)。
通過知識(shí)圖譜中節(jié)點(diǎn)的領(lǐng)域與節(jié)點(diǎn)間路徑的存在性觀測(cè)度量出實(shí)體的相似性,相似性越高的實(shí)體間更可能存在關(guān)系(邊)。根據(jù)度量方法不同可分為局部相似性指數(shù)、全局相似性指數(shù)和準(zhǔn)局部相似性指數(shù)。局部相似性指數(shù)是通過實(shí)體的公共鄰居數(shù)或絕對(duì)鄰居數(shù)衡量實(shí)體間的相似性,計(jì)算效率高但無法預(yù)測(cè)遠(yuǎn)程或全局依賴關(guān)系,如文獻(xiàn)[23]中提出的Adamic-Adar指數(shù),文獻(xiàn)[24]中提出的偏好連接(Preferential Attachment)算法;全局相似性指數(shù)是通過實(shí)體間所有的路徑集合或圖上的隨機(jī)游走來計(jì)算實(shí)體相似性,預(yù)測(cè)效果更好但計(jì)算代價(jià)很高,對(duì)如Katz指數(shù)[25]、PageRank算法[26];準(zhǔn)局部相似指數(shù)是對(duì)兩者的折中,以兼顧計(jì)算效率和預(yù)測(cè)效果,如局部Katz指數(shù)[27]、局部隨機(jī)游走算法[28]。
另一種方法是基于歸納邏輯編程(ILP)從知識(shí)圖譜中挖掘提取出新的規(guī)則,并利用這些規(guī)則預(yù)測(cè)新的關(guān)系,如ALEPH系統(tǒng)[29]、AMIE系統(tǒng)[30-31],它們挖掘出的規(guī)則可解釋性好,但是難于挖掘出有用的規(guī)則。此外,還有路徑排序方法(Path Ranking)[32-33],受隨機(jī)游走算法啟發(fā),先觀測(cè)出兩實(shí)體間的所有聯(lián)通路徑,然后隨機(jī)跟蹤一個(gè)傳出鏈接,通過抽樣過程遞歸地計(jì)算出每種不同長(zhǎng)度路徑的概率,并以此為特征預(yù)測(cè)新的邊,即實(shí)體間關(guān)系。
大型知識(shí)圖譜中實(shí)體數(shù)量眾多,為了更方便地管理、調(diào)用知識(shí)庫(kù),需要實(shí)體按類型分組劃分。而由于跨領(lǐng)域大型知識(shí)庫(kù)中實(shí)體種類繁雜,靠人工標(biāo)注耗費(fèi)過大且效率低下,所以研究結(jié)合機(jī)器學(xué)習(xí)方法的自動(dòng)類型推理方法很有必要。
基于RDF,知識(shí)圖譜由一系列事實(shí)三元組組成,其中有一種特殊的關(guān)系叫“屬性”,此時(shí)三元組可寫作(實(shí)體,屬性,屬性值),例如(中國(guó),首都,北京)三元組表示“中國(guó)的首都是北京”。在此基礎(chǔ)上,Paulheim等人[34]提出了SDtype模型,利用三元組中頭尾實(shí)體的在屬性鏈接中的位置統(tǒng)計(jì)分布規(guī)律來推理實(shí)體的類型。例如,統(tǒng)計(jì)知識(shí)庫(kù)中所有的關(guān)于屬性“首都”的(x,首都,y)三元組的分類情況,可計(jì)算出x是“國(guó)家名”的概率P(x是國(guó)家名)與y是“城市名”的概率P(y是城市名),進(jìn)而便可推理出其他未分類的形如(a,首都,b)三元組中實(shí)體的類型。
設(shè)類型集合為Type={t1,t2,…,tM},待分類實(shí)體的屬性有Property={p1,p2,…,pN},Sdtype模型定義待分類實(shí)體類型為T的置信度為
(6)
其中事件cp(i)表示頭實(shí)體與尾實(shí)體是否含有公共屬性pi,含有則為真,不含則為假;cp(i)為真時(shí),P(T|cp(i))是由統(tǒng)計(jì)得到的公共屬性pi存在時(shí)實(shí)體為類型T的概率;N為待分類實(shí)體屬性總數(shù),既包含傳入屬性(作為尾實(shí)體),也包含傳出屬性(作為頭實(shí)體);wpi為權(quán)系數(shù),代表預(yù)測(cè)實(shí)體類型時(shí)屬性pi的重要程度,定義為
(7)
其中P(tj)表示類型tj的三元組在全體三元組中所占比例。Sdtype模型可用于大型跨域數(shù)據(jù)集,分類準(zhǔn)確率高,且能夠處理噪聲數(shù)據(jù),在Dbpedia上取到了很好的效果,其不足之處是僅能預(yù)測(cè)較高級(jí)別的類型,難以預(yù)測(cè)更細(xì)粒度的類型。
知識(shí)圖譜能夠方便地將真實(shí)世界翻譯成一張機(jī)器能夠理解的數(shù)據(jù)網(wǎng)絡(luò),在人工智能領(lǐng)域占有重要地位,一直以來備受學(xué)術(shù)界與工業(yè)界的關(guān)注。知識(shí)推理技術(shù)能夠在現(xiàn)有知識(shí)庫(kù)基礎(chǔ)上挖掘,預(yù)測(cè)新的知識(shí),是知識(shí)圖譜補(bǔ)全與知識(shí)圖譜去噪的重要手段。
當(dāng)前的基于統(tǒng)計(jì)的知識(shí)推理方法還存在一些問題,如難以處理開放世界多元關(guān)系問題,對(duì)實(shí)體屬性的利用率不高。同時(shí),近幾年在圖像,視頻處理等領(lǐng)域的深度學(xué)習(xí)技術(shù),也由于缺乏可解釋性與因果推斷能力,在知識(shí)推理領(lǐng)域受挫。而結(jié)合深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)與分布式學(xué)習(xí)的混合推理方法,如ConvKB[35]、R-GCN[36]等模型,展現(xiàn)出較優(yōu)的性能與較好的潛力,值得后續(xù)深入研究。
隨著知識(shí)圖譜規(guī)模越來越大、橫跨的領(lǐng)域越來越多,傳統(tǒng)的基于邏輯的知識(shí)推理方法計(jì)算速度緩慢、耗費(fèi)代價(jià)高,不適用于大型知識(shí)圖譜。而結(jié)合機(jī)器學(xué)習(xí)方法的知識(shí)推理技術(shù)能簡(jiǎn)單高效地完成推理任務(wù),該方向的研究對(duì)完善知識(shí)圖譜具有重要意義,值得后續(xù)深入探究。