基于注意力的嵌入学习用于知识图谱的关系预测
论文题目:Learning Attention-based Embeddings for Relation Prediction in Knowledge Graphs
论文地址:https://www.aclweb.org/anthology/P19-1466/
出版:ACL 2019
代码地址:https://github.com/deepakn97/relationPrediction
论文总结
-
以前做过的类似研究的方法:
- 张量分解(RESCAL)
- 缺点:训练参数较大
- 基于平移的模型(transE)
- 缺点:虽然训练快,模型简单,于是嵌入的表达能力就较差
- 基于CNN的模型(ConvE、ConvKB)
- 缺点:仅仅独立的考虑三元组,没有考虑他们的邻居
- 基于图的模型(R-GCN)
- 缺点:虽然考虑了邻居,但是表现能力不如基于CNN的模型(还有就是分配给邻居的权重相同)
- 张量分解(RESCAL)
-
模型架构:
-
参考了GAT的原理,但是GAT只是学习了节点的嵌入,因此本模型对原有的注意力模型进行了修改
-
GAT更新节点的方式是注意力系数乘以邻居节点的表示,然后求和;而本模型计算方式是注意力系数乘以该节点所在三元组的表示,然后求和
-
一个三元组的向量表示:
-
本模型采用了两层图注意力层,第一层最后的输出采用拼接的形式,第二层最后的输出采用求和平均的方式(如果还是拼接,会导致维度过大)
- 每一层的输入都是 实体嵌入(矩阵G)和 关系嵌入(矩阵H)
- 每一层的输出都是 实体矩阵G’ 和 关系矩阵H’
-
在当前实体学习新的嵌入的时候,会丢失原有的实体嵌入,我们将最后一层输出的实体嵌入加上原有的实体嵌入,变换公式如下: (其中Ht表示原有实体嵌入,Hf表示最后一层的输出实体嵌入)
-
上述模型训练的损失函数:类似Trans系列
-
在上述模型学习到实体和关系的嵌入之后,我们需要判断一个三元组是否是有效的
- 采用CNN的方式:ConvKB模型
- 此模型训练的损失函数:(f(*)表示三元组合理的可能性)
- 采用CNN的方式:ConvKB模型
-