知识图谱中的典型推理任务

相对于无结构的数据形式,结构化知识图谱的一大优势就是能够支撑高效的推理。知识推理是人工智能应用迈向更高级认知智能的重要技术,其中,知识图谱的构建和应用中较为典型的推理任务包括知识补全和知识问答。

知识补全

知识补全,通常也被称为面向知识库或知识图谱的事实补全。形式化地描述就是,对于具有r(h,t)形式的三元组知识图谱,若h,r或t是未知的,需要使用推理方法将缺失的实体或关系预测出来的,这样的任务称为链接预测。在以关系三元组为基础的知识图谱上,链接预测是知识补全的重要技术手段。知识补全可以利用已有知识预测未知的隐含知识,它可以用于完善现有知识图谱,是知识图谱构建和应用的重要手段之一。知识补全包含两个常用评测任务,三元组分类和链接预测。

(1) 三元组分类:三元组分类是判断给定三元组\(r(e_1,e_2)\)正确与否(与事实是否相符),因此它是一个二分类问题。通过三元组分类来实现知识补全过程如下:在补全知识图谱缺失关系时,可以选择一条边(“边”表示“关系”)连接任意两个实体,构成新的三元组,再判断该三元组是否正确。如果正确,则说明新增加的关系是合理的,意味着发现了一个缺失的关系,可以将其添加到知识图谱中,否则丢弃该条边。

(2) 链接预测:链接预测指的是预测一个三元组的头实体或者尾实体。对一个正确的三元组,移除它的头实体或者尾实体,检测模型能否预测出正确的头实体或者尾实体。链接预测实现知识图谱补全过程如下:在知识图谱中选择一个实体和一个关系,该实体可以作为头实体也可以作为尾实体。当作为头实体时,对尾实体进行预测;当作为尾实体时,对头实体进行预测。如果模型能够准确预测头或者尾实体,则说明可以在选择的实体和预测出的实体之间添加关系,否则丢弃该关系。

知识问答

作为知识图谱的典型应用,基于知识的问答主要是通过对自然语言问句的分析,在语义理解的基础上从知识图谱中寻找答案的过程。问答中需要推理的本质原因同样是知识的缺失,问答过程中需要的知识可能在知识图谱中没有显示表达,需要通过推理才能获得隐含知识。根据知识缺失的形式,可以将需要推理的情景分为以下两类:

(1) 简单推理问题:如何将问题转化为知识图谱上的一个查询三元组r(h,?)或查询三元组序列\(r_1(h,m_1),r_2(m_1,m_2),...,r_n(m_{n-1},?)\),并且存在知识图谱中缺失其中某个或某几个三元组的情况,需要使用推理方法将缺失的知识预测出来,我们将这一类问题划分为简单推理问题。

(2) 复杂推理问题:如果问题不能转化为一个知识图谱上的链接查询r(h,t),而是表示成由多个链接组成的非链式或有嵌套的复杂结构时,我们所查询的不再是一个原子的三元组事实,并且在知识图谱中缺乏这种结构的显示定义,这时需要使用推理的方法将结构预测出来。

无论是知识图谱的补全任务,还是基于知识图谱的问答,都需要利用和发现未显式表达的知识实例数据,因此知识推理是知识图谱应用的重要技术。相对而言,知识补全任务在进行知识推理检测时更方便、更直接,后面介绍的各种知识推理方法都利用知识补全进行说明和验证。

知识推理分类

在计算机及人工智能领域,推理是一个从前提到结论的过程,一般认为,推理可以被分为三类,即演绎推理(deduction)、归纳推理(induction)、设证推理(abduction,也称溯因推理)。这是一种从任务对推理进行的分类。

从推理方法上看,推理主要可分为确定性逻辑推理、概率推理(不确定性推理)。传统的人工智能体系中,大多都包含逻辑推理或概率推理,并且对逻辑的研究往往伴随着自动推理技术的发展。

近年来,由于深度学习技术和符号数值化表示的发展,表示学习方法也被应用到知识图谱的推理任务中,此方法用于表示逻辑或者跳过逻辑直接对推理目标进行预测。因此,相比于传统的符号推理方法,这种表示学习的方法可以归结为数值推理。

归纳推理和演绎推理

按照推理任务,推理可以被分为三类,即归纳推理(induction)、演绎推理(deduction)、设证推理。但由于设证推理具有一定特殊性,且不经常使用,这里不做介绍。

归纳推理

归纳推理一般具有三个步骤,分别是:(1) 对部分资料进行观察、分析和归纳整理;(2) 得出规律性的结论,即猜想;(3) 检验猜想。

计算机在归纳推理上的运用主要集中在通过事实或实例,使用数据挖掘等方法,总结出通用或局部通用的规则。

演绎推理

演绎推理是从一般性的前提出发,通过推导即“演绎”,得出具体陈述或个别结论的过程。三段论是演绎推理中最简单的一种。

在计算机或人工智能领域,演绎推理对应着使用已有的知识或规则推导出未知知识的过程。

确定性推理与不确定性推理

确定性逻辑推理

确定性逻辑推理也简称逻辑推理,它具有完备的推理过程和充分的表达能力,可以严格地按照专家预先定义好的规则准确地推导出最终的结论,也就是说在推理的起始点和规则集合固定的情况下,结论也是固定的,因此确定性逻辑推理并没有准确性的评价,如何快速自动地推导出结论是确定性逻辑推理主要的研究目标。

确定性逻辑推理研究工作大都专注于对基于某种逻辑定义下的自动推理算法研究。例如,基于可满足性的GSAT和WALKSAT算法用于求解命题逻辑推理;而以rete算法为代表的基于前向链接的算法,以及被应用于Prolog的反向链接算法,都被应用于一阶逻辑的推理。

在21世纪初期,随着W3C提出RDF的标准,以及语义网和开放链接数据等项目的出现与发展,基于RDF三元组的确定性逻辑推理技术得以进一步发展。

确定性逻辑推理的准确性高,推理速度快等特点,直到目前也仍是一个非常活跃的研究方向。但面对真实世界中,尤其是存在于网络大规模知识图谱中的不确定甚至不正确的事实和知识,确定性逻辑推理很难对其进行处理。

确定性推理技术也很难应用于充满不确定性的自然语言处理任务,如知识问答,主要有以下三个原因:(1) 现有的自然语言处理还很难准确地将自然语言表达成确定性的逻辑推理需求;(2) 知识问答等自然语言处理任务中的各种”规则“很难由专家人工给出,而基于统计方法挖掘出来的规则带有一定的不确定性和概率性;(3) 现实世界本身的不确定性,也从本质上决定了一些问题是无法使用确定性推理技术进行回答的。

不确定性推理

不确定性推理也被称为概率推理,是机器学习或统计学习中一项重要的分支,它并不是严格地按照规则进行推理,而是根据以往的经验和分析,结合专家先验知识构建概率模型,并利用统计计数、最大化后验概率等统计学习的手段对推理假设进行验证或推测。按照概率推理中特征的模式与来源,可以分为三类方法:概率图模型、概率逻辑推理和关联规则挖掘。

基于符号的推理

符号推理又可以看成是传统的逻辑推理,它的特点就是在知识图谱中的实体和关系符号上直接进行推理操作。

归纳推理:学习推理规则

目前完成这一任务主要有三大类方法:频繁子图挖掘、归纳逻辑编程和结构学习方法。

演绎推理:推理具体事实

  1. 确定性推理:\(\lambda\)演算
  2. 不确定性推理:马尔可夫逻辑网和概率软逻辑

基于数值计算的推理

基于张量分解的方法

基于能量函数的方法

符号演算和数值计算的融合

常识知识推理

常识本身虽然简单,但是对于常识的由来,常识的传播方式,常识的置信度评估,常识在计算机中的表示,这些都是很难且目前没有被解决的问题。因此对于常识进行推理是一项重要而前沿的研究领域。