知识图谱学习(一)

一、组成部分

知识图谱大致可分为:知识建模、知识获取、知识融合、 知识存储、知识应用等。

二、知识图谱的架构

共分为两种:逻辑架构和技术架构

-逻辑架构

数据层:是逻辑架构的底层,用来存储真实的节点数据与关系数据。

模式层:模式层在数据层之上,存储提炼过的数据,通过本体库来管理数据关系。

知识图谱系统架构设计 知识图谱技术框架_结构化


本体位于模式层,描述概念层次体系,是知识库中知识的概念模板。通俗来说,本体是人类对事物的形式化描述,本体库可以说是同一类事物的本体的集合,按描述领域可以将本体库分为通用本体库和领域本体库,这样我们就可以将知识图谱分为通用知识图谱和领域知识图谱 。

技术架构

知识图谱系统架构设计 知识图谱技术框架_知识图谱_02

三、知识图谱的构建方式

有两种:自顶向下与自底向上

  • 自顶向下是由抽象到具体,先为知识定义好本体并通过专家手动编辑形成数据模式,再将实体 加入到知识库,以此方式构建知识图谱需要以百度百科这样的结构化知识库作为基础。
  • 自底向上是由具体到抽象,采用从开放性的数据中提取实体,基于行业现有标准进行转换,从 现有高质量数据源中进行映射,并将可信度高的数据加入知识库,再构建顶层的本体。

四、存储方式

知识图谱是基于图的数据结构,存储方式主要有:RDF存储和图数据库存储。

  • RDF介绍 RDF(资源描述框架 Resource Decription Framework)是W3C语义网标基础技术规范的第一 层;R代表页面、图片、视频等任何具有URI标识符的资源。D代表属性、特征与资源之间的关系;F 代表模型、语言与描述的语法。RDF是一个三元组模型,即每一份知识可被分解为主 (subject)、谓(predicate)、宾(object),刚好对应存储实体、关系、实体,实体、属 性、值,也称其为SPO三元组。

知识图谱系统架构设计 知识图谱技术框架_结构化_03

现在市面上大部分使用neo4j进行知识图谱存储,而neo4j的特点是采用原生 图存储与处理,不支持AICD事物处理,不使用Schema;存在的不足是在企业数据管理场景下不使用Schema难以把握整体数据,且不支持时态信息的存储,非企业版本受数量、查询速度 等方面的限制。
综合分析后,neo4j的存储方式性能最优。

五、知识建模

知识建模就是建立知识图谱的数据模式,知识图谱的数据模式也是对整个知识图谱的结构进行定义,需要保证图谱的可靠性。

知识建模的步骤:
1.以实体为目标,实现对不同来源的数据进行实体抽取与合并 ;
2.利用属性来表示不同数据源中对实体的描述,即属性的映射与归并;
3.利用关系来描述各类抽象建模成实体的数据关系,从而支持分析关联,即关系抽取;
4.通过实体链接技术,实现围绕实体的多类数据的关联存储;
5.使用事件机制描述客观世界中动态的发展,体现事件与实体间的关联;并利用时序描述时间的发展状况,即动态时间描述。

六、知识获取

知识获取的整个过程是指从不同来源、不同结构的数据中进行知识提取,形成知识存入到知识图谱中。

知识图谱构建中所需数据存在的困难:

1、来源广:内部数据、互联网数据、第三方数据;

2、类型多:结构化、半结构化、非结构化数据,大多数为半结构化与非结构化数据;

3、量级大:大数据时代,数据量级通常是TB、PB;

4、模式不可预知:模式在数据出现之后才能确定,且数据模式随数据不断增长而演变。

知识图谱系统架构设计 知识图谱技术框架_知识图谱系统架构设计_04

①半结构化数据源解析: 如今网站大部分是通过模板生成的,因此通常需要使用包装器来解析,包装器可以自动学习, 但为保证准确度,通常使用人机结合方式。实际应用中,通常针对不同结构的数据配置相应的包装器,完成数据解析。
②非结构化数据抽取:主要为文本信息抽取:包括实体识别、关系抽取、概念抽取、事件抽取。信息抽取可分为面向特定领域的信息抽取和面向开放领域的信息抽取。
③文本抽取:目前还没有统一的实现各类信息抽取的现成工具。通用解决方式是把现有的工具进行集成,依据抽取任务的不同使用不同的抽取工具,需要对信息进行有针对化的抽取方法,通常使用已有结构化知识进行监督学习。 NLP分词、命名实体识别工具:NLPIR、LTP、FudanNLP、Stanford NLP等

1. 实体抽取

实体抽取也叫命名实体识别(Named Entity Recognition,简称NER),是从文本数据集中 自动识别命名实体

根据抽取的范围可分为:

  • 面向单一领域信息抽取构建的知识图谱成为行业知识图谱,主要识别文本或数据中的人名、地名、专业术语、时间等实体信息。抽取方式有:1.启发式算法 + 人工规则,实现自动抽取实体信息的原型系统;2.统计机器学习方法辅助解决命名实体抽取问题。3.有监督学习 + 先验知识。
  • 面向开放领域信息抽取构建的知识图谱成为通用知识图谱。抽取方式有:1.人工建立科学完整的命名实体分类体系;2.基于归纳总结的实体类别,基于条件随机场模型进行实体边界识别,最后采用自适应感知机 实现对实体的自动分类。 3.采用统计机器学习的方法,从目标数据集中抽取与之具有相似上下文特征的实体,从而实现 实体的分类与聚类。4.迭代扩展实体语料库。5.通过搜索引擎的服务器日志,聚类获取新出现的命名实体

2.关系抽取
文本数据经过实体抽取得到一系列离散的命名实体,但要得到语义信息,还要从文本信息中提取实体之间的关系,通过关系连接实体,形成网状的知识结构。

3.属性抽取
属性抽取是从文本源中抽取实体的属性信息,比如人物的属性包含姓名、年龄、学历等。抽取方式有:1.将实体属性作为实体与属性值的词性关系,将属性抽取任务转化为关系抽取任务。2.基于规则和启发性算法,抽取结构化数据。3.基于百科类网站的半结构化数据,通过自动抽取生成训练语料,用于训练实体属性标注模 型,然后将其应用于对非结构化数据的实体属性抽取。4.采用数据挖掘的方法,直接从文本中挖掘实体属性和属性值的关系模型,据此实现对属性名 和属性值在文中的定位。

七、知识融合

知识融合主要包括两部分操作:实体链接与知识合并

实体链接(entity linking):对抽取后的实体通过相似度计算链接到知识库中实体操作。
  • 实体消歧:用于同名实体存在不同的含义,实体消歧结合当前语境,准确建立实体链接。实体消 歧可采用聚类与基于上下文的词性消歧和词义消歧。
  • 共指消解:(对象对齐、实体匹配、实体同义)用于不同命名实体具有相同含义,采用共指消解 将共同指向的实体关联或合并。
实体链接已经将实体链接到对应的实体,接下来需要进行知识合并。知识合并可分为:外部数据库合并与关系数据库合并。

1、外部数据库合并需要处理两个方面的问题:数据层融合与模式层融合。

  • 数据层融合:为避免实例与关系的冲突造成数据冗余,对实体的指向、属性、属性值、关系与所属类别进行融合。
  • 模式层融合:将新的本体融入到已有的本体库中。其步骤可分为(获取知识、概念匹配、实体匹配、知识评估)

2、关系数据库合并:企业本身或者外部机构的关系型数据库才是高质量结构化数据的重要来源, 结构化的数据融入到知识图谱中可采用RDF作为数据模型,可将关系型数据库的数据转换成RDF的三元组数据(RDB2RDF)。转换工具(D2RQ)。

(三)知识加工:
为了获得结构化、网络化的知识体系,需要对知识进行加工。知识加工可分为:本体构建、知识推理和质量评估。

本体构建

本体可以人工手动构建也可以以数据驱动的自动化方式构建本体。人工方式构建本体的工作量巨大并且很难找到相关领域的专业人 士,对于构建全局的本体库,主要还是采用自动构建技术逐步扩展而来。

自动构建过程主要包含三个阶段:实体并列关系相似度计算、实体上下位关系抽取与本体的生成。

知识推理

知识图谱计算可分为三个步骤:图挖掘计算、基于本体的推理、基于规则的推理

质量评估

质量评估也是知识库构建的重要组成部分,评估的意义在于对知识体系可信度进行量化,舍弃可信度的低的知识来保证知识库的质量。

八、知识应用简介

知识图谱的应用主要分为:语义搜索、智能问答、可视化辅助决策,而知识图谱的初衷是为了 解决搜索引擎根据语义搜索问题。

知识图谱上层应用需要支持:知识推理、知识快速查询、图实时计算。

图谱在应用层面,现在市场上的应用主要可分为以下以下三个方向:

语义搜索

基于知识图谱中的知识,解决传统搜索中遇到的关键词语义多样性及语义消歧的难题,通过实体链接实现知识与文档的混合检索。难点:自然语言的表达多样性问题;自然语言的歧义问题

根据搜索引擎的发展阶段,可分为传统搜索(基于关键词匹配的搜索)、语义搜索(基于知识图谱对用户输入进行理解,识别实体、概念和属性,并返回实体、关系、链接的数据等丰富的结果)。到现如今已经发展到基于自然语言理解的智能问答阶段了。

智能问答

针对用户输入的自然语言进行解析,对用户查询意图进行分析与理解,从知识图谱中或目标数 据中进行查询检索,生成候选答案并根据结果权重进行排序,给出用户问题的答案。难点: 准确的语义解析;正确理解用户的真实意图;答案确定与排序

智能问答系统的实现一般基于以下几种方法:信息检索、语义理解、规则专家系统、深度学习。

信息检索

利用中文分词、命名实体识别等自然语言处理工具找到问句中所涉及的实体和关键词,然后在知识库中查找检索。实现起来较简单,应用广泛,但此方法更偏向关键词搜索, 结果不如语义解析精准

语义解析

将口语化语言根据特定语法规则解析,得到语义表达式,再映射为数据库语言。 此方法可以得到更加准确的结果,但需要依赖知识图谱的词法解析与映射等功能,并根据图结 构进行语法规则匹配,实现技术困难较大。(常用方式:人工配置语义解析模板,如:小爱同学;知识图谱通用子图匹配模板)

知识图谱系统架构设计 知识图谱技术框架_知识图谱_05

规则专家系统

需要大量专业知识与经验,需专家提供知识和经验并推理判断,模拟决策过程,适合专业领域,欠缺通用性,适用场景小。

深度学习方法

把问题与答案均采用特征向量表示,然后使用深度学习计算问题与答案的相似 度。该方法需要大量训练,并且暂不支持复杂查询,而且知识更新后又需要训练。

现阶段对于智能问答采用信息检索+语义解析相结合的方式合适,满足强解释性与广泛应用。

可视化决策支持

通过提供统一的图形接口,结合可视化、推理、检索等为用户提供信息获取的入口。(通过可视化方式辅助用户模式快速发现;高效的缩放和导航;大图环境下底层算法(图挖掘算法)的效率)

如今知识图谱可视化困境在于缺少面向是知识图谱的可视化工具,可通过集成现有工具实现知 识图谱可视化,但难点在于该工具需要依托什么样的设备环境,展现数据的什么特点,数据量过大过小时该如何做。

知识图谱可视化基本组件:图谱展示、统计分析、短路径发现、多节点关联探寻。面向知识图谱的应用,构建基于知识图谱的一体化决策平台。

知识图谱系统架构设计 知识图谱技术框架_数据_06

九、知识图谱应用分析

知识图谱在行业应用可大致分为通用知识图谱与行业知识图谱

通用知识图谱

通用知识图谱是面向通用全领域的知识图谱。基于百科数据,以常识性知识为主,更强调知识 广度,需要拥有更多的实体,横向铺开,跨度大很难生成完整全局的本体层进行统一管理。

主要面向普通大众用户,通用知识图谱的应用主要面向于搜索、推荐、问答等业务场景,目前 典型的具体应用有Google搜索、百度知心、搜狗立知(之前叫知立方),以及自动问答和聊天机器人有IBM的Watson、苹果的Siri、Google Allo、Amazon Echo、小米小爱同学、百度 度秘以及各种情感聊天、儿童陪伴、客服、教育机器人等。

行业知识图谱

行业知识图谱主要面向某一特定领域的知识图谱。基于行业数据构建,对知识的准确性要求非 常高,常用于辅助各种复杂问题分析或辅助决策;要有严格丰富的数据模式,并且实体通常需 要较多且具有行业意义;目标用户通常需要考虑各行各业中各种级别的人员,人员不同对应的 操作和业务场景不同,因此构建是需要具备一定的深度与完备性。

行业知识图谱现在主要应用场景可归纳为以下几个方面:生物医疗、图书情报、电商、农业、 政府、电信、出版。