笔记整理:徐雅静,浙江大学在读硕士,研究方向为知识图谱的表示学习,零样本学习。
KGC指的是在不完整的KG中推理出缺失的实体。以前的多数工作仅仅考虑到直推式场景(实体都存在KG中),不能有效地解决归纳式场景(包含新出现的实体)。近年来一些基于图神经网络的方法通过聚合邻居信息来从相邻的辅助三元组捕获一些不确定的语义信息解决归纳式场景问题。但是那些方法都忽视了利用现存三元组中包含的关系语义去为新出现的实体提供更加丰富的表示信息。本文中,作者提出了一个新的模型CFAG,它分别利用粗粒度的聚合器(CG-AGG)和细粒度的生成对抗网络(FG-GAN)来解决归纳式场景。模型整个流程图如下图所示:
为了使用粗粒度的关系语义,本文首先将KG转化成一个超图,然后使用一个基于HGNN的全局聚合器去捕获全局实体信息和一个基于GNN的局部聚合器去捕获局部实体信息。最后,结合两个聚合器去获取带有多种语义的实体表示。
•超图构造过程:在超图中,超边是结点的非空子集。本文为每个关系构造两个超边
•全局聚合:本文中,作者借助一层HGNN构造全局聚合器捕获全局实体信息。如(b)所示,首先,作者通过聚合每个实体的超边表示形成超边特征:
E是实体嵌入矩阵,H是关联矩阵,D是关于超边度的对角矩阵,W是表示超边权重的对角矩阵。
其次,通过聚合和s相关的超边表示去得到s的表示:
•局部聚合:和传统的基于GNN解决归纳式KGC任务相似,作者借助单层GNN去捕获局部实体信息。局部聚合的主要思想是通过聚合邻居表示信息去生成实体的表示。
表示可训练的权重矩阵,是一个关于s的邻居的关联矩阵,。
最后,通过结合局部聚合和全局聚合的表示去得到s的新的表示。
由于不同的分布表示不同的语义,为了使用更加细粒度的关系语义,作者将关系与先验分布联系起来,使用条件性GAN去构造FG-GAN使得具有相同询问关系的实体表示匹配相同的分布。作者建立基于CNN的生成器希望能生成带有特定语义的实体表示,同时具备执行KGC任务的能力。
•生成器:聚合后获得的实体具有混合语义,但是对于一个特定询问关系q,实体应该具备具体的语义。为了实现,作者使用CNN作为生成器G去得到在某一具体关系下的实体表示:
R 是关系嵌入矩阵、q是关系q的独热编码、K是过滤数量、表示第i个过滤。
生成器使用询问关系q和CG-AGG的输出作为输入,具体过程如下:
首先,它将实体和关系的表示结合成一个矩阵,然后使用过滤器对其执行卷积操作,最后将过滤器生成的特征映射到向量中,并在向量上应用激活函数作为输出。
•鉴别器:不同的关系通常表示不同的语义,在相同询问关系下的实体通常具有相似性。为了区分这种不同和相似性,作者将每种关系和先验分布联系起来,并使具有相同询问关系的实体表示匹配相同的分布。论文中作者使用带有鉴别器的对抗性训练程序来实现:
||表示连接操作,w和b表示多层感知机的参数。
•目标函数确定:模型的一个目标是强制生成器生成以查询关系 sq 为条件的实体表示,该查询关系与先验分布 pq 匹配。我们将生成器生成的表示视为负例,并将从先验分布采样的示例作为正例。训练时,生成器试图生成正例来欺骗判别器,而判别器则试图区分负例和正例。这种对抗性训练过程优化了 min-max 目标函数,如下所示:
模型的另一个目标是执行 KGC 任务。首先定义一个评分函数,它可以衡量三元组的合理性:
O是由A生成的。然后使用激活函数计算O的可能性:
目标函数使用cross-entropy 损失:
考虑到这两个目标,最后的目标函数定义为:
实验部分作者做了五类实验,包括与baseline方法的对比学习、消融研究、在直推式KGC场景中与直推式方法比较、新出现实体占比影响、不同生成器的影响。实验结果如下:
从实验结果中可以看出模型在几个基准数据集上的取得的效果高于之前其它模型取得的最好的结果,而且从消融实验的结果中可以看出,模型设计的聚合器和生成器都发挥了作用。
欢迎有兴趣的同学阅读原文。
OpenKG
OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。
点击阅读原文,进入 OpenKG 网站。