作者 | 维克多
知识图谱蕴含丰富的人类先验知识,具有重要的学术价值和广泛的应用前景。知识图谱推理作为知识图谱领域的核心技术,能够极大地扩展现有知识的边界,有力地辅助人类进行智能决策。2021年12月17日,中国科学技术大学教授,博士生导师,国家优青王杰在 CNCC 2021 “知识为意,图谱为形--基于图机器学习的知识推理”专题论坛上做了《基于表示学习的知识图谱推理技术——从简单推理到复杂推理》的报告。在报告中,王杰结合知识图谱近年来的研究趋势与应用场景,聚焦从单一图谱推理到联合外部信息推理、从结构化输入到自然语言输入的层次递进的推理场景,介绍基于表示学习的知识图谱推理方向取得的进展。最后,王杰展望了知识图谱推理技术未来发展所面临的若干挑战和机遇。例如,他提到:“当前广泛使用的数据集无法准确地反映真实场景模型,现在的模型测试时基本采用封闭世界假设,不符合真实应用场景,会导致本该正确的结果被判断为错误……现有知识图谱只涉及文本信息,未来的发展趋势是扩展到多模态信息。多模态知识图谱依赖于多种模态数据的收集,其中关键问题是……”今天的演讲题目是《基于表示学习的知识图谱推理技术——从简单推理到复杂推理》,分为背景介绍、简单推理、复杂推理、未来展望等四个部分。知识图谱的本质是大规模的语义网络知识库,表示对客观世界实体的描述。如上图左下角人物知识图所示,每一个节点代表一个人物,边代表人物之间的关系。而在计算机中,知识图谱以三元组的形式存储,包含头实体、关系、尾实体。我们总希望得到大型的知识图谱,因为在规模效应的作用下,会给应用效果带来质变。知识图谱可以分为两类,一类是通用知识图谱,面向通用领域的百科知识库,另一类是领域知识图谱,面向特定领域的行业知识库。通用知识图谱覆盖面较广,但所包含的知识层级体系较浅、粒度较粗、精度不高,领域知识图谱则相反,其覆盖面较窄,只面向某个特定领域,包含的知识深度和精度往往有更高的标准和质量。知识图谱最早可以追溯到60年代的专家系统,当时主要是依靠专家知识,通过人工进行构建,所以成本较高。经过多年发展,知识图谱逐渐转向自动化构建,1998年提出的语义网络和2006年提出的链接数据是“自动化”发展的关键节点。2012年,谷歌发布知识图谱,并将其应用到搜索引擎当中。这时knowledge graph词汇第一次被明确提出。目前,谷歌、百度等构建的知识图谱已经包含超千亿级别的三元组,其背后所依赖的是大数据驱动下的自动知识获取技术。知识图谱属于典型的交叉技术领域,包含众多的技术要素:存储、查询、构建、获取、推理、融合、问答、分析等等几个方面。在众多要素中,推理是核心的技术和任务。一方面,知识图谱的存储、查询、构建与获取,不仅仅是为了能够描述客观世界、总结人类先验知识,更重要是为知识图谱推理服务。另一方面,知识图谱中的技术和任务都包含深度语义理解。例如融合技术中,需要利用推理技术对齐不同知识图谱的实体;问答技术中需要推理技术拓展问句的语义;分析技术中需要推理技术帮助进一步挖掘图数据中的信息。因此,凡包含深度语义理解的任务都涉及推理的过程。而知识图谱的推理目标是利用知识图谱中已经存在的关系或事实推断未知的关系和事实。换句话说,就是由已知的一个或者几个判断,推断另一个未知的判断。知识图谱的推理有两种形式:基于规则的推理、基于表示学习的推理。基于规则的推理是指基于本体逻辑的演绎推理,例如若A属于B,B属于C,则A属于C。这种推理虽然可解释性强,精度高,但需要事先写清楚规则,所以在实际应用中不够灵活。当涉及大规模数据时,可以使用统计方法总结归纳出规则,这也称为归纳式的推理。基于表示学习的推理需要将实体以及实体之间的关系映射到向量空间,然后通过向量空间的操作进行建模逻辑关系。这种方式易于捕获隐含的信息,但却丢失了可解释性。列举一个基于表示学习的推理的工作原理。上图中存在两个三元组:<中国,首都,北京>;<美国,首都,华盛顿>。将其映射到向量空间之后会发现,中国与北京这两个向量之间的差值,接近美国与华盛顿之间的差值。然后定义一个函数,希望三元组映射到向量空间之后,头实体+关系的向量表示尽可能接近尾实体的向量表示。如上图中的f(h,r,t)函数,既可以是Loss函数也可以是打分函数。打分函数某种程度上是三元组为真的置信度,如上图右下角的例子所示,根据打分值(置信度)确定“英国的首都是伦敦”。进一步,根据输入,基于表示学习的知识图谱推理分为简单推理和复杂推理两类。简单推理类似链接预测,根据知识图谱中已有实体和关系推理两个给定实体的关系,其难点在于理解已有实体和关系的语义。复杂推理相对于简单推理,其输入更加复杂。根据输入的不同,难点分别在于:- 建模关系间的语义结构,给定实体关系未在训练模型中出现过。
直观理解简单推理,例如有一个头实体和一个尾实体,然后希望补齐与之对应关系,从而最大可能让三元组成立。还是以人物知识图谱为例,已知(训练数据)“蒋英的丈夫是钱学森,蒋英的父亲是蒋百里”,请问钱学森和蒋百里之间是什么关系?为了较好解决这一链接预测问题,需要对知识图谱中实体之间的关键性质进行建模。方式有三:语义近似、语义分层、语义融合。例如老虎是哺乳动物,老虎和狮子语义相近,就可以推理出狮子是哺乳动物;狮子属于猫科动物,猫科动物属于哺乳动物,根据语义分层现象可以推理出狮子是哺乳动物;语义融合是指结合知识图谱以及非知识图谱的非结构化文本描述,从而捕捉实体的潜在语义。语义近似
对于语义近似,目前的经典方法是“基于张量分解的知识图谱嵌入模型”,例如CP、RESCAL、ComplEx等等,此类方法的共同点是三元组为真的概率由内积定义。其存在的问题由上(右)图所示,在向量空间中相近语义的实体具有不相近的表示。基于上述缺点,我们提出“面向张量分解的知识图谱嵌入模型的正则项”,其思想在于让语义相近的实体表示内积尽可能的大,距离尽可能的小。如上(左)图所示,除了希望尾实体的向量尽可能落在黄色的虚线上,也希望尾实体的向量表示尽可能地落在椭圆(红色区域)里。如何做到?添加基于对偶距离模型的正则项,用向量差的2范数表示原始内积。将“2范数”展开之后,会发现这一表达式也包含了原始内积,以及后面两项2范数的平方。最后会得到对偶诱导正则项:由原来的内积+头实体2范数+尾实体2范数。通过实验发现,“对偶诱导正则项”能够有效促使相近语义实体具有相近表示,也可以显著提升现有模型的推理性能。此外,它的优点还在于给出了张量核2-范数的一个上界以及矩阵分解问题中迹范数正则的张量推广。语义分层
语义分层是广泛存在的,例如“棕榈树是树”,“北京位于中国”。其中树是更高层级,棕榈树是更低层级;中国是更高层级,北京是更低层级。如果按语义对实体进行分类,可以分为不同语义层级的实体,例如“哺乳动物”和“狗”,“移动”和“奔跑”;相同语义层级的实体,“玫瑰”和“牡丹”,“货车”和“客车”。现有建模语义层级有两个传统工作,利用外部层级信息辅助建模,在一些特定的数据集里,实体和关系本身是带有层级信息的。这种方法可以帮助理解实体的语义,但是并不能很好地区分不同层级的实体,最关键的是,并不是所有的数据集中都有额外的分层信息。还有一类方法主要考虑关系的语义层级,也就是将一个关系抽象成若干不同层级的子关系的复合,从而达到对语义层级的建模,但是这类方法需要对关系表示进行额外的聚类操作,其缺点在于无法全自动地从知识图谱中学到具有层级性质的语义信息。为了建模知识图谱的语义层级,可以将语义层级建模成树结构,如上(左)图所示,树结构中节点的深度,能够反映层级信息:越靠近根节点的节点,具有越高的层级;而具有相同深度的不同节点,具有相同的层级。进一步,可以用极坐标建模树结构。极坐标由两部分组成,半径坐标反映点到原点的距离;角坐标可以用来区分同心圆上的不同位置。因此可以将点到原点的距离视作到根节点的距离,半径坐标和角坐标就可以分别对应不同层级和相同层级的实体。总而言之,将实体映射到极坐标系中,利用极坐标建模语义层级,可以利用模长( Modulus)和角度( Phase)两部分进行建模 。为了建模不同实体之间的关系,不同实体模长之间的关系可以建模成伸缩变换,也就是头实体的模长乘以关系变换(r)得到尾实体的模长,然后将角度之间的关系建模为旋转变化,也即头实体的角度根据不同的关系旋转不同的角度后得到尾实体的角度。此类建模方式可以定义为上(右)图中的距离函数。经过实验,此类方法能够有效区分实体的语义层级。例如上图的几个例子,“CS与AI不同层级”、“ask与inquire相同层级”、“D与C不同层级”都能更清晰地进行分割。此外,头尾实体层级相同,实验证明可以利用角度进行区分。而在单步推理测试数据集上,此类方法已经在推理性能上显著超越其他方法,也被同行评价为“基于几何的方法中表现最佳的模型”。语义融合
语义融合需要将图谱与文本描述进行结合,既涉及结构化数据也涉及非结构化数据,目前该领域还在探索。现有的趋势是从知识嵌入向知识注入发展,前者是指传统的KGE模型,仅从结构化的知识图谱中获得知识,体量庞大的文本数据不能被充分利用。而知识注入指KGE模型与预训练模型协同训练,能够有效处理非结构化的数据。但缺陷在于,会由于预训练模型巨大的传输量而带来高额的计算成本,甚至成本太大而无法协同训练。为了解决此问题,我们提出Hetero- Learner:融合异质知识的高效率学习器,将图谱结构和文本描述嵌入成向量,并进行向量的有机拼接。经过实验表明,仅以同类模型 KEPLER3.6%的参数量取得 Wikidata5M上的SOTA结果。为了进一步提升性能,受人类认知推理的启发,我们提出Hetero- Reasoner。该模型方法“模拟”人类,首先根据推理对象的含义以及推理对象之间的联系做出判断和推理((对应Knowledge Learner)),然后从现象中归纳抽象的逻辑规则来辅助推理(对应Rule Miner),最后会回忆和反刍已有的知识来加强对推理和判断的信心(对应Knowledge Distiller)。整体而言,该模型包括异质学习器、规则挖掘器和知识蒸馏器三个模块,能有效地结合有结构的知识图谱数据和无结构的文本数据进行推理。最终,在最近一次KDD CUP 2021 大规模知识图谱比赛的“Link Prediction”赛道荣获第三名,成为前三名中唯一一支成员均来自高校的队伍。复杂推理主要集中在归纳式推理、多步推理、自然语言查询三方面的工作。归纳式的推理和简单推理有类似之处,都是进行链接预测的任务,但是归纳式推理测试数据集的实体和训练数据集的实体不重合,因此难点在于如何将训练数据集的知识迁移或泛化至测试数据集。归纳式推理的核心在于学习关系的语义结构。例如上图左边(红楼梦)和右边的知识图谱中的人物并不重合。但两者关系确实存在一些共同的特点。例如两者都符合母亲、父亲、丈夫关系模式,都可以将其提取与应用。此类建模方式的经典方法是基于规则学习的归纳式推理,这是在知识图谱统计、归纳常出现的关系结构。我们设计了另一种归纳模式,即首先将原始图谱的关系变为节点,然后生成新的图谱,其中关系和关系之间的边代表两个相邻关系的连接模式。然后用图神经网络训练以关系为节点的图,从而找到相关特性。如上图所示,此方法在归纳推理性能上显著超其他方法,相对于现有的方法提升都在5个点甚至10个点左右。多步推理
复杂结构化问题的输入对应的复杂推理形式是多步推理。例如,对于查询任务“列出安徽省内为211但非985高校的校长”,对于这一任务,可以通过传统构建计算图方法进行解决,但会遇到结构多样、与或非逻辑运算等问题,从而带来非常高的计算复杂度。再举例子:在知识图谱中推理得到中国东部省份的高校,随着推理步骤的进行,实体的数目会从中国节点开始,呈指数级上升。为了解决这一问题,我们提出基于表示学习的方法,在适当的向量空间进行推理。基于表示学习的多步推理有两个关键的步骤。第一,定义向量空间,第二,在向量空间中定义推理操作。具体而言,首先将实体和实体的集合映射到向量空间,实体用几何图形或者概率分布进行表示,然后在向量空间中通过相似度比较得到答案,从而避免巨大的计算开销;之后,将推理操作定义为实体集合之间的变换,例如“与”对应实体集合的交;“或”对应实体集合的并;“非”对应实体集合的补。因此,在基于表示学习的多步推理模型中,给定问题结构,通过逻辑操作得到最终问题表示,然后通过实体表示和问题表示之间的距离,得到最终问题的答案。一般而言,问题答案是实体的集合,问题表示本质上是实体集合的表示。所以如何表示问题的集合就变得非常重要。传统方法是使用“盒子”表示查询,它虽然可以进行逻辑运算,但难以建模“非”关系。我们提出ConeE, 二维锥(Cone)构成的向量空间。将实体定义为幅角为0,将集合定义为幅角不为0。由于锥体具有封闭性,所以容易进行“与或非”操作。目前,此项工作在多跳推理性能上显著超越其他方法。自然语言查询
自然语言查询的难点在建模非结构化问题,其任务针对给定的自然语言问题作为输入(区别于结构化查询),通过知识图谱多跳推理的方式给出答案。但随着问题跳数增加,候选实体数量呈指数增长。现有的GNN方法通过子图裁剪以降低候选实体数量但牺牲了正确答案的召回率。为此,受人类认知理论启发,我们提出两阶段方法。第一阶段对应系统1(无意识、直觉的、快思考),快速筛选,通过query-answer语义匹配打分;第二阶段对应系统2(有意识、逻辑的、慢思考),通过贝叶斯网络,基于推理路径的打分。在问题“John Derek 参演电影的编辑有哪些?”中,运用我们设计方法的结果如所示,留下的实体相对而言数量比较少,而且置信度较高。进一步实验表明,我们的方法在多跳数据集上性能显著超越之前的SOTA方法。在知识图谱上进行推理,除了基于表示学习的方法之外,还有一种基于规则的方法。虽然基于表示学习相比规则推理的方法,可以更好地建模知识图谱中的潜在语义信息,但在真实的应用场景中,规则推理往往更受欢迎。原因是:它的精度高,可解释性强。因此,接下来,学术界的目标应该是使表示学习推理模型在真实场景下的性能与规则推理模型媲美。另一方面,学术界模型评测应更加全面高效,以指导模型的设计使之更契合真实场景的需求。下面我从数据集和评测指标两方面进行讨论。首先,当前广泛使用的数据集无法准确地反映真实场景模型,现有的模型测试时基本采用封闭世界假设,即不在知识图谱中的三元组都是错误的,这显然不符合真实应用场景,因此会导致本该正确的结果被判断为错误。所以,如何用“候选数据集”的性能客观反映模型性能,需要进一步探索。再者,当前广泛使用的评测指标无法全面评估模型的优劣。例如,测试集中正确三元组的排名越高,模型在这些评测指标上的表现就越好。然而,这是不全面的。此外,在封闭世界假设下,一些本应性能较好的模型在这些指标下也可能会有较差的表现。现有知识图谱只涉及文本信息,未来发展趋势是扩展到多模态信息。多模态知识图谱的构建,依赖于多种模态数据的收集,其中关键问题是:如何进行不同模态数据之间的对齐。此外,也需要高性能的数据库,帮助存储多模态数据,目前这方面国内已经有企业开始攻关。知识图谱和预训练语言模型的结合也是接下来的发展趋势。预训练语言模型已经比较成熟,但在涉及特定领域的知识或者常识时,表现并不令人满意。如何利用知识图谱增强预训练语言模型,或者怎样用预训练语言模型帮助更好地在知识图谱上进行推理,也是接下来需要重点关注的方向。最后,知识图谱与对话场景的结合也是我所期待的。用时序知识图谱表示对话状态,相比传统键值对的结构,可以更完整地跟踪表示对话的状态以及变化。
雷峰网原创文章,未经授权禁止转载。详情见转载须知。