ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

基于翻译的模型-TransE,TransH,TransR,TransD

2021-04-30 18:59:42  阅读:374  来源: 互联网

标签:关系 映射 模型 实体 TransR textbf TransH TransD 向量


基于翻译的模型

TransE模型

  • TransE认为在知识库中,三元组<h,r,t>可以看成头实体h到尾实体t利用关系r所进行的翻译。

  • 比如,<柏拉图,老师,苏格拉底>头实体“柏拉图”的向量加上关系“老师”的向量,应该尽可能和尾实体“苏格拉底”的向量接近,也就是h+r≈t

f r ( h , t ) = ∣ ∣ h + r − t ∣ ∣ l 1 / l 2 L = ∑ ( h , r , t ) ∈ S ∑ ( h ′ , r ′ , t ′ ) ∈ S ′ [ γ + f γ ( h , t ) − f r ( h ′ , t ′ ) ] + f_r(\textbf h,\textbf t)=||\textbf h + \textbf r -\textbf t||_{l_1/l_2}\\ L=\sum_{(h,r,t) \in S}\sum_{(h^{'},r^{'},t^{'})\in S^{'}}[\gamma + f_\gamma( \textbf h, \textbf t) - f_r(\textbf h^{'}, \textbf t^{'})]_+ fr​(h,t)=∣∣h+r−t∣∣l1​/l2​​L=(h,r,t)∈S∑​(h′,r′,t′)∈S′∑​[γ+fγ​(h,t)−fr​(h′,t′)]+​

  • γ是间隔参数,S是正例集合(知识库中已有的三元组),S’是负例集合(关系r的三元组头尾实体进行随机构造)。

  • [ X ] + [X]_+ [X]+​表示正值函数,即X>0,时, [ X ] + [X]_+ [X]+​=x;当X<=0时, [ X ] + [X]_+ [X]+​=0

  • 但是这个模型只能处理一对一的关系,不适合一对多/多对一关系

    • 比如多对一关系,比如<帕拉图,性别,男> <特朗普,性别,男>,两个三元组有着相同的关系和尾实体,导致帕拉图跟特朗普的向量相近。两者除了性别相同,在其他方面显然完全不同。

TransH模型

  • 放宽了h+r≈t这一严格约束,只要求头尾实体在关系r相对应的超平面上的投影彼此接近即可。

  • 头实体向量h和尾实体向量t在超平面上利用法向量 W r W_r Wr​映射为

h ⊥ = h − W r T h W r 和 t ⊥ = t − W r T t W r h_\bot=h-W_r^ThW_r和t_\bot=t-W_r^TtW_r h⊥​=h−WrT​hWr​和t⊥​=t−WrT​tWr​

  • 关系r在超平面上的向量表示为 d r d_r dr​
  • f r ( h , t ) = ∣ ∣ ( h − W r T h W r ) + d r − ( t − W r T t W r ) ∣ ∣ l 1 / l 2 f_r(h,t)=||(h-W_r^ThW_r)+d_r-(t-W^T_rtW_r)||_{l_1/l_2} fr​(h,t)=∣∣(h−WrT​hWr​)+dr​−(t−WrT​tWr​)∣∣l1​/l2​​

TransR模型

  • 在TransE模型和TransH模型中,实体和关系都在相同的空间进行表示。这种做法无法区分两个语义相近的实体在某些特定方向(关系)上的不同。

  • 比如,“马克思”和“恩格斯”可以认为是两个相似的实体,但是<马克思,民族,犹太民族>和<恩格斯,民族,德意志民族>不同。

  • 因此TransR提出为每个关系构造相应的向量空间。(注意,TransH模型下是超平面)

  • 具体地说,TransR模型将头实体向量h和尾实体向量t映射为 h r = M r h h_r=M_rh hr​=Mr​h和 t r = M r t t_r=M_rt tr​=Mr​t。因此,TransR模型的损失函数为: f r ( h , t ) = ∣ ∣ h r + r − t r ∣ ∣ l 1 , l 2 f_r(h,t)=||h_r + r - t_r||_{l_1,l2} fr​(h,t)=∣∣hr​+r−tr​∣∣l1​,l2​

TransR缺点

  • 模型利用了复杂的矩阵计算,将头尾实体映射到关系向量空间中,增加了计算复杂度。

  • 其次,对于一个三元组来说,头实体和尾实体很可能不是一个实体。

    • 比如,<帕拉图,出生地,希腊>。“柏拉图”,“希腊”是两个不同的实体,使用相同的映射矩阵 M r M_r Mr​很明显不合理。
  • 最后,Trans模型中实体的映射关系仅由关系决定,但显然实体本身对映射也有影响。

TransD模型

  • TransD模型认为映射函数应该与实体、关系同时相关。

  • TransD模型修改了映射函数。对于头尾实体向量h和t,它们的映射函数分别是

M r h = r p h P T + I m × n , M r t = r p t p T + I m × n M_{rh}=r_ph_P^T+I^{m\times n},M_{rt}=r_pt_p^T+I^{m\times n} Mrh​=rp​hPT​+Im×n,Mrt​=rp​tpT​+Im×n

  • 其中, I m × n I^{m\times n} Im×n是单位矩阵。在这里,头实体和尾实体分别用两个不同的映射矩阵 M r h M_{rh} Mrh​和 M r t M_{rt} Mrt​进行投影。头实体的映射矩阵由关系向量 r p r_p rp​与头实体映射向量 h p T h^T_p hpT​ 共同决定;尾实体的映射矩阵由关系向量 r p r_p rp​与尾实体映射向量 t p T t_p^T tpT​共同决定。那么映射后得到的头实体和尾实体向量分别为:

f r ( h + t ) = ∣ ∣ h ⊥ + r − t ⊥ ∣ ∣ l 1 / l 2 f_r(h+t)=||h_{\bot}+r-t_{\bot}||_{l_1/l_2} fr​(h+t)=∣∣h⊥​+r−t⊥​∣∣l1​/l2​​

  • 下表p表示投影向量,h, h p h_p hp​,t, t p ∈ R n t_p\in \mathbb{R}^n tp​∈Rn,r, r p ∈ R r_p\in \mathbb{R} rp​∈R
  • 映射矩阵的每一个元素都包含了实体和关系信息。

标签:关系,映射,模型,实体,TransR,textbf,TransH,TransD,向量
来源: https://blog.csdn.net/AiBigData/article/details/116308149

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有