综述分类
- 根据样本量大小的不同,将知识图谱推理方法分为多样本推理、少样本推理和零与单样本推理
KG定义:(Y)
知识图谱是以图的形式表示真实世界的实体与关系之间关系的知识库。
具体来说知识图谱是通过将应用数学、图形学、信息可视化技术、信息科学等学科的理论、方法、与计量学引文分析、共现分析等方法结合,并利用可视化的图谱形象地展示其核心结构、发展历史、前沿领域以及整体知识构架,达到多学科融合目的的现代理论。
知识图谱架构
G=(V,E)。
知识图谱的架构由数据层和模式层两部分构成。
数据层:数据以三元组的形式存储
模式层在数据层之上,是知识图谱的核心,存储的是经过提炼的知识。模式层是数据层的概念模型或逻辑模型,对数据层规范和约束;模式层更适用于知识图谱推理。
知识图谱的发展历史
知识图谱的研究源于2000年XML大会上Tim Berners Lee提出的语义Web的理念,最初的作用是为Web网页添加语义信息。
2005年,美国Metaweb公司成立,致力于开发共享的世界知识库。Metaweb基于维基百科等公开的数据集,提取出现实世界中人或事物(实体)以及它们之间的关系,并且以图的结构存储在计算机中。
2010年,谷歌收购了Metaweb公司,并在2012年提出了知识图谱的概念。
知识图谱
DBpedia、Freebase、NELL、Probase。
按照构建方式不同:手工构建(WordNet、HowNet。规模小,能够确保准确性与完整性,质量高但耗时长)和自动构建(NELL、WikiData。自动抽取实体与关系,规模大,存在大量不完整的关系、噪声信息等,常用在知识图谱补全、查询等研究中)。
知识图谱应用
大批知识图谱被广泛应用于知识图谱补全与去噪的学术研究领域。知识图谱在问题系统、推荐系统、机器翻译等领域发挥重要作用,并已在医学诊断、金融安全、军用等领域展示出很好的应用前景。
知识图谱推理分类(样本多少)
多样本知识图谱推理
常用基于传统规则表示的推理、基于分布式的推理、基于神经网络的推理等
基于规则表示的推理
单跳推理:
-
NELL知识图谱内部采用的是简单的一阶关系学习算法进行推理[1-11]。
-
ProPPP是一阶概率语言模型,该模型生成了有向证明图,节点对应查询的子句,边对应规则,推理过程为一个查询子句通过规则到另一个查询子句[1-12]。
-
Tensor Log方法是基于可微的过程,给每一个关系定义一个{0,1}的操作矩阵,关联一个单样本向量,(i,j)表示第i个实体与第j个实体之间是否存在关系,如果存在为1,否则为0[1-13]。该方法可以将逻辑规则的推理形式转化为操作矩阵相乘。
-
SDType和SDValidate,利用图中的属性和实体类型补全三元组和识别错误的三元组[1-14]。SDType实现了一种类似加权的投票机制,为每一个属性赋予权重。SDValidate首先计算关系-尾实体的频率,然后计算低频三元组的得分,但得分小于设定阈值的时候被判定为潜在错误的三元组。
-
基于不同的模式评估知识图谱的三元组的质量[1-15]。
基于规则的单条推理方法 可计算性低、代价高、方法简单、使用的知识图谱较少、速度较慢
多跳推理规则更加复杂,如随机行走规则、传递性规则等。以使用规则区域的大小为标准,可以将其分为基于全局的规则和基于局部的规则推理两种。
(1)基于全局的推理
- PRA算法将推理路径作为特征,预测实体间是否存在特定的关系,通过将正例三元组的头尾实体替换得到负例三元组,然后训练回归分类器,再基于受限和加权的随机行走策略,进一步改进该模型的路径产生过程[1—16-17]。 试图产生潜在能够有助于推理的路径,减少路径的数量,但是必须实体之间有联系,否则无效。
- 基于内容和结构的CSRI模型,结合了内容信息和结构信息,最终的概率得分也由影响因子和结构因子两部分组成[1-18]。
- 通过5亿网络文本语料挖掘的实体和边(关系)增广知识图谱的关系,然后增广知识图谱上推理[1-19]。
- 知识图谱关联规则挖掘算法AMIE,挖掘传递性规则[1—20-21]。维护一个规则队列,将其初始化为空规则,并迭代地从规则队列中每次取出一个规则,如果规则是封闭规则且未被删除,则输出该规则。
以上基于全局的图结构在整个知识图谱上进行推理,*成本较高,而知识推理一般是在局部图结构上进行;另一方面,全局的细粒度太粗,局部信息的细粒度能够提高推理的准确性。
(2)基于局部的推理
- SFE算法使用广度优先策略对头实体的相邻实体进行遍历,然后在局部结构进行特征抽取,之后进行推理[1-22]。
- 层次随机行走推理算法,上层对应于全局学习的视角,下层对应于知识图谱局部的学习推理[1-23]。
多样本知识图谱基于规则的推理存在效率低下、噪声信息大、规则较少等缺点,并且当前的规则较少,人工挖掘更多复杂规则的代价也很高,可解释性难以保证。但是通过关联局部的结构信息弥补单纯规则的推理值得进一步的研究。
基于分布式的推理
这一块首先要通过模型得到低维向量表示,然后用向量操作来进行对应只是图片的推理。
(1)单跳推理
- TransE——第一个基于转移的表示模型,也是分布式的基础模型[1-24]。
- TransH 在↑基础上为每个关系多学一个映射向量,用于将实体映射到关系指定的超平面[1-25]。
- m-TransH直接建模多元关系,关系的损失函数不通过将多远关系分解为二元关系进行分析,而是将多元关系中的每一个看成一个角色,直接建模为角色函数的累加。
- TransA引入Wr矩阵为不同维度的向量进行加权,并利用LDL方法对Wr进行分解,然后得到一个对角阵Dr,对角线上的元素表示不同维度上的权重。通过图像来描述不同的损失度量函数,给人直观的感觉[1-27]。
- TransG能够解决关系的多语义问题,利用贝叶斯非参数无限混合模型对一个关系生成多个翻译部分,根据三元组的特定语义得到其中的最佳部分,并利用最大数据相似度原理进行训练,优化采用SGD[1-28]。
- TransR在单独的实体空间和关系空间建立实体和关系的表示,每个关系对应一个空间,有一个映射矩阵,关系通过对应的映射矩阵映射到关系空间后,可以将关系向量转化成两个实体向量的转移。CTransR还将关系按照一定的类型划分为关系组,并以组为单位进行接下来的推理[1-29]。
- TransD的实体和关系均用两个向量表示,第一个向量表示实体或关系的意义,第二个向量用来构造映射矩阵,通过对应关系和实体的第二个向量的乘积来表示实体的映射矩阵[1-30]。还考虑了实体和关系的多样性。
- TransM直接根据关系的映射属性预先计算每个训练三元组的权重,用于加权损失函数[1-31]。
- TranSparse解决了KG中关系链接的尸体堆数目差异很大以及关系中头尾实体的数目差异很大的问题[1-32]。
- SSE学习知识图谱实体和关系的表示,利用实体语义类信息强制表示空间几何结构语义平滑[1-33]。
- TransE-NMM在TransE的基础上定义基于邻居的实体表示,引入邻居实体信息进行实体和关系的表示学习[1-34]。
- RESCAL基于三阶张量进行表示学习,如果三元组成立,三阶张量上对应的元素值为1,否则为0[1-35]。 通过最小化重构误差学习实体和关系的表示提高了推理的准确性但内存占用量大,计算速度慢。
- TRESCAL阴雨实体类型信息这一关系域知识,在损失函数的计算中排除不满足关系特定的试题类型约束的三元组,加速了计算[1-36]。
- ARE是新的张量分解模型,学习知识图谱三元组的隐性和观察到的模式,用一个附加页增广RESCAL模型,对应观察到的模式,并且可以通过减少不连接的部分来降低RESCAL分解需要的阶[1-37]。
- 基于复数值向量表示的矩阵分解方法进行链接预测[1-38]。关系矩阵的分解形式化为对称矩阵和反对称矩阵的和,能够更好地处理对称和反对称关系。
上述方法准确率高,计算速度相对较快,但都不能处理动态变化的知识图谱。
- RSTE模型采用分治策略,从知识图谱中采样多个更小规模的子图,通过RESCAL进行连接预测,大大降低了内存的占用,减少了运行时间,可以快速对动态变化的知识图谱进行增删操作[1-39]。
- KG2E模型直接建模实体和关系的确定性,在多维高斯分布空间中学习知识图谱的表示[1-40]。每个实体或关系用一个高斯分布表示,并使用均值指示实体位置,用协方差传递实体或关系的不确定度。
- 基于流行的表示模型ManifoldE将三元组在向量空间的一个点扩展到了一个流行结果,取得了很好的链接预测效果[1-41]。
基于张量分解的方法具有可解释性强、实验的准确性高等优点,但是时间复杂度较其他方法高,所以推广使用的代价较高。
基于空间表示的方法在空间上模拟三元组结构的分布,推理能力较强,但对该方法的研究不多。
(2)多跳推理
- PTransE区别对待实体间不同的路径。在TransE的基础上多建模了关系路径约束,通过关系的组合操作建模路径,然后对实体间的多条路径进行加权,提高了推理的准确性[1-42]。
- RPE——关系路径表示的组合学习模型,推理效果较好[1-43]。
- 图感知的知识表示方法GAKE,利用图上下文信息的同时设计了attention机制,提高了样本信息的利用率与推理结果[1-44]。
- 使用邻居信息和内存网络发掘样本数据的潜在关系信息,并把门控机制、结构和邻居的表示集成到联合表示中,丰富实体的特征信息。
- 基于组合的方法首先通过随机行走找到实体之间的多条路径,并根据其与查询的语义相似性计算每条路径的注意力,然后根据它们的注意力聚合这些路径的表示,最终结果基于该聚合表示和查询的相似性形成[1-45]。
- 一种新的RL框架用于学习更准确的链路预测模型,该模型将KG中的链路预测问题构建为概率图形模型(PGM)中的推理问题,并使用最大熵RL来最大化预期回报。
基于神经网络的推理
(1)单跳推理
- NTN用双线性张量层代替传统的神经网络层,将头实体和尾实体联系起来,能够在不同的维度下表示出实体间复杂的语义联系[1-47]。
- 通过类似的神经张量网络模型预测知识图谱中的新关系,通过从文本无监督学习到的词向量初始化实体表示,可以实现类似零样本的效果,甚至可以预测知识图谱中未出现实体的关系[1-48]。
- 共享变量神经网络模型ProjE,通过学习知识图谱的实体和边的联合嵌入,并通过对标准损失函数的更改,来填补知识图谱中缺失的信息[1-49]。
- ConvKB通过使用卷积神经网络,能够捕捉实体和关系之间的全局关系和过渡特性[1-50]。
基于神经网络的单跳推理的优点是能够通过利用神经网络强大的学习、推理能力来建模知识图谱三元组,但是神经网络的可解释性一直是一个很严重的问题。
(2)多跳推理
在神经网络的多跳推理中,主要有两种方法:通过神经网络建模多跳路径 和 模拟人脑的过程进行推理。前者充分学习多跳路径的表示,然后根据路径的表示和直接关系表示的相似度来得到得分;后者主要利用一个外部存储结构模拟人脑的存储,利用人脑的强大推理能力得到推理结果。
- [1-51]为每个关系类型训练一个RNN得到任意长度的组合表示,通过输入路径上的关系向量和当前的路径向量产生下一步的组合向量,最后一步的输出作为路径向量的表示。但其只考虑一条路径,没有考虑其他路径以及不同路径的权重问题,也没有考虑实体的建模。
- [1-52]通过训练一个RNN模型预测所有的关系类型,然后利用注意力机制在多条路径上进行推理,并联合学习与推理关系类型、实体以及实体关系,提高了在多样本知识图谱上推理的准确性和实用性。
- DNC包含了一个LSTM神经网络控制器和可以读写的外部存储矩阵。知识图谱三元组向量作为输入,通过神经网络对外部存储进行读写,模拟人脑利用先验知识学习推理新知识,并更新已有的知识[1-53]。
- TravNM引入单个网络层,然后将其用作TravNM的多层神经网络的构建块,并开发灵活的内存更新方法,以便于在多跳推理期间将中间实体信息写入存储器[1-54]。
上述基于神经网络的多跳推理方法可解释性更强。
混合推理方法
(1)混合规则和分布式表示的推理
-
使用分布式辅助规则,并加入了上下文关系,提出了上下文敏感的方法[1-55]。
-
通过矩阵分解直接学习一阶逻辑表示,首先从三元组训练集产生推理规则集合,然后将证明图转为一个矩阵,进行映射推理[1-56]。
-
KALE模型在一个统一框架中通过三元组和规则联合建模,将三元组和规则都形式化为对应的公式[1-57]。
(2)混合神经网络与分布式表示的推理 -
使用R-GCN建模知识图谱,并且通过邻居实体节点产生隐性特征向量表示,通过头实体向量的转置变量、关系对角矩阵与尾实体向量的乘积表示得分函数,通过模型的较差熵损失进行训练学习[1-58]。
(3)混合神经网络和规则的推理 -
Neural在TensorLog的基础上引入了注意力机制和外部存储的神经网络系统[1—59,13]。