引言
知识图谱是结构化的语义知识库,用于迅速描述物理世界中的概念及其相互关系,通过将数据粒度从document级别降到data级别,聚合大量知识,从而实现知识的快速响应和推理。
当下知识图谱的应用主要分为用于构建结构化的百科知识的“通用知识图谱”和基于行业数据构建和应用的“领域知识图谱”。
在AI与行业结合应用中,因行业领域的差异,存在大量数据模式不同,应用需求不同等现实,“领域知识图谱”以其更加符合实际应用需求的特性在工业领域得到了广泛应用。其中最为熟知的有Google搜索、百度搜索、天眼查企业图谱等。
据此【华来知识】将在本篇针对“领域知识图谱”所采用的自底向上知识图谱的构建技术进行全面的介绍。
自底向上(Bottom-UP)的方法,即首先对实体进行归纳组织,形成底层概念,再逐步向上抽象,形成上层概念。该方法可基于行业现有标准转换成数据可模式,也可基于高质量行业数据源映射生成。
领域知识图谱的构建流程主要包括6个环节:知识建模、知识存储、知识抽取、知识融合、知识计算以及知识应用。
知识图谱的基本定义
知识图谱的基本单位,是“实体(Entity)-关系(Relationship)-实体(Entity)”构成的三元组,这也是知识图谱的核心。
如图所示,若两个节点之间存在关系,他们就会被一条无向边连接在一起,那么这个节点,我们就称为实体(Entity),它们之间的这条边,我们就称为关系(Relationship)。
在逻辑上,我们通常将知识图谱划分为两个层次:数据层和模式层。
· 数据层:存储真实的数据。如 C罗-足球运动员-皇家马德里;C罗-金靴奖-世界杯。
· 模式层:在数据层之上,是知识图谱的核心,存储经过提炼的知识,通常通过本体库来管理。即实体-关系-实体,实体-属性-性值。
在了解了知识图谱的基本概念后,知识图谱的整体架构就不难理解了。如下图所示,其中虚线框内的部分为知识图谱的构建过程,同时也是知识建立和更新的主要流程。
首先是原始数据处理,数据源可能是结构化的、非结构化的以及半结构化的,然后通过一系列自动化或半自动化的技术手段,来从原始数据中提取出知识要素,即一堆实体关系,并将其存入我们的知识库的模式层和数据层。
构建知识图谱是一个迭代更新的过程,根据知识获取的逻辑,每一轮迭代包含:知识储存、信息抽取、知识融合、知识计算,四个阶段。
1、知识存储:针对构建知识图谱设计底层的存储方式,完成各类知识的存储,包括基本属性知识、关联知识、事件知识、时序知识、资源类知识等。存储方式的忧虑将直接导致查询效率和应用效果。
2、 信息抽取:从各种类型的数据源中提取出实体、属性以及实体间的相互关系,在此基础上形成本体化的知识表达。
3、知识融合:在获得新知识之后,需要对其进行整合,以消除矛盾和歧义,比如某些实体可能有多种表达,某个特定称谓也许对应于多个不同的实体等;
4、知识计算:对于经过融合的新知识,需要经过质量评估之后(部分需要人工参与甄别),才能将合格的部分加入到知识库中,以确保知识库的质量。
一、知识建模
知识建模就是基于行业的应用属性、知识特点、实际需求,依据知识图谱的模式进行业务抽象和业务建模,主要是实体定义、关系定义、属性定义。
为保证知识图谱质量,通常在建模时需考虑如下几个关键问题:
1、概念划分的合理性,如何描述知识体系和知识点之间的关联关系;
2、属性定义方式,如何在冗余度最低的条件下满足应用和可视化展示;
3、时间、时序等复杂知识标示,通过匿名节点的方式还是边属性的方式进行描述,有何优缺点?
4、后续的知识扩展难度,是否支持概念体系的变更和属性调整?
二、知识存储
知识图谱的原始数据类型一般来说有三类:
· 结构化数据(Structed Data),如关系数据库
· 非结构化数据,如图片、音频、视频
· 半结构化数据,如XML、JSON、百科
目前,主流的的知识存储解决方案包含单一式和混合式存储两种。其存储方式一般有两种选择,一个是通过RDF(资源描述框架)这样的规范存储格式来进行存储,比较常用的有Jena等。
还有一种方法,就是使用图数据库来进行存储,常用的如Neo4j等。
相较而言图数据库在关联查询的效率上会比传统的关系数据存储方式有显著的提高。当我们涉及到2,3度的关联查询,基于知识图谱的查询效率会高出几千倍甚至几百万倍。
除此之外,基于图的存储在设计上会非常灵活,一般只需要局部的改动即可。因此对大数据量的情况,更应用图数据库来进行存储的。
三、 信息抽取
信息抽取(infromation extraction)信息抽取是一种自动化地从半结构化和无结构数据中抽取实体、关系以及实体属性等结构化信息的技术。关键技术包括:实体抽取、关系抽取和属性抽取。
1、实体抽取,也称为命名实体识别(named entity recognition,NER),是指从文本数据集中自动识别出命名实体。
当前主流技术为面向开放域(open domain)的实体抽取。
2、关系抽取,为了得到语义信息,从相关语料中提取出实体之间的关联关系,通过关系将实体联系起来,才能够形成网状的知识结构。其技术研究已经从早期的“人工构造语法和语义规则”(模式匹配),“统计机器学习”发展到“面向开放域的信息抽取方法”与“面向封闭领域的方法”相结合。
3、属性抽取,目标是从不同信息源中采集特定实体的属性信息,如针对某个公众人物,可以从网络公开信息中得到其昵称、生日、国籍、教育背景等信息。采用数据挖掘的方法直接从文本中挖掘实体属性和属性值之间的关系模式,据此实现对属性名和属性值在文本中的定位。
四、 知识融合
通过信息抽取,实现从原始数据中获取到了实体、关系以及实体的属性信息后,就需要通过知识融合对数据进行逻辑归属和冗杂/错误过滤。即需要实体链接和知识合并两个流程实现。
1、对非结构化/半结构化数据处理:实体链接(entity linking)的流程是通过给定的实体指称项,通过相似度计算进行实体消歧和共指消解,确认正确实体对象后,再将该实体指称项链接到知识库中对应实体。其中实体消歧解决同名实体产生歧义问题,共指消解解决多个指称对应同一实体对象的问题。
2、对结构化数据处理:知识合并主要涉及“合并外部知识库”,处理数据层和模式层的冲突;以及用RDB2RDF等方法“合并关系数据库”
五、知识计算
在通过信息抽取,和知识融合后已经实现从原始杂乱数据中获得到一系列基本的事实表达。之后一步就是通过知识计算获得结构化,网络化的知识体系以及更新机制。其主要包括4方面内容:本体构建、知识推理、质量评估和知识更新。
1、本体构建:即通过实体并列关系相似度计算、实体上下位关系抽取、本体的生成,完成自动化的本体构建,实现将数据归类成人工的概念集合/概念框架,如“人”、“事”、“物”等。
2、知识推理:通过基于逻辑的推理、基于图的推理和基于深度学习的推理,处理知识图谱之间关系值缺失,完成进一步的知识发现。
3、质量评估:可以对知识的可信度进行量化,通过舍弃置信度较低的知识来保障知识库的质量。
4、 知识更新:在知识图谱实际应用后,将有大量数据涌入和更新,因此知识的更新流程是必须搭建的。更新包括概念层的更新和数据层的更新。
概念层的更新是指新增数据后获得了新的概念,需要自动将新的概念添加到知识库的概念层中。数据层的更新主要是新增或更新实体、关系、属性值,对数据层进行更新需要考虑数据源的可靠性、数据的一致性(是否存在矛盾或冗杂等问题)等可靠数据源,并选择在各数据源中高频出现的事实和属性加入知识库。
至此经过上述流程的处理,知识图谱的初始化已经构建成功了。
六、知识图谱的应用
经过上述5个环节,专项领域的知识图谱已经构建完成,在其具备的特有应用形态,与领域数据和业务场景相结合后,将实际助力企业在该领域取得实际的商业价值。现今知识图谱在很多行业中都有了成功的应用。例如:
- 信息检索:搜索引擎中对实体信息的精准聚合和匹配、对关键词的理解以及对搜索意图的语义分析等;
- 自然语言理解:知识图谱中的知识作为理解自然语言中实体和关系的背景信息;
- 问答系统:匹配问答模式和知识图谱中知识子图之间的映射;
- 推荐系统:将知识图谱作为一种辅助信息集成到推荐系统中以提供更加精准的推荐选项;
- 电子商务:构建商品知识图谱来精准地匹配用户的购买意愿和商品候选集合;
- 金融风控:利用实体之间的关系来分析金融活动的风险以提供在风险触发后的补救措施(如联系人等);
- 公安刑侦:分析实体和实体之间的关系以获得线索等;
- 司法辅助:法律条文的结构化表示和查询来辅助案件的判决等;
- 教育医疗:提供可视化的知识表示,用于药物分析、疾病诊断等;
... ...
事实上,知识图谱的应用远不止于此。这个世界就是一张巨大的知识图谱,是无数个实体关系对,在未来工业界对图数据库、知识图谱将展现出巨大需求和应用契机!
CIO之家 www.ciozj.com 公众号:imciow