论文阅读 Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks

论文阅读 Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks

摘要

如何评估知识图(KG)中节点的重要性?KG是一个多关系图,已被证明在许多任务上都有价值,包括问答和语义搜索。本文提出了一种解决KGs中节点重要性评估问题的GENI方法,该方法可以用于项目推荐和资源分配等下游应用。虽然已经有了一些方法来解决一般图中的点重要性评估问题,但它们没有充分利用KGs中的可用信息,或者缺乏建模实体之间复杂关系及其重要性所需的灵活性。为了解决这些限制,我们探索了有监督的机器学习算法。特别是,在图形神经网络(GNNs)最新进展的基础上,我们开发了GENI,一种基于GNN的方法,用于处理与预测KG中节点重要性这一特殊挑战。该方法通过谓词感知注意机制和灵活的中心度调整,实现了重要度得分的聚合,而不是节点嵌入的聚合。在模型比较中,GENI的[email protected]比最新水平高5-17%。

简介

知识图谱相对于一般图包含更多异构的关系信息编码,比如边可表述多种属性而不是单一的属性。
评估点的重要性在推荐、查询、资源分配中的重要性。
评估点问题描述:已知点的重要性评分和KGs中的辅助信息(如边的谓词类型),如何描述点的重要性。
已有方法:
1、PageRank:忽略了点的重要性评分
2、Personalized PageRank:PPR考虑点重要性评分但忽略了边的类型。
3、HAR:考虑点评分和图的拓扑性来区分谓词的类型
现有模型不可训练、无可优化参数,并且固定模型由点重要性传播的先验决定。
GNN方法则是侧重于通过聚合嵌入进行图表示学习,没有解决KGs中点重要性评估问题。包括建立相邻节点之间的重要性关系、不同实体之间的评估、结合先验。
GENI:GNN for Estimating Node Importance,GENI使用基于attention的GNN来进行谓词感知的重要性评分聚合来获得相邻点重要性的关系。GENI可以根据节点的中心性调整进行灵活的评分调整。

准备工作

–问题定义

知识图谱的边和点都有多个类别,部分点给出了重要性评分(如电影的观看次数)。目标是找到点到评分的映射。给定某类点评分预测该类点评分叫in-domain,给定某类点评分预测除去该类点的评分叫out-of-domain。
评分一般是数字和类型值,统一起来也是个挑战。

–KGs中的节点重要性建模设计

  • 邻接感知:邻接节点的作用
  • 使用谓词:KGs中边的类型
  • 中心性感知:除去其他知识,越处于中心位置的点的重要性应该越高
  • 利用输入(已知)的重要性评分
  • 灵活适应: 不限制一个特定类型的模型分数,可接受多种类型的输入分数。

–GNN

GNN可表示为:
论文阅读 Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks
包括聚合和拼接。L层GNN可理解为聚合L跳-邻接点的信息。

方法

  • 领域信息:重要性评分相对其他信息更重要,将邻域的重要性评分进行聚合
  • 谓词感知注意力机制
  • 中心性感知:将中心性纳入评估

–评分聚合

score aggregation
如下式,GENI直接聚合本身和邻域节点的分数。alpha是一个可学习参数,由一个带共享参数和谓词嵌入的模型计算得出。
论文阅读 Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks
初始分数使用节点的特征向量计算,使用一个简单的全连接层
论文阅读 Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks

–谓词感知注意力机制

GENI使用共享的谓词嵌入将谓词合并到注意力机制
谓词融合的方式就是将谓词的嵌入表示与score拼接送入注意力机制计算。
注意力计算使用单层反馈网络
论文阅读 Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks
其中
论文阅读 Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks是i、j节点之间的谓词的嵌入表示
论文阅读 Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks
表示使用非线性**函数的单层网络

–中心性调整

在KGs中,很自然地假设越位于中心的节点越重要,除非与重要度分数相反。
如果给定的有分数的点较少或者只有少数类型的点有评分,那么中心性这个先验就显得重要。
入度可以代表这个点的中心性:
论文阅读 Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks
epsilon是一个小的正常数
中心性的度量需要和节点的评分综合考虑,因此将中心性度量进行缩放平移:
论文阅读 Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks
gamma和beta都是可学习参数。
最终的重要度评分的计算公式为:
论文阅读 Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks
其中
论文阅读 Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks
是最后一层的输出

–模型架构

论文阅读 Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks
a图为一层结构的GENI:每个节点特征经过scoring network生成s0(i),经过attention聚合后变为s1(

i),再融合中心性。
b图为两层多head的GENI:layer1有两个head,分别经由不同的scoring network输入,得到的结果为:
论文阅读 Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks
h表示head,l表示第l层
每一层的多个head输出会进行一次聚合(平均)
论文阅读 Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks
再输入第二层。
每个head中的attention因子计算公式为:
论文阅读 Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks
融合中心性也是每个head有自己的参数:
论文阅读 Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks
最后得到的结果为多个head取平均
论文阅读 Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks

– 训练

MSE作为损失
论文阅读 Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks

实验