日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

知识图谱嵌入(KGE)主流模型简介

發布時間:2024/3/13 编程问答 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 知识图谱嵌入(KGE)主流模型简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. KGE簡介

目前(2020.03)知識圖譜嵌入研究方法眾多,本文將對其中的主流方法進行簡要介紹,如翻譯、雙線性、神經網絡、雙曲幾何、旋轉等。各方法細節請看原論文,文中錯誤歡迎指出,謝謝。

知識圖譜嵌入(Knowledge Graph Embedding, KGE)學習知識庫中的實體和關系的Embedding表示,是語義檢索、知識問答、推薦等眾多應?的基礎研究。在具體了解KGE之前,我們先來看知識圖譜是什么,為什么又要做知識圖譜嵌入呢。

如下圖所示,知識圖譜是由大量的事實三元組組成,如(英國, 首都, 倫敦)便是真實世界中的知識,可用 ( h , r , t ) (h, r, t) (h,r,t)進行表示,其中 h , t h, t h,t表示頭尾實體, r r r表示關系。但我們知道,真實世界中知識是無限增長的,而知識圖譜卻不能包含真實世界中的所有知識,因此需在知識庫中進行知識補全,或者稱為鏈接預測。

如何進行鏈接預測呢?一個可行的方法便是將實體和關系進行Embedding表示,類似于Word2Vec,將字或詞表示成Embedding信息。然后根據實體和關系的Embedding信息進行預測,比如利用頭實體和關系去預測尾實體,或者利用尾實體和關系去預測頭實體。當然,Embedding信息也可應用到其他領域,比如知識問答、文本信息增強、語義檢索等。

2. KGE模型

通過上面介紹,我們知道KGE是將知識庫中的實體和關系進行Embedding表示,但具體有哪些方法呢?根據我個人的理解,將模型規劃為翻譯(TransE, TransH, TransR, etc)、雙線性(RESCAL, DisMult, ComplEx, etc)、雙曲幾何(Poincare, MuRE, etc)、神經網絡(ConvE, CapsE, etc)、旋轉(RotatE, QuatE, DihEdral, etc)類別,下面逐一進行介紹。

2.1 翻譯模型

翻譯模型是把關系當作頭實體和尾實體之間的翻譯,包括TransE, TransH, TransD等模型。

TransE認為 h + r ≈ t h + r \approx t h+rt,即 r r r是頭尾實體之間的翻譯關系,并定義評分函數為 f r ( h , t ) = ∣ ∣ h + r ? t ∣ ∣ 2 2 f_r(h, t) = ||h + r - t||_{2}^{2} fr?(h,t)=h+r?t22?,優化目標是最小化評分函數。TransE能夠解決1-1類別的關系,但不能夠很好的解決1-N, N-1, N-N關系。比如(流浪地球,演員,吳京)、(流浪地球,演員,吳孟達)兩個三元組,當頭實體 h h h和關系 r r r相同時,TransE認為所有尾實體 t t t具有相同的Embedding信息,但實際情況并非如此。
針對TransE存在的問題,TransH把頭實體 h h h和尾實體 t t t投影到關系所在的超平面中,并定義評分函數為 f r ( h , t ) = ∣ ∣ h ⊥ + r ? t ⊥ ∣ ∣ 2 2 f_r(h,t) = ||h_{\perp} + r - t_{\perp}||_{2}^{2} fr?(h,t)=h?+r?t?22?,其中 h ⊥ = h ? w r T h w r , t ⊥ = t ? w r T t w r h_{\perp} = h - w_{r}^{T}hw_{r}, t_{\perp} = t - w_{r}^{T}tw_{r} h?=h?wrT?hwr?,t?=t?wrT?twr?。經過投影后,盡管頭實體 h h h和關系 r r r相同,尾實體 t t t的Embedding信息也會不同,TransH能夠一定程度上解決多對多的關系。
TransR認為TransE和TransH均是把實體和關系放在同一空間中進行考慮,但實體可能具有多個不同方面的屬性,不同的關系也關注著實體的不同屬性,因此把實體和關系放在同一空間中考慮是不準確的。因此,TransR構建實體空間和關系空間,并定義評分函數為 f r ( h , t ) = ∣ ∣ h ⊥ + r ? t ⊥ ∣ ∣ 2 2 f_{r}(h, t) = ||h_{\perp} + r - t_{\perp}||_{2}^{2} fr?(h,t)=h?+r?t?22?,其中 h ⊥ = h M r , t = t M r h_{\perp} = hM_{r}, t = t M_r h?=hMr?,t=tMr? h ⊥ , t ⊥ h_{\perp}, t_{\perp} h?,t?屬于實體空間, r r r屬于關系空間。

如下圖所示,除了TransE, TransH, TransR以外,還有其他Trans模型,考慮實體和關系的概率性、稀疏性等問題,此處不再贅述。但總體上,Trans模型均是把關系當作頭尾實體之間的翻譯,解決知識庫中所存在的多對多問題。

2.2 雙線性模型

雙線性模型計算實體和關系在向量空間中潛在語義的可信度,包括RESCAL、DisMult、ComplEx等模型。

RESCAL把關系利用滿秩矩陣表示,并定義評分函數為 f r ( h , t ) = h T M r t f_r(h, t) = h^TM_rt fr?(h,t)=hTMr?t。能夠看到,RESCAL的實體和關系之間全是矩陣運算,因此實體和關系的信息可以進行深層次交互,非常具有表現力。但同時,RESCAL容易過擬合,并且隨著關系矩陣維度的增加,復雜度會很高,很難應用到大規模知識圖譜。
針對RESCAL存在的問題,DisMult放松對關系矩陣的約束,把關系矩陣 M r M_r Mr?利用對角矩陣表示,并定義損失函數為 f r ( h , t ) = h T d i a g ( M r ) t f_{r}(h,t) = h^Tdiag(M_r)t fr?(h,t)=hTdiag(Mr?)t。但DisMult過分簡化了RESCAL模型,導致只能夠解決知識庫中存在的對稱關系,不能夠解決知識圖譜中其他類型的關系。
針對DisMult存在的問題,ComplEx把DisMult擴展到復數空間表示,并定義評分函數為 f r ( h , t ) = R e ( h T d i a g ( M r ) t ˉ ) f_{r}(h,t) = Re(h^Tdiag(M_r)\bar{t}) fr?(h,t)=Re(hTdiag(Mr?)tˉ),其中 h , t h, t h,t均用復數表示, t ˉ \bar{t} tˉ表示 t t t的共軛復數, R e ( ? ) Re(\cdot) Re(?)表示取得復數的實部。ComplEx對DisMult擴展后,能夠同時解決對稱和非對稱關系。ComplEx首次在KGE中引入復數方法,后面我們還能看到其他模型利用復數空間解決問題,并且可解決除對稱、非對稱外更復雜的對稱類型。

如下圖所示,除RESCAL, DisMult, ComplEx外,還有其他雙線性模型,考慮實體和關系的潛在語義信息,獲取實體和關系的深層次交互信息。

2.3 神經網絡模型

多數翻譯模型和雙線性模型是16年之前模型,最近幾年隨著神經網絡的興起,也有利用神經網絡解決KGE問題的模型,包括ConvE、CapsE等。

如下圖所示,ConvE首先把頭實體和關系轉換為二維向量,接下來利用卷積層和全連接層獲取交互信息,然后與矩陣 W W W和尾實體進行計算,判斷當前三元組的可信度。ConvE評分函數為 f ( v e c ( f ( [ h ˉ , r ˉ ] ? w ) ) W ) t f(vec(f([\bar{h}, \bar{r}] * w ))W) t f(vec(f([hˉ,rˉ]?w))W)t h ˉ , r ˉ \bar{h}, \bar{r} hˉ,rˉ表示二維向量, w w w表示卷積核, W W W表示矩陣。ConvE模型上沒什么新穎之處,只不過是比較早的利用卷積神經網絡來對KGE進行建模。

如下圖所示,CapsE采用膠囊神經網絡模型,首先把頭實體、關系、尾實體表示稱 k × 3 k\times 3 k×3的矩陣,接下來通過卷積層獲取其特征信息,然后對特征信息進行壓縮,并進行動態路由,最后計算三元組的可信度,膠囊網絡資料可參考蘇神博客。CapsE只是膠囊網絡在KGE問題上的簡單應用,也沒有特別新穎之處。

如下圖所示,KG-BERT模型利用BERT進行fine-tuning,獲取頭實體、關系、尾實體信息,然后取CLS信息進行二分類,判斷當前三元組可信度。

KGE除了利用卷積神經網絡、膠囊網絡、BERT模型外,也有模型利用深度神經網絡、圖注意力網絡等方法,但均沒有進行深層次擴展。個人認為,普通的神經網絡模型不是特別適合解決KGE問題,不能夠對知識圖譜中實體的層次性、關系的多樣性問題建模,僅僅只是獲取實體和關系的深層次交互信息,沒有可解釋性。但可以多嘗試圖神經網絡在KGE上的應用,比較符合圖譜結構。

2.4 雙曲幾何模型

上面多次提到實體間具有層次性,比如爺爺–父親–兒子關系,類似于樹狀結構。此時,可以利用雙曲空間性質,在雙曲空間中對實體的層次性建模,包括Poincare, MuRP等模型。

Poincare采用雙曲幾何中的龐加萊圓盤進行建模,其空間曲率為負。通過下圖我們可以簡單了解龐加萊圓盤性質,如下圖(1)所示,是龐加萊圓盤中的測地線,可看作直線在雙曲空間中的推廣。如圖(2)所示,圖中每兩個點之間線代表的長度是相同的。也就是說,離中心越遠, 單位歐幾里得空間的線段所代表的長度越長。如圖(3)所示,當 ∣ ∣ u ∣ ∣ 2 ||u||^{2} u2 ∣ ∣ v ∣ ∣ 2 ||v||^{2} v2趨近于1時,距離會變得無限大。雙曲空間中兩點之間距離計算方法為
d ( h , t ) = a r c o s h ( 1 + 2 ∣ ∣ h ? t ∣ ∣ 2 2 ( 1 ? ∣ ∣ h ∣ ∣ 2 2 ) ( 1 ? ∣ ∣ t ∣ 2 2 ∣ ) ) d(h, t) = arcosh(1 + 2 \frac{||h - t||_{2}^{2}}{(1-||h||_{2}^{2})(1-||t|_{2}^{2}|)}) d(h,t)=arcosh(1+2(1?h22?)(1?t22?)h?t22??)
因為龐加萊圓盤性質,能夠對實體間的層次性建模,學習圖譜間的層次性信息。Poincare模型評分函數為 f r ( h , t ) = ∑ ( h , t ) ∈ D l o g e ? d ( h , t ) ∑ t ′ e ? d ( h , t ′ ) f_{r}(h,t) = \sum_{(h,t) \in D} log \frac{e^{-d(h, t)}}{\sum_{t'}e^{-d(h, t')}} fr?(h,t)=(h,t)D?logt?e?d(h,t)e?d(h,t)?,其中 ( h , t ′ ) (h,t') (h,t)為負樣本,其目標是讓相關聯的三元組在龐加萊圓盤中具有更小的距離。但Poincare模型沒有考慮到關系性質,而且不能夠在龐加萊圓盤中進行復雜操作。另外,雙曲空間需要黎曼優化方法,建議自行去了解相關數學知識,包括黎曼曲率張量、黎曼流形、黎曼優化等概念。

MuRP相對于Poincare而言更加完善,MuRP同時在雙曲空間和歐式空間中建模,結合關系向量,能夠處理圖譜中所存在的多類型關系。MuRP首先將實體向量定義在龐加萊圓盤中,接下來將實體映射到歐式空間,并和關系進行操作,然后再將實體映射回龐加萊圓盤中進行距離計算,并用黎曼方法優化。MuRP評分函數為 f r ( h , t ) = ? d B ( e x p 0 c ( R l o g 0 c ( h ) ) , r ⊕ c t ) 2 + b h + b t f_{r}(h,t) = -d_{\mathbb{B}}(exp_{0}^{c}(Rlog_{0}^{c}(h)), r\oplus_{c}t)^2 + b_h + b_t fr?(h,t)=?dB?(exp0c?(Rlog0c?(h)),rc?t)2+bh?+bt?,其中 d B d_{\mathbb{B}} dB?表示在龐加萊圓盤中計算距離, l o g 0 c ( ? ) log_{0}^{c}(\cdot) log0c?(?)表示將龐加萊圓盤中的點映射到歐式空間, R R R表示對角矩陣, e x p 0 c ( ? ) exp_{0}^{c}(\cdot) exp0c?(?)表示將歐式空間中的點轉移到龐加萊圓盤中, ⊕ c \oplus_c c?是莫比烏斯加法,為龐加萊空間中兩向量相加, c c c表示曲率。另外, b h , b t b_h, b_t bh?,bt?表示頭尾實體的偏置,如下圖(2)所示,距離在 ( b h + b t ) \sqrt{(b_h + b_t)} (bh?+bt?) ?內均為正確的三元組。
d B = 2 c t a n h ? 1 ( c ∣ ∣ ? x ⊕ c y ∣ ∣ ) d_{\mathbb{B}} = \frac{2}{\sqrt{c}}tanh^{-1}(\sqrt{c}||-x\oplus_cy||) dB?=c ?2?tanh?1(c ??xc?y)

x ⊕ c y = ( 1 + 2 c < x , y > + c ∣ ∣ y ∣ ∣ 2 ) x + ( 1 ? c ∣ ∣ x ∣ ∣ 2 ) y 1 + 2 c < x , y > + c 2 ∣ ∣ x ∣ ∣ 2 ∣ ∣ y ∣ ∣ 2 x\oplus_c y = \frac{(1+2c<x,y> + c||y||^2)x + (1-c||x||^2)y}{1+2c<x, y> + c^2 ||x||^2||y||^2} xc?y=1+2c<x,y>+c2x2y2(1+2c<x,y>+cy2)x+(1?cx2)y?

e x p x c ( v ) = x ⊕ c ( t a n h ( c λ x c ∣ ∣ v ∣ ∣ 2 ) v c ∣ ∣ v ∣ ∣ ) exp_{x}^c(v) = x\oplus_c \left(tanh\left(\sqrt{c} \frac{\lambda_x^c||v||}{2}\right)\frac{v}{\sqrt{c}||v||}\right) expxc?(v)=xc?(tanh(c ?2λxc?v?)c ?vv?)

l o g x c ( y ) = 2 c λ x c t a n h ? 1 ( c ∣ ∣ ? x ⊕ c y ∣ ∣ ) ? x ⊕ c y ? x ⊕ c y log_x^c(y) = \frac{2}{\sqrt{c}\lambda_x^c}tanh^{-1} (\sqrt{c}||-x\oplus_c y||)\frac{-x\oplus_cy}{-x\oplus_cy} logxc?(y)=c ?λxc?2?tanh?1(c ??xc?y)?xc?y?xc?y?

通過Poincare和MuRP模型能夠看出,雙曲空間對于數學要求比較高,但雙曲幾何確實能夠對圖譜進行層次性信息建模,解決實體間的多類型關系。除了利用雙曲空間中的龐加萊圓盤外,還有的模型利用李群、李代數等知識,此處不再贅述。數學較好的同學,可以深層次的研究雙曲空間在KGE問題上的應用。

2.5 旋轉模型

旋轉模型把關系當作頭實體和尾實體之間的旋轉,包括RotatE、QuatE、DihEdral等模型。

RotatE認為知識庫中存在多種類型的關系,如symmetry(e.g., marriage), antisymmetry(e.g., filiation), inversion(e.g., hypernym and hyponym), composition(e.g., my mother’s husband is my father)關系,但以往的TransE, RESCAL, ConvE等模型均不能夠解決上述關系。因此,如下圖(2)所示,RotatE提出在復數空間中建模,把關系當作頭尾實體之間的旋轉,并定義評分函數為 f r ( h , t ) = ∣ ∣ h ° r ? t ∣ ∣ f_{r}(h,t) = ||h\circ r - t|| fr?(h,t)=h°r?t,其中 { h , r , t } = e i θ = c o s θ + i s i n θ \{h,r,t\} = e^{i\theta} = cos\theta + i sin \theta {h,r,t}=eiθ=cosθ+isinθ,RotatE從理論上證明能夠解決對稱/反對稱、翻轉、組合關系。另外,RotatE認為在訓練過程中,很多三元組明顯是錯誤的,因此RotatE提出自對抗的負采樣方法,讓錯誤樣本更加明顯,負采樣和損失函數公式如下所示。
p ( h j ′ , r , t j ′ ∣ { ( h i ′ , r , t i ′ ) } ) = e x p ( α ? f r ( h j ′ , t j ′ ) ) ∑ i e x p ( α ? f r ( h i ′ , t i ′ ) ) p(h_{j}^{'}, r, t_{j}^{'}|\{(h_i^{'}, r, t_i^{'})\}) = \frac{exp (\alpha*f_r(h_j', t_j'))}{\sum_iexp(\alpha*f_r(h_i', t_i'))} p(hj?,r,tj?{(hi?,r,ti?)})=i?exp(α?fr?(hi?,ti?))exp(α?fr?(hj?,tj?))?

L = ? l o g σ ( γ ? f r ( h , t ) ) ? ∑ i = 1 n p ( h i ′ , r , t i ′ ) l o g σ ( f r ( h i ′ , t i ′ ) ? γ ) \mathbb{L} = -log\sigma(\gamma - f_r(h, t)) - \sum_{i=1}^{n} p(h_{i}^{'}, r, t_{i}^{'})log \sigma(f_r(h_{i}', t_{i}') - \gamma) L=?logσ(γ?fr?(h,t))?i=1n?p(hi?,r,ti?)logσ(fr?(hi?,ti?)?γ)

RotatE是在二維復平面空間中進行操作,那么很自然的可以推廣到三維復平面空間中。三維情況下旋轉可以利用歐拉角和四元數等方法,但歐拉角存在死鎖問題,因此QuatE采用四元數進行旋轉,四元數可表示為 Q = a + b i + c j + d k Q = a + bi + cj + dk Q=a+bi+cj+dk。QuatE定義評分函數為 f r ( h , t ) = h ? r ? ? t f_{r}(h, t) = h \otimes r^{\triangleleft} \cdot t fr?(h,t)=h?r??t,其中 h , r , t h, r, t h,r,t均為四元數, r ? r^{\triangleleft} r?表示 r r r的norm值, ? \otimes ?表示Hamilton product, ? \cdot ?表示內積。當然,繼續推廣,可以利用8元數進行旋轉,但此時復雜度升高,結果并沒有提升太多。再往上推廣,有16元數,但16元數的乘法不滿足交換律和結合律,因此不再考慮。

除了RotatE和QuatE利用復數空間解決對稱/反對稱、翻轉、組合關系,DihEdral利用群論知識來解決上述關系。DihEdral采用二面體群進行旋轉,如下圖所示,二面體群具有兩種性質,即旋轉和對稱操作。DihEdral將多個二面體群組成對角矩陣,并定義評分函數為 f r ( h , t ) = ∣ ∣ R T h ? t ∣ ∣ 2 2 f_r(h, t) = ||R^Th - t||_{2}^{2} fr?(h,t)=RTh?t22?,其中 R R R是二面體群組成的對角矩陣,具體構建方法可以看原論文。同樣,DihEdral能夠從理論上解決對稱/反對稱、翻轉、組合(Abelian, Non-Abelian)關系,如果對群論比較熟悉的同學,可以繼續擴展,從群論+旋轉+多類型關系的角度來解決KGE問題。

通過RotatE、QuatE、DihEdral模型能夠看出,均是利用旋轉特性來解決知識庫中存在的對稱/反對稱、翻轉、組合關系,但知識庫中不僅僅存在這幾種關系,還可以繼續挖掘其他關系。同時,還可以繼續研究其他旋轉方法來解決KGE問題,比如群論方向,因為圖譜完美符合群論的四個性質。

2.6 其他模型

除了上述介紹的翻譯、雙線性、神經網絡、雙曲幾何、旋轉模型外,還有的模型從路徑、距離度量等角度去解決KGE問題,此處不再贅述。

3.總結

從上面介紹的模型可以看出,KGE問題可首先關注如下方面:

  • 關系的多樣性,如1-1, 1-N, N-1, N-N關系,對稱/反對稱、翻轉、組合等信息。如翻譯、旋轉模型。
  • 實體的層次性,實體之間的上下位關系。如雙曲空間模型。
  • 實體和關系的深層次交互信息。如雙線性和神經網絡模型。
  • 除此之外,個人認為可深入研究的點包括圖神經網絡、歐式或雙曲空間中實體的層次性問題旋轉模型解決關系多樣性(群論角度)。同時,還需要重點關注負采樣方法、損失函數、數據增強問題(比如(h, r, t)可擴展增加(t, r_inverse, h))。

    文中所介紹到的論文如下所示,多數模型的代碼都可在原論文中找到。如果想要使用已訓練好的Wikidata, Freebase的Embedding信息,可以從清華OpenKE網站下載,個人訓練的話可以使用OpenKE項目。

    [1]: Translating Embeddings for Modeling Multi-relational Data “TransE”

    [2]: Knowledge Graph Embedding by Translating on Hyperplanes “TransH”

    [3]: Learning Entity and Relation Embeddings for Knowledge Graph Completion “TransR”

    [4]: A Three-Way Model for Collective Learning on Multi-Relational Data “RESCAL”

    [5]:Embedding entities and relations for learning and inference in knowledge bases “DisMult”

    [6]: Complex embeddings for simple link prediction “ComplEx”

    [7]: Convolutional 2D Knowledge Graph Embeddings “ConvE”

    [8]: A Capsule Network-based Embedding Model for Knowledge Graph Completion and Search Personalization “CapsE”

    [9]: KG-BERT: BERT for Knowledge Graph Completion “KG-BERT”

    [10]: Poincare Embeddings for Learning Hierarchical Representations “Poincare”

    [11]: Multi-relational Poincaré Graph Embeddings “MuRP”

    [12]: ROTATE: KNOWLEDGE GRAPH EMBEDDING BY RELATIONAL ROTATION IN COMPLEX SPACE “RotatE”

    [13]: Quaternion Knowledge Graph Embeddings “QuatE”

    [14]: Relation Embedding with Dihedral Group in Knowledge Graph “DihEdral”

    總結

    以上是生活随笔為你收集整理的知识图谱嵌入(KGE)主流模型简介的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。