CCKS 2018 | 最佳论文:南京大学提出 DSKG,将多层 RNN 用于知识图谱补全
本文轉(zhuǎn)載自公眾號:機(jī)器之心。? ? ? ??
選自CCKS 2018
作者:Lingbing Guo、Qingheng Zhang、Weiyi Ge、Wei Hu、Yuzhong Qu
機(jī)器之心編譯
參與:Panda、劉曉坤
2018 年 8 月 14-17 日,主題為「知識計算與語言理解」的 2018 全國知識圖譜與語義計算大會(CCKS 2018)在天津成功舉辦。該會議是由中國中文信息學(xué)會語言與知識計算專委會定期舉辦的全國年度學(xué)術(shù)會議,并致力于成為國內(nèi)知識圖譜、語義技術(shù)、鏈接數(shù)據(jù)等領(lǐng)域的核心會議。本屆會議的最佳英文論文來自南京大學(xué)計算機(jī)軟件新技術(shù)國家重點實驗室和信息系統(tǒng)工程重點實驗室,提出了一種用于知識圖譜補(bǔ)全的深度序列模型 DSKG。機(jī)器之心對該論文進(jìn)行了摘要介紹,感謝最佳論文作者胡偉教授對本文的確認(rèn)。
論文:DSKG:一種用于知識圖譜補(bǔ)全的深度序列模型(DSKG: A Deep Sequential Model for Knowledge Graph Completion)
論文下載:https://pan.baidu.com/s/1dItQ-H6bbVq5yhQ7RGJgpQ
項目地址:https://github.com/nju-websoft/DSKG
摘要:知識圖譜(KG)補(bǔ)全的目標(biāo)是填補(bǔ)知識圖譜中缺失的事實,其中每個事實都可表示成一個形式為 (主體, 關(guān)系, 客體) 的三元組。當(dāng)前的知識圖譜補(bǔ)全模型都只能通過三元組中的兩個元素(比如主體和關(guān)系)來預(yù)測剩余第三個元素。我們在這篇論文中提出了一種新模型,其中使用了專門針對知識圖譜的多層循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)來將知識圖譜中的三元組建模成序列。我們在兩個基準(zhǔn)數(shù)據(jù)集和一個更為困難的數(shù)據(jù)集上進(jìn)行了傳統(tǒng)的實體預(yù)測任務(wù)實驗,結(jié)果表明我們的方法在許多評測指標(biāo)上都優(yōu)于多個之前最佳的知識圖譜補(bǔ)全模型。此外,因為我們的模型具有序列特性,所以只需給定單個實體,就能預(yù)測整個三元組。我們的實驗表明我們的模型在這種三元組預(yù)測新任務(wù)上表現(xiàn)也較好。
1 引言
Freebase [2] 和 WordNet [12] 等知識圖譜(KG)通常會使用三元組來記錄數(shù)以十億計的真實世界事實,這些三元組可寫成 (主體, 關(guān)系, 客體) 的形式(可簡寫為 (s,r,o)),其中 s 和 o 表示實體,r 表示 s 和 o 之間的關(guān)系。因為當(dāng)前的知識圖譜還遠(yuǎn)沒有包含所有知識,所以還需要知識圖譜補(bǔ)全任務(wù)。之前的模型關(guān)注的重點是被稱為實體預(yù)測(也即鏈接預(yù)測)[3] 的一般任務(wù),其要求基于給定的 (s,r,?) 或 (?,r,o) 來預(yù)測對應(yīng)的 o 或 s,從而補(bǔ)全知識圖譜中的三元組。圖 1a 展示了一個實體預(yù)測的抽象模型。輸入 s 和 r 首先被投射到某些向量或矩陣上,然后再組合這些向量或矩陣,得到一個連續(xù)表征 v_o,進(jìn)而預(yù)測得到 o。
圖 1:用于實體預(yù)測的不同模型。白圈和黑圈分別表示輸入向量和輸出向量。c 表示一個 RNN 單元,h 表示一個隱藏狀態(tài)。DSKG 使用 c1、c2 來處理實體 s,使用 c3、c4 來處理關(guān)系 r。它們是不同的 RNN 單元。
盡管之前的模型已在實體預(yù)測上有良好的表現(xiàn),但它們?nèi)匀豢赡懿蛔阋匝a(bǔ)全知識圖譜。讓我們假設(shè)一個模型可以基于給定的關(guān)系 r 而有效地補(bǔ)全一個實體 s。如果我們不提供任何關(guān)系,那么這個模型就無法填補(bǔ) s,因為它無法選擇用于完善這個實體的關(guān)系。實際上,知識圖譜的底層數(shù)據(jù)模型并不允許任何不完整的元組 (s,r) 存在。
循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)是一種神經(jīng)序列模型,已經(jīng)在語言建模和機(jī)器翻譯 [7,16] 等許多自然語言處理(NLP)任務(wù)上取得了優(yōu)良的表現(xiàn)。知識圖譜中的三元組可被近似地看作是一個長度為 3 的簡單句子。比如,三元組 (USA, contains, NewYorkCity) 可被變換成句子「USA contains New York City」。這啟發(fā)了我們使用 RNN 來建模知識圖譜。但是,我們依然面臨著以下難題:(1)三元組不是自然語言。它們是用一種固定的表達(dá)方式 (s,r,o) 建模的復(fù)雜結(jié)構(gòu)。這樣短的序列可能不足以為預(yù)測提供足夠的上下文信息。與此同時,由于路徑數(shù)量巨大,構(gòu)建有價值的長序列又具有很高的成本且難度很大。(2)在三元組中,關(guān)系和實體是以固定順序出現(xiàn)的兩種不同類型的元素。將它們視為同類型元素很可能是不合適的。
為了解決上述問題,我們提出了 DSKG(用于知識圖譜的深度序列模型),其使用了一種新結(jié)構(gòu)的 RNN,并且使用了一種專門針對知識圖譜的采樣方法來進(jìn)行訓(xùn)練。為了闡釋我們的想法,我們設(shè)計了一個基本的 RNN 模型作為初始版本(如圖 1b 所示)。這個基本模型將輸入 s 和 r 視為同類型元素并循環(huán)式地處理它們。c 表示一個 RNN 單元,其以之前的隱藏狀態(tài)和當(dāng)前元素為輸入,預(yù)測下一個隱藏狀態(tài)。實體層中的單元處理像是 s 的實體,而關(guān)系層中的單元處理像是 r 的關(guān)系。在這個模型中,僅有一個單元按順序處理所有輸入元素,所以 s 和 r 是被輸入同一個單元 c 來獲得它們各自的輸出。然后我們使用 h_s 來預(yù)測 s 和 h_r 的關(guān)系,進(jìn)而預(yù)測 s→r 的客體。
由于這個基本 RNN 模型僅使用了一個 RNN 單元來處理所有輸入序列,所以可能無法很好地建模復(fù)雜結(jié)構(gòu)。在 NLP 領(lǐng)域,研究者通常會堆疊多個 RNN 單元來改善結(jié)果。我們借用這一思想構(gòu)建了一個多層 RNN 模型(參見圖 1c)。但因為實體和關(guān)系的特性非常不同,這個模型仍然不能準(zhǔn)確建模知識圖譜中的三元組。
如圖 1d 所示,我們提出的 DSKG 分別使用了多層 RNN 來處理實體和關(guān)系。具體而言,DSKG 為實體層和關(guān)系層使用了不同的 RNN 單元,即圖中的 c1、c2、c3、c4 全都是各不相同的 RNN 單元。我們相信這種專門針對知識圖譜的架構(gòu)可以在關(guān)系形式多樣且復(fù)雜的情況下表現(xiàn)得更好。因為 DSKG 將預(yù)測實體(或關(guān)系)看作是一個分類任務(wù),所以我們還提出了一種定制的采樣方法,可根據(jù)當(dāng)前訓(xùn)練標(biāo)簽的類型采樣負(fù)例標(biāo)簽。此外,DSKG 還有能力預(yù)測一個實體的關(guān)系,這啟發(fā)了我們使用一種方法來通過關(guān)系預(yù)測改善實體預(yù)測的結(jié)果。舉個例子,在預(yù)測 (USA, contains, ?) 時,模型可以自動濾除人或電影這樣的實體,因為這些實體與關(guān)系 contains 無關(guān)。
我們在兩個基準(zhǔn)數(shù)據(jù)集上執(zhí)行了實體預(yù)測實驗,結(jié)果表明 DSKG 在許多評測指標(biāo)上都優(yōu)于多種之前最佳的模型。更進(jìn)一步,我們在 FB15K-237 [14] 上對 DSKG 進(jìn)行了評估,結(jié)果表明 DSKG 優(yōu)于其它模型。此外,我們還設(shè)計了一種用于三元組預(yù)測的知識圖譜補(bǔ)全新實驗,可作為實體預(yù)測的補(bǔ)充。我們的研究表明:相比于通用的多層 RNN 模型,DSKG 能得到更優(yōu)的結(jié)果。我們已在線公開我們的源代碼、數(shù)據(jù)集和實驗結(jié)果。
3 方法
在這一節(jié),我們首先將描述 RNN 及多層 RNN。然后,我們會提出 DSKG,這是一種專為知識圖譜設(shè)計的多層 RNN 變體。為了有效地訓(xùn)練 DSKG,我們還提出了一種基于類型的采樣方法。最后,我們會介紹一種使用關(guān)系預(yù)測增強(qiáng)實體預(yù)測的方法。
3.1 RNN 及多層 RNN
我們先來看僅有一個 RNN 單元的基本 RNN 模型。給定一個序列 (x_1,...,x_T) 作為輸入,基本 RNN 模型的處理方式如下:
其中 f(·) 是一個激活函數(shù),W_h、W_x、b 是參數(shù)。h_t 是在時間步驟 t 輸出的隱藏狀態(tài)。
多層 RNN 已經(jīng)在 NLP 領(lǐng)域的復(fù)雜分層架構(gòu)建模上得到了出色的表現(xiàn) [5]。通過堆疊多個 RNN 單元,每個元素的復(fù)雜特征都可以被分層地處理(見圖 1c)。我可以將其寫成如下形式:
其中是第 i 個 RNN 單元的參數(shù)。是第 i 個 RNN 單元在時間步驟 t 的隱藏狀態(tài)。因此,每個輸入元素都會被每個單元按順序處理,這可以看作是將深度神經(jīng)網(wǎng)絡(luò)(DNN)和 RNN 的概念結(jié)合到一起。最后,我們可以使用最后一個單元的隱藏狀態(tài)作為時間步驟 t 的輸出 h_t。
3.2 我們提出的深度序列模型
將知識圖譜中的三元組看作是序列讓我們可以使用 RNN 建模這個知識圖譜。但是,這些長度為 3 的序列(即三元組)非常特別:每個三元組中的實體和關(guān)系都有非常不同特性而且總是互相交錯在一起。因此,我們認(rèn)為分別為實體和關(guān)系 RNN 構(gòu)建各自的多層 RNN 能幫助模型學(xué)習(xí)到更為復(fù)雜的結(jié)構(gòu)。根據(jù)這一直覺想法,我們提出了一種針對知識圖譜的多層 RNN,其使用了不同的 RNN 單元來分別處理實體和關(guān)系。如圖 1d 所示,使用這一架構(gòu),整個網(wǎng)絡(luò)實際上是非循環(huán)式的,但仍然還是序列式的。我們可以將該結(jié)構(gòu)寫成如下形式:
其中 E 和 R 分別表示實體集和關(guān)系集。我們可根據(jù) x_t 的類型選擇當(dāng)前的多層 RNN,然后應(yīng)用公式 (2) 進(jìn)行計算。
// 受限于篇幅,有關(guān)基于類型的采樣方法和使用關(guān)系預(yù)測增強(qiáng)實體預(yù)測的方法在此略過。
4 實驗
4.2 實體預(yù)測
遵照 [3,14,4] 以及其它許多研究,我們使用了 4 個評測指標(biāo):(1)排名第一的結(jié)果是正確實體的百分比(Hits@1);(2)正確實體在排名前十的結(jié)果的百分比(Hits@10);(3)平均倒數(shù)排名(MRR);(4)平均排名(MR)。另外要說明,我們使用的是過濾后的排名 [3],也就是說我們僅在排名階段保留當(dāng)前測試的實體。由于 DSKG 僅需單個實體就能預(yù)測關(guān)系,所以我們報告了所謂的「級聯(lián)」結(jié)果。即,給定一個測試元組 (s,r,o),DSKG 首先預(yù)測關(guān)系 (s,?) 來得到 r 的排名,然后再預(yù)測 (s,r,?) 中的實體,得到 o 的排名。最后,將這兩個排名相乘,得到用于比較的結(jié)果(即最差排名)。
表 1 給出了在 FB15K 和 WN18 上的實驗結(jié)果。因為這兩個數(shù)據(jù)集都包含很多逆向三元組,所以僅能學(xué)習(xí)逆向關(guān)系的 InverseModel 也得到了很好的結(jié)果。此外,我們可以看到 DSKG 在多數(shù)指標(biāo)上都優(yōu)于其它模型。尤其是 DSKG 在 Hits@1 指標(biāo)上是最佳的,這表明 DSKG 能夠相當(dāng)好地準(zhǔn)確學(xué)習(xí)預(yù)測實體。即使我們以級聯(lián)方式評估 DSKG,也仍然得到了相當(dāng)?shù)慕Y(jié)果。
表 1:在兩個基準(zhǔn)數(shù)據(jù)集上的實體預(yù)測結(jié)果。? 表示我們自己使用原研究提供的源代碼執(zhí)行的模型,因為原文獻(xiàn)沒有使用其中某些指標(biāo);- 表示結(jié)果未知,因為原文獻(xiàn)未報告且我們不能獲得/運行源代碼
表 2 給出了在 FB15K-237 上的實體預(yù)測結(jié)果。可以看到:(1)所有模型的表現(xiàn)都下降了。具體來看,InverseModel 完全無力處理這個數(shù)據(jù)集,這表明所有模型都再也不能通過使用逆向關(guān)系直接提升它們的表現(xiàn)了。(2)DSKG 在所有指標(biāo)上都顯著優(yōu)于其它模型。DSKG(級聯(lián))還在某些指標(biāo)上達(dá)到了之前最佳的表現(xiàn),比如 Hits@10。
表 2:在 FB15K-237 上的實體預(yù)測結(jié)果
表 3:數(shù)據(jù)集的統(tǒng)計信息
4.3 三元組預(yù)測
DSKG 不僅能預(yù)測實體,而且還能預(yù)測整個三元組。為了評估 DSKG 在直接預(yù)測三元組上的表現(xiàn),我們構(gòu)建了一個具有較大窗口的波束搜索器。另外也還有一些能夠提升序列預(yù)測結(jié)果的復(fù)雜方法 [8]。具體而言,我們首先要求模型以所有實體為輸入來預(yù)測關(guān)系,然后選出前 10 萬個 (實體, 關(guān)系) 對來構(gòu)建出 (s,r,?) 這樣的不完整三元組。然后,該模型以這些不完整三元組為輸入,預(yù)測它們的最后一個實體。最后,我們選擇前 100 萬個三元組作為輸出,并按降序方式對它們進(jìn)行排序以便評估。
我們使用了精度來評測這些輸出的三元組。設(shè)為輸出的最佳 n 個三元組的集合,表示一個知識圖譜的所有正確三元組的集合(包括測試集、驗證集和訓(xùn)練集),表示預(yù)測得到三元組的集合(包括測試集和驗證集)。則與最佳 n 個輸出三元組相關(guān)的精度 p_n 的計算方式為:
其中,分別表示中正確的、預(yù)測的和錯誤的三元組數(shù)量。由此,我們可繪制 p_n 隨 n 變化的曲線。
我們在三個數(shù)據(jù)集上執(zhí)行了實驗,并將 DSKG 與兩個通用模型 G2 和 G4 進(jìn)行了比較。G2 是一個通用的 2 層 RNN 模型(見圖 1c)。G4 是一個通用的 4 層 RNN 模型,因為 DSKG 也使用了 4 個不同的 RNN 單元。它們也都應(yīng)用了 DSKG 中所用的所有功能(采樣器、dropout 等)。
圖 2:在三個數(shù)據(jù)集上的三元組預(yù)測結(jié)果
從圖 2 上面一行可以看到,DSKG 在所有數(shù)據(jù)集上都顯著優(yōu)于 G2 和 G4,尤其是在 FB15K-237 上。另外,G4 的表現(xiàn)也比 G2 差。這可能是因為更深度的網(wǎng)絡(luò)和更多參數(shù)會讓實體和關(guān)系嵌入不適合訓(xùn)練。圖 2 下面一行給出了 DSKG 的三元組預(yù)測的詳細(xì)比例。在 FB15K-237 上,DSKG 以 0.47 的精度(前 10 萬)正確預(yù)測了超過 2000 個三元組。在另外兩個更簡單的數(shù)據(jù)集上,DSKG 表現(xiàn)更好。在 FB15K 上以 0.87 的精度(前 40 萬)正確預(yù)測了 34155 個三元組,在 WN18 上以 0.91 的精度(前 17 萬)正確預(yù)測了 5037 個三元組。注意,DSKG 在 WN18 上的精度最后出現(xiàn)了陡然下降,這是因為 WN18 僅有 10000 個三元組供預(yù)測,而 DSKG 已經(jīng)輸出了所有其所能預(yù)測的三元組。
5 分析
5.1 與其它模型的比較
為了分析 DSKG 各個部分的貢獻(xiàn),我們開發(fā)了一系列僅包含部分功能的子模型:
NR:在訓(xùn)練中沒有使用關(guān)系損失的 DSKG。構(gòu)建這個模型的目的是評估最小化關(guān)系損失對實體預(yù)測的影響。
NS(非序列):我們使用了 4 個全連接層(ReLU 作為激活函數(shù))來替換 DSKG 中的 RNN,并減少了關(guān)系層和實體層之間的連接。最后,我們添加了一個密集層來組合這兩個層的輸出。這個模型與 DSKG 仍有一些其它共有特性(比如 dropout 和采樣器)。構(gòu)建該模型的目的是了解序列特性的影響。
NRE:沒有使用基于關(guān)系預(yù)測增強(qiáng)實體預(yù)測的 DSKG(3.4 節(jié))。
圖 3:DSKG 以及其它模型在 FB15K-237 上的表現(xiàn)
圖 3 給出了這些模型以及 G2 和 G4 模型在 FB15K-237 的驗證集上的表現(xiàn)。我們可從結(jié)果中觀察到:
序列特性是 DSKG 的關(guān)鍵點。對比 DSKG 和 NR 與 NS,我們可以發(fā)現(xiàn):(1)盡管 NR 保有序列結(jié)構(gòu),但它的表現(xiàn)仍不及 DSKG,因為 NR 沒有學(xué)習(xí)預(yù)測關(guān)系;(2)NS 沒有使用序列結(jié)構(gòu),也沒有學(xué)習(xí)預(yù)測關(guān)系。因此,它是圖 3 中結(jié)果最差的。
針對知識圖譜的多層 RNN 架構(gòu)能顯著提升表現(xiàn)。在 FB15K-237 上,DSKG 在所有指標(biāo)上都優(yōu)于 G2 和 G4,即使 DSKG 沒有使用關(guān)系預(yù)測增強(qiáng)也一樣。注意,在第 4.3 節(jié),我們已經(jīng)表明 DSKG 在三元組預(yù)測上優(yōu)于 G2 和 G4。因此,DSKG 中使用的架構(gòu)建模知識圖譜的能力比通用型多層 RNN 模型更好。
關(guān)系預(yù)測增強(qiáng)方法能進(jìn)一步優(yōu)化實體預(yù)測結(jié)果。DSKG 的表現(xiàn)總是優(yōu)于 NRE,即使在 MR 指標(biāo)上也是如此,因為 DSKG 能直接去除很多不正確的實體。
5.2 層數(shù)的影響
表 4:在 FB15K-237 上,不同層數(shù)的 DSKG 的實體預(yù)測結(jié)果;? 一行是第 4 節(jié)所使用的主要結(jié)果
5.3 嵌入大小的影響
表 5:在 FB15K-237 上,不同嵌入大小的 DSKG 的實體預(yù)測結(jié)果?
-End-
實驗室介紹:南京大學(xué)萬維網(wǎng)軟件(Websoft)研究組在瞿裕忠教授的帶領(lǐng)下,長期從事知識圖譜(語義網(wǎng))及相關(guān)技術(shù)的研發(fā),研究組成員包括胡偉副教授、程龔副教授以及30余位博士和碩士研究生,近期的研究方向主要包括:智能問答、知識融合和語義搜索。
聯(lián)系方式:胡偉,whu@nju.edu.cn,微信號:whu1982
網(wǎng)站:http://ws.nju.edu.cn
OpenKG.CN
中文開放知識圖譜(簡稱OpenKG.CN)旨在促進(jìn)中文知識圖譜數(shù)據(jù)的開放與互聯(lián),促進(jìn)知識圖譜和語義技術(shù)的普及和廣泛應(yīng)用。
點擊閱讀原文,進(jìn)入 OpenKG 博客。
總結(jié)
以上是生活随笔為你收集整理的CCKS 2018 | 最佳论文:南京大学提出 DSKG,将多层 RNN 用于知识图谱补全的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AAAI 2018 论文 | 蚂蚁金服公
- 下一篇: 论文浅尝 | 利用边缘标签的网络嵌入强化