【自然语言处理】【知识图谱】知识图谱表示学习(一):TransE、TransH、TransR、CTransR、TransD
【自然語言處理】【知識圖譜】知識圖譜表示學習(一):TransE、TransH、TransR、CTransR、TransD
【自然語言處理】【知識圖譜】知識圖譜表示學習(二):TranSparse、PTransE、TransA、KG2E、TransG
【自然語言處理】【知識圖譜】知識圖譜表示學習(三):SE、SME、LFM、RESCAL、HOLE
【自然語言處理】【知識圖譜】知識圖譜表示學習(四):【RotatE】基于復數空間關系旋轉的知識圖譜嵌入
【自然語言處理】【知識圖譜】知識圖譜表示學習(五):【PairRE】基于成對關系向量的知識圖譜嵌入
一、簡介
-
知識圖譜及挑戰
知識圖譜以三元組的方式來描繪整個世界,大型知識圖譜Freebase、DBpedia和YAGO等已經在各種應用程序中被廣泛使用。但是,隨著知識圖譜規模的增加,面臨著兩個挑戰:
-
數據稀疏
大型網絡中節點太多而邊太少。
-
計算低效
圖譜尺寸增加,計算效率必然降低。
-
-
解決方案
為了解決上面的挑戰,表示學習被引入至知識表示中。具體來說,就是將知識圖譜中的實體和關系投影至低維連續空間中,從而獲得一個分布式表示。相比于傳統的one-hot表示,分布式表示的維度更低且計算復雜度也低。此外,通過低維向量間的距離計算還可以精準的展示實體間的相似性。
二、符號
- 使用G=(E,R,T)G=(E,R,T)G=(E,R,T)來表示完整的知識圖譜,其中E={e1,e2,…,e∣E∣}E=\{e_1,e_2,\dots,e_{|E|}\}E={e1?,e2?,…,e∣E∣?}表示實體集合,R={r1,r2,…,r∣R∣}R=\{r_1,r_2,\dots,r_{|R|}\}R={r1?,r2?,…,r∣R∣?}表示關系集合,TTT表示三元組集合,∣E∣|E|∣E∣和∣R∣|R|∣R∣表示實體和關系的數量。
- 知識圖譜以三元組?h,r,t?\langle h,r,t\rangle?h,r,t?的形式表示,其中h∈Eh\in Eh∈E表示頭實體,t∈Et\in Et∈E表示尾實體,r∈Rr\in Rr∈R表示hhh和ttt間的關系。
三、TransE
1. 動機
-
將關系看作實體間的翻譯
直覺上,將實體投影至低維向量空間時,具有相似語義的實體應該被投影至相同的簇,而含義不同的實體則屬于不同的簇。例如William?Shakespeare\text{William Shakespeare}William?Shakespeare和Jane?Austen\text{Jane Austen}Jane?Austen應該投影至作者簇,而Romeo?and?Juliet\text{Romeo and Juliet}Romeo?and?Juliet和Pride?and?Prejudice\text{Pride and Prejudice}Pride?and?Prejudice則被投影至書籍簇中。它們之間的共同點就是共享相同的關系works_written\text{works\_written}works_written,通過關系的翻譯可以將作者和書籍投影至不同的簇。
-
word2vec\text{word2vec}word2vec的突破
word2vec\text{word2vec}word2vec通過上下文來學習詞表示,得到的詞向量存在一個有趣的現象:若兩個詞共現相似的語義或者句法關系,那么對應的詞向量也相似。舉例來說,
w(king)?w(man)≈w(queen)?w(woman)\textbf{w}(king)-\textbf{w}(man)\approx \textbf{w}(queen)-\textbf{w}(woman) w(king)?w(man)≈w(queen)?w(woman)
上式表示在隱空間中king和man關系類似于queen和woman的關系。此外,除了在語義中發現這種近似關系,句法中也有類似關系,即
w(bigger)?w(big)≈w(smaller)?w(small)\textbf{w}(bigger)-\textbf{w}(big)\approx\textbf{w}(smaller)-\textbf{w}(small) w(bigger)?w(big)≈w(smaller)?w(small) -
計算復雜度
首先,模型復雜度增加會導致高的計算代價和模型解釋性差;
其次,復雜模型會過擬合;
最后,實驗表明,具有相對較大關系量的知識圖譜應用,簡單模型和復雜模型表現相當;
因此,基于翻譯的這種假設能夠很好的平衡準確率和效率;
2. 方法
? TransE\text{TransE}TransE會將實體和關系投影至低維向量空間Rd\mathbb{R}^dRd,其中ddd是嵌入向量維度的超參數。基于翻譯的假設,對于每個三元組?h,r,t?∈T\langle h,r,t \rangle \in T?h,r,t?∈T,均期望嵌入向量和h+r\textbf{h+r}h+r與尾實體嵌入向量t\textbf{t}t接近。
? 具體來說,TransE\text{TransE}TransE會先定義一個評分函數
E(h,r,t)=∥h+r-t∥\mathcal{E}(h,r,t)=\parallel\textbf{h+r-t}\parallel E(h,r,t)=∥h+r-t∥
然后,基于該評分函數構建了一個基于邊界的損失函數
L=∑?h,r,t?∈T∑?h′,r′,t′?∈T?max([γ+E(h,r,t)?E(h′,r′,t′)],0)\mathcal{L}=\sum_{\langle h,r,t\rangle\in T}\sum_{\langle h',r',t'\rangle \in T^-} max([\gamma+\mathcal{E}(h,r,t)-\mathcal{E}(h',r',t')],0) L=?h,r,t?∈T∑??h′,r′,t′?∈T?∑?max([γ+E(h,r,t)?E(h′,r′,t′)],0)
其中,E(h,r,t)\mathcal{E}(h,r,t)E(h,r,t)是正樣本的評分函數,E(h′,r′,t′)\mathcal{E}(h',r',t')E(h′,r′,t′)是負樣本的評分函數,γ>0\gamma>0γ>0是邊界超參數,T?T^-T?是與TTT對應的負樣本三元組。簡單分析該損失函數,其會最小化E(h,r,t)\mathcal{E}(h,r,t)E(h,r,t)并最大化E(h′,r′,t′)\mathcal{E}(h',r',t')E(h′,r′,t′),但是兩者的差距不會大于γ\gammaγ。
? 知識圖譜中并沒有顯式的負樣本三元組,因此按如下定義構造負樣本三元組T?T^-T?
T?={?h′,r,t?∣h′∈E}∪{?h,r′,t?∣r′∈R}∪{?h,r,t′?∣t′∈E},?h,r,t?∈TT^-=\{\langle h',r,t\rangle|h'\in E\}\cup\{\langle h,r',t\rangle|r'\in R\}\cup\{\langle h,r, t'\rangle|t'\in E\}, \langle h,r,t\rangle\in T T?={?h′,r,t?∣h′∈E}∪{?h,r′,t?∣r′∈R}∪{?h,r,t′?∣t′∈E},?h,r,t?∈T
上式的一個直觀解釋,隨機使用其他三元組替換原始三元組?h,r,t?\langle h,r,t\rangle?h,r,t?的頭實體、尾實體或者關系。此外,若生成的三元組已經在TTT,那么就不會被加入T?T^-T?。
-
知識補全
給定三元組中的任意兩個元素,預測第3個元素被稱為知識補全任務。該任務用于評估學習到的知識表示。
3. 缺點與挑戰
? TransE\text{TransE}TransE雖然簡單有效,但是仍然存在一些缺點和挑戰。
3.1 復雜關系
? 在知識補全任務中,給定三元組中的兩個元素,可能會存在多個答案。例如,給定頭實體William?Shakespeare\text{William Shakespeare}William?Shakespeare和關系works_written\text{works\_written}works_written,將會得到一個代表作的列表Romeo?and?Juliet\text{Romeo and Juliet}Romeo?and?Juliet、Hamlet\text{Hamlet}Hamlet和A?Midsummer?Night’s?Dream\text{A Midsummer Night's Dream}A?Midsummer?Night’s?Dream。這些代表中共現相同的作者信息,但是在主題、背景、角色上不同。但是,TransE\text{TransE}TransE僅能為一個實體參數一個嵌入向量,這極大的限制了TransE\text{TransE}TransE的能力。在許多文獻中,將關系分為四類:1-to-1、1-to-Many、Many-to-1和Many-to-Many,而更加統計表明1-to-Many、Many-to-1和Many-to-Many類型的關系最多,但是TransE\text{TransE}TransE僅能處理1-to-1的關系。
? 此外,TransE\text{TransE}TransE在處理自反關系時也存在困難。
3.2 一跳關系
? TransE\text{TransE}TransE僅考慮了一條關系,忽略了長距離的隱關系。
3.3 效果和效率
? TransE\text{TransE}TransE出于效率的原因,其函數和表示都被過度簡化,導致其不足以建模知識圖譜中的復雜實體和關系。如果評估效果和效率,仍然是非常大的挑戰。
四、TransH
? TransH\text{TransH}TransH主要是解決1-to-Many、Many-to-1和Many-to-Many問題的。
-
一個例子
在談及國籍時,William?Shakespeare\text{William Shakespeare}William?Shakespeare應該和Isaac?Newton\text{Isaac Newton}Isaac?Newton接近;而談及職業時,則應該和Mark?Twain\text{Mark Twain}Mark?Twain接近。
-
方法
TransH\text{TransH}TransH通過為具有不同關系的相同實體賦予不同的向量表示來解決這個問題的。如上圖所示,TransH\text{TransH}TransH為每個關系賦予一個超平面wr\textbf{w}_rwr?,然后判斷超平面上的相似性,而不是原始的實體向量。給定三元組?h,r,t?\langle h,r,t \rangle?h,r,t?,TransH\text{TransH}TransH將會原始向量表示h\textbf{h}h和t\textbf{t}t投影至超平面wr\textbf{w}_rwr?上來獲得投影向量h⊥\textbf{h}_\perph⊥?和t⊥\textbf{t}_\perpt⊥?。翻譯向量r\textbf{r}r用于連接超平面h⊥\textbf{h}_\perph⊥?和t⊥\textbf{t}_\perpt⊥?。評分函數定義為
E(h,r,t)=∥h⊥+r?t⊥∥\mathcal{E}(h,r,t)=\parallel\textbf{h}_\perp+\textbf{r}-\textbf{t}_\perp\parallel E(h,r,t)=∥h⊥?+r?t⊥?∥
其中,
h⊥=h?wrThwr,t⊥=t?wrTtwr\textbf{h}_\perp=\textbf{h}-\textbf{w}_r^T\textbf{h}\textbf{w}_r,\quad \textbf{t}_\perp=\textbf{t}-\textbf{w}_r^T\textbf{t}\textbf{w}_r h⊥?=h?wrT?hwr?,t⊥?=t?wrT?twr?
其中,wr\textbf{w}_rwr?是向量且約束∥wr∥2\parallel\textbf{w}_r\parallel_2∥wr?∥2?為1。
-
訓練
損失函數和訓練方式同TransE\text{TransE}TransE。
五、TransR
-
動機
TransH\text{TransH}TransH通過使用超平面的方式為具有多個關系的實體賦予不同的向量表示,但是實體和關系仍然在相同的語義空間中,這限制了建模實體和關系的能力。TransR\text{TransR}TransR假設實體和關系處于不同的語義空間中。
-
方法
如上圖所示,三元組?h,r,t?\langle h,r,t\rangle?h,r,t?中h,t∈Rk\textbf{h,t}\in\mathbb{R}^kh,t∈Rk且t∈Rd\textbf{t}\in\mathbb{R}^dt∈Rd。TransR\text{TransR}TransR首先會將h\textbf{h}h和t\textbf{t}t從實體空間投影至關系空間。也就是說,每個實體在每個關系上都有一個表示。TransR\text{TransR}TransR的評分函數為
E(h,r,t)=∥hr+r?tr∥\mathcal{E}(h,r,t)=\parallel\textbf{h}_r+\textbf{r}-\textbf{t}_r\parallel E(h,r,t)=∥hr?+r?tr?∥
其中,hr\textbf{h}_rhr?和tr\textbf{t}_rtr?是實體向量h\textbf{h}h和t\textbf{t}t在rrr對應向量空間的表示,具體的投影過程為
hr=hMr,tr=tMr\textbf{h}_r=\textbf{hM}_r,\quad \textbf{t}_r=\textbf{tM}_r hr?=hMr?,tr?=tMr?
其中,Mr∈Rk×d\textbf{M}_r\in\mathbb{R}^{k\times d}Mr?∈Rk×d是將實體映射至rrr關系空間的投影矩陣。TransR\text{TransR}TransR會約束嵌入向量的范數,具有∥h∥2≤1\parallel\textbf{h}\parallel_2\leq 1∥h∥2?≤1、∥t∥2≤1\parallel\textbf{t}\parallel_2\leq 1∥t∥2?≤1、∥r∥2≤1\parallel\textbf{r}\parallel_2\leq 1∥r∥2?≤1、∥hr∥2≤1\parallel\textbf{h}_r\parallel_2\leq 1∥hr?∥2?≤1、∥tr∥2≤1\parallel\textbf{t}_r\parallel_2\leq 1∥tr?∥2?≤1。
-
訓練
TransR\text{TransR}TransR的訓練方式同TransE\text{TransE}TransE
六、CTransR
-
動機
知識圖譜中的一些關系可以被劃分為子關系,從而給出更加準確的信息。這些子關系間的不同,可以通過實體對來學習。舉例來說,關系location_contains\text{location\_contains}location_contains可以被認為包含子關系city-street\text{city-street}city-street、country-city\text{country-city}country-city、country-university\text{country-university}country-university。隨著考慮子關系,實體會被投影至語義向量空間中更加準確的位置。
-
方法
CTransR(Cluster-based?TransR)\text{CTransR(Cluster-based TransR)}CTransR(Cluster-based?TransR)可以看作是考慮子關系情況下的TransR\text{TransR}TransR增強版本。具體來說,對于每個關系r\text{r}r,所有的實體對(h,t)\text{(h,t)}(h,t)會被聚類至若干個組。聚類主要是依據t-h\textbf{t-h}t-h,其中h\textbf{h}h和t\textbf{t}t是通過TransE\text{TransE}TransE預訓練得到的。隨后,通過每個聚類簇中的實體對可以學習到子關系向量rc\textbf{r}_crc?,那么最終的評分函數
E(h,r,t)=∥hr+rc?tr∥+α∥rc?r∥\mathcal{E}(h,r,t)=\parallel \textbf{h}_r+\textbf{r}_c-\textbf{t}_r\parallel+\alpha\parallel\textbf{r}_c-\textbf{r}\parallel E(h,r,t)=∥hr?+rc??tr?∥+α∥rc??r∥
其中,∥rc?r∥\parallel\textbf{r}_c-\textbf{r}\parallel∥rc??r∥是希望向量rc\textbf{r}_crc?與r\textbf{r}r的差距不要太大
七、TransD
-
動機
TransH\text{TransH}TransH和TransR\text{TransR}TransR主要是解決不同關系的多實體表示問題,從而改善知識補全和三元組分類的效果。然而,這兩個方法僅是根據關系來投影實體,忽略了實體的多樣性。此外,使用矩陣-向量乘法實現投影操作將會導致高的時間復雜度,這導致在大規模圖中的時間消耗太多。因此,TransD\text{TransD}TransD提出了一種基于實體和關系的動態映射矩陣,其能同時考慮實體和關系的多樣性。
-
方法
TransD\text{TransD}TransD會為每個實體或者關系定義兩個向量,一個是使用TransE\text{TransE}TransE、TransH\text{TransH}TransH和TransR\text{TransR}TransR獲得的原始向量,另一個是被用于構造投影句子的投影向量。
TransD\text{TransD}TransD使用h,r,t\textbf{h,r,t}h,r,t表示原始向量,hp,tp,rp\textbf{h}_p,\textbf{t}_p,\textbf{r}_php?,tp?,rp?來表示投影向量。使用兩個矩陣Mrh,Mrt∈Rm×n\textbf{M}_{rh},\textbf{M}_{rt}\in\mathbb{R}^{m\times n}Mrh?,Mrt?∈Rm×n完成實體空間至關系空間的映射,這兩個投影句子的動態計算為
Mrh=rphp?+Im×nMrt=rptp?+Im×n\textbf{M}_{rh}=\textbf{r}_p\textbf{h}_p^\top+\textbf{I}_{m\times n}\quad \textbf{M}_{rt}=\textbf{r}_p\textbf{t}_p^\top+\textbf{I}_{m\times n} Mrh?=rp?hp??+Im×n?Mrt?=rp?tp??+Im×n?
上式意味著實體和關系的投影向量被合并來決定最終的投影矩陣。評分函數定義為
E(h,r,t)=∥Mrhh+r?Mrtt∥\mathcal{E}(h,r,t)=\parallel\textbf{M}_{rh}\textbf{h}+\textbf{r}-\textbf{M}_{rt}\textbf{t}\parallel E(h,r,t)=∥Mrh?h+r?Mrt?t∥
投影矩陣被初始化為單位矩陣。
TransD\text{TransD}TransD提出了一種動態的方法來構造投影矩陣,從而能夠同時考慮實體和關系的多樣性,從而實現了更優的表述。此外,相較于TransR\text{TransR}TransR,其具有更低的時間和空間復雜度。
引用文獻
[1]. Zhiyuan Liu, Yankai Lin and Maosong SUn. Representation Learning for Natural Language Processing.
總結
以上是生活随笔為你收集整理的【自然语言处理】【知识图谱】知识图谱表示学习(一):TransE、TransH、TransR、CTransR、TransD的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 知识图谱 - TransE算法
- 下一篇: 知识表示学习 TransE 代码逻辑梳理