知识表示学习 (一) —— Point-Wise Space之1

知识表示学习 (一) —— Point-Wise Space之1

零、表示学习

  知识表示学习(knowledge graph representation learning, KRL)也称之为图嵌入(knowledge graph embedding, KGE),是知识图谱的核心也是基础。

  表示学习:学习一系列低维稠密向量来表征语义信息。知识表示学习是面向知识库中实体和关系的表示学习。

  大规模知识库(知识图谱)的构建为许多NLP任务提供了底层支持,但由于其规模庞大且不完备——目前网络上存在的大量知识库:如OpenCyc、WordNet、Freebase、Dbpedia等,因不同目的建成,因此很难用到其他系统上。

  为了发挥知识库的图(graph)的特性,并且能够高效存储和补全知识库,需要依托于知识表示学习,将知识库嵌入(embedding)到一个低维空间里。获得向量后,就可以运用各种数学工具进行分析。

  表示学习的关键问题是学习实体和关系低维分布式嵌入空间。主要采用的是point-wise space、complex vector space、Gaussian space、Manifold and Group space。

一、TransE(2013)

原文链接Translating Embeddings for Modeling Multi-relational Data

  这是最早的一种知识图谱嵌入方法,作者的思路是将知识图谱中多元关系数据的实体和关系嵌入到低维度的向量空间。

  其基本模型是基于Multi-relational data(多元关系数据),有向图中包括头实体 h h h、尾实体 t t t以及两者之间的关系类 l l l,表示为三元组 h , r , t h,r,t h,r,t

  TransE原理

  TransE的直观含义:基于实体和关系的分布式向量表示,将每个三元组实例 ( h e a d , r e l a t i o n , t a i l ) (head, relation, tail) (head,relation,tail)中的关系 r e l a t i o n relation relation看做从实体 h e a d head head到实体 t a i l tail tail的翻译,即对于一个真爱而的三元组,在模型中应该存在 h + r = t h+r=t h+r=t
在这里插入图片描述

  表示学习没有明显的监督信号,因此添加负采样,采用最大间隔方法,尽可能对正样本中最小化 d ( h , r , t ) d(h,r,t) d(h,r,t),负样本中则尽可能最大化 d ( h ′ , r , t ′ ) d(h',r,t') d(h,r,t),损失函数设计如下:

L = ∑ ( h , r , t ) ∈ S ∑ ( h ′ , r , t ′ ) ∈ S . ′ [ γ + d ( h , r , t ) − d ( h ′ , r , t ′ ) ] + \mathcal{L}=\sum_{(h, r, t) \in S} \sum_{\left(h^{\prime}, r, t^{\prime}\right) \in S.^{\prime}}\left[\gamma+d(h,r, t)-d\left(h^{\prime},r, t^{\prime}\right)\right]_{+} L=(h,r,t)S(h,r,t)S.[γ+d(h,r,t)d(h,r,t)]+

  其中, γ \gamma γ为距离因子,一般设置为1, d ( h , l , t ) d(h,l,t) d(h,l,t)为距离函数,采用2-norm,其定义如下:

d ( h , r , t ) = ∥ h + r − t ∥ 2 2 = ∑ i = 1 N ( h i + r i − t i ) 2 d(h,r,t)=\|\bold{h}+\bold{r}-\bold{t}\|_{2}^{2}=\sqrt{\sum_{i=1}^N (h_i+r_i-t_i)^2} d(h,r,t)=h+rt22=i=1N(hi+riti)2

   [ x ] + [x]_+ [x]+表示 x x x中正例的部分,即 x + = max ⁡ ( 0 , x ) x_+=\max(0,x) x+=max(0,x)(ps. 就是用ReLU激活); S ( h , r , t ) ′ = { ( h ′ , r , t ) ∣ h ′ ∈ E } ∪ { ( h , r , t ′ ) ∣ t ′ ∈ E } S'_{(h,r,t)}=\{(h',r,t)|h' \in E\} \cup \{(h,r,t')|t' \in E\} S(h,r,t)={(h,r,t)hE}{(h,r,t)tE}

  具体过程

  论文中给出的具体实现过程:
在这里插入图片描述

  • 首先使用均匀分布初始化Embedding层的权重参数,边界为 6 k \frac{6}{\sqrt{k}} k 6,并对关系 r r r的权重矩阵归一化: r = r / ∥ r ∥ r=r/\|r\| r=r/r
  • 循环每一个epoch:
    • 对实体 e e e的权重矩阵归一化: e = e / ∥ e ∥ e=e/\|e\| e=e/e
    • 从所有样本中划分batch形成 S b a t c h S_{batch} Sbatch
    • 初始化 T b a t c h T_{batch} Tbatch保存正负样本的三元组
    • S b a t c h S_{batch} Sbatch中的每一个样本,进行负采样并合并进 T b a t c h T_batch Tbatch
    • 利用梯度下降进行训练,并调整相应权重参数

二、TransH(2014)

论文地址Knowledge Graph Embedding by Translating on Hyperplanes

  TransE的不足之处

  TransE模型由于高效简单取得了很大的突破,但是TransE对复杂关系的建模效果不够理。在处理自反关系,以及一对多、多对一、多对多关系时存在一些不足。

  TransE算法的核心思想是对于一个三元组 ( h , r , t ) ∈ S (h,r,t)\in S (h,r,t)S,应该有 h + r = d h+r=d h+r=d。于是可以从TransE模型中得到两个结论:

  • 如果 ( h , r , t ) ∈ S (h,r,t)\in S (h,r,t)S,并且 ( t , r , h ) ∈ S (t,r,h) \in S (t,r,h)S,即 l l l是自反的,则 r = 0 , h = t r=0,h=t r=0h=t
  • ∀ i ∈ { 0 , 1 , 2 , ⋯   , m } \forall i \in \{0,1,2,\cdots,m\} i{0,1,2,,m},有 ( h i , r , t ) ∈ S (h_i,r,t) \in S (hi,r,t)S,即 r r r m − 1 \bold{m-1} m1映射,则有 h 0 = h 1 = ⋯ = h m h_0=h_1=\cdots=h_m h0=h1==hm。同理,对 ∀ j ∈ { 0 , 1 , 2 , ⋯   , m } \forall j \in \{0,1,2,\cdots,m\} j{0,1,2,,m},有 ( h , r , t j ) ∈ S (h,r,t_j) \in S (h,r,tj)S,即 r r r 1 − m \bold{1-m} 1m映射,则有 t 0 = t 1 = ⋯ = t m t_0=t_1=\cdots=t_m t0=t1==tm

  因此,TransE在处理自反关系,以及多对一、一对多、多对多关系中,会使得一些不同的实体具有相同或者相似的向量。其根本原因在于:出现在多个关系中的同一个实体的表示是相同的。

  TransH的原理

  TransH模型则对这种问题进行处理,对每一个关系定义一个超平面 W r W_r Wr,和一个关系向量 d r d_r dr h ⊥ , t ⊥ h_{\perp},t_{\perp} h,t,是 h , t h,t h,t W r W_r Wr上的投影。三元组满足 h r + d r = t r h_r+d_r=t_r hr+dr=tr。从而同一个实体在不同关系中的意义不同;不同实体,在同一关系中的意义,也可以相同。
在这里插入图片描述

  对于任意关系 l l l,对应一个超平面,将实体 h , t h,t h,t通过关系映射矩阵 w r \bold{w}_r wr映射到超平面上。对应的映射关系为:

h ⊥ = h − w r T h w r t ⊥ = t − w r T t w r \begin{aligned} h_{\perp} &=h-\mathbf{w}_{r}^\mathrm{T} h \mathbf{w}_{r} \\ t_{\perp} &=t-\mathbf{w}_{r}^\mathrm{T} t \mathbf{w}_{r} \\ \end{aligned} ht=hwrThwr=twrTtwr

  得分函数定义为:

d ( h , r , t ) = ∥ h ⊥ + d r − t ⊥ ∥ 2 2 = ∥ h − w r T h w r + d r − t + w r T t w r ∥ 2 2 d(h,r,t)=\|\bold{h}_\perp+\bold{d}_r-\bold{t}_\perp\|_{2}^{2}=\|\bold{h} - \mathbf{w}_{r}^\mathrm{T} \bold{h} \mathbf{w}_{r}+\bold{d}_r-\bold{t} + \mathbf{w}_{r}^\mathrm{T} \bold{t} \mathbf{w}_{r}\|_{2}^{2} d(h,r,t)=h+drt22=hwrThwr+drt+wrTtwr22

  损失函数与TransE类似,采用负采样,并最小化正确的三元组得分,最大化错误的三元组得分:

L = ∑ ( h , r , t ) ∈ S ∑ ( h ′ , r , t ′ ) ∈ S ′ [ γ + d ( h , r , t ) − d ( h ′ , r , t ′ ) ] + \mathcal{L}=\sum_{(h, r, t) \in S} \sum_{\left(h^{\prime}, r, t^{\prime}\right) \in S^{\prime}}\left[\gamma+d(h,r, t)-d\left(h^{\prime},r, t^{\prime}\right)\right]_{+} L=(h,r,t)S(h,r,t)S[γ+d(h,r,t)d(h,r,t)]+

  TransH在原有的损失函数基础上增加了几个约束条件:

∀ e ∈ E , ∥ e ∥ 2 ≤ 1 , (1) ∀ r ∈ R , ∣ w r T d r ∣ / ∥ d r ∥ 2 ≤ ϵ , (2) ∀ r ∈ R , ∥ w r ∥ 2 = 1 , (3) \begin{array}{l} \forall e \in E,\|\mathrm{e}\|_{2} \leq 1,\quad &\text{(1)}\\ \forall r \in R,\left|\mathrm{w}_{r}^\bold{T} \mathrm{d}_{r}\right| /\left\|\mathrm{d}_{r}\right\|_{2} \leq \epsilon,\quad &\text{(2)}\\ \forall r \in R,\left\|\mathrm{w}_{r}\right\|_{2}=1,\quad &\text{(3)} \end{array} eE,e21,rR,wrTdr/dr2ϵ,rR,wr2=1,(1)(2)(3)

  其中(1)保证所有实体都归一化,(2)保证关系向量 d r d_r dr在超平面上,(3)确保平面的法向量为单位向量。

  将无约束的损失函数调整为软约束的损失函数:

L = ∑ ( h , r , t ) ∈ S ∑ ( h ′ , r , t ′ ) ∈ S ′ [ γ + d ( h , r , t ) − d ( h ′ , r , t ′ ) ] + + C { ∑ e ∈ E [ ∥ e ∥ 2 2 − 1 ] + + ∑ r ∈ R [ ( w t T d r ) 2 ∥ d r ∥ 2 2 − ϵ 2 ] + } \mathcal{L}=\sum_{(h, r, t) \in S} \sum_{\left(h^{\prime}, r, t^{\prime}\right) \in S^{\prime}}\left[\gamma+d(h,r, t)-d\left(h^{\prime},r, t^{\prime}\right)\right]_{+} + C\left\{\sum_{e \in E}\left[\|\mathbf{e}\|_{2}^{2}-1\right]_{+}+\sum_{r \in R}\left[\frac{\left(\mathbf{w}_{t}^{T} \mathbf{d}_{r}\right)^{2}}{\left\|\mathbf{d}_{r}\right\|_{2}^{2}}-\epsilon^{2}\right]_{+}\right\} L=(h,r,t)S(h,r,t)S[γ+d(h,r,t)d(h,r,t)]++C{eE[e221]++rR[dr22(wtTdr)2ϵ2]+}

  其中 C C C为软约束的超参数权重,其中约束条件(3)利用对 w r \bold{w}_r wr进行L2-norm处理。

  TransH中提出了两种负采样的生成办法。为了减少假负例(即替换了一个节点后的三元组,恰好是整个知识图谱中存在的另一个三元组)的出现,需要根据头尾节点关系,进行节点替换:

  (1)即TransE中所采用的均匀分布的替换方式unif
  第二种是采用伯努利采样bern:对于一个关系 r r r, 首先计算 r r r每个头结点平均对应的尾节点数 t p h tph tph;以及这个关系每一个尾节点平均对应的头节点数 h p t hpt hpt。最后计算 p = t p h t p h + h p t p=\frac{tph}{tph+hpt} p=tph+hpttph来表示头结点被替换的概率,而尾节点替换的概率为 1 − p 1-p 1p

三、TransM(2014)

论文地址TransM: Transition-based Knowledge Graph Embedding with Relational Mapping Properties

  TransM针对的问题:TransE中无法处理一对多、多对一、多对多和自反关系问题。

  TransM原理

  TransM对三元组 ( h , r , t ) (h,r,t) (h,r,t)中的每一个关系 r r r分配特定的关系权重 w r w_r wr,表示映射的程度。通过对一对多、多对一和多对多分配较小的权重,使得 t \mathbf{t} t在复杂关系中离 h + r \mathbf{h}+\mathbf{r} h+r更远。
在这里插入图片描述

  权重系数 w r w_r wr的计算方式如下:

w r = 1 l o g ( h r p t r + t r p h r ) w_r=\frac{1}{log(h_rpt_r+t_rph_r)} wr=log(hrptr+trphr)1

  其中 h r p t r = # ( Δ r ) # ( d i s t i n c t ( t r ) ) h_rpt_r=\frac{\#(\Delta_r)}{\#(distinct(t_r))} hrptr=#(distinct(tr))#(Δr) t r p h r = # ( Δ r ) # ( d i s t i n c t ( h r ) ) t_rph_r=\frac{\#(\Delta_r)}{\#(distinct(h_r))} trphr=#(distinct(hr))#(Δr) t r t_r tr h r h_r hr表示与关系 r r r相连的尾实体和头实体个数, Δ r \Delta_r Δr表示训练集中包含关系 r r r的三元组总个数。

  模型的得分函数添加上系数 w r w_r wr后可以表示为:

d ( h , r , t ) = w r ∥ h + r − t ∥ 2 2 d(h,r,t)=w_r\|\bold{h}+\bold{r}-\bold{t}\|_{2}^{2} d(h,r,t)=wrh+rt22

  损失函数为:

L = ∑ ( h , r , t ) ∈ S ∑ ( h ′ , r , t ′ ) ∈ S ′ [ γ + d ( h , r , t ) − d ( h ′ , r , t ′ ) ] + s . t . ∀ e ∈ E , ∣ ∣ e ∣ ∣ 2 = 1 \mathcal{L}=\sum_{(h, r, t) \in S} \sum_{\left(h^{\prime}, r, t^{\prime}\right) \in S^{\prime}}\left[\gamma+d(h,r, t)-d\left(h^{\prime},r, t^{\prime}\right)\right]_{+} \\ s.t.\forall{e}\in{E},||e||_2=1 L=(h,r,t)S(h,r,t)S[γ+d(h,r,t)d(h,r,t)]+s.t.eE,e2=1

  具体实现过程如下:
在这里插入图片描述

四、TransR(2015)

论文地址Learning Entity and Relation Embeddings for Knowledge Graph Completion

  TransR方法的提出是在TransE和TransH的基础之上。TransR是指将实体和关系映射到不同的语义空间,并且关系不再是单一的,而是多个关系空间,头尾实体的翻译也是在相应的关系空间中完成。

  TransR提出的目标

  TransE和TransH的实体和关系映射在同一语义空间中,然而实体包含多种属性,不同的关系对应不同的实体属性。在实体空间中,有些实体是相似的,因而彼此接近;但这些实体的属性有可能差异巨大,因而在相关的关系空间中彼此相距很远。

  TransH模型是为每个关系假定一超平面,将实体投影到超平面上进行翻译;而TransR模型是为每个关系假定一语义空间 R m \mathbb R^m Rm,将实体映射到语义空间上进行翻译。

  TransR与TransH的最大区别在于,由于之前的Trans*模型都是定义在同一个空间中,因此entity_embedding和relation_embedding的维度必须要相同,才能够进行向量之间的映射。而TransR定义在不同的空间中,二者的维度可以不同,通过映射矩阵 M r M_r Mr从实体空间向关系空间映射时,转化为相同的维度即可。

  TransR的原理
在这里插入图片描述

  首先为每一个关系意义映射矩阵 M ∈ R k × d \bold{M} \in \mathbb{R}^{k \times d} MRk×d,其中 k k k为实体向量维度, d d d为关系向量维度。对于给定的三元组 ( h , r , t ) (h,r,t) (h,r,t),先将实体通过关系 r r r的映射矩阵 M r \bold{M}_r Mr,将其从实体空间转换到关系空间

h r = h M r , t r = t M r \mathbf{h}_{r}=\mathbf{h} \mathbf{M}_{r}, \quad \mathbf{t}_{r}=\mathbf{t} \mathbf{M}_{r} hr=hMr,tr=tMr

  根据实体在向量空间的映射定义得分函数:

d ( h , r , t ) = ∥ h r + r − t r ∥ 2 2 d(h,r,t)=\|\bold{h}_r+\bold{r}-\bold{t}_r\|_{2}^{2} d(h,r,t)=hr+rtr22

  其中, ∀ h , r , t \forall h,r,t h,r,t,都有 ∥ h ∥ 2 ≤ 1 , ∥ r ∥ 2 ≤ 1 , ∥ t ∥ 2 ≤ 1 , ∥ h M r ∥ 2 ≤ 1 , ∥ t M r ∥ 2 ≤ 1 \|\bold{h}\|_2 \leq 1, \|\bold{r}\|_2 \leq 1, \|\bold{t}\|_2 \leq 1, \|\bold{hM_r}\|_2 \leq 1, \|\bold{tM_r}\|_2 \leq 1 h21,r21,t21,hMr21,tMr21

  TransR的变体CTransR

  CTransR的核心思想:作者认为之前的TransE、TransH、TransR对每一个关系学习唯一的向量表示,其代表性较差,不适用于其下所有实体对。

  作者在TransR的基础上,

  • 首先将输入示例分为多个组。对于特定的关系 r r r,所有的实体对 ( h , t ) (h,t) (h,t)可被聚类到多个簇中,每个簇中的实体对可被认为与关系 r r r有关。
  • 为每个簇学习对应的关系向量 r c r_c rc,得到对应的 M r \bold{M}_r Mr
  • 将每个簇中的头实体和尾实体映射到对应关系空间中。

  CTransR的得分函数定义为:

d ( h , r , t ) = ∥ h r , c + r c − t r , c ∥ 2 2 + α ∥ r c − r ∥ 2 2 d(h,r,t)=\|\bold{h}_{r,c}+\bold{r}_c-\bold{t}_{r,c}\|_{2}^{2} + \alpha \|\bold{r}_c-\bold{r}\|_{2}^{2} d(h,r,t)=hr,c+rctr,c22+αrcr22

  后面一项是要保证每个簇的向量与原始的关系向量尽可能接近。

  TransR & CTransR模型将原来的单个语义空间分离为实体空间和关系空间,提高了模型的表示能力。

五、TransD(2015)

论文链接Knowledge Graph Embedding via Dynamic Mapping Matrix

  TransD针对的TransR的问题

  • 在同一关系 r r r下, 头尾实体共用相同的投影矩阵。然而,一个关系的头尾实体存在很大的差异,如(美国,总统,奥巴马)美国是一个实体,代表国家,奥巴马是一个实体,代表的是人物。
  • TransR仅仅让给投影矩阵与关系有关是不合理的,因为投影矩阵是头尾实体与关系的交互过程,应该与实体和关系都相关。
  • TransR模型的参数急剧增加,计算的时间复杂度大大提高。

  TransD的原理

  给定一个三元组 ( h , r , t ) (h, r, t) (h,r,t),其中 h , t ∈ R n \bold{h},\bold{t} \in \mathbb{R}^{n} h,tRn r ∈ R m \bold{r} \in \mathbb{R}^{m} rRm分别定义对应的投影向量 h p h_p hp r p r_p rp t p t_p tp p p p表示投影。然后将头尾实体分别投影到关系空间得到投影矩阵 M r h \bold{M}_{rh} Mrh M r t \bold{M}_{rt} Mrt。获取投影矩阵之后,在利用TransR的思想,计算头尾实体的投影向量。
在这里插入图片描述

M r h = r p h p T + I m × n M r t = r p t p T + I m × n \begin{aligned} \mathbf{M}_{r h} &=\mathbf{r}_{p} \mathbf{h}_{p}^T+\mathbf{I}^{m \times n} \\ \mathbf{M}_{r t} &=\mathbf{r}_{p} \mathbf{t}_{p}^T+\mathbf{I}^{m \times n} \end{aligned} MrhMrt=rphpT+Im×n=rptpT+Im×n

h ⊥ = M r h h , t ⊥ = M r t t \mathbf{h}_{\perp}=\mathbf{M}_{r h} \mathbf{h}, \quad \mathbf{t}_{\perp}=\mathbf{M}_{r t} \mathbf{t} h=Mrhh,t=Mrtt

  将 h ⊥ h_\perp h t ⊥ t_\perp t展开后可以得到:

h ⊥ = M r h h = h + r p h p T h = h + h p T h r p t ⊥ = M r t t = t + r p t p T t = t + t p T t r p \begin{aligned} \mathbf{h}_\perp = \mathbf{M}_{rh} \mathbf{h} &= \mathbf{h} + \mathbf{r}_p \mathbf{h}_p^T \mathbf{h} = \mathbf{h} + \mathbf{h}_p^T \mathbf{h} \mathbf{r}_p \\ \mathbf{t}_\perp = \mathbf{M}_{rt} \mathbf{t} &= \mathbf{t} + \mathbf{r}_p \mathbf{t}_p^T \mathbf{t} = \mathbf{t} + \mathbf{t}_p^T \mathbf{t} \mathbf{r}_p \end{aligned} h=Mrhht=Mrtt=h+rphpTh=h+hpThrp=t+rptpTt=t+tpTtrp

  可以看出,TransD中的投影向量不仅与关系有关,还与实体有关。并且TransD中公式经过展开之后没有矩阵-向量乘法操作,相比于TransR降低了计算复杂度。

  得分函数为:

d ( h , r , t ) = ∥ h ⊥ + r − t ⊥ ∥ 2 2 d(h,r,t)=\|\bold{h}_\perp+\bold{r}-\bold{t}_\perp\|_{2}^{2} d(h,r,t)=h+rt22

  其中, ∀ h , r , t \forall h,r,t h,r,t,都有 ∥ h ∥ 2 ≤ 1 , ∥ r ∥ 2 ≤ 1 , ∥ t ∥ 2 ≤ 1 , ∥ h ⊥ ∥ 2 ≤ 1 , ∥ t ⊥ ∥ 2 ≤ 1 \|\bold{h}\|_2 \leq 1, \|\bold{r}\|_2 \leq 1, \|\bold{t}\|_2 \leq 1, \|\bold{h}_\perp\|_2 \leq 1, \|\bold{t}_\perp\|_2 \leq 1 h21,r21,t21,h21,t21

六、TransA(2015)

论文链接:TransA: An Adaptive Approach for Knowledge Graph Embedding

  TransA模型针对的问题

  • 之前的Trans*模型损失函数中的距离度量太过简单,不具备灵活性
  • 由于损失函数过于简单,实体和关系向量的每一维都等同对待,但是不同维度的重要度不一样,有些维度效果好,有些维度可能是噪音。

  TransA的解决思路:更换度量函数,区别对待向量表示中的各个维度,增加模型表示能力。

  TransE等之前的模型的距离函数采用的是欧式空间的距离度量方法,其图形对应的是一个圆;TransA采用基于马氏距离的模型,其PCA降维图形是一个椭圆。
在这里插入图片描述

  文中作者给出了一个例子,对于关系 h a s p a r t haspart haspart而言,TransE模型根据欧氏距离计算方法生成了 R o o m − h a s − G o n i f f Room-has-Goniff RoomhasGoniff这样的三元组,而正确的结果却是 R o o m − h a s − W a l l Room-has-Wall RoomhasWall。对 x , y x,y xy轴进行分解,发现 R o o m Room Room x x x轴上距离 W a l l Wall Wall更为相近,因此可以认为该图在 x x x轴维度上更加重要。TransA模型通过引入加权矩阵,赋给每一维度权重。
在这里插入图片描述

  TransA的原理

  TransA模型首先对基础的得分函数进行了分解:

d ( h , r , t ) = ∥ h + r − t ∥ 2 2 = ( h + r − t ) T ( h + r − t ) \begin{aligned} d(h, r, t) &=\|\mathbf{h}+\mathbf{r}-\mathbf{t}\|_{2}^{2} \\ &=(\mathbf{h}+\mathbf{r}-\mathbf{t})^{\mathbf{T}}(\mathbf{h}+\mathbf{r}-\mathbf{t}) \end{aligned} d(h,r,t)=h+rt22=(h+rt)T(h+rt)

  然后引入 W r \bold{W_r} Wr权重矩阵,对不同维度的向量进行加权:

d ( h , r , t ) = ( ∣ h + r − t ∣ ) T W r ( ∣ h + r − t ∣ ) d(h,r,t) = (|\mathbf{h}+\mathbf{r}-\mathbf{t}|)^{\mathbf{T}} \bold{W_r} (|\mathbf{h}+\mathbf{r}-\mathbf{t}|) d(h,r,t)=(h+rt)TWr(h+rt)

  其中, ∣ h + r − t ∣ = ( ∣ h 1 + r 1 + t 1 ∣ , ∣ h 2 + r 2 + t 2 ∣ , … , ∣ h n + r n + t n ∣ ) |\mathbf{h}+\mathbf{r}-\mathbf{t}| = (|h_1+r_1+t_1|,|h_2+r_2+t_2|,\ldots,|h_n+r_n+t_n|) h+rt=(h1+r1+t1,h2+r2+t2,,hn+rn+tn),并利用LDL方法将 W r \bold{W_r} Wr分解为对角阵 D r \bold{D_r} Dr,即 W r = L r T D r L r \mathbf{W_r} = \mathbf{L_r^T} \mathbf{D_r} \mathbf{L_r} Wr=LrTDrLr。其中 D r = diag ( w 1 , w 2 , … , w n ) \mathbf{D_r}=\textbf{diag}(w_1,w_2,\ldots,w_n) Dr=diag(w1,w2,,wn)是对角矩阵, w i w_i wi是每个维度的权重。

  最后得分函数可以表示为:

d ( h , r , t ) = ( ∣ h + r − t ∣ ) T W r ( ∣ h + r − t ∣ ) = ( L r ∣ h + r − t ∣ ) T D r ( L r ∣ h + r − t ∣ ) \begin{aligned} d(h,r,t) &= (|\mathbf{h}+\mathbf{r}-\mathbf{t}|)^{\mathbf{T}} \bold{W_r} (|\mathbf{h}+\mathbf{r}-\mathbf{t}|) \\ &=(\mathbf{L_r}|\mathbf{h}+\mathbf{r}-\mathbf{t}|)^{\mathbf{T}} \bold{D_r} (\mathbf{L_r}|\mathbf{h}+\mathbf{r}-\mathbf{t}|) \end{aligned} d(h,r,t)=(h+rt)TWr(h+rt)=(Lrh+rt)TDr(Lrh+rt)

  损失函数为:

L = ∑ ( h , r , t ) ∈ S ( h ′ , r ′ , t ′ ) ∈ S ′ [ d ( h , r , t ) + γ − d ( h ′ , r ′ , t ′ ) ] + + λ ( ∑ r ∈ R ∥ W r ∥ F 2 ) + C ( ∑ e ∈ E ∥ e ∥ 2 2 + ∑ r ∈ R ∥ r ∥ 2 2 ) \mathcal{L} = \sum_{(h, r, t) \in S \left(h^{\prime}, r^{\prime}, t^{\prime}\right) \in S^{\prime}}\left[d(h,r,t)+\gamma-d\left(h^{\prime}, {r^{\prime}}, t^{\prime}\right)\right]_{+} + \lambda\left(\sum_{r \in R}\left\|\mathbf{W}_{\mathbf{r}}\right\|_{F}^{2}\right)+C\left(\sum_{e \in E}\|\mathbf{e}\|_{2}^{2}+\sum_{r \in R}\|\mathbf{r}\|_{2}^{2}\right) L=(h,r,t)S(h,r,t)S[d(h,r,t)+γd(h,r,t)]++λ(rRWrF2)+C(eEe22+rRr22)

七、TranSparse(2016)

论文地址Knowledge Graph Completion with Adaptive Sparse Transfer Matrix

  TranSparse针对的问题

  知识表示学习的两个难题——实体库中实体和关系的异质性(heterogeneous)和不平衡性(unbalanced)。

  作者统计了FB15k中数据的异质性和不平衡性的问题:
在这里插入图片描述

  • 异质性(heterogeneous):关系链接实体的数量不一致,有的很多,关系复杂;有的很少,关系简单。
  • 不平衡性(unbalanced):某些关系头尾实体的种类和数量差别较大。

  TranSparse的思路:针对异质性,使用不同稀疏程度的矩阵(不同数量的参数)来进行表征,从而防止对复杂关系欠拟合或者对简单关系过拟合;针对不平衡性,对头尾两种实体采用不同的投影矩阵,解决头尾实体数目不对等的问题。针对异质性问题提出TranSparse(share),针对不平衡性提出TranSparse(separate)。

  TransSparse的原理

  1.异质性的处理

  TranSparse模型是在TransR的模型基础之上,采用可变的稀疏矩阵代替了TransR中的稠密矩阵:关系连接的实体数量越多,关系越复杂,矩阵约稠密;反之矩阵越稀疏。

  TranSparse(share):对于每一个关系 r r r,定义翻译向量 r \mathbf{r} r和稀疏转移矩阵 M r \mathbf{M_r} Mr,稀疏度为 ( θ r ) (\theta_r) (θr) N r N_r Nr为关系 r r r所链接的实体对的数量, N r ∗ N_{r^*} Nr为关系链接的实体最大数。设置 M r ∗ \mathbf{M_{r^*}} Mr的稀疏度为 θ min ⁡ , ( 0 ≤ θ min ⁡ ≤ 1 ) \theta_{\min},(0 \leq \theta_{\min} \leq 1) θmin,(0θmin1)。则得出一般情况下的稀疏度:

θ r = 1 − ( 1 − θ min ⁡ ) N r / N r ∗ \theta_{r}=1-\left(1-\theta_{\min }\right) N_{r} / N_{r^{*}} θr=1(1θmin)Nr/Nr

  利用稀疏因子和转移矩阵。将头尾实体分别映射到关系空间中:

h p = M r ( θ r ) h , t p = M r ( θ r ) t \mathbf{h}_{p}=\mathbf{M}_{r}\left(\theta_{r}\right) \mathbf{h}, \quad \mathbf{t}_{p}=\mathbf{M}_{r}\left(\theta_{r}\right) \mathbf{t} hp=Mr(θr)h,tp=Mr(θr)t

  2.不平衡性的处理

  对于每个三元组 ( h , r , t ) (h,r,t) (h,r,t),头尾实体的映射矩阵对应两个不同的稀疏矩阵:涉及到的实体越多,矩阵越稠密,反之越稀疏。

  TranSparse(Separate):头尾实体分别映射到不同的关系空间中。 M r h \mathbf{M_r^h} Mrh M r t \mathbf{M_r^t} Mrt分别为头尾实体的映射矩阵, N r h N_r^h Nrh N r t N_r^t Nrt为关系 r r r所对应的头尾实体数。

  稀疏因子的定义为:

θ r l = 1 − ( 1 − θ min ⁡ ) N r l / N r ∗ l ∗ ( l = h , t ) \theta_{r}^{l}=1-\left(1-\theta_{\min }\right) N_{r}^{l} / N_{r^{*}}^{l^{*}} \quad(l=h, t) θrl=1(1θmin)Nrl/Nrl(l=h,t)

  头尾实体相应的映射方式为:

h p = M r h ( θ r h ) h , t p = M r t ( θ r t ) t \mathbf{h}_{p}=\mathbf{M}_{r}^{h}\left(\theta_{r}^{h}\right) \mathbf{h}, \quad \mathbf{t}_{p}=\mathbf{M}_{r}^{t}\left(\theta_{r}^{t}\right) \mathbf{t} hp=Mrh(θrh)h,tp=Mrt(θrt)t

  最后定义得分函数:

d ( h , r , t ) = ∥ h p + r − t p ∥ 2 2 d(h,r,t)=\|\bold{h}_p+\bold{r}-\bold{t}_p\|_{2}^{2} d(h,r,t)=hp+rtp22

  损失函数为:

L = ∑ ( h , r , t ) ∈ S ∑ ( h ′ , r , t ′ ) ∈ S . ′ [ γ + d ( h , r , t ) − d ( h ′ , r , t ′ ) ] + \mathcal{L}=\sum_{(h, r, t) \in S} \sum_{\left(h^{\prime}, r, t^{\prime}\right) \in S.^{\prime}}\left[\gamma+d(h,r, t)-d\left(h^{\prime},r, t^{\prime}\right)\right]_{+} L=(h,r,t)S(h,r,t)S.[γ+d(h,r,t)d(h,r,t)]+

  其中, ∀ h , r , t \forall h,r,t h,r,t,都有 ∥ h ∥ 2 ≤ 1 , ∥ r ∥ 2 ≤ 1 , ∥ t ∥ 2 ≤ 1 , ∥ h p ∥ 2 ≤ 1 , ∥ t p ∥ 2 ≤ 1 \|\bold{h}\|_2 \leq 1, \|\bold{r}\|_2 \leq 1, \|\bold{t}\|_2 \leq 1, \|\bold{h}_p\|_2 \leq 1, \|\bold{t}_p\|_2 \leq 1 h21,r21,t21,hp21,tp21

  具体实现过程:
在这里插入图片描述

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Point-wise排序方法是一种通过将排序问题近似为回归问题来解决的方法。在Point-wise方法中,每个数据点都被视为一个单独的样本,然后使用传统的分类或回归模型来训练模型。每个数据点都有一个相关性得分,我们希望预测这个得分。例如,在一个标记的数据集中,每个查询-文档对都有一个特征向量和相关性得分,如{d1, r1} {d2, r2} {d3, r3} {d4, r4},其中r1 > r2 > r3 > r4。在训练过程中,我们使用这些数据点来训练排序模型,然后在预测时,给定一个查询-文档对,我们可以预测其相关性得分。Point-wise方法的优点是简单易用,适用于处理单个数据点的任务,如图像分类、文本分类等。\[1\]\[3\] 然而,Point-wise方法也有一些缺点。它没有考虑训练样本之间的相对顺序。例如,在某次点击事件中,用户点击了样本x(i),在另一次点击事件中用户点击了样本x(j),但是根据Point-wise模型,x(i)和x(j)的标签是一样的,这显然是不合理的。为了解决这个问题,可以使用Pair-wise排序模型,它考虑了训练样本之间的相对顺序。\[2\] #### 引用[.reference_title] - *1* [Point-wise、Pair-wise、List-wise区别](https://blog.csdn.net/strawberry47/article/details/120743959)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [排序模型入门详解(未完待续)](https://blog.csdn.net/THUChina/article/details/102829797)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Pair-wisePoint-wise模型优化方法](https://blog.csdn.net/m0_47256162/article/details/130019447)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值