知识图谱(Knowledge Graph)以结构化的形式描述客观世界中概念、实体及其之间的关系,将互联网的信息表达成更接近人类认知世界的形式,供了一种更好地组织、管理和理解互联网海量信息的能力。知识图谱给互联网语义搜索带来了活力,同时也在智能问答中显示出强大威力,已经成为互联网知识驱动的智能应用的基础设施。
知识图谱的研究背景
定义
知识图谱是结构化的语义知识库,用于以符号形式描述物理世界中的概念及其相互关系。其基本组成单位是“实体-关系-实体”三元组(比如人-“居住在”-北京、张三和李四是“朋友”),以及实体及其相关属性-值对,实体间通过关系相互联结,构成网状的知识结构。
- 实体:指的是具有可区别性且独立存在的某种事物。如某一个人、某一座城市、某一种植物、某一件商品等等。世界万物有具体事物组成,此指实体。实体是知识图谱中的最基本元素,不同的实体间存在不同的关系。
- 概念:具有同种特性的实体构成的集合,如国家、民族、书籍、电脑等。
- 属性:用于区分概念的特征,不同概念具有不同的属性。不同的属性值类型对应于不同类型属性的边。如果属性值对应的是概念或实体,则属性描述两个实体之间的关系,称为对象属性;如果属性值是具体的数值,则称为数据属性。
研究意义
- 知识图谱本身是一个具有属性的实体通过关系链接而成的网状知识库。从图的角度来看,知识图谱在本质上是一种概念网络,其中的节点表示物理世界的实体(或概念),而实体间的各种语义关系则构成网络中的边。由此,知识图谱是对物理世界的一种符号表达。
- 知识图谱的研究价值在于,它是构建在当前Web基础之上的一层覆盖网络(overlay network)。借助知识图谱,能够在 Web 网页之上建立概念间的链接关系,从而以最小的代价将互联网中积累的信息组织起来,成为可以被利用的知识。
- 知识图谱的应用价值在于,它能够改变现有的信息检索方式。一方面通过推理实现概念检索(相对于现有的字符串模糊匹配方式而言);另一方面以图形化方式向用户展示经过分类整理的结构化知识,从而使人们从人工过滤网页寻找答案的模式中解脱出来。
分类
知识图谱的分类方式很多,例如可以通过知识种类、构建方法等划分。从领域上来说,知识图谱通常分为通用(领域无关)知识图谱和特定领域知识图谱:
- 通用知识图谱:通用知识图谱可以形象地看成一个面向通用领域的“结构化的百科知识库”,其中包含了大量的现实世界中的常识性知识,覆盖面极广。
- 特定领域知识图谱:领域知识图谱又叫行业知识图谱或垂直知识图谱,通常面向某一特定领域,可看成是一个“基于语义技术的行业知识库”。
技术架构
下图给出了知识图谱技术的整体架构,其中虚线框内的部分为知识图谱的构建过程,同时也是知识图谱更新的过程。知识图谱的构建过程是从原始数据出发,采用一系列自动或半自动的技术手段,从原始数据中提取出知识要素(即事实),并将其存入知识库的数据层和模式层的过程。这是一个迭代更新的过程,根据知识获取的逻辑,每一轮迭代包含3个阶段:信息抽取、知识融合以及知识加工。
知识图谱技术架构
怎么构建知识图谱
数据来源
- 业务本身的数据。这部分数据通常包含在公司内的数据库表并以结构化的方式存储,一般只需要简单预处理即可以作为后续AI系统的输入;
- 网络上公开、抓取的数据。这些数据通常是以网页的形式存在所以是非结构化的数据,一般需要借助于自然语言处理等技术来提取出结构化信息。
构建知识图谱所涉及的技术
信息抽取
信息抽取(information extraction)是知识图谱构建的第1步,其中的关键问题是如何从异构数据源中自动抽取信息得到候选知识单元。信息抽取是一种自动化地从半结构化和无结构数据中抽取实体、关系以及实体属性等结构化信息的技术。涉及的关键技术包括:实体抽取、关系抽取和属性抽取。
- 实体抽取,也称为命名实体识别( named entity recognition,NER),是指从文本数据集中自动识别出命名实体。实体抽取的质量(准确率和召回率)对后续的知识获取效率和质量影响极大,因此是信息抽取中最为基础和关键的部分。
- 关系抽取,文本语料经过实体抽取,得到的是一系列离散的命名实体,为了得到语义信息,还需要从相关语料中提取出实体之间的关联关系,通过关系将实体(概念)联系起来,才能够形成网状的知识结构。研究关系抽取技术的目的,就是解决如何从文本语料中抽取实体间的关系这一基本问题。
- 属性抽取,属性抽取的目标是从不同信息源中采集特定实体的属性信息。例如针对某个公众人物,可以从网络公开信息中得到其昵称、生日、国籍、教育背景等信息。属性抽取技术能够从多种数据来源中汇集这些信息,实现对实体属性的完整勾画。
知识融合
通过信息抽取,实现了从非结构化和半结构化数据中获取实体、关系以及实体属性信息的目标。然而,这些结果中可能包含大量的冗余和错误信息,数据之间的关系也是扁平化的,缺乏层次性和逻辑性,因此有必要对其进行清理和整合。知识融合包括2部分内容:实体链接和知识合并。通过知识融合,可以消除概念的歧义,剔除冗余和错误概念,从而确保知识的质量。
- 实体链接(entity linking),指对于从文本中抽取得到的实体对象,将其链接到知识库中对应的正确实体对象的操作。实体链接的一般流程是: 1)从文本中通过实体抽取得到实体指称项;2)进行实体消歧和共指消解,判断知识库中的同名实体与之是否代表不同的含义以及知识库中是否存在其他命名实体与之表示相同的含义;3)在确认知识库中对应的正确实体对象之后,将该实体指称项链接到知识库中对应实体。
- 知识合并,在构建知识图谱时,可以从第三方知识库产品或已有结构化数据获取知识输入和本地知识库进行融合。
知识加工
通过信息抽取,可以从原始语料中提取出实体、关系与属性等知识要素。再经过知识融合,可以消除实体指称项与实体对象之间的歧义,得到一系列基本的事实表达。然而,事实本身并不等于知识,要想最终获得结构化、网络化的知识体系,还需要经历知识加工的过程。知识加工主要包括3方面内容:本体构建、知识推理和质量评估。
- 本体构建,本体(ontology)是对概念进行建模的规范,是描述客观世界的抽象模型,以形式化方式对概念及其之间的联系给出明确定义。本体的最大特点在于它是共享的,本体中反映的知识是一种明确定义的共识。虽然在不同时代和领域,学者们对本体曾经给出过不同的定义,但这些定义的内涵是一致的,即:本体是同一领域内的不同主体之间进行交流的语义基础。本体是树状结构,相邻层次的节点(概念)之间具有严格的“IsA”关系,这种单纯的关系有助于知识推理,但却不利于表达概念的多样性。在知识图谱中本体位于模式层,用于描述概念层次体系是知识库中知识的概念模板。
- 知识推理,知识推理是指从知识库中已有的实体关系数据出发,经过计算机推理,建立实体间的新关联,从而拓展和丰富知识网络。知识推理是知识图谱构建的重要手段和关键环节,通过知识推理,能够从现有知识中发现新的知识。例如已知(乾隆,父亲,雍正)和(雍正,父亲,康熙),可以得到(乾隆,祖父,康熙)或(康熙,孙子,乾隆)。知识推理的对象并不局限于实体间的关系,也可以是实体的属性值、本体的概念层次关系等。例如已知某实体的生日属性,可以通过推理得到该实体的年龄属性。根据本体库中的概念继承关系,也可以进行概念推理,例如已知(老虎,科,猫科)和(猫科,目,食肉目),可以推出(老虎,目,食肉目)。知识的推理方法可以分为2大类:基于逻辑的推理和基于图的推理。
- 质量评估,质量评估也是知识库构建技术的重要组成部分。1)受现有技术水平的限制,采用开放域信息抽取技术得到的知识元素有可能存在错误(如实体识别错误、关系抽取错误等),经过知识推理得到的知识的质量同样也是没有保障的。因此,在将其加入知识库之前,需要有一个质量评估的过程;2)随着开放关联数据项目的推进,各子项目所产生的知识库产品间的质量差异也在增大,数据间的冲突日益增多,如何对其质量进行评估,对于全局知识图谱的构建起着重要的作用。引入质量评估的意义在于:可以对知识的可信度进行量化,通过舍弃置信度较低的知识,可以保障知识库的质量。
知识更新
从逻辑上看,知识库的更新包括概念层的更新和数据层的更新。概念层的更新是指新增数据后获得了新的概念,需要自动将新的概念添加到知识库的概念层中。数据层的更新主要是新增或更新实体、关系和属性值,对数据层进行更新需要考虑数据源的可靠性﹑数据的一致性(是否存在矛盾或冗余等问题)等多方面因素。当前流行的方法是选择百科类网站等可靠数据源,并选择在各数据源中出现频率高的事实和属性加入知识库。知识的更新也可以采用众包的模式(如Freebase),而对于概念层的更新,则需要借助专业团队进行人工审核。 知识图谱的内容更新有2种方式:数据驱动下的全面更新和增量更新。所谓全面更新是指以更新后的全部数据为输入,从零开始构建知识图谱。这种方式比较简单,但资源消耗大,而且需要耗费大量人力资源进行系统维护;而增量更新,则是以当前新增数据为输入,向现有知识图谱中添加新增知识。这种方式资源消耗小,但目前仍需要大量人工干预(定义规则等),因此实施起来十分困难。
知识图谱的存储
- 基于RDF的存储;
- 基于图数据库的存储。