知识图谱是由实体和关系构成的。然而一些关系代表的是实体的属性,一些关系代表的是两个实体之间的关系。现存的知识表示方法把所有关系都看做关系,而所谓的一对多或者多对一的关系大部分情况下都是属性,因此建模这些关系时通常准确率不高,这篇论文把关系和属性区分开来,模型也叫KR-EAR,EAR分别表示实体,属性,关系。
举个论文中的例子,为什么说某些关系是属性。比如性别这个关系,它的尾实体是一个固有的抽象名词,男或女。因此,(entity,性别,男)那么这种类型的三元组有很多很多,主要集中于entity这个头实体不同。我们说实体应该是一个对象而不是这个抽象名词。因此性别应该当做属性来看待。职称这个也是如此,因为它的尾实体也都是一些抽象名词:教授,副教授等。可以类比于关系数据库,就明白为什么这些应该叫做属性。
我们从论文的表1也可以看到,属性几乎都是一对多的。一个尾实体对应多个头实体,而真正的关系往往是一对一的。对于这种问题,TransE以及它的扩展方法TransH等是不能有效的将实体和他们的属性做平移的。
在KR-EAR模型中,人工的为每一个实体标注出它们的属性,实体之间用关系连接。实体和关系之间的平移利用以往的transE,transH等。另外根据实体嵌入表示来推理属性。
TransE
对于每一个三元组,transE模型希望存在
,transE的能量函数定义为:
transE的问题在于不能处理一对多或者多对一的关系,更不用提多对多的关系。例如(姚明,效力于,火箭队)(哈登,效力于,火箭队)那么按照transE,姚明和哈登的表示是几乎一样的。
transH
当涉及到不同的关系时,实体应当有不同的表示。对于关系r,transH同时使用平移向量r和超平面的法向量
表示。首先将头实体向量和尾实体向量沿着关系的的法向量投影到关系r所在的超平面上,然后在超平面上做平移
尽管transH使得每一个实体在不同关系下有了不同的表示,但是它仍然假设实体和关系是在同一个语义空间中的。
transR
transR认为一个实体有多个属性,不同的关系也应该有不同的语义空间,因此应该先把实体投影到对应的关系所在的空间中,然后在那个关系空间里做平移。
然而上面的方法都是不考虑关系是否可以表示为属性,而是把所有的关系统一看待,这在处理一对多或多对一的“关系”时效果很低。而通过预先分离出来关系和属性,仅仅利用上述方法建模实体之间的关系,这就是本文KR-EAR的思想。