技术学习 | 知识图谱构建的一般流程

技术学习 | 知识图谱构建的一般流程

本文主要内容整理自论文“刘峤, 李杨, 段宏, et al. 知识图谱构建技术综述 [J]. 计算机研究与发展, 2016(3)”。论文从知识图谱的定义和技术架构出发,对构建知识图谱涉及的关键技术进行了自底向上的全面解析。

1. 知识图谱的逻辑结构

从逻辑上将知识图谱划分为2个层次:数据层和模式层。

1.1 数据层

知识以事实(fact)为单位存储在图数据库,通常以“实体-关系-实体”或者“实体-属性-值”三元组作为事实(fact)的基本表达方式。存储在图数据库中的所有数据将构成庞大的实体关系网络,形成知识的“图谱”。

1.2 模式层

模式层在数据层之上,是知识图谱的核心。在模式层存储的是经过提炼的知识,通常采用本体库来管理知识图谱的模式层,借助本体库对公理、规则和约束条件的支持能力来规范实体、关系以及实体的类型和属性等对象之间的联系。


2. 知识图谱的技术架构

知识图谱的构建过程是从原始数据出发,采用一系列自动或半自动的技术手段,从原始数据中提取出知识要素(即事实),并将其存入知识库的数据层和模式层的过程。知识图谱有自顶向下和自底向上2种构建方式:

  • 自顶向下构建:指借助百科类网站等结构化数据源,从高质量数据中提取本体和模式信息,加入到知识库中。
  • 自底向上构建:指借助一定的技术手段,从公开采集的数据中提取出资源模式,选择其中置信度较高的新模式,经人工审核之后,加入到知识库中。

本文主要介绍自底向上的知识图谱构建技术,按照知识获取的过程分为三个层次:信息抽取、知识融合以及知识加工。这是一个迭代更新的过程,每一轮迭代都包含这三个阶段。

2.1 信息抽取 Information Extraction

所解决的问题:如何从半结构化和无结构数据中抽取实体、关系以及实体属性等结构化信息。

涉及的关键技术:实体抽取、关系抽取和属性抽取等。

2.1.1 实体抽取 Entity Extraction

也称命名实体识别(Named Entity Recognition, NER),指从文本数据集中自动识别出命名实体。实体抽取的质量(准确率和召回率)对后续的知识获取效率和质量影响极大,是信息抽取中最为基础和关键的部分。主要方法包括基于规则的方法、统计机器学习方法、以及面向开放域的信息抽取等。

2.1.2 关系抽取 Relation Extraction

文本语料经过实体抽取,得到的是一系列离散的命名实体,为了得到语义信息,还需要从相关语料中提取出实体之间的关联关系,通过关系将实体(概念)联系起来,才能够形成网状的知识结构。主要方法包括人工构造语法和语义规则、统计机器学习、以及面向开放域的关系抽取技术等。

2.1.3 属性抽取 Attribute Extraction

属性抽取的目标是从不同信息源中采集特定实体的属性信息,例如针对某个公众人物,可以从网络公开信息中得到其昵称、生日、国籍、教育背景等信息。属性抽取技术能够从多种数据来源中汇集这些信息,实现对实体属性的完整勾画。

2.2 知识表示

所解决的问题:

将现实世界中的各类知识表达成计算机可存储和计算的结构。

涉及的关键技术:

传统的知识表示方法主要是以RDF(Resource Description Framework资源描述框架)三元组SPO(subject,property,object)来符号性描述实体之间的关系,近年来,以深度学习为代表的表示学习技术也取得了重要的进展。

2.3 知识融合 Knowledge Fusion

所解决的问题:通过信息抽取,实现了从非结构化和半结构化数据中获取实体、关系以及实体属性信息的目标,然而,这些结果中可能包含大量的冗余和错误信息,数据之间的关系也是扁平化的,缺乏层次性和逻辑性,因此有必要对其进行清理和整合。通过知识融合,可以消除概念的歧义,剔除冗余和错误概念,从而确保知识的质量。

涉及的关键技术:实体链接(实体消歧、共指消解)、知识合并等。

2.3.1 实体链接 Entity Linking

指对于从文本中抽取得到的实体对象,将其链接到知识库中对应的正确实体对象的操作。基本思想是首先根据给定的实体指称项,从知识库中选出一组候选实体对象,然后通过相似度计算将指称项链接到正确的实体对象。

一般流程是:1)从文本中通过实体抽取得到实体指称项;2)进行实体消歧和共指消解,判断知识库中的同名实体与之是否代表不同的含义以及知识库中是否存在其他命名实体与之表示相同的含义;3)在确认知识库中对应的正确实体对象之后,将该实体指称项链接到知识库中对应实体。

  • 实体消歧Entity Disambiguation:专门用于解决同名实体产生歧义问题的技术。例如“李娜”(指称项)可以对应于作为歌手的李娜这个实体,也可以对应于作为网球运动员的李娜这个实体。
  • 共指消解Entity Resolution:用于解决多个指称项对应于同一实体对象的问题。例如在一篇新闻稿中,“Barack Obama”,“president Obama”,“the president”等指称项可能指向的都是“奥巴马”这同一个实体。共指消解在学术界有多种不同的表述,典型的包括对象对齐(object alignment)、实体匹配(entity matching)以及实体同义(entity synonyms)等。

2.3.2 知识合并

在构建知识图谱时,可以从第三方知识库产品或已有结构化数据获取知识输入。例如,关联开放数据项目(linked open data)会定期发布其经过积累和整理的语义知识数据。

  • 合并外部知识库:将外部知识库融合到本地知识库需要处理2个层面的问题.①数据层的融合,包括实体的指称、属性、关系以及所属类别等,主要的问题是如何避免实例以及关系的冲突问题,造成不必要的冗余;②通过模式层融合,将新得到的本体融入已有的本体库中。
  • 合并关系数据库:可以采用资源描述框架(RDF)作为数据模型,业界和学术界将这一数 据转换过程称为RDB2RDF,其实质就是将关系数据库的数据换成RDF的三元组数据。
  • 其他:除了关系型数据库之外,还有许多以半结构化方式存储(如XML,CSV,JSON等格式)的历史数据也是高质量的知识来源,同样可以采用RDF数据模型将其合并到知识图谱当中。


2.4 知识加工

所解决的问题:通过信息抽取,可以从原始语料中提取出实体、关系与属性等知识要素。再经过知识融合,可以消除实体指称项与实体对象之间的歧义,得到一系列基本的事实表达。然而,事实本身并不等于知识,要想最终获得结构化、网络化的知识体系,还需要经历知识加工的过程。

涉及的关键技术:本体构建、知识推理、质量评估等。

2.4.1 本体构建 Ontology Extraction

本体(ontology)是对概念进行建模的规范,是描述客观世界的抽象模型,以形式化方式对概念及其之间的联系给出明确定义。本体是树状结构,相邻层次的节点(概念)之间具有严格的“IsA”关系,这种单纯的关系有助于知识推理,但不利于表达概念的多样性。

在知识图谱中,本体位于模式层,用于描述概念层次体系,是知识库中知识的概念模板。本体构建的方法有:

(1)手动构建:采用人工编辑的方式手动构建(借助本体编辑软件)

(2)自动构建:采用计算机辅助,以数据驱动的方式自动构建,然后采用算法评估和人工审核相结合的方式加以修正和确认。自动化本体构建过程包含3个阶段:实体并列关系相似度计算、实体上下位关系抽取以及本体的生成。

    • 实体并列关系相似度:用于考察任意给定的2个实体在多大程度上属于同一概念分类的指标测度,相似度越高,表明这2个实体越有可能属于同一语义类别。所谓并列关系,是相对于纵向的概念隶属关系而言的,例如“中国”和“美国”作为国家名称的实体,具有较高的并列关系相似度;而“美国”和“手机”这2个实体,属于同一语义类别的可能性较低,因此具有较低的并列关系相似度。
    • 实体上下位关系抽取:用于确定概念之间的隶属(IsA)关系,这种关系也称为上下位关系,例如,词组(导弹,武器)构成上下位关系,其中的“导弹”为下位词,“武器”为上位词。
    • 本体生成:主要任务是对各层次得到的概念进行聚类,并对其进行语义类的标定(为该类中的实体指定1个或多个公共上位词)

当前主流的全局本体库产品,都是从一些面向特定领域的现有本体库出发,采用自动构建技术逐步扩展得到的。

2.4.2 知识推理 Knowledge Inference

知识推理是指从知识库中已有的实体关系数据出发,经过计算机推理,建立实体间的新关联,从而拓展和丰富知识网络。例如已知(乾隆,父亲,雍正)和(雍正,父亲,康熙),可以得到(乾隆,祖父,康熙)或(康熙,孙子,乾隆)。知识推理的对象并不局限于实体间的关系,也可以是实体的属性值、本体的概念层次关系等。知识的推理方法可以分为2大类:基于逻辑的推理和基于图的推理。

(1)基于逻辑的推理

    • 一阶谓词逻辑:建立在命题的基础上,在一阶谓词逻辑中,命题被分解为个体(individuals)和谓词(predication)两部分。例如对于人际关系可以采用一阶谓词逻辑进行推理,方法是将关系视为谓词,将人物视为变元,采用逻辑运算符号表达人际关系,然后设定关系推理的逻辑和约束条件,就可以实现简单关系的逻辑推理。
    • 描述逻辑:是一阶谓词逻辑的子集,基于描述逻辑的知识库一般包含TBox(terminology box)与ABox(assertion box),其中,TBox是用于描述概念之间和关系之间的关系的公理集合,ABox是描述具体事实的公理集合。借助这2个工具,可以将基于描述逻辑的推理最终归结为ABox的一致性检验问题,从而简化并最终实现关系推理。
    • 基于规则:例如利用专门的规则语言(如semantic web rule language, SWRL)对本体模型添加自定义规则进行功能拓展。

(2)基于图的推理

    • 基于图的推理方法主要基于神经网络模型或PathRanking算法等

2.4.3 质量评估 Quality Evaluation

引入质量评估的意义在于:对知识的可信度进行量化,通过舍弃置信度较低的知识,保障知识库的质量。

  • 受现有技术水平的限制,采用开放域信息抽取技术得到的知识元素有可能存在错误(如实体识别错误、关系抽取错误等),经过知识推理得到的知识的质量同样也是没有保障的,因此在将其加入知识库之前,需要有一个质量评估的过程。
  • 随着开放关联数据项目的推进,各子项目所产生的知识库产品间的质量差异也在增大,数据间的冲突日益增多,如何对其质量进行评估,对于全局知识图谱的构建起着重要的作用。


2.5 知识更新

知识图谱的内容需要与时俱进,其构建过程是一个不断迭代更新的过程。

(1)更新的内容

从逻辑上看,知识库的更新包括概念层的更新和数据层的更新。

    • 数据层更新:主要是新增或更新实体、关系和属性值,对数据层进行更新需要考虑数据源的可靠性、数据的一致性(是否存在矛盾或冗余等问题)等多方面因素。
    • 模式层更新:指新增数据后获得了新的模式,需要自动将新的模式添加到知识库的模式层中。对于概念层的更新,需要借助专业团队进行人工审核。

(2)更新的方式

知识图谱的内容更新有2种方式:数据驱动下的全面更新和增量更新。

  • 全面更新:指以更新后的全部数据为输入,从零开始构建知识图谱。这种方式比较简单,但资源消耗大,而且需要耗费大量人力资源进行系统维护。
  • 增量更新:指以当前新增数据为输入,向现有知识图谱中添加新增知识。这种方式资源消耗小,但目前仍需要大量人工干预(定义规则等),因此实施起来十分困难。
编辑于 2020-02-21 18:30