行业知识图谱调查报告(二):知识图谱构建及行业知识图谱构建举例

行业知识图谱调查报告(二):知识图谱构建及行业知识图谱构建举例

相关系列笔记:
行业知识图谱调查报告(一):知识图谱概述
行业知识图谱调查报告(二):知识图谱构建及行业知识图谱构建举例
行业知识图谱调查报告(三):行业知识图谱应用及实践

我自己整理的,有错误或者更好的资料欢迎指正,谢谢大家!!!

二、知识图谱构建

  根据覆盖范围的不同,知识图谱可以区分为应用相对广泛的通用知识图谱和专属于某个特定领域的行业知识图谱:通用知识图谱覆盖范围广,注重横向广度,强调融合更多的实体,通常采用自底向上的构建方式,从开放链接数据(“信息”)中抽取出置信度高的实体,再逐层构建实体与实体之间的联系;行业知识图谱指向一个特定的垂直行业,注重纵向深度,具有丰富的实体属性和数据模式,通常采用自顶向下的构建方式,先定义好本体与数据模式,再抽取实体加入到知识库。知识图谱的构建遵循知识抽取、知识融合、知识加工、知识应用的基本流程。从海量结构化和非结构化数据中进行实体、系、属性和事件的信息提取,通过本体和实体对齐、指代消解解决多种类型的数据冲突问题,完成知识融合。将知识存储到知识库中,最后进行进一步的知识推理和图谱应用。知识图谱的基本构建流程如图3所示。
在这里插入图片描述

图3 知识图谱的基本构建流程

2.1 知识表示与建模

2.1.1 知识表示模型

在这里插入图片描述

图4 基于离散符号的知识表示与基于连续向量的知识表示

  知识表示将现实世界中的各类知识表达成计算机可存储和计算的结构。机器必须要掌握大量的知识,特别是常识知识才能实现真正类人的智能。知识表示技术的变化,大致可以分为三个阶段: 1)基于符号逻辑进行知识表示和推理,主要包括逻辑表示法(如一阶逻辑、描述逻辑)、产生式表示法和框架表示等。逻辑表示与人类的自然语言比较接近,是最早使用的一种知识表示方法; 2)随着语义网概念的提出,万维网内容的知识表示技术逐渐兴起,包括基于标签的半结构置标语言XML、基于万维网资源语义元数据描述框架RDF和基于描述逻辑的本体描述语言OWL等,使得将机器理解和处理的语义信息表示在万维网上成为可能,当前在工业界大规模应用的多维基于RDF三元组的表示方法; 3)随着自然语言处理领域词向量等嵌入(Embedding)技术手段的出现,采用连续向量方式来表示知识的研究(TransE翻译模型、SME、SLM、NTN、MLP,以及 NAM 神经网络模型等)正在逐渐取代与上述以符号逻辑为基础知识表示方法相融合,成为现阶段知识表示的研究热点。更为重要的是,知识图谱嵌入也通常作为一种类型的先验知识辅助输入到很多深度神经网络模型中,用来约束和监督神经网络的训练过程,如图4所示。

  相比于传统人工智能,知识图谱时代基于向量的知识表示方法不仅能够以三元组为基础的较为简单实用的知识表示方法满足规模化扩展的要求,还能够作为大数据分析系统的重要数据基础,帮助这些数据更加易于与深度学习模型集成。

2.1.2 知识表示学习

  知识表示是知识获取与应用的基础,因此知识表示学习问题,是贯穿知识库的构建与应用全过程的关键问题。人们通常以网络的形式组织知识库中的知识,网络中每个节点代表实体(人名、地名、机构名、概念等),而每条连边则代表实体间的关系。然而,基于网络形式的知识表示面临诸多挑战性难题,主要包括如下两个方面:

  (1)计算效率问题。基于网络的知识表示形式中,每个实体均用不同的节点表示。当利用知识库计算实体间的语义或推理关系时,往往需要人们设计专门的图算法来实现,存在可移植性差的问题。更重要的,基于图的算法计算复杂度高,可扩展性差,当知识库规模达到一定规模时,就很难较好地满足实时计算的需求。
  (2)数据稀疏问题。与其他类型的大规模数据类似,大规模知识库也遵守长尾分布,在长尾部分的实体和关系上,面临严重的数据稀疏问题。例如,对于长尾部分的罕见实体,由于只有极少的知识或路径涉及它们,对这些实体的语义或推理关系的计算往往准确率极低。

  近年来,以深度学习为代表的表示学习技术异军突起,在语音识别、图像分析和自然语言处理领域获得广泛关注。表示学习旨在将研究对象的语义信息表示为稠密低维实值向量。在该低维向量空间中,两个对象距离越近,则说明其语义相似度越高。知识表示学习,则是面向知识库中的实体和关系进行表示学习。知识表示学习实现了对实体和关系的分布式表示,它具有以下主要优点:

  (1)显著提升计算效率。 知识库的三元组表示实际就是基于独热表示的。如前所分析的,在这种表示方式下,需要设计专门的图算法计算实体间的语义和推理关系,计算复杂度高,可扩展性差。而表示学习得到的分布式表示,则能够高效地实现语义相似度计算等操作,显著提升计算效率。
  (2)有效缓解数据稀疏。 由于表示学习将对象投影到统一的低维空间中,使每个对象均对应一个稠密向量,从而有效缓解数据稀疏问题,这主要体现在两个方面。一方面,每个对象的向量均为稠密有值的,因此可以度量任意对象之间的语义相似程度。另一方面,将大量对象投影到统一空间的过程, 能够将高频对象的语义信息用于帮助低频对象的语义表示,提高低频对象的语义表示的精确性。
  (3)实现异质信息融合。 不同来源的异质信息需要融合为整体,才能得到有效应用。例如,人们构造了大量知识库,这些知识库的构建规范和信息来源均有不同,例如著名的世界知识库有 DBPedia、 YAGO、 Freebase 等。大量实体和关系在不同知识库中的名称不同。如何实现多知识库的有机融合,对知识库应用具有重要意义。通过设计合理的表示学习模型,将不同来源的对象投影到同一个语义空间中,就能够建立统一的表示空间,实现多知识库的信息融合。此外,当我们在信息检索或自然语言处理中应用知识库时,往往需要计算查询词、句子、文档和知识库实体之间的复杂语义关联。由于这些对象的异质性,在往常是棘手问题。而知识表示学习亦能为此提供统一表示空间,轻而易举实现异质对象之间的语义关联计算。

  知识表示学习是近年来的研究热点,研究者提出了多种模型,学习知识库中的实体和关系的表示。这样主要介绍两种代表方法。

  (1)复杂关系建模

  近期, Bordes 等人受到词向量空间对于词汇语义与句法关系存在有趣的平移不变现象的启发,提出了 TransE 模型,这一模型将知识库中的关系看作实体间的某种平移向量,在大规模知识图谱上效果明显。不过由于 TransE 模型过于简单,导致其在处理知识库的复杂关系时捉襟见肘,为突破 TransE 模型在处理 1-N、 N-1、 N-N 复杂关系时的局限性,研究学者相继提出了让一个实体在不同关系下拥有不同表示、认为不同关系拥有不同语义空间的TransH 模型和 TransR 模型,以及针对这两种模型中矩阵参数过多问题再次改进优化的TransD 模型和 TranSparse 模型。此外,研究学者还提出了利用高斯分布来表示知识库中的实体和关系,可以在表示过程中考虑实体和关系本身语义上不确定性的 TransG 模型和 KG2E模型。在相关数据集合上的实验表明,这些方法均较 TransE 有显著的性能提升,验证了这些方法的有效性。

  (2)关系路径建模

  在知识图谱中,多步的关系路径也能够反映实体之间的语义关系。为了突破TransE 等模型孤立学习每个三元组的局限性,Lin等人提出考虑关系路径的表示学习方法,以 TransE作为扩展基础,提出 Path-based TransE(PTransE)模型。几乎同时,其他研究团队在知识表示学习中也成功考虑了关系路径的建模。PTransE 等研究的实验表明,考虑关系路径能够极大提升知识表示学习的区分性,提高在知识图谱补全等任务上的性能。关系路径建模工作较为初步,在关系路径的可靠性计算、语义组合操作等方面还有很多细致的考察工作需要完成。

  综上,由于知识表示学习能够显著提升计算效率,有效缓解数据稀疏,实现异质信息融合,因此对于知识库的构建、推理和应用具有重要意义,值得广受关注、深入研究。

2.2 知识获取

2.2.1 实体识别与链接

  实体是文本中承载信息的重要语言单位,一段文本的语义可以表述为其包含的实体及这些实体相互之间的关联和交互。实体识别也就成为了文本意义理解的基础。 例如, “26 日下午, 一架叙利亚空军 L-39 教练机在哈马省被 HTS 使用的肩携式防空导弹击落”中的信息可以通过其包含的时间实体“26 号下午”, 机构实体“叙利亚空军”、 “HTS”, 地点实体“哈马省”和武器实体“L-39 教练机”、 “肩携式防空导弹”有效描述。实体也是知识图谱的核心单元, 一个知识图谱通常是一个以实体为节点的巨大知识网络,包括实体、实体属性以及实体之间的关系。例如,一个医学行业知识图谱的核心单元是医学领域的实体,如疾病、症状、药物、医院、医生等。

  命名实体识别是指识别文本中的命名性实体,并将其划分到指定类别的任务。 常用实体类别包括人名、地名、机构名、日期等实体链接主要解决实体名的歧义性和多样性问题,是指将文本中实体名指向其所代表的真实世界实体的任务,也通常被称为实体消歧。例如,给一句话“苹果发布了最新产品 iPhone X”, 实体链接系统需要将文本中的“苹果”与其真实世界所指的“苹果公司”进行对应。

  实体识别与链接是海量文本分析的核心技术,为解决信息过载提供了有效手段。一方面,互联网文本数据的爆炸式增长带来了严重的“信息过载”问题。互联网数据中海量冗余信息、虚假信息和噪音信息导致查找和浏览有用信息变得愈发困难。命名实体识别技术通过将文本结构化为以实体为中心的语义表示,为分析非结构化文本提供了核心技术手段,是实现大数据资源化、知识化和普适化的核心技术,已被广泛应用于舆情监控、网络搜索、智能问答等多个重要领域。

  作为知识图谱的基本单元,实体识别与链接是知识图谱构建和补全的核心技术。人工智能的长久核心目标之一是构建可支撑类人推理和自然语言理解的大规模常识知识库。然而,由于人类知识的复杂性、开放性、多样性和巨大的规模,当前依旧不存在满足上述需求的大规模知识库。实体识别技术检测文本中的新实体,并将其加入到现有知识库中。实体链接技术通过发现现有实体在文本中的不同出现,可以针对性的发现关于特定实体的新知识。实体识别与链接的研究将为计算机类人推理和自然语言理解提供知识基础。

  本节介绍三种统计模型方法中的实体识别与链接

  (1)传统统计模型方法

  实体识别:自 90 年代以来,统计模型一直是实体识别的主流方法。最大熵分类模型、SVM 模型、隐马尔可夫模型、条件随机场模型等统计方法都曾被用来抽取文本中的实体识别,其中的条件随机场模型作为实体识别的代表性统计模型能够将实体识别问题转化为序列标注问题。
  实体链接:实体链接在传统模型中的核心在于挖掘可用于识别提及目标实体相互关联的证据信息,目前主要使用的证据信息包括实体统计信息、名字统计信息、上下文词语分布、实体关联度、文章主题等信息。同时,考虑到一段文本中实体之间的相互关联,相关的全局推理算法也被提出用来寻找全局最优决策。

  (2)深度学习方法

  实体识别:目前存在两类用于命名实体识别的典型深度学习架构,一种是 NN-CRF 架构,在该架构中, CNN/LSTM 被用来学习每一个词位置处的向量表示,基于该向量表示 NNCRF 解码该位置处的最佳标签,第二种是采用滑动窗口分类的思想,使用神经网络学习句子中的每一个 N-Gram 的表示,然后预测该 N-Gram 是否是一个目标实体。
  实体链接:实体链接在深度学习的核心是构建多类型多模态上下文及知识的统一表示,并建模不同信息、不同证据之间的相互交互,通过将不同类型的信息映射到相同的特征空间,并提供高效的端到端训练算法。

  (3)文本挖掘方法

  文本挖掘方法应用于半结构 Web 数据源上的语义知识获取,工作核心是从特定结构(如列表、 Infobox)构建实体挖掘的特定规则,代表性文本挖掘抽取系统包括 DBPedia、 YAGO、BabelNet、 NELL 和 Kylin 等。由于规则本身可能带有不确定性和歧义性,同时目标结构可能会有一定的噪音,文本挖掘方法往往基于特定算法来对语义知识进行评分和过滤。此外,人们发现结构化数据源只包含有限类别的实体,对长尾类别覆盖不足,另一方面,实体获取技术往往采用 Bootstrapping 策略,充分利用大数据的冗余性,开放式的从 Web 中获取指定类型的实体。该部分的代表性的工作包括 TextRunner 系统和 Snowball 系统。开放式实体集合扩展的主要问题是语义漂移问题,近年来的主要工作集中在解决该问题。具体技术包括互斥 Bootstrapping 技术、 Co-Training 技术和 Co-Bootstrapping 技术。

2.2.2 实体关系学习

  关系定义为两个或多个实体之间的某种联系,实体关系学习就是自动从文本中检测和识别出实体之间具有的某种语义关系,也称为关系抽取。关系抽取的输出通常是一个三元组(实体 1,关系,实体 2)。例如,句子“北京是中国的首都、政治中心和文化中心”中表述的关系可以表示为(中国,首都,北京),(中国,政治中心,北京)和(中国,文化中心,北京)。

  关系抽取是知识图谱构建和信息抽取中的一个关键环节,具有重要的理论意义和广阔的应用前景,为多种应用提供重要的支持,主要表现在:
  (1)大规模知识图谱的自动构建。很多互联网应用都需要知识图谱的支撑,这个知识图谱不仅包含 WordNet、 HowNet 等常识知识图谱中的通用语义知识,而且包含百科全书、行业知识图谱中的领域语义知识。如果能把多源异构知识集成为一个大的知识图谱,将可能提高很多互联网应用系统的性能,并开创语义网时代的很多应用。现有的知识图谱如 WordNet、 HowNet 和 CYC 等大多数依靠专家人工编撰。随着互联网的发展,知识呈爆炸式增长,人工构建知识图谱特别是构建行业知识图谱时遇到了很大困难,不仅费时费力,而且存在知识覆盖率低、数据稀疏和更新缓慢等问题。利用关系抽取技术,知识图谱可以根据结构化的抽取结果自动生成。典型的例子有: Freebase、 Yago 和 BDpedia。

在这里插入图片描述

图5 百度搜索引擎对“身高 170 以上的中国射手座明星”查询返回的结果

  (2)为其它信息获取技术提供支持。 1)对信息检索提供支持:可以对复杂的查询进行关联搜索和推理,提供智能检索结果。例如,对于“身高 170 以上的中国射手座明星”,有了关系抽取技术的支持,通过知识图谱构建,就可以通过推理的方法获得结果。图 5 展示了百度搜索引擎对“身高 170 以上的中国射手座明星”查询返回的结果,这个结果的背后就受到大规模知识图谱的支撑。 2)对问答系统提供支持:在问答中,关键步骤是建设一个领域无关的问答类型体系并找出与问答类型体系中每个问答类型相对应的答案模式,这就需要关系抽取技术的支持。

  (3) 自然语言理解。目前深层的语言理解系统在正确率和性能方面还难以令人满意,关系抽取是篇章理解的关键技术,运用语言处理技术可以对文本的核心内容进行理解,因此语义关系抽取的研究将成为从简单的自然语言处理技术到真正的自然语言理解应用之间的一个重要纽带,能改进自然语言处理领域的很多任务的性能,如实体链接和机器翻译等。

  本节从不同维度对现有关系抽取的技术方法和研究现状进行介绍:

  (1)限定域关系抽取和开放域关系抽取
限定域关系抽取是指系统所抽取的关系是预先定义好的,预定义关系个数有限。这类抽取可以抽取语义化的实体关系三元组,方便用于辅助其它任务。开放域关系抽取是指不预先定义关系,由系统自动从文本中发现、抽取关系。由于开放域关系抽取难以抽取语义化三元组,近年来,越来越多的研究者关注限定域关系抽取。
  (2)基于规则的关系抽取和基于机器学习的关系抽取
  所谓基于规则的关系抽取方法是指首先由通晓语言学知识的专家根据抽取任务的要求设计出一些包含词汇、句法和语义特征的手工规则(或称为模式),然后在文本分析的过程中寻找与这些模式相匹配的实例,从而推导出实体之间的语义关系。

  按照机器学习方法对语料库的不同需求大致可分成三大类:无监督关系抽取,有监督关系抽取、弱监督关系抽取无监督关系抽取希望把表示相同关系的模版聚合起来,不需要人工标注的数据。有监督关系抽取使用人工标注的训练语料进行训练。有监督关系抽取目前可以取得最好的抽取效果,但是由于其需要费时费力的人工标注,难以应用到大规模场景。因此有学者提出了利用知识库回标文本来自动获得大量的弱监督数据,目前弱监督关系抽取是关系抽取领域的一大热点。

2.2.3 事件知识学习

  事件(Event)的概念起源于认知科学,广泛应用于哲学、语言学、计算机等领域。遗憾的是,目前学术界对此尚且没有公认的定义,针对不同领域的不同应用,不同学者对事件有不同的描述。在计算机科学的范畴内最常用的事件定义有如下两种:

  • 第一种源自信息抽取领域,最具国际影响力的自动内容抽取评测会议(Automatic Content Extraction, ACE)对其定义为:事件是发生在某个特定时间点或时间段、某个特定地域范围内,由一个或者多个角色参与的一个或者多个动作组成的事情或者状态的改变。
  • 第二种源自信息检索领域,事件被认为是细化的用于检索的主题。美国国防高级计划研究委员会主办的话题检测与追踪(Topic Detection and Tracking, TDT)评测指出:事件是由某些原因、条件引起,发生在特定时间、地点,涉及某些对象,并可能伴随某些必然结果的事情。

  虽然两种定义的应用场景和侧重点略有差异,但均认为事件是促使事物状态和关系改变的条件。目前已存在的知识资源(如维基百科等)所描述实体及实体间的关联关系大多是静态的,事件能描述粒度更大的、动态的、结构化的知识,是现有知识资源的重要补充。此外,很多认知科学家们认为人们是以事件为单位来体验和认识世界的,事件符合人类正常认知规律,如维特根斯坦在《逻辑哲学论》中论述到“世界是所有事实,而非事物的总和”。

  事件是促使事物状态和关系改变的条件,是动态的、结构化的知识。目前已存在的知识资源(如谷歌知识图谱)所描述多是实体以及实体之间的关系,缺乏对事件知识的描述。事件知识学习,就是将非结构化文本中自然语言所表达的事件以结构化的形式呈现,对于知识表示、理解、计算和应用意义重大。知识图谱中的事件知识隐含互联网资源中,包括已有的结构化的语义知识、数据库的结构化信息资源、半结构化信息资源以及非结构化资源,不同性质的资源有不同的知识获取方法。考虑到事件识别和抽取、事件检测和追踪两个任务的处理对象、着眼点和技术路线的差异,本章节对其主流方法和现状分别进行梳理。

  (1)事件识别和抽取

  根据抽取方法,事件抽取可以分为基于模式匹配的事件抽取和基于机器学习的事件抽取。基于模式匹配的事件抽取方法是指对某种类型事件的识别和抽取是在一些模式的指导下进行的,模式匹配的过程就是事件识别和抽取的过程。采用模式匹配的方法进行事件抽取的过程一般可以分为两个步骤:模式获取和模式匹配。模式准确性是影响整个方法性能的重要因素,按照模式构建过程中所需训练数据的来源可细分为基于人工标注语料的方法和弱监督的方法。

  基于机器学习的事件抽取方法建立在统计模型基础上,一般将事件抽取建模成多分类问题,因此研究的重点在于特征和分类器的选择。根据利用信息的不同可以分为基于特征、基于结构和基于神经网络三类主要方法。

  基于特征的方法:研究重点在于如何提取和集成具有区分性的特征,从而产生描述事件实例的各种局部和全局特征,作为特征向量输入分类器。该类方法多用于阶段性的管道抽取,即顺序执行事件触发词识别和元素抽取。
  基于结构的方法:将事件结构看作依存树,抽取任务则相应地转化为依存树结构预测问题,触发词识别和元素抽取可以同时完成。
  神经网络的方法:利用卷积神经网络模型抽取特征来完成两阶段的识别任务以便更好地考虑事件内部结构和各个元素间的关系。将联合抽取模型与 RNN 相结合,利用带记忆的双向 RNN 抽取句子中的特征,并联合预测事件触发词和事件元素,进一步提升了抽取效果。

  (2)事件检测和追踪

  基于相似度的方法首先需要定义相似度度量,而后基于此进行聚类或者分类。 Yang 等提出在 TDT 中用向量空间模型(Vector Space Model,VSM)对文档进行表示,并提出了组平均聚类(Group Average Clustering,GAC)和单一通过法(Single Pass Algorithm, SPA)两种聚类算法。GAC 只适用于历史事件发现,它利用分治策略进行聚类。SPA 可以顺序处理文档并增量式产生聚类结果,能同时应用于历史事件发现和在线事件发现。

  概率统计方法通常使用生成模型,由于需要大量数据的支持,所以这种方法更加适用于历史事件检测。对比基于相似度聚类的模型,这类模型虽然复杂,但当数据量充足时,通常可以取得更高的准确率。基于概率的方法是目前 TDT 中的研究热点,主要分成两个方向,一是针对新闻等比较正式的规范文档,另一个则用于不规则或没有规律的非规范文档。

  (3)事件知识库构建

  已有知识图谱,如 DBpedia,YAGO和Wikidata 等均侧重于实体的客观属性及实体间的静态关联,缺乏结构化的事件数据。事件知识学习的最终目的就是从非结构化的文本数据中抽取结构化的事件表示,构建事件知识库弥补现有知识图谱的动态事件信息缺失问题。目前事件知识库构建的研究处于起步阶段,基础就是上述两方面研究,基于句子级的事件抽取和文档级的事件发现。

2.3 知识图谱查询与推理计算

2.3.1 知识存储和查询

  简单地说,“知识图谱”就是以图(Graph)的方式来展现“实体”、实体“属性”,以及实体之间的“关系”。目前知识图谱普遍采用了语义网框架中 RDF(Resource Description Framework,资源描述框架)模型来表示数据。语义网是万维网之父蒂姆·伯纳斯-李( Tim Berners-Lee)在 1998 年提出的概念,其核心是构建以数据为中心的网络,即 Web of Data;这是相对于我们目前的万维网是Web of Pages 而提出的。语义网的核心是让计算机能够理解文档中的数据,以及数据和数据之间的语义关联关系,从而使得机器可以更加智能化地处理这些信息。因此我们可以把语义网想象成是一个全球性的数据库系统,也就是我们通常所提到的Web of Data。

  RDF 是用于描述现实中资源的 W3C 标准。它被设计为提供一种描述信息的通用方法,这样就可以被计算机应用程序读取并理解。现实中任何实体都可以表示成 RDF 模型中的资源,比如图书的标题、作者、修改日期、内容以及版权信息。资源以唯一的 URI(统一资源标识——Uniform Resource Identifiers,通常使用的 URL 是它的一个子集)来表示,不同的资源拥有不同的 URI。这些资源可以用来作为知识图谱中对客观世界的概念、实体和事件的抽象。
在这里插入图片描述
图6 示例 RDF 资源

  图6 给出了一个 RDF 数据实体示例,用来表示现实中一个著名欧洲哲学家亚里士多德(Aristotle)。在 RDF 数据模型中,亚里士多德就能通过亚里士多德头像上方所示的 URI 来进行唯一标识。客观世界的概念、实体和事件很多都是有属性。图 6 中亚里士多德头像下方给出的属性和属性值描述了亚里士多德这个资源所对应的人的名字是“亚里士多德”。此外,客观世界中不同概念、实体和事件相互之间可能会有各种关系,所以RDF模型中不同资源之间也是会存在关系。比如,图 6给出了亚里士多德和另一个表示希腊城市卡尔基斯(Chalcis)所对应的资源通过一个placeOfDeath关系连接了起来,描述了亚里士多德死于卡尔基斯这个事实。

  利用这些属性和关系,很多资源就被连接起来形成了 RDF 数据集。每个资源的一个属性及属性值,或者它与其他资源的一条关系,都被称为一条知识。上述属性以及关系就能表示成三元组。每一条三元组又可被称为一条陈述。一条陈述包含三个部分,通常称之为主体、谓词和宾语。其中主体一定是一个被描述的资源。谓词可以表示主体的属性,或者表示主体和宾语之间某种关系。当谓词表示属性时,宾语就是属性值,通常是一个字面值;否则,宾语是另外一个资源。

  图7 的展示了一个著名 RDF 数据集 DBpedia的片段。这个片段中包括 15 条陈述,描述了欧洲哲学家 Aristotle (亚里士多德)和 Boethius(波伊提乌)所对应的资源及其相关陈述。
在这里插入图片描述
图7 示例 RDF 三元组

  面向 RDF 数据集,W3C 提出了一种结构化查询语言SPARQL[W3C, 2013];它类似于面向关系数据库的查询语言SQL。和SQL一样,SPARQL也是一种描述性的结构化查询语言,即用户只需要按照 SPARQL定义的语法规则去描述其想查询的信息即可,不需要明确指定如何进行查询的计算机的实现步骤。2008 年1月,SPARQL成为W3C的正式标准。对于一个SELECT语句中,SELECT 子句指定查询应当返回的内容,FROM 子句指定将要使用的数据集,WHERE 子句由一组三元模式组成,以指定所返回的 RDF 知识图谱数据片段需要满足的模式。
在这里插入图片描述

图8 示例基本图模式查询

  图8(a)给出了一个针对哲学家的 SPARQL 查询,目标在于查询出所有“受过亚里士多德影响的伦理学相关的哲学家”。这个查询在图8所示 RDF 数据集上所对应的匹配如图8(b)所示,即“受过亚里士多德影响的伦理学相关的哲学家”有波伊提乌(Boethius)。

  我们也可以将 RDF 数据分别表示成图的形式。在这个图中,每个 RDF 资源或者 RDF 数据集中出现过的字符串可以被视为图上的点,每个三元组可以视为连接主体及客体的有向边,而三元组中的谓词就可以视为有向边上的标签。从语义角度上看, RDF 数据本质上就是通过预先定义的语义构成的一个或多个连通图。Bonstrom等人提出,相比于将 RDF 数据视为 XML格式数据或三元组的集合, RDF 的图模型包含了 RDF 数据中涵盖的语义信息。

  图9展示了图7所示RDF知识图谱数据集所对应的RDF数据图。图9中所有的资源都是椭圆,而文本点都是矩形点。
在这里插入图片描述
图9 示例 RDF 数据图

  与 RDF 数据的图形式表示类似,一个 SPARQL 查询可以表示为一个查询图。查询中每个变量或者常量对应一个查询图上的点,每个 WHERE 子句中的三元模式对应一条边。图10 给出了一个图8(a)所示基本图模式查询所对应的查询图,用以查询 RDF 数据图上所有“受过亚里士多德影响的伦理学相关的哲学家”。
在这里插入图片描述

图10 示例 SPARQL 查询图

  现有RDF数据存储与查询的基本问题就是:给定一个RDF数据集G和SPARQL查询Q,找出Q在G上的匹配。当 RDF 数据和SPARQL查询都转化成图的形式,SPARQL 查询语句的查询结果就是其所对应的查询图在RDF数据图上的子图匹配。

2.3.2 知识推理

  知识推理从给定的知识图谱推导出新的实体跟实体之间的关系。知识图谱推理可以分为基于符号的推理和基于统计的推理。在人工智能的研究中,基于符号的推理一般是基于经典逻辑(一阶谓词逻辑或者命题逻辑)或者经典逻辑的变异(比如说缺省逻辑)。基于符号的推理可以从一个已有的知识图谱推理出新的实体间关系,可用于建立新知识或者对知识图谱进行逻辑的冲突检测。基于统计的方法一般指关系机器学习方法,即通过统计规律从知识图谱中学习到新的实体间关系。知识推理在知识计算中具有重要作用,如知识分类、知识校验、知识链接预测与知识补全等。

  (1)基于符号的并行知识推理

  基于多核、多处理器技术的大规模推理:单机环境下的并行技术以共享内存模型为特点,侧重于提升本体推理的时间效率,适用于对于实时性要求较高的应用场景,这种方法成为首选。对于表达能力较低的语言,比如 RDFS、 OWL EL,单机环境下的并行技术显著地提升了本体推理效率。
  基于分布式技术的大规模推理:基于分布式技术可以突破大规模数据的处理界限,这种方法利用多机搭建集群来实现本体推理,很多工作基于 MapReduce 的开源实现设计提出了大规模本体的推理方法,其中较为成功的一个尝试是 Urbani 等人在 2010 年公布的推理系统WebPIE,在大集群上可以完成上百亿的 RDF 三元组的推理,利用 MapReduce 来实现 OWLEL 本体的推理算法证明 MapReduce 技术同样可以解决大规模的 OWL EL 本体推理并在后续工作中进一步扩展,从而使得推理可以在多个并行计算平台完成。

  (2) 链接预测

  基于表示学习的方法:知识图谱表示学习旨在于将知识图谱中的实体与关系统一映射至低维连续向量空间,以刻画它们的潜在语义特征。通过比较实体与关系在该向量空间中的分布式表示,可以推断出实体和实体之间潜在的关系。
  基于图特征的方法:基于图特征的方法借助从知识图谱中抽取出的图特征来预测两个实体间可能存在的不同类型的边(关系)。例如,根据两个实体“姚明”和“叶莉”在知识图谱中的联通路径可以预测出他们之间大概率具备“配偶”关系。

  (3)模式归纳方法

  基于 ILP 的模式归纳方法:基于 ILP 的方法进行本体学习的早期工作给出了很好的综述。 Jens Lehmann 等提出用向下精化算子学习 ALC 的概念定义公理的方法,并在后续工作中将原有方法扩展到处理大规模知识库上。相关的算法都在本体学习工具 DL-Learner 中得到实现,并且在工作中得到进一步扩展,涉及到框架的设计和可扩展性的提升等方面。基于关联规则挖掘的模式归纳方法:利用谓词偏好因子度量方法以及谓词语义相似度学习相反和对称公理;利用模式层信息给规则的挖掘提供更多的语义;对传统关联规则挖掘技术进行了改进,事务表中用 0 到 1 之间的一个实数代替原来的 0 或者 1,使得提出的方法更符合语义数据开放的特点。
  基于机器学习的模式归纳方法:利用聚类的算法学习关系的定义域和值域;应用统计的方法过滤属性的使用,并找出准确、健壮的模式,用于学习属性的数量约束公理。

  随着知识图谱研究的深入,研究人员发现知识图谱在各种应用中存在以下质量问题:

  第一个问题是知识图谱的不完备性,即知识图谱中的关系缺失或者属性缺失,例如人物的职业信息缺失。 这个问题可能是因为构建知识图谱的数据本身就是不完备的, 也可能是信息抽取算法无法识别到一些关系或者抽取到属性值。
  第二个问题是知识图谱中存在错误的关系,如人物知识图谱中可能包含错误的人物关系。 这个问题可能是因为构建知识图谱的数据有错误,也可能是因为知识图谱构建时采用了统计方法,而统计方法很难保证学习的知识是绝对正确的。

  这两个问题对于智能问答等应用来说有较大影响,对于问答来说,前者会导致提出的问题没有答案, 而后者会导致系统给出的答案是错误的。为了解决这两个问题,就需要对知识图谱的推理进行研究。知识图谱的推理指的是从给定的知识图谱推导出新的实体跟实体之间的关系,可以粗略地分为基于符号的推理和基于统计的推理。在人工智能的研究中,基于符号的推理一般是基于经典逻辑(一阶谓词逻辑或者命题逻辑) 或者经典逻辑的变异(比如说缺省逻辑)。基于符号的推理一般是通过规则或者本体从一个已有的知识图谱推理出新的实体间关系,从而有助于解决第一个问题;而且基于符号的推理可以对知识图谱进行逻辑的冲突检测,从而有助于解决第二个问题。基于统计的方法一般指关系机器学习方法,即通过统计规律从知识图谱中学习到新的实体间关系,从而处理第一个问题; 并且对新学到的关系进行评分,去掉那些可能错误的关系从而处理第二个问题。

  知识图谱之所以被认为是实现人工智能的一个重要研究方向,是因为知识图谱上的推理使之能够支撑人工智能的很多应用,而这也是知识图谱区别于传统关系数据模型的关键所在。如上所述,基于符号的推理包括基于本体的推理和基于规则的推理两种,前者包括概念的定义和分类,以及概念中实例的推断等推理,后者考虑的是将规则应用于图谱,实现图谱上新的关系推断以及基于图谱的决策支持。基于符号的推理被广泛用于生物医学中术语定义和概分类、电商数据的不一致检测和查询重写以及智能问答中的知识扩充等。基于统计的推理包括模式归纳和实体关系学习,前者考虑的是从知识图谱中挖掘概念的关系,后者考虑的是通过统计方法推断出两个实体之间的关系。模式归纳用于构建知识图谱的模式知识,提供概念之间的上下文关系和关系的定义域与值域,模式知识可以用于符号逻辑推理,也可以用于知识图谱的构建。实体关系学习对于知识图谱的补全有很大作用,可以用于智能问答等知识图谱的应用。

三、行业知识图谱构建基本流程——以明略科技为例

3.1 行业知识图谱构建的关键步骤

  尽管数据可能有各种各样的形式和来源,但行业知识图谱构建可以抽象成为几个关键的步骤,包括图谱建模、数据接入、图谱映射、图谱元素抽取、图谱融合

  例如,一张表格中有人的信息、户口的信息。假设需要定义人物关系、亲属关系这类图谱模型,需从表格数据里读取相关信息,把不同的数据列映射到图谱模式的属性,根据这个映射,从数据源抽取数据,形成实体关系结果。从不同数据源抽取的数据,可能会存在相同的元素,比如,有两个叫张三的人,要考虑进行数据融合,保障图谱的融合统一性。

  (1) 图谱建模与数据接入

  图谱建模是非常关键的环节,与业务紧密相关,往往需要结合客户的特定业务场景去定义图谱中需要包含哪些实体属性和关系类型。

  一般是采取了界面化的方式,简化图谱建模,快速定义图谱结构。

知识图谱构建涉及两大数据类型,结构化和非结构化数据。

  对于结构化数据来说,明略科技认为一个端到端的图谱构建工具,需要满足一些基本要求:

  • 首先,能够对接各种各样的结构化数据源。因为数据会有各种各样的数据质量问题,所以这个工具应该具备很灵活的数据清洗和标准化的能力。
  • 其次,具备高效、灵活、便捷的图谱映射和融合功能
  • 第三,具备支持增量流式图谱构建的能力

  因此,基于以上原则打造了图谱构建工具,解决数据清洗问题,用户可进行二次开发和拓展,以及最细粒度的字段级融合策略的定义。

  在行业知识图谱落地过程中,虽然结构化数据占了大部分的数据来源,但文本这类非结构化数据是对结构化数据的重要补充,从文本构建知识图谱,一些常见技术包括命名实体识别、关系抽取、指代消解、实体链接等。比如,张某某一天在北京盗取了一辆车。可通过命名实体识别出有没有实体词、地域、车等,通过关系抽取建立实体词之间的关联,指代消解和实体链接,则能将提取出来的实体词进行标准化,反映到实体。

  对于文本数据而言,不缺数据,但缺标注数据,是行业知识图谱落地过程中的普遍现状。而处理所需的 NLP 技术需要模型支撑,所以能否提供模型是一个很大的问题。针对这个问题,研发了一款高效的文本标注工具是必要的,可以帮助借助规则以及机器学习、深度学习等技术,加速标注过程。在过程中,可以积累训练的语料,以及通过主动学习的方式,不断提高训练出来的模型的准确率。

  (2) 图谱映射

  在构建图谱过程中,很多时候需要从成百上千张源表数据中构建图谱。一张源表与图谱模型是多对多的关系,如果缺乏一个高效自动化工具,图谱映射效率低下且故障百出。企业可以为客户提供规则技术,保障同样的一个源表在映射过程中只配置一次映射规则,提高映射效率。然后数据分别经过批式和流式的过程处理,成为实体关系数据,最后存储到数据库。

  (3) 图谱元素抽取与图谱融合

  当从不同的表中抽取图谱数据时,必须考虑数据融合的问题。比如,两张表里面都抽取出来同样的一个人的数据,要考虑这两个人的数据是不是存在可融合的部分。融合的方法需要考虑数据属性,是否有重合的部分,重合的部分如何融合。
比如,表 A、表 B 都有年龄属性,两者的年龄属性并不一样,绰号属性也不一样。

  对于年龄属性来说,一般选取一个比较准确的值,这时就需决定表 A、表 B 哪一个更优先,配置表级和字段级的优先顺序。

  对于绰号属性来说,客户需要往往保存所有的内容去辅助更广泛的分析,所以需要定义融合的策略,比如,合并。此外客户还很关注图谱数据的一个数据来源是什么,所以在图谱构建过程中也会保留数据的来源信息。

3.2 行业知识图谱的自动构建

  对于终端用户的图谱构建需求,一般会开发了自动图谱构建工具,将一些中间构建过程自动化。

  比如,用户可以上传一个通话的记录数据表,通过自动映射数据列到图谱模型元素,加速映射过程。用户只需要确认最终映射的结果是否合理,实现图谱的自动构建及入库。

  这样,可以通过结合各种相似度的计算方式,分别针对数据的表头、数据的内容以及最后这两种相似度计算的方式进行加权融合,得到识别出来的数据实体属性,实体的唯一标识。然后在技术上结合实体的 ID 属性、图谱模型,判断覆盖率情况,选择最合理、最可能的实体类型,或者关系类型进行输出。

  另外,利用 Raptor 标注工具得到的训练语料和模型,可以很方便的做到自动化构建。

  • 首先,我们可以把文本中的实体关系抽取出来。
  • 其次,还可以把多个文本中的实体,进行相同实体绑定,从而关联多个文本的图谱。
  • 最后,把文本的实体关系与知识库的实体关系关联起来,实现全图谱的融合。

  整个过程,从实体识别开始,到句法分析、指代消解,再将多个子句拆分进行关系抽取和实体链接,在系统默认情况下,会内置十几种实体类型的自动识别。结合现场标注的一些数据和训练模型,可以进一步扩展可支持的实体类别。

  关系抽取是从提取侯选实体对开始,利用定义好的图谱模型以及关系分类算法,进行关系分析,输出初步的关系三元组。因为我们使用的是比较简洁的属性图模型,所以还需要通过将三元组转换为属性图结果得出最终的关系数据。

  对于实体链接,会根据待链接实体词从数据库中查询候选实体,然后根据侯选实体及其周边的关联实体,与待链接实体所在的文本进行相似度计算,得出侯选实体的排序推荐,用户再进行最终的选择确认。

3.3 大规模行业知识图谱的存储与计算

  我们认为,行业知识图谱的存储需要满足几点基本要求:

  • 首先,自主可控。行业知识图谱,需要及时为客户提供技术响应和支持,可以通过结合开源和自研软件的方案来解决这一问题。
  • 第二,分布式和可扩展。明略科技采用 HBase 作为底层一个基本存储组件,ElasticSearch 作为索引的基本组件。
  • 第三,高性能和高可用。一般可以以图数据库为中心,考虑行业数据的具体情况,根据场景设计存储架构,并且针对特定场景做了性能优化。
  • 最后,多图谱的管理。行业知识图谱,往往不只是一个图谱,而是会根据不同的部门或者业务场景构建多个图谱,因此必须考虑多个图谱的管理需求。

  为了满足以上基本要求,可以构建的是一个基于混合存储架构的知识图谱数据库。

  第一要考虑的,图数据库的选型,最初开源方案并不多,后来才进入 JanusGraph 项目。当然也可以选择 JanusGraph 项目,因为它的功能比较丰富成熟,能跟大数据体系有很好的兼容(比如以 HBase 作为底层存储),另外社区生态也发展得很好。
  第二,可以使用基于 HBase 作为底层存储和 ES 作为索引组件,HBase 是开源的一个非常好的生态项目。在应对检索需求时,并没有直接使用 JanusGraph 自带的 ES 查询检索功能,而是单独使用 ES 封装检索服务定义特定的索引结构,提供检索功能以满足我们图谱的丰富应用需求。
  第三,存储组件是 Phoenix,可以用来存储“事件”这一种图谱数据类型。
  第四,整个存储层抽象了一套数据接口层,用于对接客户事先已采购的数据库,保障计算层、应用层不受影响。

  在计算层,能够提供 OLTP 和 OLAP 计算能力。OLTP 的计算,通过 RPC 的 API 接口和标准的 Gremlin 接口,提供在线数据服务。OLAP 计算可提供 Tinkerpop 的 Graph Computer 计算,以及使用 GraphX 图计算算法进行全图的挖掘计算。

  在落地过程中,可能也遇到了很多图数据库方面的问题。

  第一,读图效率

  在分布式导入性能方面,JanusGraph 它自己的 bulkload 并不是特别友好,需要用户事先定义好点的 ID,所以可以自己开发了一个分布式工具,以 HBase 作为底层存储,通过 bulkload 的方式提高导入的效率,测试表明bulkload 的版本,相比于普通的分布式导入程序,有十几倍的性能提升。
  在查询功能方面,利用 HBase 底层的接口,优化 JanusGraph 里面的点边查询功能,并且可以研发了自己的算法,比如,全路径的关系推演接口。同时也扩展了图数据库存储的一些功能,比如,批量数据统计、数据删除的功能。
  在图计算方面,通过探索过 tinkerpop 的一些功能,发现算法效率比较低,而且 tinkerpop 本身的算法非常有限,也不好扩展;可以通过直接对接 JanusGraph 这个存储,生成 GraphX 的 Graph 进行图计算,以 pagerank 为例,相较于 tinkerpop 有很明显的性能提升。而且这样的方案有一个好处,在图计算时,相比于去读取原始的数据进行图计算,使用的是最统一融合的图谱存储,作为图计算的输入,从而避免数据一致性的问题。

  第二,时序关联数据的存储

  很多行业客户数据存在时序的关联数据,比如,一个人的行为轨迹,交易流水。这类数据如果直接存储到图数据库,会形成很多大量的超级点(Super node),大大影响图谱的查询效率,所以采取的方式是,把数据分两层存储。比如,两个人是否存在交易的关系,这类汇总的关联信息,依然存在图数据库,而对于明细的交易数据,则存在 Phoenix,通过 Phoenix 灵活的索引实现复杂的多维分析和挖掘功能。
  在落地过程中,原始数据可能会发生修改和删除,在图谱构建完之后,同样会存在实体和关系数据被修改或删除的情况。一种方式是直接把修改删除的效果反映到图谱。但由于很多行业客户需要保留历史信息和状态,以便回溯进行历史分析,所以可以研发了图谱的历史版本数据管理功能。在方案考虑上,如果基于传统数据库的方案,存储空间占用冗余,且无法实现细粒度的历史版本管理。另外一种方式是把每个状态当作一个点存储,这样每个实体不同的历史时间的状态都是不同的点。这种方案会使图谱结构变得非常复杂,查询效率也会受影响。所以选择的是把最新版本和历史版本分开存储。
  90% 的情况下访问的是最新版本的数据,只需单独访问最新版本的数据即可,如需获取历史版本信息,可单独访问历史版本存储。这样可以实现在线即时记录历史状态变更,有选择性地保存历史信息,也不会出现过度的空间损耗。基于分布式存储,可以实现大规模无限制的历史数据存放。此外,这个方案还能实现图谱数据的回滚和错误恢复。

  第三,隐性关系计算

  在图谱计算方面,除了前文提到的 GraphX 图计算工作之外,在行业知识图谱里面还遇到了很常见的一种需求,即隐性关系的计算。一般方式构建的知识图谱中的关系,是显性关系。显性关系是很显然的关系,可以直接得到;而隐性关系需要经过复杂计算才可以得到。
  结合了客户的业务知识,将业务知识放到明略科技研发的一套关系计算 DSL 中,通过 spark 进行分布式的全图关系计算。
  在公安领域的团伙挖掘业务中,用户希望在隐性关系的挖掘过程中,通过调整参数,不断验证自己的想法,所以发了一个在线关系计算功能,让用户应用单一轨迹,或多种轨迹,生成在线关系结果,也便于用户沉淀业务知识和经验,进行分享。

  第四,图谱深度分析

  通过图谱直接展示一些简单的关系扩展,远远不足以产生更深度价值,所以开发了一个知识图谱网络深度分析工具。通过一些条件,比如属性、关系或者事件,得到初步的实体结果,称之为群体。通过群体拓扑分析,得到多个子图,应用中心度等算法挖掘核心成员,或者新的成员,还可以针对挖掘出来的子图进行实时虚拟关系计算,帮助用户做辅助分析。
  此外,知识图谱本身是一种很好的标签系统,比如,数据属性,包括性别、民族等,就是一种标签,可以基于知识图谱这种属性作为标签体系,进行统计画像。也可以基于实体的轨迹信息进行轨迹画像。

参考文献

[1] 知识图谱发展报告[R].北京:中国中文信息学会语言与知识计算专委会,2018.08.
[2] 人工智能之知识图谱[R].北京:清华大学人工智能研究院,2019.01.
[3] 面向人工智能“新基建”的知识图谱行业白皮书[R].北京:认知智能重点实验室&艾瑞咨询研究院2020.11.
[4] 公安知识图谱标准与白皮书[R].北京:中国电子技术标准化研究院,2019.08.
[5] Bordes A, Glorot X, Weston J, et al. Joint learning of words and meaning representations for open-text semantic parsing[C], in Proceedings of AISTATS 2012, 127-135.
[6] Lin Y, Liu Z, Luan H, Sun M, Rao S, Liu S. Modeling Relation Paths for Representation Learning of Knowledge Bases[C], in Proceedings of EMNLP 2015.
[7] Yang Y, Carbonell J G, Brown R D, et al. Learning approaches for detecting and tracking news events. IEEE Intelligent Systems and Their Applications, 1999, 14(4):32–43.
[8] Valerie Bonstrom, Annika Hinze, Heinz Schweppe. Storing RDF as a Graph.In Proceedings of LA-WEB’2003. pp.27-36.
[9] Jacopo Urbani, Spyros Kotoulas, Jason Maassen, Frank van Harmelen, Henri E. Bal: OWL Reasoning with WebPIE: Calculating the Closure of 100 Billion Triples. Proceedings of the Extended Semantic Web Conference (ESWC 2010), 180-195, 2010.
[10] Jens Lehmann: DL-Learner: Learning Concepts in Description Logics. Journal of Machine Learning Research 10: 2639-2642 (2009)
[11]许闲.保险行业知识图谱构建之初探[J].上海保险,2019(11):16-18.
[12]王昊奋,丁军,胡芳槐,王鑫.大规模企业级知识图谱实践综述[J].计算机工程,2020,46(07):1-13.
[13]赵紫英,张化军,刘振业.基金行业知识图谱的构建与应用[J].金融纵横,2020(08):9-15.
[14]刘烨宸,李华昱.领域知识图谱研究综述[J].计算机系统应用,2020,29(06):1-12.
[15]郄楠,侯鸿志,李烨.以知识图谱为核心的保险行业人工智能解决方案[J].人工智能,2020(06):44-53.
[16] 时空中的金融科技, 白硕. 理深科技时评. 2016.
[17]关于“智能投顾”的技术和业态浅析,白硕.《金融电子化》,2016(9):18-20.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南有芙蕖

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值