周 航,劉學(xué)軍+,張伯君
(1.南京工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 南京 211816;2.南京鍋爐壓力容器檢驗(yàn)研究院 產(chǎn)品監(jiān)檢中心,江蘇 南京 210028)
大規(guī)模的數(shù)據(jù)具有異構(gòu)性、多元性、結(jié)構(gòu)性不強(qiáng)等特點(diǎn),人們在獲取有效信息和知識的過程中面臨著巨大的挑戰(zhàn)。知識圖譜的提出為解決這些問題提供了新的思路。知識圖譜旨在描述客觀世界中存在的各種實(shí)體以及實(shí)體之間的相互關(guān)系,本質(zhì)上是一種大型的語義網(wǎng)絡(luò),以實(shí)體作為節(jié)點(diǎn),實(shí)體之間的關(guān)系作為邊。它通常以資源描述框架(resource description framework,RDF)的形式進(jìn)行存儲。知識圖譜以三元組(Triplet)為基本單元進(jìn)行存儲,三元組的表現(xiàn)形式為:(實(shí)體、關(guān)系、實(shí)體)?,F(xiàn)已被廣泛應(yīng)用于專家系統(tǒng)[2]、web搜索[3,4]和問答[5-7]等領(lǐng)域。通常,將關(guān)系描述成許多關(guān)系數(shù)據(jù),將其表示為一個(gè)由兩個(gè)實(shí)體和它們之間的關(guān)系組成的三元事實(shí)。例如Freebase[8]、Wikidata[9]和WordNet[10]等。
近年來,研究者提出了若干知識圖譜表示模型,其中包括結(jié)構(gòu)表示模型[11]、單層神經(jīng)網(wǎng)絡(luò)模型[12]、隱變量模型[13,14]、翻譯模型等。本文主要考慮基于翻譯模型的知識圖譜表示方法。
雖然這些傳統(tǒng)的基于翻譯的模型在很多情況下被證明是有效的,但是它們認(rèn)為一個(gè)關(guān)系只對應(yīng)一個(gè)翻譯向量,因此不能解決存在多個(gè)語義關(guān)系的問題。例如has_part關(guān)系,(sichuan, HasPart, chengdu)表示的是地域關(guān)系,而(house, HasPart, door)則表示一種成分關(guān)系。此外,不同的關(guān)系具有不同的確定程度。例如三元組(YaoMing, place_of_birth, shanghai)和三元組(YaoMing, spouse, YeLi),顯然,spouse關(guān)系比place_of_birth關(guān)系更能表示姚明的身份。
因此,本文提出一種基于云模型的知識圖譜表示方法,目標(biāo)是在關(guān)系向量存在多語義性的前提下,獲取最能表達(dá)該關(guān)系向量語義的向量值,同時(shí)引入不確定性的思想,在新的評分函數(shù)中結(jié)合確定程度,使模型預(yù)測更加準(zhǔn)確。
知識表示學(xué)習(xí)通過將實(shí)體或關(guān)系投影到低維向量空間,實(shí)現(xiàn)實(shí)體和關(guān)系的語義信息的表示。本節(jié)將針對國內(nèi)外對于知識表示中的翻譯模型以進(jìn)行分析。
為了訓(xùn)練知識庫中的三元組(head,relation,tail),傳統(tǒng)建模的方法參數(shù)特別多,極大程度上增加了模型的復(fù)雜性導(dǎo)致難以解釋,并且計(jì)算代價(jià)花費(fèi)較大,很容易出現(xiàn)過擬合或欠擬合問題。
Borders等[15]提出了TransE(基于翻譯的嵌入式模型)模型。該模型認(rèn)為,在向量空間中,關(guān)系向量r是頭實(shí)體向量h到尾實(shí)體向量t的翻譯操作,通過得分函數(shù)衡量實(shí)體與關(guān)系之間的關(guān)聯(lián)性,并通過損失函數(shù)獲取最優(yōu)目標(biāo)值。由于TransE模型處理復(fù)雜關(guān)系時(shí)效果并不顯著,此后大多數(shù)翻譯模型都是在TransE模型的基礎(chǔ)上進(jìn)行改進(jìn)。
Miao Fan等[16]提出了TransM模型,認(rèn)為不同的關(guān)系其抽取的比例應(yīng)該不同,因此對不同類型的關(guān)系賦予不同的權(quán)值,以此提升了TransE模型在一對多和多對一關(guān)系的性能。
ZhenWang等[17]提出了TransH模型,該模型認(rèn)為不同的關(guān)系下每個(gè)實(shí)體所使用的表示形式應(yīng)該不同,它為每個(gè)關(guān)系r構(gòu)建了特定的超平面,在超平面上進(jìn)行翻譯操作,提高了模型對復(fù)雜關(guān)系的處理能力。
以上翻譯模型均是從幾何平移的角度出發(fā)的,認(rèn)為在向量空間中,頭實(shí)體向量h, 關(guān)系向量r, 尾實(shí)體向量t構(gòu)成了一種幾何合成的關(guān)系,僅僅對一個(gè)關(guān)系賦予一種翻譯向量,它并不能細(xì)分多關(guān)系語義,文獻(xiàn)[18]提出TransG(基于產(chǎn)生式的嵌入模型)知識表示方式,他們提出關(guān)系向量具有多語言性。為了刻畫關(guān)系的多語義性,一個(gè)關(guān)系應(yīng)該有多種向量表示,不同的實(shí)體對在幾何變換中應(yīng)該采用不同的關(guān)系向量。因此,提出了一種基于貝葉斯非參的無限混合嵌入模型:認(rèn)為關(guān)系向量由若干成分向量合成,模型會根據(jù)實(shí)體對自動(dòng)選擇一個(gè)關(guān)系向量,而多少個(gè)這樣的關(guān)系向量還可以由模型自動(dòng)選擇。He等[19]在TransG的基礎(chǔ)上提出KG2E,并引入了實(shí)體與關(guān)系之間不確定性的概念。
基于云模型的知識圖譜表示方法的任務(wù)是通過云模型的獲取最能夠表達(dá)該關(guān)系語義的坐標(biāo)值以及確定程度。
首先,給定一個(gè)關(guān)系r, 將關(guān)系r劃分為M個(gè)語義,對每個(gè)語義構(gòu)建高斯模型,用高斯混合模型表示關(guān)系r。 其次,通過貝葉斯分類得到每個(gè)語義的權(quán)重值,將最能夠表達(dá)該關(guān)系的稱之為主語義m*, 主語義的語言值的確定程度則表示該關(guān)系的確定程度。同時(shí),通過二維正態(tài)云發(fā)生器對主語義m*生成對應(yīng)的云滴 (xm*,ym*,zm*), 其中, (xm*,ym*) 表示主語義的語言值的坐標(biāo),zm*表示這個(gè)語言值的確定程度。最后將主語義的語言值坐標(biāo)和語言值的確定程度帶入到新的評分函數(shù)中,采用差距的排序誤差(margin-based ranking error)函數(shù)對評分函數(shù)進(jìn)行優(yōu)化。模型的基本表示框架如圖1所示。
圖1 基于云模型的知識表示框架
在TransE模型中,分別用h,r,t表示頭實(shí)體、關(guān)系、尾實(shí)體在低維向量空間中的表示,最終的評分函數(shù)應(yīng)該具有以下形式
(1)
因此,可以將這一過程看作頭和尾的差向量 (t-h) 是以r為均值,σ為協(xié)方差的高斯分布
t-h|r~N(r,σ2)
(2)
(3)
其中,K表示歸一化常數(shù)。
一個(gè)關(guān)系可能存在多條語義,因此,一個(gè)翻譯向量無法對多個(gè)語義進(jìn)行建模。采用高斯混合模型的思想,先將每條語義表示成其高斯分布,再將最終的關(guān)系表示為多個(gè)高斯分布的混合形式,得到如下的表示形式
(4)
(5)
其中,M表示一個(gè)關(guān)系包含的語義數(shù)量,Wr,m表示第m個(gè)語義的權(quán)重,ur,m表示第m個(gè)語義的關(guān)系的翻譯向量。
通過貝葉斯統(tǒng)計(jì)對測試數(shù)據(jù)進(jìn)行統(tǒng)計(jì),得到每個(gè)語義的權(quán)重值,其中,最能夠表達(dá)該關(guān)系的稱之為主語義m*, 定義如下
(6)
(7)
其中,arg max函數(shù)表示取最大值。
借鑒李德毅等提出的云模型[20]的思想,對于給定的三元組 (h,r,t) 的向量表示,得到主語義m*的數(shù)字特征期望(Ex,m*,Ey,m*)、 熵(Enx,m*,Eny,m*) 和超熵 (Hex,m*,Hey,m*), 通過以下算法生成云滴:
(1)產(chǎn)生一個(gè)以 (Enx,m*,Eny,m*) 為期望值, (Hex,m*,Hey,m*) 為均方差的二維正態(tài)隨機(jī)熵 (E′nx,m*,E′ny,m*);
(2)產(chǎn)生一個(gè)以 (Ex,m*,Ey,m*) 為期望值, (E′nx,m*,E′ny,m*) 為均方差的二維正態(tài)隨機(jī)數(shù) (xm*,ym*);
(3)計(jì)算
(8)
(4)(xm*,ym*,zm*) 表示一個(gè)云滴,其中(xm*,ym*) 表示主語義m*的語言值的坐標(biāo),zm*表示 (xm*,ym*) 屬于這個(gè)語言值的確定程度的量度;
因此,得到最能夠表達(dá)主語義m*的坐標(biāo)值
ur,m*=(xm*,ym*)
(9)
評分函數(shù)表示如下
(10)
模型訓(xùn)練中,訓(xùn)練模型的目標(biāo)函數(shù)采用基于差距的排序誤差(margin-based ranking error)函數(shù)進(jìn)行優(yōu)化
(11)
其中,正三元組的集合用S表示,負(fù)三元組集合用S′表示,邊界超參數(shù)用γ表示, [x]+表示取整。
對于那些可能性非常低的三元組,應(yīng)該將其忽略防止其對最終的實(shí)驗(yàn)結(jié)果產(chǎn)生影響。因此,訓(xùn)練算法應(yīng)該滿足以下約束條件
(12)
其中, (h,r,t)∈S, (h′,r′,t′)∈S′,β控制更新狀態(tài)。
算法流程的偽代碼如算法1所示。
算法1: 基于云模型的知識圖譜表示算法
輸入: 訓(xùn)練三元組T={(h,r,t)}, 實(shí)體集合E, 關(guān)系集合R, 邊界γ, 嵌入維數(shù)k, 狀態(tài)更新參數(shù)β
輸出: 實(shí)體和關(guān)系的向量
(1)初始化 對于任意關(guān)系r∈R,e∈E
(5)生成主語義m*的云滴 (xm*,ym*,zm*)
(6)loop
(8)Sbatch←sample(S,b)/*抽取大小為b的小批次樣本*/
(9)Tbatch←?//初始化一組訓(xùn)練三元組
(10)for(h,r,t)∈Sbatchdo
(12)Tbatch←Tbatch∪{((h,r,t),(h′,r,t′))}
(13)endfor
(14)根據(jù)式(8)、式(10)、式(11)、式(12)更新高斯嵌入
(16)endloop
實(shí)驗(yàn)分別在WordNet和Freebase的4個(gè)公共基準(zhǔn)數(shù)據(jù)集上進(jìn)行。這些數(shù)據(jù)集的統(tǒng)計(jì)數(shù)據(jù)見表1。對鏈路預(yù)測和三元組分類兩項(xiàng)任務(wù)進(jìn)行了實(shí)驗(yàn)研究。
表1 數(shù)據(jù)集統(tǒng)計(jì)信息
鏈路預(yù)測是指存在一個(gè)三元組 (h,r,t), 若該三元組丟失尾實(shí)體,則預(yù)測其頭實(shí)體,即給定 (h,r) 預(yù)測t;若該三元組丟失頭實(shí)體,則預(yù)測其尾實(shí)體,即給定 (r,t) 預(yù)測h。實(shí)驗(yàn)過程如下:對于任一測試三元組 (h,r,t), 用數(shù)據(jù)集中存在的任意實(shí)體e分別替換該三元組的頭實(shí)體和尾實(shí)體,通過TransC模型的評分函數(shù)計(jì)算三元組 (e,r,t) 或 (h,r,e) 的得分。將這些“損壞”的三元組按照得分進(jìn)行降序排序,得到原始三元組的排名。
使用之前研究中相同的評估協(xié)議中的兩個(gè)指標(biāo):MeanRank和Hits@10,其中MeanRank表示正確三元組的平均排名,Hits@10表示正確三元組排序不大于10的比例。我們發(fā)現(xiàn),實(shí)驗(yàn)時(shí)應(yīng)該濾去存在于train,valid和test這3個(gè)數(shù)據(jù)集中已經(jīng)存在的三元組,再考慮當(dāng)前測試三元組的排名。過濾前稱之為“Raw”設(shè)置,過濾后稱之為“Filter”設(shè)置。兩種設(shè)置中,較低的Mean Rank和較高的HIT@10都意味著更好的性能。
由于數(shù)據(jù)集相同,直接將模型與報(bào)告中的幾個(gè)基線進(jìn)行比較。在多次實(shí)驗(yàn)下獲得了如下的最佳配置:在WN18上,學(xué)習(xí)速率α=0.001, 嵌入維數(shù)k=50, 邊界參數(shù)γ=2, 狀態(tài)更新參數(shù)β=0.2, 語義數(shù)量M=10; 在FB15K上,學(xué)習(xí)速率α=0.005, 嵌入維數(shù)k=500, 邊界參數(shù)γ=1, 狀態(tài)更新參數(shù)β=0.25, 語義數(shù)量M=10。
“Filter”設(shè)置的數(shù)據(jù)質(zhì)量更高,因此實(shí)驗(yàn)結(jié)果取“Filter”設(shè)置的結(jié)果。鏈接預(yù)測的平均預(yù)測結(jié)果如圖2所示,關(guān)于FB15K各類關(guān)系的Hits@10值如圖3所示。實(shí)驗(yàn)結(jié)果表明,TransC明顯優(yōu)于其它基線,這一結(jié)果表明了TransC在多語義的情況下具有更大的優(yōu)勢。與TransG相比,TransC在WN18上提升了4.2%,在FB15K上提升了4.6%。這主要是因?yàn)門ransC借鑒了云模型的思想,得到最能夠表達(dá)這個(gè)語義的坐標(biāo)值,這樣增加了實(shí)驗(yàn)結(jié)果的準(zhǔn)確性;同時(shí),確定程度高的關(guān)系更能夠推理出正確的結(jié)果,因此,給每個(gè)關(guān)系的確定程度定值也能夠進(jìn)一步提升模型的準(zhǔn)確度,在實(shí)驗(yàn)結(jié)果中也進(jìn)一步驗(yàn)證了這一做法的可行性。如圖2所示,在WN18中,TransE等原始方法在Mean Rank這一度量上表現(xiàn)的比其它方法都好,最主要的原因是WN18只包含少量的關(guān)系,導(dǎo)致不同類型的關(guān)系將被忽略掉,平均排名因此較高;還有可能是因?yàn)槠骄缺灰恍O端的低秩三元組所影響。而在關(guān)系復(fù)雜多樣的FB15K中,TransC的各項(xiàng)指標(biāo)是最好的,TransC在關(guān)系復(fù)雜多樣的圖譜中表現(xiàn)更加優(yōu)異。
圖2 鏈接預(yù)測的平均預(yù)測結(jié)果
圖3 關(guān)于FB15K各類關(guān)系的Hits@10值
三元組分類的主要任務(wù)是將三元組進(jìn)行“正確”和“錯(cuò)誤”的二元分類。實(shí)驗(yàn)中,使用了WordNet的子集WN11和Freebase中的子集FB13。
本實(shí)驗(yàn)遵循了NTN模型所采用的評估標(biāo)準(zhǔn)。對于一個(gè)三元組 (h,r,t), 給定關(guān)系r的閾值設(shè)為σr,如果三元組的得分函數(shù)低于該閾值σr,則該三原組屬于“正確三元組”,反之為“錯(cuò)誤三元組”。
由于本實(shí)驗(yàn)所對比的方法使用的數(shù)據(jù)集均相同,因此實(shí)驗(yàn)結(jié)果來自參考文獻(xiàn)。在多次實(shí)驗(yàn)下獲得了如下的最佳配置:在WN11上,學(xué)習(xí)速率α=0.001, 嵌入維數(shù)k=50, 邊界參數(shù)γ=1, 狀態(tài)更新參數(shù)β=6.0, 語義數(shù)量M=10; 在FB15K上,學(xué)習(xí)速率α=0.002, 嵌入維數(shù)k=500, 邊界參數(shù)γ=1, 狀態(tài)更新參數(shù)β=0.2, 語義數(shù)量M=10。
不同模型的三元組分類精度如圖4所示,TransH和TransC若干關(guān)系的Hits@10值如圖5所示。在WN11和FB13中,TransC比其它方法更加出色。與傳統(tǒng)的TransE和TransH等方法相比存在顯著的提升,這一結(jié)果表明了將關(guān)系劃分為多種語義能夠取得較大的提升。與TransG相比,TransC在WN11上提高了1.4%,在FB13上提升了0.3%。NTN模型有非常多的參數(shù),在關(guān)系較少的FB13上性能優(yōu)于大多數(shù)的模型,然而在關(guān)系復(fù)雜多樣的FB15K中性能較差,因此對于現(xiàn)今大規(guī)模的知識圖譜,NTN模型顯然不具備優(yōu)勢。本文提出的方法在FB15K上的表現(xiàn)優(yōu)于其它模型。TransE、TransH和TransR模型的訓(xùn)練時(shí)間分別約為5分鐘、30分鐘和3小時(shí),本文提出的方法計(jì)算復(fù)雜度相對較低,TransC需要大約55分鐘的訓(xùn)練時(shí)間。
圖4 不同模型的三元組分類精度
圖5 TransH和TransC若干關(guān)系的Hits@10值
本文針對傳統(tǒng)的知識表示方法存在的不足,提出一種面向多語義關(guān)系的知識圖譜表示模型TransC。首先,本文考慮的關(guān)系存在多語義性的情況,對于不同的語義建立相應(yīng)的云模型,得到最能夠表達(dá)該語義的坐標(biāo)值;然后引入不確定性的思想,對每個(gè)關(guān)系的確定程度進(jìn)行定量,并帶入到最終的評分函數(shù)中。實(shí)驗(yàn)結(jié)果表明,TransC在多項(xiàng)性能上都優(yōu)于其它模型。
本文所做工作僅刻畫了靜態(tài)的知識信息,在現(xiàn)實(shí)世界中,知識往往帶有時(shí)間標(biāo)簽的,且會隨著時(shí)間發(fā)生顯著變化。這樣就導(dǎo)致了信息的遺漏和損失,會對后續(xù)的知識提取和挖掘產(chǎn)生負(fù)面影響。因此,一個(gè)更完善的知識圖譜需要充分體現(xiàn)時(shí)間的作用。接下來的工作方向主要是在保證原三元組基本信息不變的情況下,引入第四維參量——時(shí)間,探究如何通過數(shù)學(xué)手段刻畫知識演進(jìn)具有的典型特征,并設(shè)計(jì)算法來對新產(chǎn)生的知識進(jìn)行預(yù)測。