【paper】 RotatE: Knowledge Graph Embedding by Relational Rotation in Complex Space
【简介】 本文是北大和加拿大的研究团队发表在 ICLR 2019 上的文章,提出了 RotatE(Rotation Embedding),主要思想是将实体表示为复向量,关系视为从头实体指向尾实体的旋转(Rotation)。这个模型大概是看明白了的,感觉还是比较巧妙的。
问题定义
RotatE 的提出主要是为了建模三种关系:对称/非对称、反向关系、关系组合
这里的对称关系指的就是自反关系,inverse 是对两个关系来说的。TransE 可以建模 inverse 和 composition,无法表示 symmetry。
模型
RotatE 是复空间中的双线性模型,希望 truth triplet 满足:
RotatE 巧妙地利用了欧拉公式,将关系视为从头实体向尾实体的旋转。
RotatE 的距离函数为:
附录中还给出了为什么 RotatE 可以建模这三种关系的证明:
文章还提出了一种 self-adversarial 的负采样方法,为负样本赋权重。
最终 loss 为:
实验
pRotatE 是 RotatE 没有模长(modulus)信息,只有相位(phase)信息的版本。
【code】 GitHub - DeepGraphLearning/KnowledgeGraphEmbedding
双线性模型(六)(CrossE、RotatE、TuckER) - 胡萝不青菜 - 博客园