论文浅尝 | TuckER:基于张量分解的知识图谱补全
?
筆記整理:孫澤群,南京大學計算機科學與技術系,博士研究生。
論文鏈接:https://arxiv.org/abs/1901.09590
?
背景
知識圖譜是圖結構的數據庫,以三元組(es, r, eo)的形式存儲事實,其中es和eo分別表示主語和賓語實體,r表示它們之間的關系。然而,知識圖譜中的事實是不完備的,人工補全費時費力,這就需要開發(fā)自動化補全知識圖譜的算法。知識圖譜可以表示為一個三階二值張量,其中每一個元素表示一個三元組,1表示真實三元組,0表示未知三元組(或錯誤或丟失)。因此,很多基于張量分解的補全模型被提出。本文基于Tucker decomposition, 它可以將一個三階張量分解為一個核心張量每一維度乘上一個矩陣。令是一個三階張量,Tucker decomposition 會產生一個核心張量和三個矩陣,。其計算公式如下:
其中,表示沿著第n維的張量乘法,表示向量內積。
?
模型
根據 Tucker decomposition 的計算方式,TuckER模型可以表示如下:
其中,es 和 eo 表示實體向量,wr 表示關系向量,de 和 dr 分別表示實體和關系的向量維數,W是Tucker decomposition得到的核心張量。則TuckER的得分函數定義如下:
為了得到概率分布,作者又在該得分函數外面套了一個 sigmoid 函數。關于訓練,作者沒有使用傳統的 margin-based 損失函數,而是使用了 log 似然損失函數:
其中,p 表示預測三元組真假的概率,y 是標簽。
?
理論分析
??????????? 本文的亮點在于它的理論分析證明了 TuckER 有完全表現力:給定任意在實體集E和關系集R上的真實三元組(ground truth),TuckER 在 de=ne, dr=nr 的時候(ne 表示實體數量,nr 表示關系數量),可以完全表示這些ground truth三元組。證明過程很簡單,作者給了一個啟發(fā)式的解:讓實體和關系向量取one-hot形式,然后讓核心張量W的維數是 ne* nr* ne 和原始的三階張量相等,并且,如果其中一個元素對應的三元組是 ground truth,則置其為 1,否則置為 0。根據得分函數的定義,這種情況下計算得到的預測概率,正好可以準確表示真實概率。這個達到完全表現力的維度下界是遠小于ComplEx和SimplE的,體現了 TuckER 的優(yōu)越性。此外作者還分析了TuckER和之前一些張量分解模型的關系,證明了 RESCAL、DistMult、ComplEx 和 SimplE 都是 TuckER 的一種變體。
?
實驗結果
本文的主要實驗任務是 link prediction。數據集采用了當前流行的 FB15K-237 和 WN18RR,同時也測試了傳統的 FB15K 和 WN18。作者開源了基于 PyTorch 的代碼https://github.com/ibalazevic/TuckER。實驗結果如下表所示??梢钥匆?#xff0c;在目前主流的FB15K-237 和 WN18RR 數據集上,TuckER 取得了 SOTA 的效果,并且比第二名領先較多。而在傳統的 FB15K 和 WN18 上面,TuckER 在主要指標上,也取得了最優(yōu)結果?;究梢哉J為,TuckER 是當前 link prediction 的 SOTA 模型。
OpenKG
開放知識圖譜(簡稱 OpenKG)旨在促進中文知識圖譜數據的開放與互聯,促進知識圖譜和語義技術的普及和廣泛應用。
點擊閱讀原文,進入 OpenKG 博客。
總結
以上是生活随笔為你收集整理的论文浅尝 | TuckER:基于张量分解的知识图谱补全的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文浅尝 | Data Intellig
- 下一篇: 论文浅尝 | 神经网络是如何外推的:从前