当前位置: 代码迷 >> 综合 >> Knowledge Representation Learning with Entities Attributes and Relations
  详细解决方案

Knowledge Representation Learning with Entities Attributes and Relations

热度:81   发布时间:2024-01-29 22:29:13.0

知识图谱是由实体和关系构成的。然而一些关系代表的是实体的属性,一些关系代表的是两个实体之间的关系。现存的知识表示方法把所有关系都看做关系,而所谓的一对多或者多对一的关系大部分情况下都是属性,因此建模这些关系时通常准确率不高,这篇论文把关系和属性区分开来,模型也叫KR-EAR,EAR分别表示实体,属性,关系。

举个论文中的例子,为什么说某些关系是属性。比如性别这个关系,它的尾实体是一个固有的抽象名词,男或女。因此,(entity,性别,男)那么这种类型的三元组有很多很多,主要集中于entity这个头实体不同。我们说实体应该是一个对象而不是这个抽象名词。因此性别应该当做属性来看待。职称这个也是如此,因为它的尾实体也都是一些抽象名词:教授,副教授等。可以类比于关系数据库,就明白为什么这些应该叫做属性。

我们从论文的表1也可以看到,属性几乎都是一对多的。一个尾实体对应多个头实体,而真正的关系往往是一对一的。对于这种问题,TransE以及它的扩展方法TransH等是不能有效的将实体和他们的属性做平移的。

在KR-EAR模型中,人工的为每一个实体标注出它们的属性,实体之间用关系连接。实体和关系之间的平移利用以往的transE,transH等。另外根据实体嵌入表示来推理属性。

TransE

对于每一个三元组,transE模型希望存在 h + r = t h+r=t ,transE的能量函数定义为:
E ( h , r , t ) = h + r ? t 2 2 E(h,r,t)=||h+r-t||_2^2
transE的问题在于不能处理一对多或者多对一的关系,更不用提多对多的关系。例如(姚明,效力于,火箭队)(哈登,效力于,火箭队)那么按照transE,姚明和哈登的表示是几乎一样的。

transH

当涉及到不同的关系时,实体应当有不同的表示。对于关系r,transH同时使用平移向量r和超平面的法向量 w r w_r 表示。首先将头实体向量和尾实体向量沿着关系的的法向量投影到关系r所在的超平面上,然后在超平面上做平移
E ( h , r , t ) = ? h ? w r T h w r + r ? ( t ? w r T t w r ) 2 2 E(h,r,t)=-||h-w_r^Thw_r+r-(t-w_r^Ttw_r)||_2^2
尽管transH使得每一个实体在不同关系下有了不同的表示,但是它仍然假设实体和关系是在同一个语义空间中的。

transR

transR认为一个实体有多个属性,不同的关系也应该有不同的语义空间,因此应该先把实体投影到对应的关系所在的空间中,然后在那个关系空间里做平移。
E ( h , r , t ) = h M r + r ? t M r E(h,r,t)=||hM_r+r-tM_r||

然而上面的方法都是不考虑关系是否可以表示为属性,而是把所有的关系统一看待,这在处理一对多或多对一的“关系”时效果很低。而通过预先分离出来关系和属性,仅仅利用上述方法建模实体之间的关系,这就是本文KR-EAR的思想。

  相关解决方案