TransRHS: A Representation Learning Method for Knowledge Graphs with Relation Hierarchical Structure

研究问题

在学习知识图谱上的嵌入时对关系的层次结构(RHS)进行建模,训练一个向量和一个球(sphere),用向量差和球的相对位置关系表示关系的层级结构。

背景动机

  • 之前基于聚类的方法由于固定了层数,不能充分反映知识图谱上关系的复杂性
  • 之前考虑关系层次的方法会改变关系嵌入,对于trans模型也会改变实体的嵌入,这会改变原始模型并降低效果。

问题定义

TransRHS: A Representation Learning Method for Knowledge Graphs with Relation Hierarchical Structure
由于关系 athLedTeam_是 _athPlaysForTeam_的子关系,因此在观察到最下面的三元组之后,就可以推断存在上面的三元组,记作 (athLedTeam, subRelationOf, athPlaysForTeam)_

多个相关联的子关系构成的树状层次结构如下,其中根节点为r r r,r j ( i ) r_{j}^{(i)}r j (i )​为第i i i层的第j j j个子关系,n i n_i n i ​是第i i i层的子关系的个数。如果使用r ( k ) r^{(k)}r (k )表示第k k k层的子关系,从根节点到该节点的路径表示为P r k = { r , r ( 1 ) , r ( 2 ) , … , r ( k ) } P_{r}^{k}=\left{r, r^{(1)}, r^{(2)}, \ldots, r^{(k)}\right}P r k ​={r ,r (1 ),r (2 ),…,r (k )}。

subRelationOf_简写为 _sro,则知识图谱的关系集合可以定义为R = { s r o } ∪ R l R={s r o} \cup R_{l}R ={s r o }∪R l ​,三元组集合T T T可分为T r = { ( r , s r o , p ) ∣ r , p ∈ R l } T_{r}={(r, s r o, p) \mid r, p \in R_{l}}T r ​={(r ,s r o ,p )∣r ,p ∈R l ​}及T e = { ( h , r , t ) ∣ h , t ∈ E ∧ r ∈ R } T_{e}={(h, r, t) \mid h, t \in E \wedge r \in R}T e ​={(h ,r ,t )∣h ,t ∈E ∧r ∈R }。假设正三元组的集合为Δ \Delta Δ,则有( h , r , t ) ∈ T e ∧ ( r (h, r, t) \in T_{e} \wedge(r (h ,r ,t )∈T e ​∧(r, sro, p ) ∈ T r → ( h , p , t ) ∈ Δ p) \in T_{r} \rightarrow(h, p, t) \in \Delta p )∈T r ​→(h ,p ,t )∈Δ及( r , s r o , p ) ∈ T r ∧ ( p , s r o , p p ) ∈ T r → ( r , s r o , p p ) ∈ Δ (r, s r o, p) \in T_{r} \wedge(p, s r o, p p) \in T_{r} \rightarrow(r, s r o, p p) \in \Delta (r ,s r o ,p )∈T r ​∧(p ,s r o ,p p )∈T r ​→(r ,s r o ,p p )∈Δ

TransRHS: A Representation Learning Method for Knowledge Graphs with Relation Hierarchical Structure

; 模型方法

TransRHS: A Representation Learning Method for Knowledge Graphs with Relation Hierarchical Structure
给定三元组( h , r , t ) ∈ T e (h, r, t) \in T_{e}(h ,r ,t )∈T e ​以及( r , s r o , p ) ∈ T r (r, s r o, p) \in T_{r}(r ,s r o ,p )∈T r ​,TransRHS为实体和关系学习嵌入h , t , r , p ∈ R d \mathbf{h}, \mathbf{t}, \mathbf{r}, \mathbf{p} \in \mathbb{R}^{d}h ,t ,r ,p ∈R d,并为p p p学习一个以m 1 m_{1}m 1 ​为半径的球s 1 s_{1}s 1 ​,为r r r学习一个以m 2 m_{2}m 2 ​为半径的球s 2 s_{2}s 2 ​。定义距离d 1 = ∥ h + p − t ∥ 2 d_{1}=\|\mathbf{h}+\mathbf{p}-\mathbf{t}\|{2}d 1 ​=∥h +p −t ∥2 ​及d 2 = ∥ h + r − t ∥ 2 d{2}=\|\mathbf{h}+\mathbf{r}-\mathbf{t}\|{2}d 2 ​=∥h +r −t ∥2 ​。
理想情况下,满足如下条件:
TransRHS: A Representation Learning Method for Knowledge Graphs with Relation Hierarchical Structure
不满足假设的可能情况有如下几种:
TransRHS: A Representation Learning Method for Knowledge Graphs with Relation Hierarchical Structure
针对几种情况来定义损失函数以校正
TransRHS: A Representation Learning Method for Knowledge Graphs with Relation Hierarchical Structure
将上述两层的RHS进行推广,假设存在两个子关系三元组( r , s r o , p ) (r, s r o, p)(r ,s r o ,p ) 和 ( p , s r o , p p ) (p, s r o, p p)(p ,s r o ,p p ),s 1 , s 2 s
{1}, s_{2}s 1 ​,s 2 ​和 s 3 s_{3}s 3 ​分别是p p , p p p, p p p ,p和r r r对应的球,理想情况下,满足以下条件,所谓的层次结构指的就是越靠近根节点,球的半径越小,范围越精确,关系的误差距离要处于本层球和上层球之间,这里的球半径实质上是一种误差容忍范围。
TransRHS: A Representation Learning Method for Knowledge Graphs with Relation Hierarchical Structure
存在的一个问题是,当关系的层次过深时,球的半径会过大,可能不满足TransE模型的基本假设即h + r ≈ t \mathbf{h}+\mathbf{r} \approx \mathbf{t}h +r ≈t。为解决这一问题,论文提出了球半径差异成比例下降的策略:m ( i ) − m ( i − 1 ) : m ( i + 1 ) − m ( i ) = η : ( 1 − η ) m_{(i)}-m_{(i-1)}: m_{(i+1)}-m_{(i)}=\eta:(1-\eta)m (i )​−m (i −1 )​:m (i +1 )​−m (i )​=η:(1 −η),其中η ∈ ( 0.5 , 1 ) \eta \in(0.5,1)η∈(0 .5 ,1 ),其实就是让不同层半径之间的差异呈等比数列减小。

最终损失函数定义为L = L O R I + L R H S L=L_{O R I}+L_{R H S}L =L O R I ​+L R H S ​,其中
L O R I = ∑ ( h , r , t ) ∈ Δ ∑ ( h ′ , r , t ′ ) ∈ Δ ′ [ γ + f r ( h , t ) − f r ( h ′ , t ′ ) ] + L_{O R I}=\sum_{(h, r, t) \in \Delta} \sum_{\left(h^{\prime}, r, t^{\prime}\right) \in \Delta^{\prime}}\left[\gamma+f_{r}(h, t)-f_{r}\left(h^{\prime}, t^{\prime}\right)\right]{+}L O R I ​=(h ,r ,t )∈Δ∑​(h ′,r ,t ′)∈Δ′∑​[γ+f r ​(h ,t )−f r ​(h ′,t ′)]+​
L R H S = ∑ ( r , s r o , p ) ∈ T r ∑ ( h , r , t ) ∈ T e f R H S ( h , r , t , p ) L
{R H S}=\sum_{(r, s r o, p) \in T_{r}} \sum_{(h, r, t) \in T_{e}} f_{R H S}(h, r, t, p)L R H S ​=(r ,s r o ,p )∈T r ​∑​(h ,r ,t )∈T e ​∑​f R H S ​(h ,r ,t ,p )

实验

在两个很简单的数据集上做了实验,直接给出了关系层次结构

TransRHS: A Representation Learning Method for Knowledge Graphs with Relation Hierarchical Structure
TransRHS: A Representation Learning Method for Knowledge Graphs with Relation Hierarchical Structure
由于训练过程中需要生成负样本,论文采取了两种生成负样本的方式。第一种是 bern,即随机破坏三元组,给定三元组( h , r , t ) (h, r, t)(h ,r ,t ),从实体集中随机采样得到( h ′ , r , t ′ ) \left(h^{\prime}, r, t^{\prime}\right)(h ′,r ,t ′) 或 ( h , r , t ′ ) \left(h, r, t^{\prime}\right)(h ,r ,t ′);第二种是 unif,根据关系的映射性质如1-to-N, N-to-1, N-to-N分配头实体和尾实体的采样概率。
TransRHS: A Representation Learning Method for Knowledge Graphs with Relation Hierarchical Structure
TransRHS: A Representation Learning Method for Knowledge Graphs with Relation Hierarchical Structure

; 评价

想法比较新颖,但数据集实在是太小了,不知道如果关系多一点的时候怎么预先获得关系层次结构,以及如果层数很深时效果还会不会这么好。

Original: https://blog.csdn.net/jining11/article/details/122251710
Author: 羊城迷鹿
Title: TransRHS: A Representation Learning Method for Knowledge Graphs with Relation Hierarchical Structure

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/556111/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球