--- title: '[KGE] TransE & KG intro' --- [TOC] # TransE  <br> ## Introduction <br> [TransE](https://proceedings.neurips.cc/paper/2013/file/1cecc7a77928ca8133fa24680a88d2f9-Paper.pdf) 是距離型 KGE ( Knowledge Graph Embedding )的開山之作,因為概念非常簡單,這篇文會順便介紹 Knowledge Graph Completion, dataset, 以及常用到的 metrics。 <br> ## Knowledge Graph <br> 知識圖譜(Knowledge Graph),是結構化的語義知識庫,用於以符號形式描述物理世界中的概念及其相互關係。其基本組成單位是「實體-關係-實體」三元組,實體間通過關係相互聯結,構成網狀的知識結構。由於具有文字意義,所以本身即具解釋性 ( self-explained ),應用方面則可以用在搜尋引擎, 推薦系統上。 ###### ( 部分擷取自維基百科 ) <br> ## Triples <br> 知識圖譜的基本單位,「實體-關係-實體」在論文中常以「$h - r - t$」,分別代表 head (頭實體) 和 relation (關係) 和 tail (尾實體)。這三種類別在計算時表示常表示成一向量,就像 word2vec 一樣的轉換方式,你可以稱這樣的轉換層為 lookup table 或 shallow embedding。這邊要知道 $h$ 或 $t$ 都是「實體」,$r$ 屬於「關係」,在此三元組為 $h$ 的實體可能在別的三元組是 $t$ 。 ex.「英雄聯盟 - 是 - DOTA遊戲」和「我 - 玩 - 英雄聯盟」 <br> ## What is Knowledge Graph Completion <br> 又稱為知識圖譜補全,現實中搜集到的知識圖譜常常會有缺漏,如何能夠補全知識圖譜,找出「實體」與「實體」間的「潛在互動關係」,是這項任務的主軸,透過 Trans 系列的 Knowledge Grpah Embedding 模型,避開錯誤的三元組,將正確的三元組找出來,是至關重要的。 <br> ## Scoring Funciton of TransE <br> 作者想要使用 $h$ + $r$ = $t$ 來表達各種關係 $h$ : head entity embedding $r$ : relation embedding $t$ : tail entity embedding   <br> ## Negative Sampling <br> KGE 模型訓練時我們常常使用負採樣,負採樣概念並不會很難,倘若有一個三元組為「英雄聯盟 - 是 - DOTA遊戲」,那這樣存在於現實圖譜中的三元組我們稱之為「正樣本」( Positive Sample ),負採樣即是相反用於生成負樣本( Negative Sample )的方法。負採樣有很多方法,最常見的做法就是隨機替換掉 $h$ 或 $t$。以上面提到的正樣本來產生的話就是生成「英雄聯盟 - 是 - **飯店**」,將 $h$ 或 $t$ 隨機替換成錯誤的實體,這樣就完成負樣本的生成。 <br> ## Triplet loss <br> TransE 原論文採用類似於 Triplet loss 的損失函示,$\gamma$ 是超參數,算式$d(h+r,t)$ 是正樣本的 $h + r$ 後與 $t$ 的距離,在下一個是負樣本的 $h' + r'$ 後與 $t'$ 的距離,目的是「$d(h+r,t)$」要比「$d(h'+r',t')$」還要大,也就是負樣本的距離要比正樣本大,大致少 $\gamma$ 才不會產生 loss $$ S = -[\gamma + d(h+r,t) - d(h'+r',t') ] \\ L = max(0,\Sigma{S}) $$ <br> # Common metrics in KGC ## MRR **Reciprocal Rank** > 第一個預測就對得1分 > 第二個預測就對得1/2分 > 第三個預測就對得1/3分 **Mean Reciprocal Rank** > 將所有 Reciprocal Rank 平均即可 $$ MRR = \frac{1}{|Q|} \sum_{i=1}^{|Q|}\frac{1}{k_i} $$ <br> ## Hits@k **Hits@1** > 前1個預測內命中的比率 **Hits@3** > 前3個預測內命中的比率 **Hits@10** > 前10個預測內命中的比率 <br> # Open Source ## Dataset * [OGB](https://ogb.stanford.edu) * [FB15k-237](https://paperswithcode.com/dataset/fb15k-237) * [WN18RR](https://paperswithcode.com/dataset/wn18rr) ## Packages * [Pykeen](https://github.com/pykeen/pykeen) * [graphvite](https://github.com/DeepGraphLearning/graphvite) * [OpenKE](https://github.com/thunlp/OpenKE) ###### tags: `Knowledge Graph Embedding`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up