1.一种基于图神经网络的知识图谱社区划分方法,其特征在于,包括以下步骤:
1)构建知识图谱及其邻接矩阵;
2)利用图神经网络将知识图谱中的节点进行表示学习,得到节点的向量表示;
3)计算节点间的相似度;
4)根据同类型的节点间的邻接关系以及节点相似度构建无向有权节点关系网络;
5)设置模块度评估社区内部的内聚程度;
6)通过社区划分算法将知识图谱中目标节点进行社团划分;
所述的步骤2)是采用图神经网络GraphSAGE对知识图谱进行表示学习,该网络包括三层,每层都有输入、两次邻居节点的全采样以及卷积聚合的操作,输入为知识图谱的直接邻接矩阵和特征矩阵以及聚合函数,采样以及聚合通过卷积操作学习直接邻接节点和间接邻接节点的信息,三层采样聚合后的输出作为实体的最终向量表示;
所述的图神经网络中每层进行如下:
(1)全采样邻节点的特征
对每个中心节点的直接邻节点和2跳邻节点进行采样,学习直接邻节点的特征xn(v)以及
2跳邻节点xN(v)的特征,将学习得到的特征嵌入到向量表示中;
(2)聚合邻节点的特征
聚合中心节点的向量表示及其邻节点的向量表示,得到中心节点的新的向量表示:首先,对中心节点的向量表示进行初始化,向量表示的初始化公式:其中xv表示中心节点v的向量表示, 为初始输入的向量表示,V为中心节点集合;
然后,对中心节点的向量表示及其邻节点的向量表示进行聚合,聚合公式如下:其中N(v)是邻居节点集合,mean表示向量拼接并对向量的每个维度进行求均值的操作,W是权重矩阵; 是聚合前中心节点向量表示, 是聚合前邻节点向量表示;
(3)更新中心节点的向量表示
首先聚合2跳间接邻节点的向量表示来更新直接邻节点,再使用新得到的直接邻节点的向量表示来更新当前中心节点的向量表示,中心节点向量表示的更新公式如下:其中av是当前被聚合节点的向量表示, 是当前被聚合节点的直接邻节点向量,fupdate是GraphSAGE的聚合函数。
2.根据权利要求1所述的基于图神经网络的知识图谱社区划分方法,其特征在于,所述的步骤3)具体采用余弦相似度计算节点向量表示的相似度,向量的余弦相似度越接近于1,方向越吻合,则越相似;向量的余弦相似度越接近于‑1,则越不相似;余弦相似度计算公式如下:其中A和B是两个n维向量表示,·表示点积。
3.根据权利要求1所述的基于图神经网络的知识图谱社区划分方法,其特征在于,所述的步骤4)是从知识图谱中提取同类型的节点,并根据节点间的邻接关系构建一个无向有权节点关系网络,该网络记录了同类节点的连接关系,并利用步骤3)得到的节点间相似度对节点之间连接关系赋予相应的权重值,得到节点关系网络。
4.根据权利要求1所述的基于图神经网络的知识图谱社区划分方法,其特征在于,步骤
6)中采用Louvain算法在节点关系网络基础上进行节点社区划分,通过不断地遍历网络中的节点,尝试将单个节点加入能够使模块度提升最大的社区中,直到所有节点都不再变化,再将各小的社区归并为一个超节点来重新构造网络,边的权重为两个节点内所有原始节点的边权重之和,不断迭代直至算法稳定;模块度最大时关系网络的社区划分结果,即为最终的社区划分。