本發(fā)明屬于知識表示和知識發(fā)現(xiàn)以及人工智能領(lǐng)域,特別涉及一種知識發(fā)現(xiàn)的推理方法。
背景技術(shù):
近年來,隨著大數(shù)據(jù)時代的到來,大量的知識圖譜已經(jīng)被構(gòu)建起來,并且有關(guān)知識圖譜的研究與應(yīng)用的話題也非常豐富,在學(xué)術(shù)界和工業(yè)界引起廣泛的關(guān)注。
知識圖譜是結(jié)構(gòu)化的語義知識庫,用于以符號形式描述物理世界中的概念及其相互關(guān)系;其基本組成單位是“實(shí)體-關(guān)系-實(shí)體”三元組,主要采用(head,relation,tail)三元組形式描述,head是頭實(shí)體,tail是尾實(shí)體,relation是關(guān)系(下面分別簡寫為h、r和t),以及實(shí)體及其相關(guān)屬性-值對,實(shí)體間通過關(guān)系相互聯(lián)結(jié),構(gòu)成網(wǎng)狀的知識結(jié)構(gòu)。
隨著時間和新知識的增加,知識圖譜的豐富性和完善性受到了一定制約,因此,需要對知識圖譜進(jìn)行擴(kuò)展學(xué)習(xí)推理?,F(xiàn)有對知識圖譜的學(xué)習(xí)和推理方法有:基于向量嵌入轉(zhuǎn)換算法、基于張量分解推理算法、基于路徑推理算法等。上述多種推理學(xué)習(xí)算法中,由于向量嵌入轉(zhuǎn)換模型簡單,參數(shù)較少,因此成為目前研究的主要方向。
現(xiàn)有的向量嵌入轉(zhuǎn)換算法中,存在構(gòu)造訓(xùn)練模型時,尚未考慮利用實(shí)體間的關(guān)系語義類型的缺點(diǎn),忽略了關(guān)系語義類型的合理性。例如關(guān)系r是“出生于”,那么頭實(shí)體h通常是指人物或動物,尾實(shí)體t通常是指地點(diǎn)或者時間。如果能滿足這樣語義類型的三元組(h,r,t),則認(rèn)為是符合語義含義類型。
針對此問題,本發(fā)明由此產(chǎn)生。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的,在于提供一種向量約束嵌入轉(zhuǎn)換的知識圖譜推理方法,其可提高知識發(fā)現(xiàn)的推理準(zhǔn)確性,提高預(yù)測精度。
為了達(dá)成上述目的,本發(fā)明的解決方案是:
一種向量約束嵌入轉(zhuǎn)換的知識圖譜推理方法,包括如下步驟:
步驟1,獲取知識圖譜中每個關(guān)系和實(shí)體的語義類型;
步驟2,將實(shí)體集和關(guān)系集嵌入到低維連續(xù)向量空間,并進(jìn)行規(guī)范化;
步驟3,將規(guī)范化后的實(shí)體集與關(guān)系集,按照原來的三元組對應(yīng)關(guān)系映射到相應(yīng)的向量矩陣中;
步驟4,在低維連續(xù)空間中,計(jì)算知識圖譜中每個三元組的得分損失函數(shù)值,構(gòu)造訓(xùn)練模型;
步驟5,對滿足關(guān)系語義類型的被打亂的三元組進(jìn)行訓(xùn)練模型的優(yōu)化;
步驟6,對步驟5進(jìn)行循環(huán),直至滿足循環(huán)結(jié)束條件;
步驟7,對下一個三元組進(jìn)行計(jì)算,重復(fù)步驟4至步驟6,直至全部三元組都計(jì)算完成,輸出訓(xùn)練模型中相應(yīng)的實(shí)體集和關(guān)系集。
上述步驟1中,獲取的語義類型包括知識圖譜中的三元組集、實(shí)體集、關(guān)系集,以及實(shí)體的類型、關(guān)系類型、滿足關(guān)系語義類型的集合。
上述步驟2中,將滿足三元組的實(shí)體集和關(guān)系集嵌入到低維連續(xù)向量空間處理,在向量空間中,把關(guān)系看作是實(shí)體間向量平移轉(zhuǎn)換。
上述步驟4中,還包括對每個三元組構(gòu)造一個被打亂的三元組進(jìn)行組合訓(xùn)練,被打亂的三元組是按照先固定三元組的頭實(shí)體和關(guān)系,用實(shí)體集的全部實(shí)體來替代尾實(shí)體;然后,固定三元組的尾實(shí)體和關(guān)系,用實(shí)體集的全部實(shí)體來替代頭實(shí)體,形成被打亂的三元組集;對于前述被打亂的三元組,檢查其是否符合關(guān)系語義類型的約束,不符合關(guān)系語義類型約束的三元組直接過濾掉。
上述步驟4中,三元組的得分損失函數(shù)用公式:fr(h,t)=||h+r-t||2表示,代表在向量空間中各個向量的歐式距離,其中,h、r和t分別表示三元組的頭實(shí)體、尾實(shí)體和關(guān)系。
上述步驟5中,采用隨機(jī)梯度下降法對訓(xùn)練模型進(jìn)行優(yōu)化處理,其公式為:
其中,fr(h,t)=||h+r-t||2表示三元組在低維向量空間的向量轉(zhuǎn)換得分損失函數(shù),fr(h',t')=||ehr+r-etr||2表示構(gòu)造被打亂的三元組得分損失函數(shù),γ表示邊界調(diào)整參數(shù),ehr、etr分別表示滿足關(guān)系語義類型的頭實(shí)體和尾實(shí)體,(h',r,t')∈Sr表示所構(gòu)造被打亂三元組滿足關(guān)系r的語義類型。
上述步驟5中,對隨機(jī)梯度下降法的公式設(shè)定如下約束條件:
其中,ε表示實(shí)體集,表示關(guān)系集,εhr和εtr分別表示滿足關(guān)系r語義類型的頭實(shí)體和尾實(shí)體,h'、t'分別表示被取代的頭實(shí)體和尾實(shí)體,Sr表示滿足關(guān)系r語義類型約束的三元組,S'表示被打亂的三元組集合,γ>0。
上述步驟6中,循環(huán)結(jié)束條件指達(dá)到最大迭代次數(shù)或L小于給定閾值。
上述最大迭代次數(shù)為500次,給定閾值為0.001。
采用上述方案后,本發(fā)明在構(gòu)造被打亂的三元組中,增加了關(guān)系語義類型的約束條件,使得構(gòu)建的訓(xùn)練模型滿足語義類型,實(shí)現(xiàn)了減少訓(xùn)練模型中毫無意義的三元組計(jì)算,從而達(dá)到訓(xùn)練模型更加精確,并且提高了模型訓(xùn)練速度,主要應(yīng)用于知識圖譜的學(xué)習(xí)和推理過程,達(dá)到豐富和拓展知識圖譜的目的。
附圖說明
圖1是本發(fā)明知識圖譜實(shí)體嵌入(embedding)低維空間的示意圖;
圖2是本發(fā)明的流程圖。
具體實(shí)施方式
以下將結(jié)合附圖,對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明。
如圖2所示,本發(fā)明提供一種向量約束嵌入轉(zhuǎn)換的知識圖譜推理方法,包括如下步驟:
步驟1,獲取每個關(guān)系和實(shí)體的語義類型
為了能構(gòu)建實(shí)體間關(guān)系語義類型的約束模型,首先需要獲取相關(guān)的實(shí)體關(guān)系語義類型,包含知識圖譜中的三元組集、實(shí)體集、關(guān)系集,以及實(shí)體的類型、關(guān)系類型、滿足關(guān)系語義類型的集合,將其作為推理算法的輸入?,F(xiàn)有的一些大規(guī)模知識圖譜中提供了關(guān)于實(shí)體和關(guān)系的語義類型,例如,WordNet中為每一個實(shí)體提供了簡短、概要的定義,并記錄不同實(shí)體之間的語義關(guān)系;Freebase為每個實(shí)體提供了相應(yīng)的領(lǐng)域、類型和主題。因此我們可以獲得滿足關(guān)系語義類型的頭實(shí)體集εhr和尾實(shí)體集εtr。
步驟2,將實(shí)體集和關(guān)系集嵌入到低維連續(xù)向量空間,并進(jìn)行規(guī)范化
配合圖1所示,將步驟1中提取的實(shí)體集、關(guān)系集、關(guān)系語義類型集和三元組集中,滿足三元組的實(shí)體集和關(guān)系集嵌入(embedding)到低維連續(xù)向量空間處理,在向量空間中,把關(guān)系看作是實(shí)體間向量平移轉(zhuǎn)換。
在本實(shí)施例中,設(shè)置的低維連續(xù)空間的維數(shù)為80,并對實(shí)體集和關(guān)系集進(jìn)行規(guī)范化處理,如:e←e/||e||,r←r/||r||,其中||e||和||r||表示實(shí)體向量和關(guān)系向量的歐式距離。
步驟3,將規(guī)范化后的實(shí)體集與關(guān)系集,按照原來的三元組對應(yīng)關(guān)系映射到相應(yīng)的向量矩陣中;
步驟4,在低維連續(xù)空間中,計(jì)算知識圖譜中每個三元組的得分損失函數(shù)值,構(gòu)造訓(xùn)練模型
為了使訓(xùn)練模型具有魯棒性,對每個三元組構(gòu)造一個被打亂的三元組進(jìn)行組合訓(xùn)練,被打亂的三元組是按照先固定三元組的頭實(shí)體和關(guān)系,用實(shí)體集的全部實(shí)體來替代尾實(shí)體;然后,固定三元組的尾實(shí)體和關(guān)系,用實(shí)體集的全部實(shí)體來替代頭實(shí)體,形成被打亂的三元組集。對于前述被打亂的三元組,需要檢查其是否符合關(guān)系語義類型的約束,不符合關(guān)系語義類型約束的三元組直接過濾掉,重新構(gòu)造被打亂的三元組。通過對構(gòu)造的三元組進(jìn)行關(guān)系語義類型的約束,使得所構(gòu)造的三元組符合實(shí)際的語義信息,避免產(chǎn)生大量缺失關(guān)系語義信息的三元組。模型損失函數(shù)計(jì)算公式如式(1)所示:
fr(h,t)=||ehr+r-etr||2 (1)
其中,ehr表示在向量空間中滿足關(guān)系r語義類型的頭實(shí)體,etr表示滿足關(guān)系r語義類型的尾實(shí)體。在模型損失函數(shù)公式(1)中,對于一個三元組(ehr,r,etr)而言,如果在向量空間中ehr+r越趨近于etr,則損失函數(shù)值就越小,表明該三元組是正確的可能性較大,否則,如果損失函數(shù)值就越大,表明該三元組是錯誤的可能性越大。其形式如式(2)和式(3)所示:
其中三元組的得分損失函數(shù)可以用公式:fr(h,t)=||h+r-t||2表示,代表在向量空間中各個向量的歐式距離。如果知識圖譜中存在著(h,r,t)三元組,則認(rèn)為在低維向量空間中應(yīng)該有h+r≈t(加粗表示embedding后的實(shí)體和關(guān)系)。即頭實(shí)體h加上關(guān)系向量轉(zhuǎn)換r能接近于尾實(shí)體t,對于正確的三元組,其損失函數(shù)值較小,錯誤三元組的損失函數(shù)值較大。
步驟5,對滿足關(guān)系語義類型的被打亂的三元組進(jìn)行訓(xùn)練模型的優(yōu)化
在本實(shí)施例中,為了使訓(xùn)練模型能夠盡快收斂,采用隨機(jī)梯度下降法對訓(xùn)練模型進(jìn)行優(yōu)化處理,其公式為:
其中,fr(h,t)=||h+r-t||2表示三元組在低維向量空間的向量轉(zhuǎn)換得分損失函數(shù),fr(h',t')=||ehr+r-etr||2表示構(gòu)造被打亂的三元組得分損失函數(shù),γ表示邊界調(diào)整參數(shù),ehr、etr分別表示滿足關(guān)系語義類型的頭實(shí)體和尾實(shí)體,(h',r,t')∈Sr表示所構(gòu)造被打亂三元組滿足關(guān)系r的語義類型,可通過設(shè)置γ為0.0001、0.001、0.01進(jìn)行調(diào)整。
為了能使訓(xùn)練模型達(dá)到理想學(xué)習(xí)結(jié)果,更好區(qū)分正確和錯誤的三元組,模型采用基于邊界(margin-based)的調(diào)整進(jìn)行機(jī)器學(xué)習(xí),在構(gòu)造被打亂的三元組時,通過增加約束條件,使得被打亂三元組滿足關(guān)系r的語義類型,對式(4)做了如式(5)所示的幾個約束條件:
其中,ε表示實(shí)體集,表示關(guān)系集,εhr和εtr分別表示滿足關(guān)系r語義類型的頭實(shí)體和尾實(shí)體,h'、t'分別表示被取代的頭實(shí)體和尾實(shí)體,Sr表示滿足關(guān)系r語義類型約束的三元組,S'表示被打亂的三元組集合,γ>0是為了調(diào)整訓(xùn)練模型邊界而設(shè)置的參數(shù)。
步驟6,對步驟5進(jìn)行循環(huán),在達(dá)到最大迭代次數(shù)或L小于給定閾值時結(jié)束循環(huán);在本實(shí)施例中,設(shè)定最大迭代次數(shù)為500次,給定閾值為0.001;
步驟7,對下一個三元組進(jìn)行計(jì)算,重復(fù)步驟4至步驟6,直至全部三元組都計(jì)算完成,輸出訓(xùn)練模型中相應(yīng)的實(shí)體集和關(guān)系集。
綜合上述,本發(fā)明首先獲取每個關(guān)系和實(shí)體的語義類型;然后在構(gòu)造打亂的隨機(jī)三元組時,即在固定頭實(shí)體和關(guān)系時,所選擇的尾實(shí)體必須滿足關(guān)系r的語義類型,或者是固定關(guān)系和尾實(shí)體時,所選擇的頭實(shí)體也應(yīng)滿足關(guān)系r的語義類型,以此去除那些不符合關(guān)系r語義類型三元組組合,減少不必要的三元組數(shù)量,提高模型預(yù)測準(zhǔn)確率;最后為了使模型能盡快收斂,采用隨機(jī)梯度下降法對模型的收斂性進(jìn)行優(yōu)化。本發(fā)明通過在訓(xùn)練過程中對隨機(jī)打亂的三元組進(jìn)行關(guān)系語義類型約束,限定被打亂三元組必須滿足給定關(guān)系r的語義類型,排除缺失關(guān)系語義類型的三元組。
本發(fā)明以3個簡單的實(shí)驗(yàn)來驗(yàn)證所提供推理方法的有效性。
驗(yàn)證數(shù)據(jù)集基于兩個通用知識圖譜:WordNet和FreeBase,分別是WordNet的兩個子集:WN11和WN18,以及Freebase的兩個子集:FB15K和FB13。實(shí)驗(yàn)評價指標(biāo)為Mean Rank(排在正確實(shí)體前的平均實(shí)體個數(shù))和HITS@10(%)(正確實(shí)體排在前10%的個數(shù)),其中Mean Rank的值越小,HITS@10值越大,模型預(yù)測準(zhǔn)確性越高。
1)針對鏈接預(yù)測實(shí)驗(yàn),在數(shù)據(jù)集WN18中,Mean Rank的值為209,HITS@10值為92.8%,而在FB15K中,Mean Rank的值為79,HITS@10值為78.6%。
2)針對不同關(guān)系類型預(yù)測實(shí)驗(yàn),在FB15K中,對于一對一(1-1)、一對多(1-N)、多對多(N-N),其HITS@10值分別為82.1%、90.3%和79.3%。
3)在三元組分類實(shí)驗(yàn)中,不同數(shù)據(jù)集中有不同的預(yù)測準(zhǔn)確率,WN11的準(zhǔn)確率為87.6%,F(xiàn)B13的準(zhǔn)確率為86.4%,F(xiàn)B15K的準(zhǔn)確率為88.7%。
通過上述3個實(shí)驗(yàn)驗(yàn)證,可以看出本發(fā)明在知識圖譜推理方法中的可行性,能夠使推理獲得較高的準(zhǔn)確率和精度,較好滿足實(shí)際應(yīng)用的需要。
以上實(shí)施例僅為說明本發(fā)明的技術(shù)思想,不能以此限定本發(fā)明的保護(hù)范圍,凡是按照本發(fā)明提出的技術(shù)思想,在技術(shù)方案基礎(chǔ)上所做的任何改動,均落入本發(fā)明保護(hù)范圍之內(nèi)。