夏光兵,李瑞軒,辜希武,劉 偉
華中科技大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,武漢430074
知識圖譜是用來存儲實體、語義類型、屬性以及實體間關(guān)系的大型網(wǎng)絡(luò)。近年來,人們花費大量時間建立了很多各個領(lǐng)域的知識圖譜,如Freebase、WordNet、DBpedia、Wikidata 等,它們在人工智能和智能信息服務(wù)的許多任務(wù)中扮演著重要的角色。知識圖譜中主要包含實體和關(guān)系兩個基本元素,它們通常以(頭實體,關(guān)系,尾實體)的形式存儲。知識表示學(xué)習(xí)的目的是學(xué)習(xí)實體和關(guān)系的分布式表示,并將它們映射到低維的向量空間中,它能夠解決傳統(tǒng)表示方法數(shù)據(jù)稀疏和運算復(fù)雜的問題。
近些年來,人們已經(jīng)提出了多種知識表示學(xué)習(xí)模型。TransE受word2vec的啟發(fā),將三元組中的關(guān)系看成是頭實體到尾實體間的平移,以較少的參數(shù)獲得了性能上的較大提升,但它只適用于處理一對一關(guān)系,因此由它衍生出了很多擴展模型。TransH引入了特定關(guān)系超平面,借助于超平面法向量和平移向量一起來表示關(guān)系向量,將實體映射到不同關(guān)系的超平面空間中。TransR進一步假設(shè)關(guān)系應(yīng)該擁有各自的語義空間,實體都應(yīng)該看成語義空間中的向量。因此,它定義了不同關(guān)系的轉(zhuǎn)移矩陣,將實體映射到對應(yīng)的空間中。RESCAL將實體都用向量來表示,來捕獲其中隱含的語義信息,而將關(guān)系都用矩陣來表示,來模擬各個要素之間成對的相互影響。DistMult通過限制關(guān)系矩陣為對角矩陣,從而極大減少了RESCAL 模型中的參數(shù),但它僅適用于模擬對稱關(guān)系。HolE結(jié)合了RESCAL 和DistMult 兩者的優(yōu)勢,首先通過循環(huán)相關(guān)運算來聯(lián)合三元組中的頭尾實體,再與關(guān)系向量進行語義匹配,既具有RESCAL 強大的表示效果,同時又具有DistMult 的簡潔性。ComplEx為了全面模擬非對稱的關(guān)系,首次將復(fù)數(shù)應(yīng)用到知識表示學(xué)習(xí)中來解決DistMult 中的非對稱問題。在ComplEx 中,實體和關(guān)系都被表示為復(fù)數(shù)空間中的向量。ANALOGY在RESCAL 的基礎(chǔ)上,強化了對實體和關(guān)系的類推特征的描述。它和RESCAL 模型一樣,都將雙線性函數(shù)當(dāng)作評分函數(shù),但它額外約束了關(guān)系的線性映射是正規(guī)且對稱的。經(jīng)證明,DistMult、HolE、ComplEx 都可以看成ANALOGY 在某些特定情況下的特例。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)最近也被廣泛用于構(gòu)建知識表示學(xué)習(xí)模型。RGCN利用圖卷積網(wǎng)絡(luò)(graph convolutional networks,GCN)對關(guān)系數(shù)據(jù)建模,在鏈接預(yù)測和實體分類任務(wù)上取得了較好的效果。ConvMask學(xué)習(xí)實體名稱的嵌入及其文本描述的一部分,以將看不見的實體連接到知識圖譜中。ConvE使用CNN 和多個非線性特征來建模,在很多公開的數(shù)據(jù)集上它都有著良好的效果,但它只關(guān)注了不同維度實體間的局部關(guān)系,而沒有觀察到相同維度實體間的全局關(guān)系。ConvKB將三元組向量組合成3 列的矩陣輸入到卷積層中,從而保留了翻譯特性。SACN(structureaware convolutional networks)充分結(jié)合了GCN 和ConvE 的優(yōu)勢,用一個帶權(quán)重的GCN 構(gòu)成編碼器從大規(guī)模知識圖譜的鄰節(jié)點中學(xué)習(xí)權(quán)重信息和一個由TransE 和ConvE 組合而成的解碼器來保存實體和關(guān)系間的翻譯特性。Nathani 等為了充分利用知識圖譜中相鄰節(jié)點間隱含的復(fù)雜語義信息,建立了一種使用注意力的知識表示學(xué)習(xí)模型。它同樣基于編碼器-解碼器模型,利用圖注意力網(wǎng)絡(luò)(graph attention networks,GAT)作為編碼器,從所有實體的鄰節(jié)點中獲取實體和關(guān)系的屬性,然后利用ConvKB 作為解碼器計算全局特征。
本文提出了一種基于多源信息組合的知識表示學(xué)習(xí)模型(multi-source information combined knowledge representation learning,MCKRL),它是一種常見的編碼器-解碼器結(jié)構(gòu)。為了學(xué)習(xí)復(fù)雜關(guān)系所描述的信息,MCKRL 中包含了基于TransE 模型構(gòu)建的編碼器,將知識圖譜中的結(jié)構(gòu)三元組和實體的文本描述信息、實體的層次類型信息、圖的結(jié)構(gòu)信息融合到一起。實體的層次類型信息可以幫助人們自動將不同實體聯(lián)系到一起,并通過實體所屬的類型信息約束實體中的語義特征。實體的描述信息是對實體相關(guān)內(nèi)容更為詳細的說明,里面包含了很多關(guān)鍵的知識,是對三元組結(jié)構(gòu)的重要補充。圖的拓撲結(jié)構(gòu)信息描述了不同實體之間的聯(lián)系,能夠真實反映不同實體在空間上的相互影響。將它們與原始的三元組融合到一起,可以更完整地捕獲到知識圖譜中隱藏的實體和關(guān)系特征。另一方面,為了在不同維度上獲取三元組向量的全局特征,同時保留模型的翻譯特性,MCKRL 進一步使用了ConvKB 模型作為解碼器。從編碼器中得到的實體向量會輸入到編碼器中繼續(xù)訓(xùn)練,得到的結(jié)果為三元組的最終評分。
圖1 給出了模型的整體框架。首先通過一維CNN 將實體的文本描述信息編碼成向量,然后分別將三元組結(jié)構(gòu)中的實體向量(h,t)和實體的文本描述向量(h,t)進行層次類型投影,在特定關(guān)系對應(yīng)的向量空間中約束實體的語義信息,過濾掉其他不相干描述和語義的噪聲干擾。再將它們分別與關(guān)系向量()結(jié)合,輸入到圖注意力網(wǎng)絡(luò)中,使用圖注意力機制捕獲實體鄰節(jié)點特征,找出每個實體與它的鄰節(jié)點之間的相互影響。最后通過門機制將這兩種實體向量和關(guān)系向量組合到一起進行訓(xùn)練。編碼器訓(xùn)練的結(jié)果進一步輸入到ConvKB 構(gòu)成的解碼器中,得到實體和關(guān)系向量的最終表現(xiàn)形式。
圖1 MCKRL 模型整體框架Fig.1 Overall framework of MCKRL
知識圖譜中的實體通常指一個具體或抽象的單詞,而實體描述則是對這個單詞中包含的語義更為細致的文字說明。較短的描述一般由一句或幾句話組成,而較長的描述則通常包括幾段文字,它們可以看成是以文字的方式來對這個實體進行簡潔而全面介紹。實體描述中含有大量的語義信息,它們可以成為知識圖譜中原有三元組事實的重要補充,幫助建立更加完善的知識表示學(xué)習(xí)模型。
圖2 是(Jane Austen,is the author of,Pride and Prejudice)中頭尾實體描述實例。可以看到,對于Jane Austen 和Pride and Prejudice 的描述中,都有單詞直接包含或間接暗示了三元組中要表示的內(nèi)容。如果將這些文本描述提取出來幫助構(gòu)建知識表示學(xué)習(xí)模型,顯然會極大提升模型的效果。
圖2 實體描述示例Fig.2 Example of entity description
本文依照DKRL(description-embodied knowledge representation learning)中的方式,采用CNN 編碼實體的文本描述信息,模型結(jié)構(gòu)如圖3 所示。文本中的單詞首先經(jīng)過預(yù)處理過濾掉停用詞,并利用word2vec模型表示成向量。然后輸入到卷積層中提取文本特征,此處采用兩層卷積來提高CNN 的性能。由于文本序列長短不一,對于短文本進行補零,在序列后面添加上零向量使文本對齊。兩個卷積層后對應(yīng)著兩個激活函數(shù)來模擬神經(jīng)元。每個非線性函數(shù)后連接一個池化層進行降采樣,用來減少卷積層中的特征的數(shù)量,過濾掉噪聲的影響。第一個池化層采用最大池化策略,獲取每個局部區(qū)域中最強烈的信號特征,從而達到減少特征空間并過濾掉噪聲的效果;第二個池化層采用平均池化策略,綜合考慮所有局部信息的影響。
圖3 CNN 結(jié)構(gòu)圖Fig.3 Structure of CNN
實體的層次類型指的是實體不同粒度的層次結(jié)構(gòu),可以在知識圖譜三元組信息的基礎(chǔ)上給出系統(tǒng)化的類型知識,有助于建立更加高效的表示模型。同一個實體在不同的場景下所表達的意思很有可能大不相同。
如圖4 所示,在Freebase 中,實體Jane Austen 有著book/author、award/award_nominee 和music/artist三種層次類型。顯然,在三元組(Jane Austen,is the author of,Pride and Prejudice)中,頭實體最重要的層次類型是book/author,尾實體最重要的層次類型是book/written_work。
圖4 層次類型示例Fig.4 Example of hierarchy types
每個實體通常會包含多個層次類型,而每一種層次類型又有多個層。對于一個擁有層的層次類型,()是的第個子類型。如果將最精確的子類型定義為第一層,而將最普遍的類型定義為最后一層,那么每個子類型有唯一一個上層子類型。層次類型可以表示為:
然后使用TKRL(type-embodied knowledge representation learning)中的加權(quán)層次編碼器,利用層次類型來構(gòu)造投影矩陣M:
其中,∈(0,0.5)為權(quán)重衰減系數(shù),保證更具體的層次類型有更高的權(quán)重。
每個實體可能包含多個層次類型,而在不同的關(guān)系中,不同的層次類型重要性也不相同。知識圖譜中的特定關(guān)系類型信息提供了實體在特定關(guān)系中可能屬于的一種或多種類型,能夠幫助組合多個實體層次類型信息。為了利用此信息,特定三元組(,,)中的頭實體的層次類型投影矩陣M為:
其中,指實體層次類型的數(shù)量,z指特定關(guān)系中頭實體的層次類型的集合。尾實體層次類型投影矩陣M的定義與M類似。
知識圖譜中,實體和關(guān)系都不是孤立的,而是相互作用、相互影響的。每個實體通過不同的關(guān)系連接到其他的實體,所有的三元組由此共同組成了具有拓撲特征的網(wǎng)絡(luò)結(jié)構(gòu)。實體的局部鄰節(jié)點中包含著很多重要的隱藏語義信息,各個鄰節(jié)點又對這個實體會產(chǎn)生不同程度的影響。因此知識圖譜中每個三元組除了提供自身的結(jié)構(gòu)信息外,還對整個網(wǎng)絡(luò)拓撲有不同的貢獻。如果按照傳統(tǒng)的方式孤立地分析每個三元組會忽略這些拓撲結(jié)構(gòu)信息。因此本文使用GAT 來捕獲實體鄰域中隱藏的內(nèi)容。原始的GAT 只考慮了節(jié)點(實體),而沒有考慮邊(實體間的關(guān)系),為了將關(guān)系和鄰節(jié)點特征聯(lián)合在一起,本文采用Nathani 等提出的方法,重新定義一個注意力層,作為整個模型的核心。
圖注意力機制的構(gòu)成如圖5 所示,其核心是兩個卷積層。在第一個卷積層中,為了更新實體e的向量,采用一個線性轉(zhuǎn)換層來學(xué)習(xí)特定的三元組t=(e,r,e)中實體和關(guān)系聯(lián)合的向量表示。 t組合后對應(yīng)的向量表示為:
圖5 GAT 結(jié)構(gòu)圖Fig.5 Structure of GAT
其中,e、e和r分別指三元組中頭尾實體和關(guān)系的向量表示。指線性轉(zhuǎn)換矩陣。然后通過另一個線性轉(zhuǎn)換矩陣以及非線性函數(shù)獲取每個三元組的絕對注意力值b,從而計算不同三元組的重要性。
為了計算三元組的相對注意力值α,對b進行歸一化,相對注意力值表示為:
其中,N指實體e的鄰節(jié)點集合,R指實體e和e之間關(guān)系的集合。實體e所有鄰節(jié)點按相對注意力值加權(quán)求和后得到更新后的向量表示。
為了使這個過程保持平穩(wěn),模型采用了多頭注意力機制,分別使用兩個注意力頭來單獨計算實體向量,然后將它們連接到一起。
為了使關(guān)系維度與實體保持一致,使用一個權(quán)重矩陣作為線性轉(zhuǎn)換層來更新關(guān)系向量。然后,在第二個卷積層中重復(fù)上述過程。實體在利用GAT 學(xué)習(xí)新的向量時,會丟失原始的向量信息。因此,進一步使用權(quán)重矩陣將新的向量和原始向量線性組合,以此保留初始向量的一部分信息。
為了權(quán)衡兩者實體中最有價值的信息,本文采用Xu 等提出的聯(lián)合模型來學(xué)習(xí)結(jié)構(gòu)信息和文本信息的組合表示。組合后的頭尾實體表示為:
編碼器模型的評分函數(shù)表示為:
訓(xùn)練時,采用最大間隔法,損失函數(shù)定義為:
其中,>0 為指定的間隔參數(shù),′是中三元組從實體集合中替換頭尾實體后對應(yīng)的負樣本,′可以表示為:
為了捕獲三元組的全局特征,概括模型的翻譯特性,提高知識表示的準(zhǔn)確性,使用ConvKB作為解碼器來對編碼器中的向量進一步訓(xùn)練。
ConvKB使用軟間隔損失函數(shù)來訓(xùn)練,可表示為:
為了驗證模型的效果,分別在FB15K和FB15K237上進行了知識圖譜的鏈接預(yù)測和三元組分類實驗。
編碼器模型中,單詞和三元組的輸入維度都選擇50,為了加快收斂,利用word2vec 模型初始化文本中的單詞向量,使用TransE 模型的訓(xùn)練結(jié)果初始化三元組中的向量。CNN中,第一個卷積層窗口設(shè)為2,第二個卷積層窗口設(shè)為1。兩個卷積層后的非線性函數(shù)都選擇tanh 函數(shù)。第一個池化層窗口大小為4,第二個池化層窗口大小為1。Freebase 中層次類型信息只包含實體的域和類型兩層,使用層次矩陣進行編碼,每種關(guān)系類型和域矩陣維度都隨機初始化為50×50,類型矩陣權(quán)重設(shè)置為0.9,域矩陣權(quán)重設(shè)為0.1。在GAT的第一層中單獨使用了兩個注意力機制,每個注意力機制中輸出維度為100,因此組合后輸出的三元組向量維度都變?yōu)?00,LeakyReLU 函數(shù)斜率設(shè)置為0.2。評分函數(shù)間隔取1.0。使用Adam 算法優(yōu)化,學(xué)習(xí)率為10,權(quán)重衰減參數(shù)為10。模型迭代次數(shù)設(shè)為3 000。
對于解碼器模型,實體和關(guān)系的輸入輸出維度都為200。在ConvKB 中,二維卷積層的輸出通道數(shù)選擇50。同樣使用Adam 算法優(yōu)化,學(xué)習(xí)率取10,權(quán)重衰減參數(shù)取10。模型批次設(shè)為256,迭代次數(shù)設(shè)為300,設(shè)為0.001。
對于鏈接預(yù)測,采用三種評估指標(biāo):(1)平均倒數(shù)排序(mean reciprocal rank,MRR),表示正確三元組排名倒數(shù)的平均值;(2)平均排序(mean rank,MR),表示正確三元組排名的平均值;(3)Hits@,表示前(=1,3,10)個預(yù)測結(jié)果中正確三元組的比例。
兩個數(shù)據(jù)集上的鏈接預(yù)測結(jié)果如表1 所示。根據(jù)實驗結(jié)果可以發(fā)現(xiàn),MCKRL 模型在兩個數(shù)據(jù)集的幾乎所有指標(biāo)上均比其他模型表現(xiàn)更好,這證明了本文的組合模型是十分有效的。表明實體的文本描述信息、層次類型信息和圖結(jié)構(gòu)信息都是對原始三元組的重要補充,能夠改進知識表示學(xué)習(xí)的效果。準(zhǔn)確來說,在MR 評測指標(biāo)上的提升,表明模型對于知識表示學(xué)習(xí)的整體效果較好,而在MRR 評測指標(biāo)上的下降和Hits@評測指標(biāo)上的提升,則表明組合模型在鏈接預(yù)測任務(wù)上對實體的推薦水平較高。
表1 鏈接預(yù)測實驗結(jié)果Table 1 Experimental results of link prediction
相比Nathani 等僅利用圖注意力機制建立的模型,MCKRL 的結(jié)果在各個評測指標(biāo)上有所提升,但并不是特別大。一方面是因為GAT 捕獲到的鄰節(jié)點之間的聯(lián)系能在一定程度上彌補實體描述信息和層次類型信息的缺失;另一方面可能是模型中信息的編碼方式不能完全獲取實體的全部語義。
對于三元組分類,用準(zhǔn)確率,即判斷正確的數(shù)量與樣本總數(shù)的比值,作為評價指標(biāo)。
FB15K 和FB15K237 兩個數(shù)據(jù)集上的三元組分類結(jié)果如表2 所示。從結(jié)果中可以發(fā)現(xiàn),對于三元組分類問題,組合模型在兩個數(shù)據(jù)集上的準(zhǔn)確率同樣超過了其他基線模型,這也證明了本文模型的效果。一方面,編碼器模型融合了多源信息的模型能夠為三元組提供更多的輔助信息,從而幫助改進三元組分類的效果;另一方面,是因為本文采用的解碼器模型ConvKB 從本質(zhì)上來看就是一個分類器,因而在三元組分類問題上表現(xiàn)得更好。
表2 三元組分類實驗結(jié)果Table 2 Experimental result of triple classification
本文提出了一種融合多源信息的MCKRL 模型,首先基于TransE建立了編碼器,將結(jié)構(gòu)化的三元組信息、實體的描述信息、實體的層次類型信息和圖的拓撲結(jié)構(gòu)信息融合到一起。然后使用ConvKB模型作為解碼器來計算不同維度間的全局信息,同時保留模型的翻譯特性。在兩個經(jīng)典數(shù)據(jù)集FB15K和FB15K237上分別進行了鏈接預(yù)測和三元組分類實驗,結(jié)果表明,本文方法在這兩類任務(wù)的表現(xiàn)比其他的基線模型要好,從而證明了實體描述信息、實體層次類型信息和圖結(jié)構(gòu)信息是對知識圖譜原始三元組結(jié)構(gòu)信息的有力補充,本文的組合模型能明顯提高知識表示學(xué)習(xí)的效果。后續(xù)工作的重點是:(1)改進信息編碼和融合的方式,以更充分獲取附加信息中的內(nèi)容,同時降低模型復(fù)雜程度;(2)考慮更多的多源異質(zhì),如邏輯規(guī)則、關(guān)系路徑等,進一步提高模型的效果;(3)深入探索各因素的具體影響,進一步提升模型性能。