6.14 知识图谱中的推理技术
知识图谱的概念由谷歌 2012 年正式提出,旨在实现更智能的搜索引擎。知识图谱本质上是一种叫做语义网络(semantic network)的知识库,即具有有向图结构的一个知识库,其中图的结点代表实体(entity)或者概念(concept),而图的边代表实体 / 概念之间的各种语义关系,比如说两个实体之间的相似关系。谷歌知识图谱很重要的一部分是一个大规模的协同合作的知识库,叫 Freebase。Freebase 采用的数据结构是图模型,即可以把一个 Freebase 的知识库看成是有向图,这种数据模型相对于传统数据库的优势在于可以处理更复杂的数据以及方便数据的插入。谷歌知识图谱的模式(Schema)是由谷歌自己的专业团队在 Freebase的基础上开发和设计的。谷歌知识图谱中,所有的对象都有属于它的Type。Type的数量不是固定的,有一个数据结构 Collection 记录的是计算机自动抽取出的类型,Collection 中有成千上万种类型,有些今天生成后第二天就被删除了,有些则能长期的保留在 Collection 中。如果 Collection 中的某一种类型能够长期的保留,发展到一定程度后,由专业的人员进行决策、命名,最后上升为一种 Type,作为 Knowledge Graph 的一种类型保存在模式中。Knowledge Graph 的 Type 有音乐家、网球运动员等。不过谷歌的知识图谱中的模式并没有太多去考虑类型的层次性。
知识图谱的概念于 2013 年以后开始在学术界和业界普及,并在智能问答、医疗、反欺诈等应用中发挥重要作用。虽然很多文献都把知识图谱看成是一个实体 - 关系的有向图。但是也有一些观点认为知识图谱应该包含更抽象的概念之间的关系,比如说,谷歌和必应、雅虎一起推出了 Schema.org 1来提供一个覆盖广泛主题(包括人物、地点、事件等)的模式(schema)。随着知识图谱研究的深入,研究人员发现知识图谱在应用中存在以下质量问题:第一个问题是知识图谱的不完备性,即知识图谱中有些关系会缺失;第二个问题是知识图谱中存在错误的关系,这是因为知识图谱的构建一般需要用到统计方法,而统计方法很难保证学习的知识是绝对正确的。这两个问题对于智能问答等应用来说是很严重的,前者会导致提出的问题没有答案,而后者会导致系统给出的答案是错误的。为了解决这两个问题,就要求对知识图谱的推理进行研究。知识库推理可以粗略地分为基于符号的推理和基于统计的推理。在人工智能的研究中,基于符号的推理一般是基于经典逻辑(一阶谓词逻辑或者命题逻辑)或者经典逻辑的变异(比如说缺省逻辑)。基于符号的推理可以从一个已有的知识图谱推理出新的实体间关系,从而有助于解决第一个问题;而且基于符号的推理可以对知识图谱进行逻辑的冲突检测,从而有助于解决第二个问题。基于统计的方法一般指关系机器学习方法,通过统计规律从知识图谱中学习到新的实体间关系,从而处理第一个问题;并且对新学到的关系进行评分,去掉那些可能错误的关系,从而处理第二个问题。下面分别就这两类方法进行介绍。