0efe4c48edc1357f7d59c31c97f0ea26.png

导读:

知识图谱主要技术包括知识获取、知识表示、知识存储、知识建模、知识融合、知识理解、知识运维等七个方面

7643d1fe8dec7336c3395e47930ce59f.png

知识图谱主要技术包括知识获取、知识表示、知识存储、知识建模、知识融合、知识理解、知识运维等七个方面,通过面向结构化、半结构化和非结构化数据构建知识图谱为不同领域的应用提供支持,具体的技术架构如图4.1所示。

ba981f611402dcff0acedcf65cbafbd2.png

一、知识获取

知识图谱中的知识来源于结构化、半结构化和非结构化的信息资源,如图4.2所示。通过知识抽取技术从这些不同结构和类型的数据中提取出计算机可理解和计算的结构化数据,以供进一步的分析和利用。知识获取即是从不同来源、不同结构的数据中进行知识提取,形成结构化的知识并存入到知识图谱中。当前,知识获取主要针对文本数据进行,需要解决的抽取问题包括:实体抽取、关系抽取、属性抽取和事件抽取。

47a25fd3a6cbd2e3a7a3f50cbbcfc8c9.png

知识获取作为构建知识图谱的第一步,通常有以下四种方式:众包法、爬虫、机器学习、专家法。


众包法:允许任何人创建、修改、查询的知识库,就是常说的众包模式,百度百科,维基百科就是典型的例子。此类场景下知识库存储的不是大量的杂乱的文本,而是机器可读,具有一定结构的数据格式(以百度某词条为例)。现代通过众包法建立的知识图谱如谷歌和百度的知识图谱都已经包含超过千亿级别的三元组,阿里巴巴于2017年8月份发布的仅包含核心商品数据的知识图谱也已经达到百亿级别。

爬虫:网页开发者将网页中出现的实体、实体属性、关系按照某种规则做上标记,Google、百度等搜索引擎通过爬虫就能获取到这些数据,从而达到知识图谱数据积累。当前不同语言的爬虫框架有不少,例如python的Scrapy,java的WebMagic等,通过简单的配置即可完成爬虫的规则定义、爬取、清洗、去重、入库等操作,从而获取知识。

机器学习:通过机器学习将数据变成了可理解的知识,例如通过文本分类、主题模型等机器学习模型,可以获取文本的特征,而这些特征就可以理解为知识。

专家法:专家法通常用于垂直领域的工程实践,通过专家的经验,归纳总结后形成知识,例如在知识图谱中的事件图谱通常是由专家的经验形成的。

二、知识表示

知识是人类在认识和改造客观世界的过程中总结出的客观事实、概念、定理和公理的集合。知识具有不同的分类方式,例如按照知识的作用范围可分为常识性知识与领域性知识。知识表示是将现实世界中存在的知识转换成计算机可识别和处理的内容,是一种描述知识的数据结构,用于对知识的一种描述或约定。知识表示在人工智能的构建中具有关键作用,通过适当的方式表示知识,形成尽可能全面的知识表达,使机器通过学习这些知识,表现出类似于人类的行为。知识表示是知识工程中一个重要的研究课题,也是知识图谱研究中知识获取、融合、建模、计算与应用的基础,如图4.3所示。

57f4697a8b52ddda0fb35a9149aafeb0.png

知识表示方法主要分为基于符号的知识表示方法与基于表示学习的知识表示方法。

1、基于符号的知识表示方法基于符号的知识表示方法分为早期知识表示方法与语义网知识表示方法。其中,早期的知识表示方法包括一阶谓词逻辑表示法、产生式规则表示法、框架表示法与语义网络表示法。

(1)一阶谓词逻辑表示法

基于谓词逻辑的知识表示方法,通过命题、逻辑联结词、个体、谓词与量词等要素组成的谓词公式描述事物的对象、性质、状况和关系。一阶谓词逻辑表示法以数理逻辑为基础,表示结果较为精确,表达较为自然,形式上接近人类自然语言。但是也存在表示能力较差,只能表达确定性知识,对于过程性和非确定性知识表达有限的问题。

(2)产生式规则表示法

上世纪40年代,逻辑学家Post提出了产生式规则表示。根据知识之间具有因果关联关系的逻辑,形成了“IF-THEN”的知识表示形式,该形式是早期专家系统常用的知识表示方法之一。这种表示方法与人类的因果判断方式大致相同,直观,自然,便于推理。除此之外,产生式规则表示法知识的表达范畴较广,包括确定性知识,设置置信度的不确定性知识,启发式知识与过程性知识。但是产生式规则表示法由于具有统一的表示格式,当知识规模较大时,知识推理效率较低,容易出现组合爆炸问题。

(3)框架表示法

20世纪70年代初,美国人工智能专家M.Minsky提出了一种用于表示知识的“框架理论”。来源于人们对客观世界中各种事物的认识都是以一种类似框架的架构存储在记忆中的思想,形成了框架表示法。框架是一种通用数据结构,用于存储人们过去积累的信息和经验。在框架结构中,能够借助过去经验中的概念分析和解释新的信息情况。在表达知识时,框架能够表示事物的类别、个体、属性和关系等内容。框架结构一般由“框架名-槽名-侧面-值”四部分组成,即一个框架由若干各个槽组成,其中槽用于描述所论事物某一方面的属性;一个槽由若干个侧面组成,用于描述相应属性的一个方面,每个侧面拥有若干值。框架具有继承性、结构化、自然性等优点,但复杂的框架构建成本较高,对知识库的质量要求较高,同时表达不够灵活,很难与其他的数据集相互关联使用。

(4)语义网络表示法

1960年,认知科学家AllanM.Collins提出了语义网络(SemanticNetwork)的知识表示方法。语义网络是一种通过实体以及实体间语义关系表达知识的有向图。在图中,节点表示事物、属性、概念、状态、事件、情况、动作等含义,节点之间的弧表示它所连接的两个节点之间的语义关系,根据表示的知识情况需要定义弧上的标识,一般该标识是谓词逻辑中的谓词,常用的标识包括实例关系、分类关系、成员关系、属性关系、包含关系、时间关系、位置关系等。语义网络由语义基元构成,语义基元可通过三元组(节点1,弧,节点2)描述,语义网络由若干个语义基元及其之间的语义关联关系组成。语义网络表示法具有广泛的表示范围和强大的表示能力,表示形式简单直接、容易理解、符合自然。然而语义网络存在节点与边的值没有标准,完全由用户自己定义,不便于知识的共享问题、无法区分知识描述与知识实例等问题。

2、基于表示学习的知识表示方法

早期知识表示方法与语义网知识表示法通过符号显式地表示概念及其关系。事实上,许多知识具有不易符号化、隐含性等特点,因此仅通过显式表示的知识无法获得全面的知识特征。此外,语义计算是知识表示的重要目标,基于符号的知识表示方法无法有效计算实体间的语义关系,如图4.4和4.5所示。

8754cae387134a8ac09a492548e08c0b.png

三、知识存储

知识存储是针对知识图谱的知识表示形式设计底层存储方式,完成各类知识的存储,以支持对大规模图数据的有效管理和计算。知识存储的对象包括基本属性知识、关联知识、事件知识、时序知识和资源类知识等。知识存储方式的质量直接影响到知识图谱中知识查询、知识计算及知识更新的效率。

从存储结构划分,知识存储分为基于表结构的存储和基于图结构的存储,如图4.6所示

4fbb7dab46c0b9aff4b701201731be76.png

四、知识融合

知识融合的概念最早出现在1983年发表的文献[HOLSAPPLEC,etal,1983]中,并在20世纪九十年代得到研究者的广泛关注。而另一种知识融合的定义是指对来自多源的不同概念、上下文和不同表达等信息进行融合的过程[维基百科]。[A.Smirnov,etal,2002]认为知识融合的目标是产生新的知识,是对松耦合来源中的知识进行集成,构成一个合成的资源,用来补充不完全的知识和获取新知识。[唐晓波,魏巍,etal,2015]在总结众多知识融合概念的基础上认为知识融合是知识组织与信息融合的交叉学科,它面向需求和创新,通过对众多分散、异构资源上知识的获取、匹配、集成、挖掘等处理,获取隐含的或有价值的新知识,同时优化知识的结构和内涵,提供知识服务。

知识融合是一个不断发展变化的概念,尽管以往研究人员的具体表述不同、所站角度不同、强调的侧重点不同,但这些研究成果中还是存在很多共性,这些共性反应了知识融合的固有特征,可以将知识融合与其他类似或相近的概念区分开来。知识融合是面向知识服务和决策问题,以多源异构数据为基础,在本体库和规则库的支持下,通过知识抽取和转换获得隐藏在数据资源中的知识因子及其关联关系,进而在语义层次上组合、推理、创造出新知识的过程,并且这个过程需要根据数据源的变化和用户反馈进行实时动态调整。从流程角度对知识融合概念进行分解,如图4.11所示。

f0e1f8594932e2763c4cf79726235eec.png

五、知识建模

知识建模是指建立知识图谱的数据模型,即采用什么样的方式来表达知识,构建一个本体模型对知识进行描述。在本体模型中需要构建本体的概念,属性以及概念之间的关系。知识建模的过程是知识图谱构建的基础,高质量的数据模型能避免许多不必要、重复性的知识获取工作,有效提高知识图谱构建的效率,降低领域数据融合的成本。不同领域的知识具有不同的数据特点,可分别构建不同的本体模型。

知识建模一般有自顶向下和自底向上两种途径:1.自顶向下的方法(如图4.12所示)是指在构建知识图谱时首先定义数据模式即本体,一般通过领域专家人工编制。从最顶层的概念开始定义,然后逐步细化,形成结构良好的分类层次结构。2.自底向上的方法则相反(如图4.13所示),首先对现有实体进行归纳组织,形成底层的概念,再逐步往上抽象形成上层的概念。自底向上的方法则多用于开放域知识图普的本体构建,因为开放的世界太过复杂,用自顶向下的方法无法考虑周全,且随着世界变化,对应的概念还在增长,自底向上的方法则可满足概念不断增长的需要。

23db434da5eb386331d48fc0555cd847.png

知识建模目前的实际操作过程,可分为手工建模方式和半自动建模方式。手工建模方式适用于对知识建模容量小、质量高的要求,但是无法满足大规模的知构建,是一个耗时、昂贵、需要专业知识的任务;混合方式将自然语言处理与手工方式结合,适于规模大且语义复杂的图谱。

六、知识计算

随着知识图谱技术及应用的不断发展,图谱质量和知识完备性成为影响知识图谱应用的两大重要难题,以图谱质量提升、潜在关系挖掘与补全、知识统计与知识推理作为主要研究内容的知识计算成为知识图谱应用的重要研究方向。知识计算是基于已构建的知识图谱进行能力输出的过程,是知识图谱能力输出的主要方式。知识计算概念内涵如图4.16所示,主要包括知识统计与图挖掘、知识推理两大部分内容,知识统计与图挖掘重点研究的是知识查询、指标统计和图挖掘;知识推理重点研究的是基于图谱的逻辑推理算法,主要包括基于符号的推理和基于统计的推理。

566777cfe03b931858e95624b0787561.png

知识计算的概念中明确了以下几个层面的问题:

(1)知识计算是针对已构建的知识图谱所存在的问题:不完备性和存在错误信息,在此基础上通过将知识统计与图挖掘、知识推理等方法与传统应用相结合进行能力输出,为传统应用形态进行赋能,进而提高知识的完备性和扩大知识的覆盖面。

(2)知识计算中两种具有代表性的能力:知识统计与图挖掘、知识推理。知识统计和图挖掘的方法是基于图特征的算法来进行社区计算、相似子图计算、链接预测、不一致检测等;知识推理的目标在于从给定知识图谱中推导出新的实体、关系和属性。通过这两种能力实现对已有图谱的知识补全、知识纠错、知识更新、知识链接等功能。在此基础上,知识计算的能力输出可应用于用户精准画像、决策数据、辅助决策意见、智能问答/搜索等方面。

七、知识运维

由于构建全量的行业知识图谱成本很高,在真实的场景落地过程中,一般遵循小步快走、快速迭代的原则进行知识图谱的构建和逐步演化。知识运维是指在知识图谱初次构建完成之后,根据用户的使用反馈、不断出现的同类型知识以及增加的新的知识来源进行全量行业知识图谱的演化和完善的过程,运维过程中需要保证知识图谱的质量可控及逐步的丰富衍化。知识图谱的运维过程是个工程化的体系,覆盖了知识图谱的从知识获取至知识计算等的整个生命周期。

知识图谱的运维包括两个方面的关注点:一个是从数据源方面的基于增量数据的知识图谱的构建过程监控,另一个是通过知识图谱的应用层发现的知识错误和新的业务需求:例如错误的实体属性值、缺失的实体间关系、未识别的实体、重复实体等问题。这些运维暴露的问题会在知识图谱构建的流程、算法组合、算法调整、可新增业务知识优先级排列等方面进行修正,提升知识质量和丰富知识的内容。知识图谱运维需要基于用户反馈和专家人工的问题发现及修正、自动的运行监控、算法调整后的更新相结合,因此是一个人机协同,专家和算法相互配合的一个过程。知识运维的全过程如图4.22所示:

3d86439e438d10f71e6939c447594ddc.png

互联互通社区

互联互通社区-IT智库,是互联互通社区IT架构、前沿技术平台。包含科技趋势、总体架构、产业架构、技术架构、系统架构、业务架构等内容,内容简练,皆属干货,合作请+微信:hulianhutongshequ.

bd314cc68f8ffc80363b875abff7bc60.png

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐