本發(fā)明涉及信息處理技術領域,具體涉及一種基于特定路徑翻譯的知識圖譜的關系推理方法和系統(tǒng)。
背景技術:
知識圖譜是知識工程中以圖的形式組織的知識集群,其由不同類型的實體作為節(jié)點、關系作為連接節(jié)點的邊所構成的。在知識圖譜中,實體指真實世界中的客觀物體(例如,貝拉克·奧巴馬),或者人類思想中的抽象概念(例如,美國的第44屆總統(tǒng))。關系則是描述兩個實體之間的實際關系(例如,貝拉克·奧巴馬是美國的第44屆總統(tǒng),即貝拉克·奧巴馬與美國的第44屆總統(tǒng)之間存在“是”的關系)。
在已知的知識圖譜中,實體類型有人物、事件、組織機構、地點等,而它們之間的關系類型也十分多樣化。不同的實體類型所關注的關系也是不同的。例如,對于人物實體之間,常見關系有親人及朋友關系;對于人與組織機構之間,常見關系有工作單位、畢業(yè)院校等。這些已知的實體間的關系在原始的知識圖譜中比較稀疏,而實際上實體間還存在大量的隱含關系,可以通過知識圖譜中已有的知識和關系,來發(fā)掘或推理這些隱含關系。
最常用的推理方法是基于規(guī)則的方法,即通過對已有知識的分析,制定合適的推斷規(guī)則,最終由這些規(guī)則推出實體間的關系。但這種方法由人工來制定規(guī)則,工作量很大且能制定的規(guī)則數(shù)量有限,涵蓋范圍較小,具有較大的局限性。為了減少規(guī)則的人工標注量,另一個常用的知識圖譜的關系推理方法是根據(jù)已有知識通過機器學習自動地獲得規(guī)則,例如,利用現(xiàn)有的transE、transR、transH等基于翻譯的模型,但這種方法的效果較為依賴于對特征的選擇和模型的參數(shù)的選擇,在不同領域的知識圖譜中遷移需要花費較多精力,例如,對于學術領域的關系推理,如合作關系等,更側(cè)重于研究熱點的內(nèi)容相似度特征,且有效路徑長度通常較短;而人物關系領域的關系推理更側(cè)重于結(jié)構相似度特征,且有效路徑長度可能較長,因此,在實際應用中,不同領域的知識圖譜之間的遷移具有局限性。此外,在傳統(tǒng)的自動學習方法的模型中,通常是通過基于間隔的損失函數(shù)來衡量學習的精確度,間隔通常從候選值中預先選擇,而且,該間隔在學習過程中是固定不變的。這種固定不變的間隔不能自適應的調(diào)節(jié)不同知識圖譜、不同的實體和關系的學習的精確性。
技術實現(xiàn)要素:
本發(fā)明的目的在于克服上述現(xiàn)有技術中的缺陷,提供一種改進的知識圖譜的關系推理方法。
根據(jù)本發(fā)明的第一方面,提供了一種知識圖譜的向量表示方法,包括:
步驟1:將知識圖譜中的實體對、關系和所述實體對之間的多步關系路徑表示為初始低維向量;
步驟2:利用間隔可變的損失函數(shù)訓練所述實體對、關系和所述實體對之間的多步關系路徑的低維向量表示的模型。
優(yōu)選地,所述損失函數(shù)包括實體對和關系的損失以及實體對和多步關系路徑的損失。
優(yōu)選地,所述實體對和關系的損失定義為:
其中,Δ為三元組(h,r,t)構成的訓練集,h為頭實體,t為尾實體,r表示兩者間的關系;Z表示訓練集Δ的模數(shù);Δ′表示實體對和關系的負例三元組,三元組(h′,r′,t′)∈Δ′,是將(h,r,t)∈Δ中的h,r,t替換為h′,r′,t′所獲得的;h,r,t,h′,r′,t′∈Rd,Rd表示維數(shù)為d的低維向量空間;[x]+返回x與0兩者中的較大值;||·||表示L1或L2范式;γ是三元組的正例和負例之間的間隔。
優(yōu)選地,所述實體對和多步關系路徑的損失定義為:
Lp,r=[||p-r||+Mpath(p)-||p-r′||]+
其中,Mpath(p)為多步關系路徑正反例之間的間隔,定義為Mpath(p)=minr,r′|||p-r′||-||p-r|||,p是多步關系路徑的向量表示;r′為負例關系r′∈Nh,t中的低維向量表示向量,Nh,t為知識圖譜中負例三元組(h,r′,t)的集合;||·||表示L1或L2范式。
優(yōu)選地,所述多步關系路徑的長度低于閾值。
優(yōu)選地,在步驟2中的訓練過程中,采用梯度下降法來更新所述損失函數(shù)。
根據(jù)本發(fā)明的第二方面,提供了一種知識圖譜的關系推理方法。該方法包括:
步驟11:根據(jù)目標實體從知識圖譜中找出所有與該目標實體之間有目標關系的所有候選實體作為候選實體集;
步驟12:根據(jù)知識圖譜的向量表示方法來推斷所述候選實體集中可能與該目標實體存在所述目標關系的候選實體。
優(yōu)選地,在步驟12中,采用下式來推斷所述候選集中的候選實體與目標實體存在所述目標關系的可能性:
f(h,r,t)=||h+r-t||
其中,粗體h,r,t表示h,r,t在低維向量空間的向量表示,||·||表示L1或L2范式。
根據(jù)本發(fā)明的第三方面,提供了一種知識圖譜的關系推理系統(tǒng)。該系統(tǒng)包括:用于根據(jù)目標實體從知識圖譜中找出所有與該目標實體之間有目標關系的所有候選實體作為候選實體集的裝置;用于根據(jù)本發(fā)明的知識圖譜的向量表示方法來推斷所述候選實體集中可能與該目標實體存在所述目標關系的候選實體的裝置。
與現(xiàn)有技術相比,本發(fā)明的優(yōu)點在于:
利用知識圖譜中已有的實體關系和實體自動學習推斷規(guī)則,利用間隔可變的損失函數(shù)進行學習可以自適應地建立實體對間的關系和多步關系路徑之間的聯(lián)系,提高學習的精確性。對于不同的知識圖譜,本發(fā)明能夠自適應地計算損失函數(shù)的最優(yōu)間隔值,不需要提前定義任何候選間隔值。與其他模型相比,復雜度相同,但關系推理效果得到了明顯提高。
附圖說明
被結(jié)合在說明書中并構成說明書的一部分的附圖示出了本發(fā)明的實施例,并且連同其說明一起用于解釋本發(fā)明的原理。
圖1示出了根據(jù)本發(fā)明的一個實施例的知識圖譜的關系推理方法的流程圖。
圖2示出了根據(jù)本發(fā)明的一個實施例的特定路徑間隔的示意圖。
具體實施方式
為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結(jié)合附圖通過具體實施例對本發(fā)明進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
簡言之,根據(jù)發(fā)明的實施例的方法包括:將實體對、關系和實體對之間的多步關系路徑表示為初始低維向量;設計學習目標(損失函數(shù)),基于特定路徑翻譯的模型來訓練學習,通過不斷調(diào)整,更新實體、關系和向量的取值使損失函數(shù)最??;利用訓練好的這些向量進行實體預測或關系推理等。
在本文中,所述的特定路徑翻譯是指,在基于現(xiàn)有的路徑翻譯的知識圖譜表示學習過程中,對每個多步關系路徑計算特定的間隔,以更好地學習多步關系路徑的低維向量,即每個多步關系路徑的間隔是特定的,因此,可以稱為基于特定路徑翻譯的模型。本發(fā)明采用了間隔可變的損失函數(shù)進行訓練學習,進一步增加了學習過程的自適應性和學習的精確度。具體地,圖1示出了根據(jù)本發(fā)明的一個實施例的知識圖譜的關系推理方法的流程圖。
1)步驟S110,生成多步關系路徑集合。
在本文中,多步關系路徑是指實體對之間存在目標關系的路徑,路徑的長度可以取值大于或等于1。例如,的,其路徑的長度是2,通常用“-工作于-工作于-1-”來表示。當路徑的長度超過閾值時,認為該實體對之間的關聯(lián)關系較弱,可以不予考慮。
在一個實施例中,獲取多步路徑關系的集合的方式是根據(jù)給定的目標關系從現(xiàn)有的知識庫中找出所有存在該關系的實體對;對于每個實體對,從頭實體開始,直至到達尾實體或超過設定的路徑閾值,獲得多步關系路徑的集合?,F(xiàn)有的知識庫包括但不限于Freebase、Google Knowledge Graph、GeneOntology等。
例如,如果查找的目標關系是“coauthor(合著)”,則遍歷所有存在該關系的實體對,可能存在“<A-B>”,“<C-D>”等。例如,對于<A-B>實體對,可使用寬度優(yōu)先搜索遍歷方法來獲得它們之間的所有路徑集合。通過這種方式可以最終獲得所有實體對的多步關系路徑的集合。
2)步驟S120,計算多步關系路徑的重要度并選擇重要路徑。
在此步驟中,通過計算每對實體之間的每條多步關系路徑的得分R(p|h,t)來衡量其重要度。R(p|h,t)是從頭實體h(head)到達尾實體t(tail)的資源量,用于衡量實體對之間的關系路徑的重要度,分值越高表示該條路徑越重要。
例如,對于實體對(h,t),如果該實體對之間的關系路徑p是令Rp(h)=1,R([|h,t)=Rp(t),且對于實體m∈Si,m的連接關系ri的前置節(jié)點表示為Si-1(·,m),則該條關系路徑的得分計算為:
其中,得分的取值范圍是0到1之間;·表示任意節(jié)點。例如,Si(n,·)表示以n為起點的任意點的集合。
具體而言,如果知識圖譜中,對于某一實體對,有路徑和及
那么,S1(·,t)={a,b},并且,S1(h,·)={a,b},S2(a,·)={t,t′},S2(b,·)={t},則:
通過該公式(1)可以計算出每條關系路徑的得分,在本實施例中,可選地可以僅僅選擇重要的路徑(例如,對于每對實體對,選擇得分最高的三條路徑)來執(zhí)行以下過程。通過這種方式,可以降低計算量,提高學習的效率。
3)步驟S130,將實體、關系和多步關系路徑初始化為低維向量表示。
在此步驟中將已經(jīng)獲得的知識圖譜中的實體、關系、多步關系路徑,初始化為用向量來表示,向量的維度一般在0-300之間。在一個實施例中,采用平均分布或伯努利分布來進行初始化。用三元組(h,r,t)來表示頭尾實體和關系,用p來表示路徑。
通過這種低維向量表示的方法可以將所有對象(實體、關系等)映射到這個低維空間中。
4)步驟S140,構造訓練集合。
在此實施例中,構造兩個訓練集合用于模型的訓練,第一個訓練集合由三元組(h,r,t)的正例和負例組成;第二個訓練集合由是實體對和多步關系路徑的正例和負例組成。
例如,已知李某和張某存在“合著”關系,則三元組(h,r,t)是(李某,合著,張某),這個三元組是真實存在的,因此,是正例三元組。通過隨機替換h、r、t中的至少一項可以得到對應的負例三元組,例如,(李某,合著,沈某)。該實體對對應的多步關系路徑可能有p1=“-工作于-工作于-1-”、p2=“-導師-導師-1-”、p3=“-發(fā)表于-發(fā)表于-1-”等,通過替換r可以獲得實體對和多步關系路徑對應負例,例如,(李某,夫妻,張某),該實體對的多步關系路徑應該與“合著”對應,現(xiàn)在與“夫妻”對應。
5)步驟S150,學習實體、關系和多步關系路徑的低維向量表示。
此步驟的目的是通過不斷調(diào)整、更新實體、關系、多步關系路徑等向量的取值使其更接近于真實結(jié)果。用損失函數(shù)來衡量與真實結(jié)果的接近程度,即學習目標是通過優(yōu)化使損失函數(shù)取值最小。
定義損失函數(shù)為:
其中,L(E,z)表示低維向量學習過程的損失函數(shù);E表示低維向量表示;z表示三元組(h,r,t),h為頭實體,t為尾實體,r為兩者間的關系;Δ為知識圖譜中的已知三元組的集合,作為學習過程中的訓練集;Z表示訓練集Δ的模數(shù),即Δ中三元組的個數(shù);Ph,t={p1,p2,…,pm}表示從h到t的多步關系路徑的集合;Lp,r表示多步關系路徑p和關系r的損失;Δ″表示實體對和多步關系路徑的負例,用于優(yōu)化
在公式(2)中,第一部分Eh,r,t表示實體對和關系的損失;第二部分表示實體對和多步關系路徑的損失,其中,R(p|h,t)為衡量實體對(h,t)之間的關系路徑p重要度的得分。
計算公式(2)的具體步驟包括:
a)計算實體對和關系的損失Eh,r,t。
實體對和關系的損失函數(shù)定義為:
其中,Δ為三元組構成的訓練集;Z表示訓練集Δ的模數(shù),即Δ中三元組的個數(shù);Δ′表示實體對和關系的負例三元組,三元組(h′,r′,t′)∈Δ′,是將(h,r,t)∈Δ中的h,r,t替換為h′,r′,t′所獲得的,h為頭實體,t為尾實體,r表示兩者間的關系;h,r,t,h′,r′,t′∈Rd,Rd表示維數(shù)為d的低維向量空間;[x]+返回x與0兩者中的較大值;||·||表示L1或L2范式;γ為間隔,即區(qū)分正例三元組(h,r,t)∈Δ和負例三元組(h′,r′,t′)∈Δ′的一個非負值,γ的取值可以預先設定。
由公式(3)可知,對于已知李某和張某存在“合著”關系的示例,其優(yōu)化目標是正例(李某,合著,張某)的損失加上間隔γ大于負例(李某,合著,沈某)的損失。
b)計算多步關系路徑的間隔。
可以計算每條關系路徑的最優(yōu)間隔,也可以根據(jù)上述的多步關系路徑重要度的得分僅計算其中一部分重要的關系路徑的最優(yōu)間隔。
在本發(fā)明中,關系路徑的最優(yōu)間隔定義為:
Mpath(p)=minr,r′|||p-r′||-||p-r||| (4)
其中,正例關系r∈Rh,t,Rh,t為知識圖譜中正例三元組(h,r,t)的關系r的集合;負例關系r′∈Nh,t,Nh,t為知識圖譜中負例三元組(h,r′,t)的關系r′的集合,(h,r′,t)是將(h,r,t)中的r替換為r′得到的;||·||表示L1或L2范式。
更具體地說,在理想的知識圖譜低維向量表示中,對于特定的多步關系路徑p,與其相關的正例關系r在低維向量空間中應盡可能相近,而與其相關的負例關系r′在低維向量空間中應盡可能相遠。因此,關系路徑p的向量表示使得所對應的正例關系r∈Rh,t聚簇在一起,并與負例關系r′∈Nh,t之間具有一定的間隔。
如圖2所示(以二維圖形示出),特定路徑的最優(yōu)間隔Mpath(p)等于兩個同心超球面體的超半徑模長的差,正例關系r(用空心圓表示)均位于內(nèi)側(cè)球體,負例關系r’(用空心正方形表示)均位于外部球體以外,最優(yōu)間隔Mpath(p)等于內(nèi)外超球面體之間的距離間隔。因此,通過對每條多步關系路徑或重要的多步關系路徑設置適當?shù)拈g隔能夠?qū)⒄拓摾M可能的分隔開,從而可以提高低維向量學習的精確度。
c)多步關系路徑和關系之間的損失。
Lp,r=[||p-r||+Mpath(p)-||p-r′||]+ (5)
其中,Mpath(p)為多步關系路徑的最優(yōu)間隔;p是由關系r1,r2,…,rl組成的關系路徑p={r1,r2,…,rl}的低維向量表示向量,p∈Rd,且p=r1+r2+…+rl,d為低維向量空間的維度;r′為負例關系r′∈Nh,t中的低維向量表示向量,Nh,t為知識圖譜中負例三元組(h,r′,t)的集合;||·||表示L1或L2范式。
由公式(5)可知,通過定義Mpath(p),對于不同的知識圖譜或不同實體對的關系路徑,其間隔是可變的,即損失函數(shù)是可變的。因此,這種方法可以自適應地學習知識向量的低維表示。
綜上所述,在本發(fā)明的實施例中,定義的低維向量學習過程的損失函數(shù)L(E,z)相當于有兩個約束:一是使得實體對和關系組成的三元組最接近真實情況;二是使得實體對的多步關系路徑最接近真實情況。其中,實體對和關系的損失最小是指頭實體向量加關系向量應該與尾實體向量接近。實體對和關系路徑之間的損失的最小通過實體對之間的關系來衡量,如“-父親-父親-”這條路徑的向量應該與“爺爺”的向量在低維空間中距離接近。
在學習過程中,可以通過更新向量來優(yōu)化損失函數(shù)。例如,可以采用梯度下降方法來進行更新,向量更新方式如下:
hi=hi+μ*2*|ti-hi-ri|
ri=ri+μ*2*|ti-hi-ri|
ti=ti-μ*2*|ti-hi-ri|
h′i=h′i-μ*2*|t′i-h′i-r′i|
r′i=r′i-μ*2*|t′i-h′i-r′i|
t′i=t′i+μ*2*|t′i-h′i-r′i|
其中,dim是向量空間的維度,hi代表h的第i維向量。μ為學習率,一般在{0.1,0.01,.0.001}中選擇。
通過迭代執(zhí)行步驟S150,直到收斂,即可獲得訓練后的實體、關系、多步關系路徑的向量。
6)步驟S160,基于打分函數(shù)進行關系推理。
本步驟的目的在于根據(jù)上述學習獲得的實體、關系、關系路徑的低維向量表示,來進行關系推理。具體包括:
a)對于待推斷的目標實體和關系,選取所有符合候選實體類型的實體作為候選實體集合。
b)、根據(jù)以下打分函數(shù)和學習獲得的實體、關系的低維向量表示,計算候選實體和目標實體、目標關系組成的三元組的分值。
f(h,r,t)=||h+r-t|| (6)
其中,粗體h,r,t表示h,r,t在低維向量空間的向量表示,||·||表示L1或L2范式。
c)、根據(jù)計算的分值對候選實體排序,獲得有序的候選實體列表。例如,候選實體列表中的第一個是最可能與目標實體產(chǎn)生目標關系的實體。
例如,待推斷的目標關系r=出生地點,待推斷的目標頭實體h=李某,候選實體集合可能是{北京,杭州,青島,海南…},計算分值后獲得的有序的實體列表{杭州,北京}。
為了進一步說明利用本發(fā)明進行關系推理的效果,發(fā)明人在Freebase的數(shù)據(jù)集FB15K上進行了驗證。Freebase數(shù)據(jù)集是現(xiàn)有知識庫的典型代表,是一個開源且不斷更新的開放的知識庫。發(fā)明人采用實體預測技術和本發(fā)明提供的方法,采用正實體的平均序值(Mean Rank)作為評價指標來進行驗證。實驗參數(shù)如下:數(shù)據(jù)集FB15K中,存在1345種關系和14951個實體。對FB15K數(shù)據(jù)集,學習過程使用的學習率λ=0.001,向量可選的維度d=50,批處理大小B=4800,參數(shù)γ=1,路徑長度為2,選用L1范式衡量相似度。
經(jīng)過實驗,根據(jù)本發(fā)明的方法在“Filter”條件下平均序值為85,在“Raw”條件下平均序值為24。(其中,“Filter”表示在對候選實體進行排序之前,正三元組已經(jīng)被過濾掉(例如,李某有兩個孩子A和B,對實體對(李某,孩子,B)進行預測,給定“李某”和關系“孩子”,候選集把正例A去掉,使得候選集合只有B一個正確實體,稱為filter;相反,候選集不做處理,使得候選集合中有A、B兩個正確實體,排序時可能A排在B前面,使得mean rank變差,稱為raw)。采用現(xiàn)有技術中流行的TransR方法得到的平均序值為226(Filter),78(Raw);采用另一種現(xiàn)有的HOLE方法得到的平均序值為259(Filter),116(Raw)。因此,而采用本發(fā)明提供的方法與TransR技術相比,序值顯著降低了50~110;與采用HOLE技術相比,序值顯著降低了90~180。
綜上所述,根據(jù)本發(fā)明的方法,首先模型化目標實體對之間的關系和多步關系路徑的相互聯(lián)系,將其用低維向量表示,再定義自適應的最優(yōu)的間隔值,可以提高模型學習的精確度,從而能夠提高了知識圖譜的關系推斷的準確性。
以上已經(jīng)描述了本發(fā)明的各實施例,上述說明是示例性的,并非窮盡性的,并且也不限于所披露的各實施例。在不偏離所說明的各實施例的范圍和精神的情況下,對于本技術領域的普通技術人員來說許多修改和變更都是顯而易見的。本文中所用術語的選擇,旨在最好地解釋各實施例的原理、實際應用或?qū)κ袌鲋械募夹g改進,或者使本技術領域的其它普通技術人員能理解本文披露的各實施例。本發(fā)明的范圍由所附權利要求來限定。