1.背景
知识图谱编码了实体和它们丰富的关联之间的结构化信息,但是现实场景中的实体和关系成千上万,想把一个知识图谱填充满是一件很难的事情。因此,知识图谱填充即是基于已有的图谱建立实体到实体的关系。KG 中实体和关系都是通过Embedding建立关联,让实体和关系有一个好的表达能够更好的完成知识图谱的填充任务。
2.演变
最简单最有效的方法是TransE。TransE将起始实体,关系,指向实体映射成同一空间的向量,如果(head,relation,tail)存在,那么 ,目标函数为:
TransE是符合直觉的,但是TransE却无法解决一对多,多对多的问题。举个例子,假设存在个不同的实体,都有 ,其中 ,那么按照TransE的方法则认定为这个实体是同一个实体,但是显然不是。
为了解决一对多和多对多的问题,可以考虑将具有以上关系的实体放置与同一个平面,TransH即是基于这样的考虑。通过关系的法向量建立一个关系平面,然后将实体和实体映射到该平面,分别得到和。剩下的就是和TransE一样的公式来最小化目标函数:
其中,,。
进行到这里,好像没什么问题了。但是TransH的假设是实体和关系都处于同一个空间,这样才有映射到一个关系平面去求实体的映射。假如关系空间不同于实体空间,TransH就无能为力了。而且,好像实体和关系处于不同空间更贴近真实场景(实体是名词,关系是动词,好像有点牵强,hh)。TransR通过关系矩阵将实体映射到关系空间,再最小化三元组的距离。
其中,,。
3.应用
- 推荐系统
Relational Collaborative Filtering: Modeling Multiple Item Relations for Recommendation,SIGIR 2019.
Collaborative Knowledge Base Embedding for Recommender Systems,KDD 2016