最近有很多朋友联系泽宇说想了解一些知识图谱和图神经网络(GNN)结合的研究。那泽宇当然要满足朋友们的要求啊,本期泽宇从知识图谱的几个不同研究方向总结了结合GNN的经典研究,也和大家一起分享。所有内容是泽宇查阅了很多顶会论文,对每一类挑选出一篇具有代表性的论文进行解读,如有理解有误的地方还请批评指教。
本期是“知识图谱+”系列的第一期“知识图谱+图神经网络”,之后会陆续分享知识图谱+各类方向的技术介绍,敬请关注。
为了方便大家一起交流讨论知识图谱技术,知识图谱学术交流群已经成立了,感兴趣想要入群的朋友们可以联系泽宇拉大家入群。
图神经网络:个人认为,图神经网络最直观的理解就是对于一个图结构的输入数据,由于每个节点和其邻域中的节点都具有紧密的关联,因此用图神经网络可以将每个节点的领域信息聚合起来更新当前节点的表示。但是知识图谱和传统的图网络结构最大的不同在于,知识图谱是一个多关系图数据结构,每对节点之间连接的边的类型可能是不一样的,因此,针对知识图谱需要设计更特殊的图神经网络来建模知识图谱。
知识图谱嵌入:知识图谱嵌入是将知识图谱中的实体和关系转换为数值化的表示,可以看成一个基础任务,学习出的嵌入表示可以用于各种和知识图谱相关的任务,本期介绍的和GNN结合的研究很多都需要用到知识图谱嵌入技术,因此,希望入门了解知识图谱嵌入的朋友可以看之前专门对知识图谱嵌入的总结文章:
年末巨制:知识图谱嵌入方法研究总结
Modeling Relational Data with Graph Convolutional Networks. ESWC 2018.
Michael Schlichtkrull, Thomas N. Kipf(GCN的作者), Peter Bloem, Rianne van den Berg, Ivan Titov, Max Welling.
核心贡献:这篇论文是图卷积神经网络(GCN)的发明者参与的一项研究,最大的贡献在于开创性地将GCN用于建模知识图谱这类多关系图网络,而以前的所有图神经网络的模型都只能建模只具有单一关系的图网络。
为了对多关系图网络进行建模,论文提出了多关系GCN,在学习每个实体的表示时,针对当前实体关联的每个关系分别用GCN执行聚合操作,具体过程如下图所示:
核心公式为:
由上式可以发现,每一层RGCN网络针对每一个关系具有一组参数,这也是RGCN能够建模多关系的关键所在,参数Wr类似于是关系的表示。
执行图卷积操作只是为了学习实体的表示,要想实现更多功能还需要额外的模块,本文给出了两个具体的知识图谱中的任务:实体分类和链接预测。
实体分类:
实体分类任务比较简单,只需要用RGCN学习得到的实体表示接一个分类器模型就可以了,训练的时候采用交叉熵loss函数。
链接预测:
链接预测任务需要利用RGCN学习出的实体表示,再结合知识图谱表示学习的方法共同学习实体和关系的嵌入表示,并通过打分函数评估一个三元组成立的可能性,论文中采用的是DistMult模型,实际可以采用任何知识图谱表示学习模型。整个链接预测的模型结构是一个encoder-decoder框架,RGCN是encoder,知识图谱表示学习模块是一个decoder。
Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks. EMNLP 2018.
Authors: Zhichun Wang, Qingsong Lv, Xiaohan Lan, Yu Zhang.
核心贡献:这篇论文最大的特点是用基于GCN的知识图谱嵌入模型学习了实体表示并用于跨语言的知识图谱对齐(实体对齐)任务,取得不错的实体对齐效果。并且,模型有效地结合了(实体,关系,实体)和(实体,属性,属性值)这两类三元组,以改善实体对齐的效果。利用GCN 进行实体对齐的示意图如下图所示:
先用GCN学习到两个知识图谱中的实体嵌入表示,再根据实体嵌入表示计算两个知识图谱中实体的相似度,完成实体对齐。
本文之所以采用GCN是因为作者发现:
根据上面发现的两个特点,为了同时利用实体的结构(领域)和属性信息,本文方法为 GCN 网络层中的每个实体分配了两个特征向量,也就是结构特征向量和属性特征向量。由于两个知识图谱中实体和属性数量不同,所以需要采用两个GCN来分别学习实体嵌入表示,这两个GCN网络的结构如下表所示:
从上表可以看到,两个GCN在某些层共享权值矩阵,节省了模型参数,并且,对于属性特征,通过GCN将两个知识图谱中的每个实体都映射到相同维度的空间中。整个模型采用TransE的Hinge Loss进行训练。
One-Shot Relational Learning for Knowledge Graphs. EMNLP2018.
Wenhan Xiong , Mo Yu , Shiyu Chang , Xiaoxiao Guo , William Yang Wang
这篇论文是第一次提出小样本知识图谱补全任务的研究,由于知识图谱中存在大量小样本的关系,这类关系只能够关联极少数的三元组,因此,论文结合GCN和度量学习实现了对于小样本关系的尾实体预测。
核心贡献:知识图谱补全方向第一篇小样本关系学习(本文特指one-shot,之后出现few-shot的研究)的工作。通过衡量参考三元组和查询三元组中实体对的匹配程度,来判断查询三元组是否成立。小样本知识图谱补全简而言之就是先让你知道一个关系对应的几个三元组(one-shot就只有一个三元组),然后问你(头实体,关系,?)尾实体是什么。详细的小样本知识图谱补全的任务介绍可以查阅论文。
小样本学习的问题其实在图像等领域已经有了很多研究,对于这类问题比较有效的方法是度量学习(Metric Learning)和基于优化的元学习(Meta Learning),这篇论文就是采用了度量学习的方案。
这篇论文最有意思的地方在于,考虑到一个关系对应的三元组数量很少,那就用关系对应的实体来表示这个关系,而这里实体假设不存在小样本的问题,也就是实体具有很多的邻域信息,那么,就可以借助实体的邻域信息学习到好的实体表示,进而用来表示小样本关系。基于这个思路,自然而然就想到了采用GCN来编码实体的邻域信息:
得到实体表示后,基于图像中用到的深度匹配的方法,计算参考三元组中实体表示和查询三元组中的实体表示的相似度,如果相似程度高说明查询三元组成立,其中的尾实体为正确预测出的尾实体。
Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks. KDD 2019.
Authors: Namyong Park, Andrey Kan, Xin Luna Dong, Tong Zhao, Christos Faloutsos.
这篇论文研究的是估计知识图谱中的节点重要性,可以应用于其它下游任务例如推荐系统等。
核心贡献:这篇论文设计的GENI模型是一种基于GNN的方法,特点是GCN是用来聚合节点重要性得分,而不是像其它的用于知识图谱的GCN那样通过谓词感知的注意力机制来聚合节点嵌入表示。
GNN通常通过节点嵌入在邻居之间传播信息,这是基于一个实体及其邻居相互影响的假设进行建模,因此就其邻居的表示而言,可以更好地表示一个实体的表示。但是,在节点重要性估计的任务中,相邻重要性分数对节点的重要性起主要作用,而其他邻居特征可能影响不大。整个模型的结构图如下图所示,其中红框中为用GNN的打分聚合。GNN的输入为scoring network生成的节点重要性打分,本文的scoring network实验中采用的是简单的多层全连接网络。
Learning Attention-based Embeddings for Relation Prediction in Knowledge Graphs. ACL 2019.
Authors: Deepak Nathani, Jatin Chauhan, Charu Sharma, Manohar Kaul.
这篇论文是研究知识图谱中的关系预测任务,主要方法是在之前介绍的RGCN的基础上,结合了attention机制设计的图注意力网络。
核心贡献:针对知识图谱的多关系图数据结构,设计了融合实体和关系表示的图注意力网络(GAT),同时采用多头注意力机制,在学习一个节点的表示时有效聚合了邻域信息并考虑了不同邻居对表示节点的重要程度,达到了良好的编码知识图谱的效果。本文设计的图注意力机制的核心注意力模块如下图所示:
通过线性映射矩阵W1将头实体hi,尾实体hj和关系gk的嵌入表示融合起来:
再经过非线性激活函数:
接着,就可以计算一个节点和其邻域中每个节点之间的注意力权重:
再采用多头注意力机制和GCN更新节点的嵌入表示:
Graph Convolution over Pruned Dependency Trees Improves Relation Extraction. EMNLP 2018.
Authors: Yuhao Zhang, Peng Qi, Christopher D. Manning.
这篇论文是利用GCN实现关系抽取的高被引经典研究,提出了针对关系抽取量身定制的一种新型图卷积网络。模型使用有效的图卷积运算对输入句子的依存关系结构进行编码,然后抽取以实体为中心的表示,以进行可靠的关系预测。
核心贡献:利用 GCN 编码依存结构的句子并实现关系抽取,并设计了一个以路径为中心的剪枝策略移除依存树中与关系抽取无关的路径。
还是一样,我们主要看看这篇论文中是如何利用GCN的。这里特别的是,GCN不是编码某个已经建立好的图数据,而是需要对整个句子进行编码,更准确的说,GCN应该是对句子的依存结构进行编码
这里特殊之在于,Aij表示当前第i个词是否与第j个词存在依存关系,如果存在值是1,类似于图结构中的邻接矩阵。
为了解决GCN无法建模长距离依赖关系的问题,在改进方法中,论文提出了基于上下文的GCN模型,在前面介绍的GCN网络前接一个Bi-LSTM,将编码了上下文信息的词表示输入GCN中,大大提高了整个模型的效果。
之后,将GCN输出的句子表示和头尾实体表示拼接输入分类器中,完成关系抽取任务。
KGAT: Knowledge Graph Attention Network for Recommendation. KDD 2019.
Authors: Xiang Wang, Xiangnan He, Yixin Cao, Meng Liu, Tat-Seng Chua.
这篇论文是非常经典的结合图注意力网络来实现知识图谱推荐的研究,为了实现推荐,作者将用户、项目和实体融合起来构建了一个协同知识图谱,并在这个协作知识图谱上使用知识图谱注意力网络学习节点表示。
核心贡献:建模协同知识图谱中显式的高阶关系可以通过项目侧信息提供更好的推荐。论文中提出的KGAT方法在图神经网络框架下以显式且端到端的方式实现了高阶关系建模。整个模型结构如下图所示:
实体和关系的嵌入表示首先通过知识图谱嵌入模型TransR训练得到:
接着,利用TransR的投影机制将实体表示投影到关系空间中,并通过内积的形式计算一个三元组的打分:
有了上式的三元组打分就可以计算注意力权重了:
进一步,利用图注意力机制和实体的邻域信息学习每个实体的邻域表示:
基于上面得到的实体邻域表示,就可以按照GCN的套路更新实体表示了:
接着,按照推荐系统的任务要求,用上面介绍的图注意力网络在整个协同知识图谱中学习用户和项目的表示,并计算内积得到用户和项目的匹配程度:
Jointly Multiple Events Extraction via Attention-based Graph Information Aggregation. EMNLP 2018.
Authors: Xiao Liu, Zhunchen Luo, Heyan Huang.
这篇论文是利用GCN做多事件抽取的研究,提出了一种新颖的联合多个事件抽取(JMEE)框架,通过引入句法捷径弧和图卷积网络加自注意力机制来建模图结构信息。
核心贡献:论文提出了一种基于句法结构的新型联合事件抽取框架JMEE,核心模块是利用自注意力机制来聚集图结构信息,保持了多个事件之间的关联,并有效地应用在事件抽取中。
本文的事件抽取模型需要对一句话中的所有token经过词嵌入层和Bi-LSTM层,之后将得到的无向图转换为带有自环的有向图结构,并利用GCN计算每个节点的表示:
其中,GCN的第一层网络输入也就是每个节点的初始表示是在GCN之前计算得到的词向量表示。
接着,将用GCN学习到的每个token的表示输入带有自注意力机制的事件触发分类器和事件参数分类器中完成事件抽取任务。
Efficient Probabilistic Logic Reasoning with Graph Neural Networks. ICLR 2020.
Authors: Yuyu Zhang, Xinshi Chen, Yuan Yang, Arun Ramamurthy, Bo Li, Yuan Qi, Le Song.
马尔可夫逻辑网由于融合了逻辑规则和概率图模型,能够实现知识图谱上的概率逻辑推理,本文借助GNN提高了概率推理的效率和性能。
核心贡献:本文设计的模型中最核心的模块就是ExpressGNN,ExpressGNN可以看成是对实体的两级编码:紧凑的GNN将相似的嵌入分配给知识图谱中的相似实体,而可表达的可调嵌入提供了额外的模型能力,可以对图结构以外的实体特定信息进行编码。ExpressGNN的伪码如下所示:
论文中介绍了ExpressGNN具有的一些优良特性:
I Know the Relationships: Zero-Shot Action Recognition via Two-Stream Graph Convolutional Networks and Knowledge Graphs. AAAI 2019.
Author: Junyu Gao, Tianzhu Zhang, Changsheng Xu.
这篇论文主要研究的是零样本动作识别任务,作者发现除了视觉特征外,外部知识用来建模对象之间的显式关系也同样重要。
核心贡献:提出了一种新颖的两分支的 GCN 框架,该框架可以有效地利用知识图谱来对动作-属性,动作-行为和属性-属性之间的关系进行建模。为了从动作和属性中分别实现知识蒸馏,利用GCN设计了分类器分支和实例分支,以端到端的方式实现动作分类。整个模型的结构图如下图所示:
分类器分支:旨在为不同的动作类别生成分类器,该分类器将一组概念及其对应的词嵌入向量作为输入。
实例分支:旨在利用从视频取得的打分来生成视频实例的属性特征。
本文采用GCN最大的优势在于,两个分支通过用GCN编码知识图谱共同对知识空间中的行为-属性,行为-行为和属性属性之间的关系进行建模。学习的分类器(分类器分支)可以以端到端的方式有效地评估每个视频的生成的属性特征(实例分支)。
好了,以上就是本期所有对于知识图谱+图神经网络的学习分享了。所有内容都是泽宇经过调研和学习理解总结的,之后还会陆续分享知识图谱+各类方向的技术介绍,如果大家有对某个方向感兴趣的可以联系泽宇,敬请关注啊。
知识图谱和专家系统、知识工程、数据库等概念的比较
年末巨制:知识图谱嵌入方法研究总结
介绍一些知识图谱的实际应用类项目
知识图谱最新权威综述论文解读:知识表示学习部分
手把手教你搭建一个中式菜谱知识图谱可视化系统
如果对文章感兴趣欢迎关注知乎专栏“人工智能遇上知识图谱“,也可以扫描下方二维码关注同名微信公众号“人工智能遇上知识图谱”,让我们一起学习并交流讨论人工智能与知识图谱技术。