TransE算法的整理

TransE是一种将知识图谱的三元组转换为向量表示的算法,通过翻译头实体和关系向量得到尾实体。其基本思想是正确三元组的向量关系满足h+r≈t,错误三元组则不满足。目标函数通过正负样本的势能差异进行学习。TransE在处理复杂关系时存在挑战,后续发展出TransH、TransR等模型来改进。
摘要由CSDN通过智能技术生成

TransE

1 TransE的作用

TransE 作用就是把三元组翻译成embedding词向量的方法
三元组,也就是(头实体,关系,尾实体)的形式,头实体和尾实体统称为实体。为了简化起见,我们用(h,r,t)来表示三元组。其中

h表示头实体
r表示关系
t表示尾实体

我们的目标是将知识库中所有的实体、关系表示成一个低维的向量。我们把三元组(h,r,t)对应的向量表示为(h,r,t)。

h 表示头实体对应的向量
r 表示关系对应的向量
t 表示尾实体对应的向量

这样,“姚明”这个实体就不再是一个孤立的符号了,而是一个低维的稠密的向量。它看起来就像下面这样:

[0.01, 0.04, 0.8, 0.32, 0.09, 0.18]

上面这个向量的维度是6维,真实情况下向量的维度会比这个大,但具体取多大并没有一个统一的标准,一般取为50~200左右。

2 TransE的基本思想

TransE模型认为一个正确的三元组的embedding向量 ( h , r , t ) (h,r,t) (h,r,t)会满足公式: h + r = t h+r=t h+r=t(头实体embedding加上关系embedding会等于尾实体embedding)
如果是一个错误的三元组,那么它们的embedding之间就不满足这种关系。

3.TransE的目标函数

目标是学得所有实体和关系的embedding。

TransE的直观含义,就是TransE基于实体和关系的分布式向量表示,将每个三元组实例(head,relation,tail)中的关系relation看做从实体head到实体tail的翻译。通过不断调整 h h h r r r t t t 使 h + r h + r h+r 尽可能与 t t t相等,理想情况下,一个正确的三元组的embedding之间会有 h + r = t h+r=t h+r=t的关系,而错误的三元组之间不会有这个关系。

因此我们定义如下的势能函数,通过 h h h r r r之和与t之差的二范数来表示这个三元组的势能。 f ( h , r , t ) = ∣ ∣ h + r − t ∣ ∣ 2 f(h,r,t) = ||h+r-t||_2 f(h,r,t)=h+rt2

二范数,即Euclid范数(欧几里得范数,常用计算向量长度),即向量元素绝对值的平方和再开方。
∣ ∣ x ∣ ∣ 2 = ∑ i = 1 N x i 2 ||\textbf{x}||_2 =\sqrt{\sum_{i=1}^{N}x_i^2} x2=i=1Nxi2

对于一个正确的三元组,我们希望势能越低越好,而对于一个错误的三元组,我们希望势能越高越好。这样我们就很容易给出目标函数了: L = ∑ ( h , r , t ) ∈ Δ ∑ ( h ′ , r ′ , t ′ ) ∈ Δ ′ [ ( f r ( h , t ) + γ − f r ′ ( h ′ , t ′ ) ) ] + L=\sum_{(h, r, t) \in \Delta}\sum_{(h^{\prime}, r^{\prime}, t^{\prime}) \in \Delta^{\prime}} [ \left(f_{r}(h, t)+\gamma-f_{r^{\prime}}\left(h^{\prime}, t^{\prime}\right)\right)]_+ L=(h,r,t)Δ

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值