劉 藤,陳 恒 ,2,李冠宇
1.大連海事大學(xué) 信息科學(xué)與工程學(xué)院,遼寧 大連 116026
2.大連外國(guó)語(yǔ)大學(xué) 語(yǔ)言智能研究中心,遼寧 大連 116044
近年來,以Freebase、WordNet和YAGO等為代表的知識(shí)圖譜在問答系統(tǒng)、推薦系統(tǒng)和關(guān)系抽取等人工智能領(lǐng)域得到廣泛應(yīng)用,其強(qiáng)大的語(yǔ)義處理能力和數(shù)據(jù)互聯(lián)能力為大數(shù)據(jù)提供了一種新的表達(dá)、組織管理和挖掘方式,促進(jìn)了語(yǔ)義網(wǎng)的實(shí)現(xiàn)。知識(shí)圖譜是結(jié)構(gòu)化的語(yǔ)義知識(shí)庫(kù)[1],以符號(hào)形式描述物理世界,將概念、實(shí)體和屬性值表述為節(jié)點(diǎn),將關(guān)系和屬性表述為邊,節(jié)點(diǎn)通過邊相互聯(lián)結(jié),構(gòu)成網(wǎng)狀的知識(shí)結(jié)構(gòu),其基本組成單位是三元組,如(周杰倫,妻子,昆凌)記錄周杰倫和昆凌之間的夫妻關(guān)系。這種三元組表示盡管能夠有效表示結(jié)構(gòu)化數(shù)據(jù),但底層符號(hào)特征使得知識(shí)圖譜難以操作[2],面臨計(jì)算效率差和重用性差等問題。
為解決這一問題,知識(shí)圖譜表示學(xué)習(xí)得到廣泛關(guān)注,其主要目的是將實(shí)體和關(guān)系嵌入到低維連續(xù)向量空間,保留豐富語(yǔ)義信息的同時(shí),在低維空間中高效計(jì)算實(shí)體和關(guān)系的語(yǔ)義聯(lián)系,簡(jiǎn)化操作[2-3]。傳統(tǒng)的知識(shí)圖譜表示學(xué)習(xí)模型只關(guān)注內(nèi)部的事實(shí)三元組,忽略了其他背景知識(shí)。隨著研究的進(jìn)行,含有豐富語(yǔ)義知識(shí)的外部信息被用來增強(qiáng)表示學(xué)習(xí),如實(shí)體描述、關(guān)系路徑和實(shí)體類型等。FOL(First-Order Logic)規(guī)則含有豐富的背景知識(shí),可解釋性強(qiáng),將FOL規(guī)則與表示學(xué)習(xí)聯(lián)合成為一種新的表示學(xué)習(xí)研究方向。IterE 模型[4]是一個(gè)迭代學(xué)習(xí)知識(shí)表示和FOL規(guī)則的通用框架,利用知識(shí)圖譜結(jié)構(gòu)信息和知識(shí)表示學(xué)習(xí)規(guī)則及其置信度,通過物化規(guī)則的方法將含有規(guī)則語(yǔ)義信息的新三元組及軟標(biāo)簽融入表示輸入,結(jié)合現(xiàn)有的表示學(xué)習(xí)算法(基模型),聯(lián)合學(xué)習(xí)實(shí)體和關(guān)系的潛在語(yǔ)義表示。然而,該框架僅適用于基于線性假設(shè)的表示學(xué)習(xí)算法,這要求實(shí)體和關(guān)系的潛在表示分別是一維向量和矩陣形式,因此對(duì)其他將實(shí)體和關(guān)系均表示為一維向量形式的表示學(xué)習(xí)算法并不適用。同時(shí),在融入規(guī)則時(shí)IterE僅考慮稀疏新三元組,對(duì)提高表示精度有一定限制。為此,本文改進(jìn)IterE框架,將適用范圍從基于線性假設(shè)的表示學(xué)習(xí)算法擴(kuò)展到所有擁有三元組打分函數(shù)的表示學(xué)習(xí)算法,并進(jìn)一步改變規(guī)則置信度的計(jì)算方法。同時(shí),在融合邏輯規(guī)則時(shí)考慮稀疏三元組和普通三元組,并進(jìn)一步改進(jìn)新三元組軟標(biāo)簽的計(jì)算方法。除了鏈路預(yù)測(cè)之外,本文還進(jìn)行了預(yù)測(cè)的可解釋性實(shí)驗(yàn)——生成解釋實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,本文提出的適用于各種表示學(xué)習(xí)算法的聯(lián)合FOL 規(guī)則的表示學(xué)習(xí)方法,提高了基模型的預(yù)測(cè)準(zhǔn)確性和可解釋性,能夠得到準(zhǔn)確預(yù)測(cè)的同時(shí)更大概率上為預(yù)測(cè)提供更多更可靠的解釋。在稀疏數(shù)據(jù)集上的鏈路預(yù)測(cè)表明,本文模型能夠幫助提高稀疏實(shí)體的知識(shí)表示能力,并且在越稀疏的數(shù)據(jù)集中幫助越大。
表示學(xué)習(xí)面向知識(shí)圖譜,在連續(xù)低維空間中學(xué)習(xí)實(shí)體和關(guān)系的分布式向量表示,可通過這些稠密低維向量高效計(jì)算實(shí)體、關(guān)系及其之間的潛在語(yǔ)義關(guān)聯(lián),對(duì)構(gòu)建、推理知識(shí)圖譜具有重要意義,并被廣泛應(yīng)用于知識(shí)補(bǔ)全、關(guān)系抽取、自動(dòng)問答、實(shí)體鏈接等知識(shí)圖譜下游應(yīng)用中[2]。不同的表示學(xué)習(xí)模型基于不同的假設(shè)定義三元組打分函數(shù),以表示其可信程度,得分越高的三元組越可能在知識(shí)圖譜中存在。表1 展示了文獻(xiàn)[5]中的部分表示學(xué)習(xí)模型打分函數(shù),學(xué)習(xí)的最終目標(biāo)即最大化知識(shí)圖譜中所有三元組的可信度,以此得到實(shí)體和關(guān)系的表示。通常情況下,實(shí)體被表示為向量,關(guān)系被表示為向量、矩陣、張量等用于向量空間中的運(yùn)算。面對(duì)大量的表示學(xué)習(xí)模型,本文按照是否僅使用知識(shí)庫(kù)中的三元組結(jié)構(gòu)信息學(xué)習(xí)表示,粗略地將其分為一般的知識(shí)表示學(xué)習(xí)模型和聯(lián)合附加信息的知識(shí)表示學(xué)習(xí)模型。
一般的表示學(xué)習(xí)模型僅使用知識(shí)圖譜內(nèi)部的三元組進(jìn)行訓(xùn)練,是傳統(tǒng)意義上的表示學(xué)習(xí)模型,常見的有位移距離模型和語(yǔ)義匹配模型。位移距離模型基于距離定義打分函數(shù),常見的有 TransE[6]、TransH[7]、TransR[8]模型。其中,TransE 將實(shí)體和關(guān)系表示為向量,對(duì)正確三元組(h,r,t),假設(shè)實(shí)體和關(guān)系的向量有關(guān)系h+r=t,學(xué)習(xí)過程中希望h+r盡可能接近t。語(yǔ)義匹配模型基于相似性定義打分函數(shù),常見的有DisMult[9]、ComplEx[10]、ANALOGY[11]模型。其中,ANALOGY模型將實(shí)體表示為向量,關(guān)系表示為矩陣,對(duì)正確三元組(h,r,t),假設(shè)h能通過r的矩陣表示Mr線性映射到t,即hMr=t,學(xué)習(xí)過程中希望hMr盡可能匹配t。然而,這種僅利用知識(shí)圖譜結(jié)構(gòu)信息的表示學(xué)習(xí)模型,學(xué)習(xí)質(zhì)量依賴數(shù)據(jù)質(zhì)量,易因數(shù)據(jù)稀疏問題和傾斜問題導(dǎo)致性能問題,學(xué)習(xí)得到的表示預(yù)測(cè)性和普適性可能不強(qiáng)。同時(shí),在訓(xùn)練時(shí)需要大量的三元組結(jié)構(gòu)化數(shù)據(jù),而將非結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)為結(jié)構(gòu)化數(shù)據(jù)所需的耗費(fèi)和誤差是不可忽略的。因此,聯(lián)合其他信息的表示學(xué)習(xí)對(duì)提高知識(shí)表示的精度和區(qū)分能力有重要意義。
聯(lián)合附加信息的表示學(xué)習(xí)模型在訓(xùn)練時(shí),不僅利用知識(shí)圖譜中的三元組結(jié)構(gòu)信息,而且集成了與知識(shí)相關(guān)的其他附加信息,如含有豐富背景信息的實(shí)體類型信息[12]、關(guān)系路徑信息[13]、文本描述信息[14]和一階規(guī)則信息等,這里主要介紹聯(lián)合FOL規(guī)則信息的表示學(xué)習(xí)模型。
FOL規(guī)則是復(fù)雜推理模式的一種較佳表示方式,含有豐富的語(yǔ)義信息,因其預(yù)測(cè)準(zhǔn)確、可解釋性強(qiáng)等優(yōu)勢(shì)在知識(shí)獲取和推理中應(yīng)用廣泛。然而,一般的表示學(xué)習(xí)模型沒有考慮邏輯規(guī)則。對(duì)此,產(chǎn)生了聯(lián)合邏輯規(guī)則和現(xiàn)有表示學(xué)習(xí)模型的大量工作。文獻(xiàn)[15]通過整數(shù)線性規(guī)劃的方法使用三種物理規(guī)則和一種邏輯規(guī)則預(yù)測(cè)三元組的正確性,但規(guī)則建模獨(dú)立于表示學(xué)習(xí),沒有改變知識(shí)表示。文獻(xiàn)[16]嘗試在表示學(xué)習(xí)時(shí)聯(lián)合建模FOL規(guī)則和表示,提出KALE 模型,但其要求一次性注入規(guī)則,忽略了表示學(xué)習(xí)和邏輯推理之間的交互,且只能處理手動(dòng)創(chuàng)建或驗(yàn)證的硬規(guī)則。文獻(xiàn)[2]提出RUGE模型,在表示學(xué)習(xí)中使用軟規(guī)則,利用迭代的方式增強(qiáng)表示,但它基于既定的規(guī)則抽取系統(tǒng)AMIE+[17]。文獻(xiàn)[4]將規(guī)則學(xué)習(xí)納入學(xué)習(xí)系統(tǒng),提出IterE模型,構(gòu)造了一個(gè)迭代學(xué)習(xí)FOL規(guī)則和知識(shí)表示的框架,但其僅適用基于線性假設(shè)的表示學(xué)習(xí)算法,且在融合規(guī)則時(shí)僅考慮稀疏實(shí)體,適用性和擴(kuò)展性存在挑戰(zhàn)。
表1 部分表示學(xué)習(xí)模型的打分函數(shù)
開始介紹IterE框架前,本文進(jìn)行了一些準(zhǔn)備工作,主要給出知識(shí)圖譜和FOL規(guī)則的相關(guān)定義。
定義1(知識(shí)圖譜)知識(shí)圖譜G={E,R,T},其中E表示實(shí)體的集合,R表示關(guān)系的集合,T={(h,r,t)|h,t∈E;r∈R}表示G中的三元組集合,h表示頭實(shí)體,r表示關(guān)系,t表示尾實(shí)體。
定義2(規(guī)則學(xué)習(xí)系統(tǒng))知識(shí)圖譜的規(guī)則學(xué)習(xí)系統(tǒng)ψ(G)={(body→head,μ)}。其中body→head是FOL 規(guī)則,規(guī)則頭head是R∪X∪C上的一個(gè)原子,規(guī)則體body是正、負(fù)原子的集合,X是可數(shù)變量集,C是可數(shù)常量集,包括G中的所有實(shí)體和屬性值。如(x,hasParent,y),(y,gender,Female)→(x,hasMother,y)是一個(gè)FOL規(guī)則,表示若y是x的父母且y是女性,則y是x的母親。μ∈[0,1]是規(guī)則信度。
定義3(規(guī)則的實(shí)例)對(duì)于一個(gè)FOL 規(guī)則rule,通過G將其所有的變量賦值,就得到了rule的實(shí)例(grounding)。
定義4(規(guī)則的預(yù)測(cè))對(duì)于rule的一個(gè)實(shí)例,如果其body三元組都在G中存在,則head三元組a是rule的一個(gè)預(yù)測(cè),記為rule|=Ga,其含義為規(guī)則rule基于知識(shí)圖譜G中三元組推出三元組a,這時(shí)的規(guī)則實(shí)例稱為有效實(shí)例(Vaild Grounding)。 {a|rule|=Ga}為rule的所有預(yù)測(cè),Grule=G∪{a|rule|=Ga}為G基于rule的擴(kuò)展。
定義5(規(guī)則的支持度)對(duì)于rule的預(yù)測(cè)a,若在G中存在,則a為規(guī)則的正確預(yù)測(cè)。將規(guī)則的支持度表示為supp(rule)=|{a|rule|=Ga∧a∈G} |,它量化了所有預(yù)測(cè)中正確預(yù)測(cè)的數(shù)目。
給定一個(gè)G,IterE 的目標(biāo)是根據(jù)現(xiàn)有的基于線性假設(shè)的表示學(xué)習(xí)假設(shè),迭代交互學(xué)習(xí)知識(shí)表示和FOL規(guī)則,它的框架分為三個(gè)模塊:表示學(xué)習(xí)模塊、規(guī)則學(xué)習(xí)模塊和規(guī)則融合模塊。圖1展示的是整個(gè)學(xué)習(xí)過程。
圖1 IterE框架
表示學(xué)習(xí)模塊用于學(xué)習(xí)實(shí)體和關(guān)系的分布式知識(shí)表示,規(guī)則學(xué)習(xí)模塊使用知識(shí)表示學(xué)習(xí)FOL規(guī)則及其置信度,規(guī)則融合模塊將規(guī)則知識(shí)注入表示輸入。隨著輸入的更新,整個(gè)過程又回到表示學(xué)習(xí)。
為將規(guī)則知識(shí)注入表示,IterE的表示學(xué)習(xí)輸入I不僅包括G中原始的三元組,還包括FOL 規(guī)則推理出來的高度可能存在的新三元組:
其中,T是G中原始存在的三元組集合,Tnegative是隨機(jī)替換T中三元組頭實(shí)體或尾實(shí)體或關(guān)系的負(fù)例三元組集合,Taxiom是規(guī)則推斷出的高度可能存在的三元組集合,l是三元組的標(biāo)簽。若(h,r,t)∈T,則l=1,若(h,r,t)∈Tnegative,則l=0,Taxiom和其標(biāo)簽獲得方法具體見3.3節(jié)。
輸入I,IterE通過n個(gè)輸入三元組間交叉熵?fù)p失的均值計(jì)算表示學(xué)習(xí)的目標(biāo)函數(shù),并使其最小化,得到實(shí)體和關(guān)系的分布式表示。
其中,ξ(h,r,t)表示三元組打分函數(shù)。IterE 的表示學(xué)習(xí)立足于基于線性假設(shè)的表示學(xué)習(xí)模型,ξ(h,r,t)可以是任何基于線性假設(shè)的三元組打分函數(shù)。
IterE的規(guī)則學(xué)習(xí)模塊分為兩部分:學(xué)習(xí)規(guī)則和計(jì)算規(guī)則置信度。其中利用G學(xué)習(xí)FOL 規(guī)則集,利用關(guān)系的表示計(jì)算規(guī)則置信度。因?qū)W習(xí)規(guī)則的輸入是一個(gè)給定的G,所以FOL規(guī)則集只需要生成一次,而規(guī)則置信度卻在隨著表示的更新而不斷更新。
學(xué)習(xí)規(guī)則時(shí),IterE為限制搜索空間大小,參考OWL2網(wǎng)絡(luò)本體語(yǔ)言中的7種對(duì)象屬性表達(dá)式公理,約束要學(xué)習(xí)的規(guī)則形式,即表2中的Rule Form,設(shè)計(jì)了一種規(guī)則生成方法(算法1),基于7種給定的規(guī)則形式,結(jié)合剪枝策略通過G具體化其中的關(guān)系變量,學(xué)習(xí)FOL 規(guī)則集P,在搜索空間和高度可能規(guī)則覆蓋范圍之間取得良好的平衡。
表2 7種規(guī)則形式和規(guī)則結(jié)論
算法1生成FOL規(guī)則
輸入:知識(shí)圖譜G={E,R,T}。
輸出:邏輯規(guī)則集P。
(1)遍歷R中的每一個(gè)關(guān)系常量r。遍歷未完成,設(shè)Pr為空,轉(zhuǎn)到步驟(2);遍歷完成轉(zhuǎn)到步驟(5)。
(2)用r實(shí)例化7 種規(guī)則head 三元組中的關(guān)系,生 成邏輯規(guī)則 ReflexiveOP(r) 、SymmetricOP(r) 和TransitiveOP(r) 或部分邏輯規(guī)則 EquivalentOP(r′,r) 、subOP(r′,r)、inverseOP(r′,r)和 subOP(OPChain(r′,r″),r),其中r′和r″均為關(guān)系變量。
(3)針對(duì)部分邏輯規(guī)則,實(shí)例化所有關(guān)系變量使其轉(zhuǎn)為邏輯規(guī)則。具體地,通過隨機(jī)選擇與r有關(guān)的k個(gè)三元組 (e′,r,e″)∈T,將部分候選規(guī)則中的r′或r″替換為G中與e′或e″直接相關(guān)的關(guān)系常量。
(4)實(shí)例化步驟(1)、(2)得到的邏輯規(guī)則,選擇支持度大于1的邏輯規(guī)則,加入Pr,轉(zhuǎn)到步驟(1)。
(5)P={Pr},r=r1,r2,…,r|R|。
對(duì)于每一個(gè)關(guān)系r,算法1 中涉及未知變量k,k關(guān)系到生成候選規(guī)則的質(zhì)量和搜索空間的大小,因此k的選擇很重要,下面總結(jié)k的選擇方法。
為保證算法1的質(zhì)量和效率,要求選擇的三元組盡可能是正確預(yù)測(cè)且盡可能少。前者,規(guī)定選擇正確預(yù)測(cè)的概率大于給定閾值t(包含概率)。后者,規(guī)定k盡可能小。由此得到:
其中,N為與r相關(guān)的三元組個(gè)數(shù),n為N中正確預(yù)測(cè)的個(gè)數(shù)。n涉及逆向推理的思想,因此n的大小未知,引入:
它量化推出r的邏輯規(guī)則axiom(或邏輯規(guī)則集)的正確預(yù)測(cè)概率,則p(r,Pr)為推出r的邏輯規(guī)則集Pr的正確預(yù)測(cè)概率,p(r,rule)為推出r的邏輯規(guī)則rule的正確預(yù)測(cè)概率,并將p(r,rule)稱為推出關(guān)系r的規(guī)則rule的存在概率,存在概率越大的邏輯規(guī)則更容易選到正確預(yù)測(cè)。給定閾值p(最小存在概率),通過p替換n,進(jìn)一步得到:
計(jì)算規(guī)則置信度時(shí),IterE根據(jù)理想的線性假設(shè)三元組打分函數(shù),得到表2中對(duì)象屬性表達(dá)式公理對(duì)應(yīng)的形如M1=M2的規(guī)則結(jié)論,M1和M2表示矩陣或矩陣乘積。在理性情況下,高度可能規(guī)則的M1和M2通常是非常相似的,因此IterE通過M1和M2之間的相似性估計(jì)規(guī)則置信度:
不同類型規(guī)則的μ(rule)值差異很大,將其歸一化:
其中,μmax和μmin是rule所屬規(guī)則形式的μ的最大值和最小值。μ(rule)∈[0,1]是規(guī)則rule的置信度,越高表示規(guī)則越有可信度。
IterE的規(guī)則融合焦點(diǎn)在稀疏實(shí)體上,希望通過物化規(guī)則的方法,豐富稀疏實(shí)體相關(guān)的表示學(xué)習(xí)數(shù)據(jù)。具體地,取P中所有置信度高于給定閾值θ的規(guī)則作為有效規(guī)則集VP,實(shí)例化VP得到G中不存在的預(yù)測(cè)集合TVP={a|rule|=Ga,a?G,rule∈VP},抽取其中所有的稀疏新三元組(至少含有一個(gè)稀疏實(shí)體的新三元組)作為有 效 預(yù) 測(cè) 集 合Taxiom={a=(h,r,t)|a∈TVP,h∈Esparsity∨t∈Esparsity},其中Esparsity為稀疏實(shí)體集,然后計(jì)算有效預(yù)測(cè)的軟標(biāo)簽l,將帶標(biāo)簽的預(yù)測(cè)作為規(guī)則知識(shí)加入表示輸入I。
對(duì)于實(shí)體e,通過式(8)計(jì)算它的稀疏性:
其中,freq(e)為e作為頭或尾實(shí)體在G內(nèi)三元組中出現(xiàn)的頻數(shù),freqmin和freqmax為所有實(shí)體頻數(shù)的最小值和最大值。sparsity(e)∈[0,1],越大表示實(shí)體的稀疏性越大。給定閾值θsparsity,如果sparsity(e)>θsparsity,則把實(shí)體e判定為稀疏實(shí)體。
引入模糊邏輯T 范數(shù)[2]計(jì)算新三元組軟標(biāo)簽,它規(guī)定邏輯表達(dá)式的真值是其組成原子真值的運(yùn)算組合,與交、并、非、蘊(yùn)含相關(guān)的真值運(yùn)算如下:
其中,a和b是邏輯表達(dá)式,π(x)是邏輯表達(dá)式x的真值。計(jì)算標(biāo)簽時(shí),IterE先將推出Taxiom的規(guī)則有效實(shí)例轉(zhuǎn)化為命題形式,使用式(9)得到有效實(shí)例的真值。例如,對(duì)于推出稀疏新三元組a的規(guī)則有效實(shí)例vg:(h1,r1,t1),(h2,r2,t2)→a,化為命題形式(h1,r1,t1)∧(h2,r2,t2)?a,根據(jù)式(9)π(vg)=π(h1,r1,t1)π(h2,r2,t2)π(a)-π(h1,r1,t1)π(h2,r2,t2)+1。然后,通過有效實(shí)例和組成三元組的真值得到新三元組的真值,接上例IterE規(guī)定規(guī)則有效實(shí)例的真值為對(duì)應(yīng)規(guī)則的置信度,組成三元組真值為三元組標(biāo)簽,接上例,因?yàn)榻M成三元組均為已知三元組,所以π(a)=μ(rule)。
另外,現(xiàn)實(shí)情況中不同規(guī)則的不同實(shí)例和同一規(guī)則的不同實(shí)例可能推出相同的新三元組,按上述描述新三元組將得到多個(gè)真值,為簡(jiǎn)化操作IterE 將這些帶有不同標(biāo)簽的相同新三元組都考慮用來更新輸入。
IterE 的表示學(xué)習(xí)立足于基于線性假設(shè)的表示學(xué)習(xí)算法,其目標(biāo)函數(shù)僅適用線性三元組打分函數(shù)。為了擴(kuò)大適用范圍,本文假設(shè)改進(jìn)的IterE 適用所有具有三元組打分函數(shù)的表示學(xué)習(xí)算法,為此改進(jìn)式(2):
其中,f(h,r,t)表示三元組的存在概率,通過打分函數(shù)ξ(h,r,t)構(gòu)造:
一般來說,幾乎所有的模型都具有三元組打分函數(shù),因此式(10)幾乎對(duì)所有的表示學(xué)習(xí)算法都適用。為進(jìn)行實(shí)驗(yàn),本文同IterE 使用了基于線性假設(shè)的表示學(xué)習(xí)算法ANALOGY[11],其三元組打分函數(shù)為:
其中,h,t∈?1×d是頭、尾實(shí)體的表示,Mr∈?d×d是關(guān)系的表示,σ表示sigmod函數(shù),d表示向量維數(shù)。
在3.2 節(jié)中,IterE 的規(guī)則置信度計(jì)算方法基于表2中的規(guī)則結(jié)論,而這些規(guī)則結(jié)論由線性假設(shè)得到,僅適用基于線性假設(shè)的表示學(xué)習(xí)算法,并不符合本文“幾乎適用所有表示學(xué)習(xí)算法”的設(shè)定。為此,參考文獻(xiàn)[18],結(jié)合統(tǒng)計(jì)和表示的思想給出符合本文設(shè)定的規(guī)則置信度計(jì)算方法,如算法2所示。
算法2計(jì)算規(guī)則置信度
輸入:邏輯規(guī)則rule,知識(shí)圖譜G,知識(shí)表示。
輸出:邏輯規(guī)則的置信度μ(rule)。
(3)令μ(rule)=(1-α)μ1+αμ2,為rule的置信度,α表示權(quán)重,μ(rule)∈[0,1]。置信度越大,規(guī)則越可信。
在3.3 節(jié)中,IterE 的規(guī)則融合僅關(guān)注知識(shí)圖譜的稀疏知識(shí),并未考慮稀疏新三元組之外的普通新三元組,對(duì)提高表示精度有一定限制。為此,本節(jié)修改軟標(biāo)簽計(jì)算方法,將全部新三元組融入表示輸入I。令有效預(yù)測(cè)集為:
計(jì)算標(biāo)簽時(shí),同IterE,先將推出Taxiom的規(guī)則有效實(shí)例轉(zhuǎn)化為命題形式,使用式(9)得到有效實(shí)例的真值,從而得到新三元組的真值,考慮3.3 節(jié)的例子,規(guī)定規(guī)則有效實(shí)例的真值為對(duì)應(yīng)規(guī)則的置信度,不同的是本節(jié)將組成三元組真值規(guī)定為三元組存在概率。同時(shí),考慮到稀疏實(shí)體的分布式表示往往質(zhì)量較差,將組成三元組真值分情況取值。新三元組若是普通三元組,取三元組存在概率,若是稀疏三元組,取三元組標(biāo)簽,這種設(shè)定下稀疏新三元組軟標(biāo)簽的計(jì)算方法跟IterE 是一樣的,接上例其中T1為普通新三元組集,T2為稀疏新三元組集,Taxiom=T1∪T2。
選取 WN18[6]、WN18RR[19]、FB15k[6]和 FB15k-237[20]數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。WN18 和FB15k 分別是WordNet 和Freebase 的子集,F(xiàn)B15k-237 和 WN18RR 進(jìn)一步去掉了FB15k 和WN18 中反轉(zhuǎn)關(guān)系對(duì)中的一個(gè)關(guān)系及相關(guān)三元組。數(shù)據(jù)集統(tǒng)計(jì)情況如表3所示。
表3 數(shù)據(jù)集統(tǒng)計(jì)情況
另外,為檢驗(yàn)本文模型對(duì)稀疏實(shí)體的影響,在測(cè)試和驗(yàn)證時(shí)使用了稀疏的數(shù)據(jù)集[4],統(tǒng)計(jì)情況如表4所示,稀疏實(shí)體下限θsparsity為0.995,稀疏性大于θsparsity的實(shí)體被視為稀疏實(shí)體,Valid-s 和Test-s 僅保留了原集中至少有一個(gè)稀疏實(shí)體的三元組。
表4 稀疏數(shù)據(jù)集統(tǒng)計(jì)情況
表示學(xué)習(xí)模塊,使用現(xiàn)有的表示學(xué)習(xí)模型ANALOGY實(shí)現(xiàn),并按其原始設(shè)置將負(fù)樣本數(shù)設(shè)為6,關(guān)系矩陣對(duì)角線上的實(shí)數(shù)個(gè)數(shù)設(shè)為嵌入維度的一半,用均勻分布U(-0.1,0.1)初始化實(shí)體和關(guān)系向量。FOL 規(guī)則學(xué)習(xí)模塊,依據(jù)文獻(xiàn)[4]設(shè)置規(guī)則的最小存在概率p=0.5,包含概率t=0.95,據(jù)式(5),k=6。規(guī)則融合模塊,為了使推出的新三元組更可靠,設(shè)置閾值θ,僅考慮置信度大于θ的高質(zhì)量有效規(guī)則。此外,為每個(gè)數(shù)據(jù)集中的邏輯規(guī)則設(shè)置了一個(gè)推斷稀疏新三元組數(shù)上限m,規(guī)定忽略推出稀疏新三元組個(gè)數(shù)大于m的規(guī)則,以穩(wěn)定數(shù)據(jù)分布。
訓(xùn)練時(shí),約定每次迭代首先進(jìn)行10個(gè)epoch的表示學(xué)習(xí)更新知識(shí)表示,緊接一次FOL規(guī)則學(xué)習(xí)更新規(guī)則得分和有效規(guī)則,一次規(guī)則融合更新表示學(xué)習(xí)輸入。使用網(wǎng)格搜索確定超參,嵌入維度d∈{100,150,200},L1正則化權(quán)重λ∈{10-3,10-4,10-5,10-6},α∈ {0,0.1,0.2,…,1.0},θ∈{0.90,0.95},m∈{100,1 000,10 000,20 000}, 最 大 化驗(yàn)證集上的MRR(filter)指標(biāo)。最終,WN18:d=200,λ=10-5,α=0.3,θ=0.95,m=20 000;FB15k:d=200,λ=10-4,α=0.3,θ=0.95,m=100;WN18RR:d=200,λ=10-5,α=0.3,θ=0.9,m=10 000;FB15k-237:d=150,λ=10-5,α=0.3,θ=0.9,m=1 000。使用Adam優(yōu)化器[21],設(shè)置初始學(xué)習(xí)率r為0.000 1。模型在FB15k-237和WN18RR 上訓(xùn)練迭代10次,WN18和FB15k上迭代50次。
5.3.1 實(shí)驗(yàn)設(shè)計(jì)
本文的鏈路預(yù)測(cè)實(shí)驗(yàn)使用學(xué)習(xí)得到的模型預(yù)測(cè)三元組中缺失的實(shí)體,包括頭實(shí)體預(yù)測(cè)(?,r,t)和尾實(shí)體預(yù)測(cè)(h,r,?)。對(duì)測(cè)試集中的每一個(gè)測(cè)試三元組(h,r,t),用所有實(shí)體e∈E替換h(或t),根據(jù)打分函數(shù)計(jì)算它們的得分,降序排列,得到指定正確三元組(h,r,t)的頭(或尾)預(yù)測(cè)排名rankh(?,r,t)(或rankt(h,r,?)),令最終預(yù)測(cè)排名為:
設(shè)計(jì)鏈路預(yù)測(cè)實(shí)驗(yàn)的目的,是與現(xiàn)有高質(zhì)量表示學(xué)習(xí)模型對(duì)比,測(cè)試本文模型在鏈路預(yù)測(cè)上的準(zhǔn)確性,進(jìn)一步測(cè)試在學(xué)習(xí)知識(shí)表示上的性能。
5.3.2 評(píng)估指標(biāo)
遍歷所有測(cè)試三元組,采用如下指標(biāo)作為評(píng)估標(biāo)準(zhǔn):平均倒數(shù)排名(Mean Reciprocal Rank,MRR)、Hit@1、Hit@3和Hit@10,分別是正確三元組預(yù)測(cè)排名倒數(shù)的平均值和正確三元組預(yù)測(cè)排名在前N%的占比。MRR或Hit@N越高,代表模型的鏈路預(yù)測(cè)能力越好,表示學(xué)習(xí)性能越強(qiáng)。此外,考慮到實(shí)際情況中鏈接預(yù)測(cè)的正確實(shí)體可能包含多個(gè),導(dǎo)致指定的正確三元組排名受干擾,這里采用過濾(filter)設(shè)置。不同于原始(raw)設(shè)置的實(shí)驗(yàn)設(shè)計(jì),filter設(shè)置下,將從訓(xùn)練集、測(cè)試集和驗(yàn)證集中刪除其余正確三元組,排除其對(duì)指定正確三元組的干擾。
5.3.3 結(jié)果與分析
選擇僅使用內(nèi)部三元組訓(xùn)練的位移距離模型TransE和語(yǔ)義匹配模型DistMult、ComplEx、ANALOGY以及一種聯(lián)合FOL 規(guī)則的表示學(xué)習(xí)模型RUGE 在數(shù)據(jù)集WN18、FB15k和FB15k-237上進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如表5~表7所示。
表5 WN18的鏈路預(yù)測(cè)結(jié)果
表6 FB15k的鏈路預(yù)測(cè)結(jié)果
表7 FB15k-237的鏈路預(yù)測(cè)結(jié)果
從上述結(jié)果可知,本文模型的鏈路預(yù)測(cè)結(jié)果在3個(gè)數(shù)據(jù)集上都優(yōu)于基模型ANALOGY。這表明本文在表示學(xué)習(xí)中注入的新三元組大部分是有效的,即學(xué)習(xí)得到的規(guī)則是有效的,表明本文展示的這種聯(lián)合FOL規(guī)則的方法可以更準(zhǔn)確地預(yù)測(cè)鏈路,更好地學(xué)習(xí)知識(shí)表示。與其他僅使用內(nèi)部三元組訓(xùn)練的傳統(tǒng)表示學(xué)習(xí)模型TransE、DistMult 和 ComplEx 相比,本文模型的預(yù)測(cè)表現(xiàn)同樣優(yōu)秀。不過值得注意的是,在FB15k-237上的鏈路預(yù)測(cè)任務(wù)中,本文模型的表現(xiàn)遜于TransE模型。這是因?yàn)楸疚牡幕P虯NALOGY 本身在該數(shù)據(jù)集上的預(yù)測(cè)能力遜于TransE模型。在FB15k上對(duì)比RUGE模型,本文模型在MRR 和Hit@1 上略低于RUGE,在Hit@3和Hit@10 上略高于RUGE,整體上與之相仿。這說明相比規(guī)則影響表示的方式,兩者相互影響的方式對(duì)提高表示來說同樣優(yōu)秀。
選擇基模型ANALOGY和原模型IterE在稀疏數(shù)據(jù)集 WN18-s、WN18RR-s、FB15k-s 和 FB15k-237-s 上進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如表8所示。
表8 稀疏版的鏈路預(yù)測(cè)結(jié)果
從表8可知,本文模型與IterE在預(yù)測(cè)稀疏實(shí)體上的結(jié)果差別不大,說明本文的規(guī)則計(jì)算方法沒有降低模型性能。與ANALOGY 相比,本文模型的鏈路預(yù)測(cè)結(jié)果在 WN18RR-s、FB15k-237-s 及 WN18-s 和 FB15k-s 的Hit@10 上有一定提升,一定程度上說明邏輯推理對(duì)預(yù)測(cè)稀疏實(shí)體有一定幫助。另外,相比WN18-s和FB15k-s數(shù)據(jù)集,本文模型的預(yù)測(cè)結(jié)果在更稀疏的WN18RR-s和FB15k-237-s 上有更高的提升,說明本文模型對(duì)提高稀疏實(shí)體表示的幫助在越稀疏的數(shù)據(jù)集上體現(xiàn)得越明顯。
5.4.1 實(shí)驗(yàn)設(shè)計(jì)
為了檢驗(yàn)鏈路預(yù)測(cè)中預(yù)測(cè)三元組的可解釋性,設(shè)計(jì)三元組生成解釋實(shí)驗(yàn),從預(yù)測(cè)的可解釋性出發(fā)評(píng)估本文模型。實(shí)驗(yàn)中,將三元組的解釋表示為從頭實(shí)體到尾實(shí)體的可靠路徑,通過統(tǒng)計(jì)路徑的相似結(jié)構(gòu)數(shù)量評(píng)估解釋的可靠性。算法3[22]給出了一個(gè)基于知識(shí)表示的三元組生成解釋算法,為三元組生成解釋及相似結(jié)構(gòu)。
算法3三元組生成解釋算法
輸入:(h,r,t),知識(shí)圖譜G,知識(shí)表示。
輸出:(h,r,t)的解釋集和相似結(jié)構(gòu)集。
(1)初始化解釋集E=?,相似結(jié)構(gòu)集S=?。
(2)據(jù)知識(shí)表示選擇與r相似的前kr個(gè)關(guān)系,放入集合Sr。
(3)據(jù)文獻(xiàn)[22]中的6種路徑類型,從r的相似關(guān)系出發(fā),雙向?qū)ふ襤和t之間的路徑,得到集合P={p|(h,p,t)∈G}。
(4)據(jù)知識(shí)表示選擇與h相似的前ke個(gè)實(shí)體,放入集合Sh。
(5)據(jù)相似頭實(shí)體尋找路徑的相似結(jié)構(gòu):
5.4.2 評(píng)估指標(biāo)
使用recall和avgSupport評(píng)估本文模型的生成解釋能力。recall 表示測(cè)試集中可生成解釋的三元組占比,avgSupport表示所有解釋的平均相似結(jié)構(gòu)數(shù)量。recall越大,說明模型可為越多的三元組生成解釋。avgSupport越大,說明模型整體上生成的解釋越可靠。
5.4.3 結(jié)果與分析
取用鏈路預(yù)測(cè)在FB15k上訓(xùn)練得到的知識(shí)表示,選擇TransE、ANALOGY和本文模型在FB15k測(cè)試集上進(jìn)行生成解釋實(shí)驗(yàn)。圖2展示了當(dāng)ke=10 和kr=3 時(shí)的實(shí)驗(yàn)結(jié)果。
圖2 不同表示學(xué)習(xí)模型的生成解釋結(jié)果
從圖2 中可以得到,針對(duì)同一個(gè)數(shù)據(jù)集,當(dāng)選擇10個(gè)相似實(shí)體和3個(gè)相似關(guān)系時(shí),3個(gè)模型的recall值覆蓋范圍從 0.26 到 0.45,avgSupport 從 5 到 555。相比于TransE 模型,雖然 ANALOGY 模型有很高的 recall,但avgSupport卻不及TransE的1/10,這說明ANALOGY 模型可以為更多三元組生成解釋,但這些解釋整體上可靠性不強(qiáng)。而相比于ANALOGY,本文模型的recall 雖略高,但avgSupport 卻高出百倍,這表明加入FOL 規(guī)則可以使得ANALOGY 大大提高其預(yù)測(cè)三元組解釋的可靠性。綜上,從為預(yù)測(cè)三元組得到可靠解釋的角度來看,本文模型可為更多的三元組生成更可靠的解釋,提高了預(yù)測(cè)的可解釋性。
為了與IterE 進(jìn)行比較,上述實(shí)驗(yàn)的基模型使用了ANALOGY 模型,但實(shí)際情況中本文模型不僅對(duì)ANALOGY等基于線性假設(shè)的模型適用,而且可以用于任何有打分函數(shù)的表示學(xué)習(xí)模型。因?yàn)楸疚牡囊?guī)則置信度計(jì)算方法不再依賴于線性假設(shè)模型的關(guān)系矩陣,而是利用打分函數(shù)將知識(shí)表示封裝,不再受具體的知識(shí)表示向量維度約束。在實(shí)驗(yàn)中發(fā)現(xiàn),本文模型能夠大大提高基模型的預(yù)測(cè)精度和可解釋性,同時(shí)也對(duì)空間要求較高,在今后的研究中將針對(duì)這一問題繼續(xù)改進(jìn)。另外,本文在規(guī)則形式上使用了表2 中描述的7 種規(guī)則形式,但理論上規(guī)則長(zhǎng)度和規(guī)則結(jié)構(gòu)并不受限于此,后續(xù)也將研究改變規(guī)則結(jié)構(gòu)對(duì)預(yù)測(cè)的影響。
為增強(qiáng)表示的預(yù)測(cè)精度和可解釋性,本文改進(jìn)了一種聯(lián)合FOL 規(guī)則進(jìn)行知識(shí)圖譜表示學(xué)習(xí)的IterE 框架,改變規(guī)則置信度計(jì)算方法,使其適用于所有具有三元組打分函數(shù)的表示學(xué)習(xí)算法,并在融入規(guī)則時(shí)考慮注入普通三元組知識(shí),改變軟標(biāo)簽計(jì)算方法,增加表示學(xué)習(xí)數(shù)據(jù)以提高更多普通三元組的預(yù)測(cè)精度。在鏈路預(yù)測(cè)實(shí)驗(yàn)中,本文模型的結(jié)果高于基模型和傳統(tǒng)表示學(xué)習(xí)模型,說明這種互助的迭代學(xué)習(xí)模式能夠提高預(yù)測(cè)精度。此外,為了驗(yàn)證本文模型對(duì)稀疏實(shí)體的影響,在稀疏測(cè)試集上也進(jìn)行了實(shí)驗(yàn),結(jié)果證明規(guī)則能夠幫助提高稀疏實(shí)體的表示,且在越稀疏的數(shù)據(jù)集上幫助越大。在生成解釋實(shí)驗(yàn)中,本文模型結(jié)果高于基模型,說明加入邏輯規(guī)則能為預(yù)測(cè)三元組生成更多更可靠的解釋。