知识图谱概论(三)

此节主要描述用于得到更多信息的知识归纳技术

3 归纳知识

归纳推理将从输入观察到的模式进行概括,生成一些新颖但可能不准确的预测。例如,从地理和航班信息的图表中,我们可以观察到几乎所有国家的首都都有国际机场为其服务,因此可以预测,由于圣地亚哥是首都,它可能有一个国际机场为其服务;然而,一些首都(如瓦杜兹)没有国际机场。因此,预测可能有一定程度的可信度;例如,如果我们看到195个首都中有187个拥有国际机场,那么我们可以为使用该模式做出的预测分配0.959的置信度。然后,我们将归纳获得的知识称为归纳知识(inductive knowledge),它既包括编码模式的模型,也包括由这些模型做出的预测。

归纳知识可以通过有监督或无监督的方法从图中获得。
监督式方法学习一个函数(也称为模型),将一组示例输入映射到它们的标记输,然后,该模型可以应用于未标记的输入。为了避免标记太过于浪费时间,一些监督方法可以从未标记的输入自动生成输入输出对,然后将其馈送到监督过程中以学习模型。在这里,我们把这种方法称为自我监督。另外,无监督过程不需要标记的输入-输出对,而是应用预定义的函数(本质上通常是统计函数)将输入映射到输出。

在这里插入图片描述

在Fig.14中,我们概述了通常应用于知识图谱的归纳技术。在无监督方法的情况下,有大量关于图分析graph analytics)的工作,其中众所周知的算法用于检测图中的社区或集群,找到中心的节点和边等。另外,知识图谱嵌入knowledge graph embeddings)使用自我监督来学习知识图元素的低维数值模型。图的结构也可以通过图神经网络graph neural network)直接用于监督学习。

最后,符号学习symbolic learning)可以学习符号模型。也就是说,规则或公理形式的逻辑公式可以从图中以自监督的方式得到。现在我们依次讨论前面提到的每一种技术。

3.1 图分析(Graph Analytics)

图分析是将分析算法应用于图。这种算法通常分析图的拓扑结构,即节点和组是如何连接的。在本节中,我们简要概述了一些适用于知识图谱的流行图算法,然后讨论了可以实现这些算法的图处理框架。

3.1.1 图算法(Graph Algorithms)

不同的图算法可以运用在不同的地方,在这里我们简要介绍五类在实践中经常使用的算法。

首先,中心分析(centrality analysis)旨在识别图中最重要的中心节点或边。具体的衡量节点中心性的因素包括度(degree)中间度(betweenness)接近度(closeness)特征向量(Eigenvector)PageRankHITSKatz等。中间度也可以应用于边。

在这里插入图片描述

在Fig.15中,节点中心性度量将允许预测最繁忙的交通枢纽,而边中心性将允许我们找到许多最短路线所依赖的边,以预测交通。

其次,社区检测community detection)旨在识别内部连接比图的其余部分更密集的子图(社区)。社区检测算法包括最小分割minimum-cut)算法、标签传播(label propagation)Louvain modularity等。例如,应用于Fig.15的社区检测可能检测到图左边(指智利北部,图左边的节点地名位于智利北部)、图右边(指智利南部,图右边的节点地名位于智利南部),也可能检测到图中心(指有机场的城市)的社区。

第三,连通性分析connectivity analysis)旨在估计图的连接程度和弹性。具体技术包括测量图密度graph density)或k-连通性k-connectivity),检测强连通分量弱连通分量,计算生成树spanning trees)或最小分割(minimum cuts),等等。在Fig.15的上下文中,这样的分析可能会告诉我们,到Grey Glacier和Piedras Rojas的路线是最“脆弱”的,如果两条 b u s \color{blue} bus bus路线中的一条出现故障,就会与主要枢纽断开连接。

第四,节点相似性node similarity)旨在通过节点在其邻居的连接方式找到与其他节点相似的节点。节点相似性度量可以使用结构等价(structural equivalence)随机游走(random walks)扩散核diffusion kernels)等来计算。这些方法提供了如何连接节点以及它们在哪些方面相似的理解。在Fig.15中,这样的分析可能会告诉我们Calama和Arica是相似的节点,因为它们都有飞往Santiago的返程航班和前往San Pedro的返程巴士。

第五,图摘要graph summarisation)旨在从图中提取高级结构,通常基于商图(quotient graphs)。图摘要时,输入图中的节点被合并但保留输入节点之间的边。这些方法有助于提供大规模图的概览。

在这里插入图片描述

Fig.16提供了一个商图的例子,它总结了Fig.15的图,这样,如果在输入图中有一条边 s – p \color{blue} p p–> o,那么在s∈S和o∈O的商图中就有一条边 S – p \color{blue} p p–> O。在这种情况下,商图的节点是根据输出边标签定义的,我们可以从左到右检测到它们分别代表岛屿、城市和城镇/景点。

3.1.2 图处理框架(Graph Processing Frameworks)

针对大规模图形处理,已经提出了许多图形并行框架(graph parallel frameworks),包括Apache Spark (GraphX)、GraphLab、Pregel、Signal-Collect、Shark等。这些框架中的计算是迭代的,在每次迭代中,每个节点读取通过向内边(类似于入度)接收的消息(可能还有它自己以前的状态),执行计算,然后使用结果通过向外边(类似于出度)发送消息。

为了说明这一点,假设我们希望计算Fig.15中最容易到达(或最不容易到达)的位置。衡量这一点的一个好方法是使用中心性,我们选择PageRank。它计算旅游者随机遵循图中所示路线在给定数量的“跳数”后到达特定地点的概率。我们可以使用图并行框架在大图上实现PageRank。在Fig.17中,我们为Fig.15的子图提供了一个PageRank迭代示例。

在这里插入图片描述

3.2 知识图谱嵌入(Knowledge Graph Embeddings)

机器学习可以直接用于提炼知识图谱,或者使用知识图进行下游任务,如推荐、信息提取、问答、查询松弛[、查询近似等。然而,机器学习技术通常采用向量表示,与通常表示图的方式不同。那么,如何对图进行数字编码以用于机器学习呢?

使用向量表示图的第一次尝试是使用one-hot编码,为每个节点生成长度为 ∣ L ∣ ⋅ ∣ V ∣ |L|·|V| LV的向量,其中 ∣ V ∣ |V| V表示输入图中的节点数, ∣ L ∣ |L| L表示边标签数。在向量相应的索引处置1,表示图中相应边的存在,否则为零。然而,这样的表示通常会导致大而稀疏的向量,这对大多数机器学习模型都是不利的。

知识图谱嵌入技术的主要目标是在连续的低维向量空间中创建图的密集表示(即嵌入图),然后可用于机器学习任务。嵌入的维数 d d d是固定的,通常很低(例如,50≥ d d d≥1000)。图嵌入由每个节点的实体嵌入entity embedding)组成:一个具有 d d d维的向量,我们用 e e e 表示;以及每个边标签的关系嵌入(relation embedding):我们用 r r r 表示O( d d d) 维向量。

这些向量的总体目标是抽象和保留图中的潜在结构。有许多方法可以实例化嵌入的概念最常见的是,给定一条边 s – p \color{blue} p p–> o,一种特定的嵌入方法定义了一个评分函数(scoring function),该函数接受 e s e_s es (节点 s 的实体嵌入), r p r_p rp(边标签 p 的关系嵌入)和 e o e_o eo(节点 o 的实体嵌入),并计算边的可信度(plausibility):它是真的可能性有多大。
给定一个数据图,目标是根据给定的评分函数计算维度 d d d 的嵌入,使正边(通常是图中的边)的合理性最大化,并使负例(通常是图中节点或边标签改变的边,使它们不再在图中)的合理性最小化。由此产生的嵌入可以被视为通过自我监督学习的模型,该模型对图的潜在特征进行编码,将输入边映射到输出合理性分数。

广泛的知识图谱嵌入技术已经被提出,我们总结了其中最突出的。首先,我们讨论平移模型(translational models),其中关系被视为将主体实体转换为客体实体。然后我们描述张量分解模型(tensor decomposition models),提取接近图结构的潜在因素。然后,我们讨论了神经网络模型(neural models basedon neural networks)。最后,我们讨论了基于词嵌入技术的语言模型(language models based on word embedding techniques)。

3.2.1 平移模型(translational models)

平移模型将边标签解释为从主节点(即源或头部)到对象节点(即目标或尾部)的转换。例如,边 San Pedro – b u s \color{blue} bus bus–> Moon Valley,边标签 b u s \color{blue} bus bus被视为转换San Pedro为Moon Valley,同样也适用于其他 b u s \color{blue} bus bus边。

一种开创性的方法是TransE,在所有正边s – p \color{blue} p p–> o 上,TransE 对 e s e_s es r p r_p rp e o e_o eo 进行学习,使 e s e_s es+ r p r_p rp尽可能接近 e o e_o eo。相反,如果边是负的,TransE 会使 e s e_s es+ r p r_p rp尽可能远离 e o e_o eo
Fig.18提供了一个由TransE计算的二维( d d d = 2)实体和关系嵌入的简单示例。

在这里插入图片描述
对于初始图中的任意边 s – p \color{blue} p p–> o,将向量 e s e_s es r p r_p rp相加应该近似于 e o e_o eo。在这个简单的例子中,向量精确地对应。例如,将 Licantén ( e L e_L eL)和 w e s t o f \color{blue} {west of} westof( r w o r_{wo} rwo)的向量相加,得到一个与 Curico ( e C e_C eC)对应的向量。我们可以使用这些嵌入来预测边。例如,要预测图中哪个节点最有可能满足Antofagasta (A.)– w e s t o f \color{blue} {west of} westof-> ,通过计算 e A e_A eA+ r w o r_{wo} rwo,我们发现结果向量图18( c c c)中的虚线最接近 e T e_T eT,因此预测Toconao (T.)是最可信的节点。

除这个示例之外,TransE可能过于简单。例如,在Fig.15中, b u s \color{blue} {bus} bus 不仅将San Pedro转换为Moon Valley,还将Arica转换为Calama,其中TransE将尝试为所有目标位置提供类似的向量,这可能对于其他边来说是不可行的。为了解决这些问题,人们研究了TransE的许多变体,通常对每种类型的关系使用不同的超平面(例如TransH)或向量空间(例如TransR , TransD)。

3.2.2 张量分解模型(tensor decomposition models)

获得图嵌入的第二种方法是应用基于张量分解的方法。张量是一个多维数值域,它将0维张量,1维张量,2维张量(标量、向量、矩阵)推广到任意维。张量分解包括将张量分解为更多的“元素”张量(例如,低阶张量),原始张量可以通过固定的基本操作序列重新组合(或近似)。这些元素张量可以看作是捕捉原始张量中的潜在因素。张量分解有很多方法,现在我们将简要介绍秩分解rank decompositions)背后的主要思想。

先不考虑图,考虑一个二阶张量(即a × b矩阵) C C C,其中每个元素 C i j C_{ij} Cij表示智利第 i i i个城市在一年中的第 j j j个月的平均温度。由于智利是一个长而窄的国家,横跨了亚极地气候和沙漠气候,我们可以将 C C C分解为两个表示潜在因素的向量 x , y x,y x,y x x x中有a个元素,对纬度较低的城市给出较低的值; y y y中有b个元素,对温度较低的月份给出较低的值。那么计算两个向量的外积就可以得到 C C C的近似,即 x ⊗ y ≈ C x⊗y≈C xyC。如果存在这样的 x x x y y y使得 x ⊗ y = C x⊗y=C xy=C,那么我们称 C C C为秩1矩阵。否则 C C C的秩 r r r 是我们精确得到其秩1矩阵的最小分解组数量,即 x 1 ⊗ y 1 + x 2 ⊗ y 2 + . . . + x r ⊗ y r = C x_1⊗y_1 + x_2⊗y_2 + ... + x_r⊗y_r =C x1y1+x2y2+...+xryr=C。在刚才的例子中, x 2 ⊗ y 2 x_2⊗y_2 x2y2可能对应于海拔的修正, x 3 ⊗ y 3 x_3⊗y_3 x3y3可能对应于更南的更高的温度变化,等等。然后对矩阵进行秩分解,在秩上设置一个极限 d d d,并计算向量 ( x 1 , y 1 , … , x d , y d ) (x_1, y_1,…, x_d, y_d) x1,y1xd,yd使得 x 1 ⊗ y 1 + x 2 ⊗ y 2 + . . . + x d ⊗ y d x_1⊗y_1 + x_2⊗y_2 + ... + x_d⊗y_d x1y1+x2y2+...+xdyd给出 C C C的最佳 d d d阶近似。注意,为了生成n阶张量,我们需要计算n个向量的外积,我们可以将这一思想推广到张量的低秩分解;这种方法称为正则多进Canonical Polyadic,CP)分解。

为了用这样的技术计算知识图谱嵌入,图可以被编码为具有 ∣ V ∣ × ∣ L ∣ × ∣ V ∣ |V |×|L| × |V | V×L×V元素的one-hot三阶张量 G G G,其中,如果第 i i i个节点链接到第 k k k个节点并带有第 j j j个边标签,则 G i j k = 1 G_{ijk}=1 Gijk=1,否则 G i j k = 0 G_{ijk}=0 Gijk=0。如Fig.19所示,CP分解可以计算一个向量序列 ( x 1 , y 1 , z 1 , … , x d , y d , z d ) (x_1, y_1,z_1,…, x_d, y_d,z_d) x1,y1z1,xd,yd,zd,使得 x 1 ⊗ y 1 ⊗ z 1 + . . . + x d ⊗ y d ⊗ z d ≈ G x_1⊗y_1⊗z_1 + ... + x_d⊗y_d⊗z_d≈G x1y1z1+...+xdydzdG
在这里插入图片描述
X , Y , Z X, Y, Z X,Y,Z分别表示由 [ x 1 ⋅ ⋅ ⋅ x d ] , [ y 1 ⋅ ⋅ ⋅ y d ] , [ z 1 ⋅ ⋅ ⋅ z d ] [x_1···x_d], [y_1···y_d], [z_1···z_d] [x1⋅⋅⋅xd][y1⋅⋅⋅yd][z1⋅⋅⋅zd]构成的矩阵,其中每个向量(如 x 1 x_1 x1)组成矩阵中的列。我们可以提取 Y Y Y的第 i i i行作为图谱第 i i i个关系的嵌入,提取 X X X Z Z Z的第 j j j行作为第 j j j个实体的两个嵌入。然而,知识图嵌入通常旨在为每个实体分配一个向量。

DistMult是一种基于秩分解计算知识图谱嵌入的创新方法,其中每个实体和关系都与一个维数为 d d d的向量相关联,因此对于一个边 s – p \color{blue} p p–> o,定义了一个可信度评分函数 ∑ i = 1 d ( e s ) i ( r p ) i ( e o ) i \sum_{i=1}^{d}(e_s)_i(r_p)_i(e_o)_i i=1d(es)i(rp)i(eo)i,其中 ( e s ) i (e_s)_i (es)i ( r p ) i (r_p)_i (rp)i ( e o ) i (e_o)_i (eo)i分别表示向量 e s 、 r p 、 e o e_s、r_p、e_o esrpeo的第 i i i个元素。然后,目标是学习每个节点和边标签的向量,使正边的可信性最大化,负边的可信性最小化。这种方法等价于图张量 G G G的CP分解,但其中实体有一个被使用两次的向量: x 1 ⊗ y 1 ⊗ x 1 + . . . + x d ⊗ y d ⊗ x d ≈ G x_1⊗y_1⊗x_1 + ... + x_d⊗y_d⊗x_d≈G x1y1x1+...+xdydxdG。这种方法的一个缺点是,根据评分函数,s – p \color{blue} p p–> o 的似然性总是等于 o – p \color{blue} p p–> s 的似然性;换句话说,DistMult不关注边的方向。

RESCAL没有使用向量作为关系嵌入,而是使用矩阵,它允许在所有维度上组合 e s e_s es e o e_o eo,因此可以捕获边方向。然而,与DistMult相比,RESCAL在空间和时间方面的成本更高。其余的方法还有ComplEx、HolE、SimplE和TuckER等等。

3.2.3 神经网络模型(neural models)

有许多方法使用神经网络来学习具有非线性可信度评分函数的知识图谱嵌入。

早期的神经网络模型是语义匹配能量(Semantic Matching Energy, SME),它为两个函数 f w ( e s , r p ) f_w(e_s, r_p) fw(es,rp) g w ′ ( e o , r p ) g_{w'} (e_o, r_p) gw(eo,rp)学习参数,即权重: w , w ′ w, w' w,w ,这样两个函数结果的点积就给出了可信性评分。 f w f_w fw g w ′ g_{w'} gw的线性和双线性变体都已经被提出。

另一个早期的模型是神经张量网络(Neural Tensor Networks, NTN),它通过结合外部积 e s ⊗ W ⊗ e o e_s⊗W⊗e_o esWeo r p r_p rp以及 e s e_s es e o e_o eo上的标准神经层来维持一个权值张量 W W W并计算可信性分数。张量 W W W产生大量参数,这限制了可扩展性。

多层感知器(Multi Layer Perceptron, MLP)是一个更简单的模型,其中 e s e_s es, r p r_p rp e o e_o eo被连接并馈入一个隐藏层以计算可信性评分。

最近的模型使用卷积核。ConvE通过将每个向量“包裹”在几行上并连接两个矩阵,从 e s e_s es r p r_p rp生成矩阵,2D卷积层在这两个矩阵上生成嵌入。缺点是包裹向量在嵌入上施加了任意的二维结构。

所提出的方法在表达能力和需要训练的参数数量方面取得了不同的平衡。虽然更具表现力的模型,如NTN,可以通过使用更多的隐藏参数,在较低维度的嵌入上更好地拟合更复杂的似是而非的函数,但更简单的模型,如卷积网络,通过在矩阵的不同区域上应用相同的(通常是小的)核来实现参数共享,需要处理更少的参数,并且更具可扩展性。

3.2.4 语言模型(language models)

嵌入技术最初是作为在机器学习框架中表示自然语言的一种方式进行探索的,word2vec和GloVe是两种开创性的方法。这两种方法都基于大型文本语料库计算词的嵌入,使得在类似上下文中使用的词(例如,“青蛙”,“蟾蜍”)具有相似的向量。

语言嵌入的方法可以应用于图。然而,图是一组由三个单元的无序序列(即一组边)组成的,而自然语言中的文本是由任意长度的词序列(即sentences of words)组成的。按照这些思路,RDF2Vec在图上执行有偏差的随机行走,并将走过的路径记录为“sentences”,然后将其作为输入输入word2vec模型。从Fig.15中提取的这种路径的一个例子可能是,例如,San Pedro – b u s \color{blue} bus bus–> Calama – f l i g h t \color{blue} flight flight–> Iquique– f l i g h t \color{blue} flight flight–> Santiago。RDF2Vec还提出了第二种模式,其中从规范标记的子树为节点生成序列,这些节点是子树的根节点。相反,KGloVe是基于GloVe模型的。就像最初的GloVe模型认为在文本窗口中经常出现的单词更相关一样,KGloVe使用个性化的PageRank来确定与给定节点最相关的节点,然后将其结果馈送到GloVe模型中。

3.2.5 蕴含意识模型(Entailment-aware Models)

到目前为止,嵌入只考虑数据图。但是,如果提供了本体或规则集呢?首先可以考虑使用约束规则来改进嵌入所做的预测。可以使用泛函和反泛函定义作为约束(在UNA下)。例如,如果我们定义一个事件最多只能有一个场地值,那么将多个场地分配给一个事件的边的合理性就会降低。

最近的一些方法提出了同时考虑数据图和规则的联合嵌入。KALE 使用平移模型(特别是TransE)计算实体和关系嵌入,该模型适用于进一步考虑使用 t 范数模糊逻辑的规则。

参考Fig.15,有一个简单的规则 ? x − b u s ?x - \color{blue}{bus} ?xbus → ? y ⇒ ? x − c o n n e c t s t o →?y⇒?x-\color{blue}{connects to}\color{blue} ?y?xconnectsto → ? y →?y ?y。我们可以使用嵌入来为新的边分配可信度分数。例如 e 1 e_1 e1: Piedras Rojas – b u s \color{blue} bus bus–> Moon Valley。我们可以进一步应用前面的规则来生成一条新的边 e 2 e_2 e2: Piedras Rojas – c o n n e c t s t o \color{blue} connects to connectsto–> Moon Valley。但是我们应该赋予 e 2 e_2 e2多大的可信度呢?设 p 1 p_1 p1 p 2 p_2 p2 e 1 e_1 e1 e 2 e_2 e2的当前可信度分数(使用标准嵌入初始化),则t范数模糊逻辑建议将可信度更新为 p 1 p 2 − p 1 + 1 p_1p_2−p_1 +1 p1p2p1+1。然后对嵌入进行训练,以共同给边和基本规则的正例分配更大的可信度分数,即用图中的常量替换变量的规则,例如Arica – b u s \color{blue} bus bus–> San Pedro ⇒ Arica– c o n n e c t s t o \color{blue} connectsto connectsto–>San Pedro。

3.3 图神经网络(Graph Neural Networks)

除了为图计算数值,另一种选择是为图定义自定义机器学习架构。大多数这样的架构都是基于神经网络,因为神经网络已经是一个有向加权图,其中节点作为人工神经元,边作为加权连接(轴突)。然而,传统的(全连接前馈)神经网络的拓扑结构是相当均匀的,具有全连接节点的顺序层。但是,数据图的拓扑结构通常更加异构。

Graph Neural NetworkGNN)是数据图中节点与其相邻节点连接的神经网络。与嵌入不同,GNN支持特定任务的端到端的监督学习:给定一组标记的示例,GNN可用于对图的元素或图本身进行分类。GNN已被用于对已编码的图、图中的对象、文档等进行分类;以及预测车流量、构建推荐系统、验证软件等。给定标记的例子,GNN甚至可以取代图算法。例如,GNN已被用于以监督的方式在知识图谱中找到中心节点。

我们现在介绍两种GNN:递归(recursive)、卷积(convolutional)

3.3.1 递归图神经网络(Recursive Graph Neural Networks)

递归图神经网络(RecGNNs)是图神经网络的开创性方法。该方法在概念上类似于Fig.17所示的抽象,其中消息在相邻之间传递,以递归地计算某些结果。然而,我们并没有定义用于决定传递消息的函数,而是给出标记的示例,并让模型学习这些函数。

通常认为的图神经网络(graph neural network (GNN))以一个有向图作为输入,其中节点和边与静态特征向量相关联,静态特征向量可以捕获节点和边的标签、权重等。图中的每个节点也有一个状态向量,该状态向量根据节点邻居的信息递归更新,也就是说,邻近节点和边的特征和状态向量使用参数转移函数。然后,参数输出函数根据自己的特征和状态向量计算节点的最终输出。这些函数递归地应用到一个固定点。这两个参数函数都可以用给定图中部分标记节点集的神经网络来学习。结果可以被看作是一个递归的(甚至是循环的)神经网络架构。为了确保收敛到一个不动点,函数必须是承包者,这意味着在每个应用程序中,数值空间中的点被拉近。

举个例子说明,假设我们希望确定需要旅游信息办公室的新地点。

Fig.20是为Fig.15的子图提出的GNN架构。

在这里插入图片描述

我们突出了Punta Arenas的邻近区域。在该图中,节点用特征向量 n x n_x nx和隐层状态 h x ( t ) h_x^{(t)} hx(t) 进行标注,而边用特征向量 a x y a_{xy} axy进行标注。节点的特征向量可以是,用one-hot来编码节点的类型(City、Attraction等),直接编码统计数据(如每年的游客数量等)。边的特征向量可以用one-hot来编码边标签(即运输类型),直接编码诸如每年售出的距离或门票数量等统计数据。隐层状态可以随机初始化。Fig.20右侧给出了GNN的转换和输出函数,其中 N ( x ) N(x) N(x)表示 x x x 的相邻节点, f w ( ⋅ ) f_w(·) fw()表示参数为 w w w的转换函数, g w ′ ( ⋅ ) g_{w'}(·) gw()表示参数为 w w w的输出函数。

我们还为Punta Arenas ( x x x = 1)提供了一个示例。这些函数将递归地应用,直到到达一个固定点。为了训练网络,我们可以标记已经有旅游局的地方和没有旅游局的地方。这些标签可以从知识图谱中获取,也可以手工添加。然后,GNN可以学习参数 w w w w ′ w' w ,它们给出了标记示例的预期输出,随后可以应用于标记其他节点。

3.3.2 卷积图神经网络(Convolutional Graph Neural Networks)

卷积神经网络(CNN)已经获得了很多关注,特别是在涉及图像的机器学习任务中。图像设置的核心思想是在图像的局部区域上应用小核(又名过滤器),使用卷积算子从该局部区域提取特征。当应用于所有局部区域时,卷积输出图像的特征映射。通常应用多个核,形成多个卷积层。这些核是可以学习的,只要有足够的标记的数据。

GNN和CNN都在输入数据的局部区域上工作:GNN在图中的节点及其邻居上操作,而(在图像的情况下)CNN在图像中的像素及其邻居上操作。根据这种直觉,许多卷积图神经网络(ConvGNNs)又叫做图卷积网络graph convolutional networks (GCNs))已经被提出,其中传递函数是通过卷积来实现的。CNN的一个好处是相同的核可以应用于图像的所有区域,但这给GCN带来了挑战,因为与图像的情况不同,像素具有可预测的邻居数量,图中不同节点的邻居可以是不同的。解决这些挑战的方法包括使用谱或空间表示图,从图中归纳出更规则的结构。另一种选择是使用注意力机制来学习其特征对当前节点最重要的节点。

除了架构方面的考虑之外,GNN和GCN之间还有两个主要的区别。首先,GNN将来自邻居的信息递归地聚合到一个固定点,而GCN通常应用固定数量的卷积层。其次,GNN通常在统一的步骤中使用相同的函数(参数),而GCN的不同卷积层可以在每个不同的步骤中应用不同的核(权重)。

3.4 符号学习(Symbolic Learning)

迄今为止讨论的监督技术学习的是难以解释的数值模型。例如,以Fig.21为例。
在这里插入图片描述

知识图谱嵌入可能预测边 SCL– f l i g h t \color{blue} flight flight–>ARI 是高度可信的,但原因隐藏在一个复杂的学习参数矩阵中。嵌入还受到词汇表超出问题的影响,它们通常无法为涉及以前未见过的节点或边标签的输入提供结果。另一种选择是使用符号学习来学习符号语言中的假设,这些假设“解释”了一组正边和负边。这些假设是可以解释的。此外,它们是可以用来判断的(例如,“所有机场都是国内机场或国际机场”),这部分解决了词汇量不足的问题。

在本节中,我们将讨论知识图谱的两种符号学习形式:用于学习规则的规则挖掘Rule Mining)和用于学习其他形式的逻辑公理的公理挖掘(Axiom Mining)

3.4.1 规则挖掘(Rule Mining)

一般意义上的规则挖掘是指从大量背景知识中以规则的形式发现有意义的模式。在知识图谱的背景下,我们假设有一组给定的正、负边。规则挖掘的目标是识别新规则,这些规则需要来自其他正边的高比例的正边,但同样也需要来自正边的低比例的负边。所考虑的规则类型可能与更简单的情况有所不同,比如 ?x – f l i g h t \color{blue} flight flight–> ?y?y – f l i g h t \color{blue} flight flight–> ?x ,或者更复杂的例子, ?x – c a p i t a l \color{blue} capital capital–> ?y – n e a r b y \color{blue} nearby nearby–> ?z – t y p e \color{blue} type type–> Airport?z – t y p e \color{blue} type type–> International Airport,表明首都附近的机场往往是国际机场。

根据国际机场的例子,说明规则并不是假设在所有情况下都成立,而是与它们符合正边和负边的程度相关联。更详细地说,我们称一条规则所包含的边和其正边的集合为该规则的正蕴涵(positive entailments)。正蕴涵的数量称为规则的支持度(support),而正蕴涵的比例称为规则的置信度(confidence)。我们的目标是找到高支持度和高置信度的规则。

虽然类似的任务已经在归纳逻辑规划(Inductive Logic Programming,ILP)的关系设置中进行了探索,但在处理不完全知识图(在OWA下)时,如何定义负边并不是很清楚。一种常见的启发式方法是采用部分完备性假设(Partial Completeness Assumption, PCA),它认为正边集是数据图中包含的边集,而负边集是满足如:图中存在边 x– p \color{blue} p p–>y 以及节点y,但 x– p \color{blue} p p–>y’ 不存在。这样条件的边集。

如Fig.21所示,在PCA下,鉴于边 SCL– f l i g h t \color{blue} flight flight–>LIM 的存在 ,则SCL– f l i g h t \color{blue} flight flight–>ARI为负边;边SCL– d o m e s t i c f l i g h t \color{blue} domesticflight domesticflight–>ARI 非正也非负。
在PCA下,规则 ?x– d o m e s t i c f l i g h t \color{blue} domesticflight domesticflight–>?y?y– d o m e s t i c f l i g h t \color{blue} domesticflight domesticflight–> ?x 的支持度为2(因为它在图中需要 IQQ– d o m e s t i c f l i g h t \color{blue} domesticflight domesticflight–>ARI 和 ARI– d o m e s t i c f l i g h t \color{blue} domesticflight domesticflight–>IQQ ),而置信度为2/2 = 1(注意虽然有边 SCL– d o m e s t i c f l i g h t \color{blue} domesticflight domesticflight–>ARI ,但它既不是正的也不是负的,因此在考虑时忽略)。类似地,规则 x– f l i g h t \color{blue} flight flight–>?y ⇒ ?y – f l i g h t \color{blue} flight flight–>?x 的支持度为4,而置信度为4/5 = 0.8(注意边 SCL– f l i g h t \color{blue} flight flight–>ARI 为负)。

一个有影响力的图规则挖掘系统是AMIE,它采用PCA,并以自上而下的方式构建规则,并且从每条规则的head开始,例如 ⇒ ?x – c o u n t r y \color{blue} country country–> ?y 。对于每条规则的head,考虑三种添加边类型的精炼:(1)一个现有变量和一个新变量,例如,精炼上述规则head可能会得到:?z– f l i g h t \color{blue} flight flight–>?x⇒?x– c o u n t r y \color{blue} country country–>?y。(2)已有的一个变量和图中的一个节点,例如,精炼上述规则可能会得到:Domestic Airport ← t y p e \color{blue} type type?z – f l i g h t \color{blue} flight flight→ ?x ⇒ ?x – c o u n t r y \color{blue} country country–> ?y。(3)两个现有变量,例如,精炼上述规则可以得到:在这里插入图片描述

将这些改进结合起来,就产生了一个可以被修改的指数搜索空间。首先,如果规则不满足支持阈值,则不需要探索其改进,因为改进(1-3)会降低支持度。其次,只考虑固定大小的规则。第三,应用精炼(3),直到规则关闭,这意味着每个变量至少出现在规则的两个边(包括head);精炼(1)和(2)产生的先前规则不是封闭的,因为y出现了一次。

另一个研究方向是可微规则挖掘(differentiable rule mining),它通过使用矩阵乘法来编码规则body中的连接,实现规则的端到端学习。首先考虑用大小为 ∣ V ∣ × ∣ V ∣ |V | × |V | V×V的邻接矩阵 A p A_p Ap对标号为 p p p 的边进行one-hot编码。现在给定规则 ?x– d o m e s t i c f l i g h t \color{blue} domesticflight domesticflight–>?y – c o u n t r y \color{blue} country country–> ?z?x– c o u n t r y \color{blue} country country–> ?z ,我们可以用矩阵乘法 A d f A_{df} Adf. A c A_c Ac表示body。,它给出了一个表示所需边 c o u n t r y \color{blue} country country的邻接矩阵,其中我们期望在 A d f A_{df} Adf. A c A_c Ac中出现的1被head的邻接矩阵 A c A_c Ac覆盖。给定所有边标签的邻接矩阵,我们需要学习单个规则的置信度分数,并学习具有阈值置信度的(不同长度的)规则。

观察到一些边标签或多或少可能跟随其他边标签。例如,Fig.15中的 f l i g h t \color{blue} flight flight不应该跟在 c a p i t a l \color{blue} capital capital后,因为连接将是空的。系统使用双向循环神经网络(一种用于顺序数据学习的技术)来学习规则的关系序列。然而,这些可微分规则挖掘技术目前仅限于学习类路径规则。

3.4.2 公理挖掘(Axiom Mining)

除了规则之外,更一般形式的用逻辑语言表达的公理,比如DL,可以从知识图谱中挖掘出来。我们可以将这些方法分为两类:挖掘特定公理的方法和更一般的公理。

在挖掘特定公理的工作中,不相交公理是一个受欢迎的目标。例如,不相交公理 D o m e s t i c A i r p o r t ⊓ I n t e r n a t i o n a l A i r p o r t ≡ ⊥ DomesticAirport \sqcap InternationalAirport ≡ ⊥ DomesticAirportInternationalAirport表示这两个类的交集等于空类,即没有个体可以同时是两个类的实例。

其他系统提出了学习更一般公理的方法。其中一个突出的系统是DL-Learner,它基于类学习class learning)又称概念学习concept learning)的算法,给定一组正节点和负节点,目标是找到一个逻辑类描述,将正集和负集分开。例如,给定{ Iquique , Arica }为正集,{ Santiago }为负集,我们可以学习一个DL类描述 ∃ n e a r b y . A i r p o r t ⊔ ¬ ( ∃ c a p i t a l − . ⊤ ) ∃nearby.Airport \sqcup ¬(∃capital^-. \top) nearby.Airport¬(capital.⊤),表示靠近机场的实体不是首都,其中所有正节点都是实例,没有负节点是实例。与AMIE类似,此类类描述的发现使用了用于从更一般的类移动到更具体的类(反之亦然)的细化操作符、置信度评分函数和搜索策略。系统进一步支持学习更一般的公理,通过一个评分函数来决定在图中发现公理为真时所需要的边的比例。
例如,为了给Fig.21的公理 ∃ f l i g h t − . D o m e s t i c A i r p o r t ⊑ I n t e r n a t i o n a l A i r p o r t ∃flight^−.DomesticAirport ⊑ InternationalAirport flight.DomesticAirportInternationalAirport 打分,我们可以使用图查询来计算有多少节点有来自国内机场的入境航班(有三个),以及有多少节点有来自国内机场和国际机场的入境航班(有一个),其中两个计数之间的差异越大,证明公理的证据越弱。

  • 30
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值