知识图谱概述

一,知识图谱是什么?
知识图谱本质上是语义网络,由节点(point)、边(edge)和属性(property)组成,在知识图图谱里,每个节点表示现实世界中的‘实体’,每条边表示实体与实体之间的‘关系’。也就是说,知识图谱是把所有不同种类的信息连接在一起而得到的一个关系网络。知识图谱提供了从‘关系’角度去分析问题的能力。
知识图谱的概念最早在2012年提出的,当时主要是为了将传统的keyword-base搜索模型向基于语义的搜索升级,以优化现有的搜索引擎。不同于基于关键词搜索的传统搜索引擎,知识图谱可以更好的查询复杂的关联信息,从语义层面理解用户的意图,改进搜索质量。比如说谷歌,我们搜索A的时候,谷歌在最初的分词会分出,与A相关的A1、A2和A3,A3就是A的关键词,在引入了知识图谱之后,搜索引擎就会明白A和A1、A2的试题关系,,并且能把A2的一个详细的一个表给反映出来,也就是用户画像。
知识图谱概述_第1张图片

在知识图谱里,通常用‘实体Entity’表示图中的节点,用’关系relation‘表示图中的关系,其本质是为了表示知识,从实际应用的角度出发可以简单把知识图谱理解成多关系图(Multi-relational Graph)。

二,知识图谱的表示
图是由节点(vertex)和边(edge)来构成的,但这些图通常只包含一种类型的节点和边,相反,多关系图一般包含多种类型的节点和多类型的边,如下图

当知识图谱有属性时,可以用属性图来表示。如,性别、年龄、出生日期作为实体人的属性,结婚时间作为关系的属性等。属性图的表达很贴近现实生活的场景,也可以很好的描述业务中所包含的逻辑。
除了属性图,知识图谱还可以用RDF形式(很多三元组)表示。RDF在设计上的主要特点是易于发布和分享数据,但不支持实体和关系属性,如果非要家上属性,则在需要在设计上做一些修改。目前RDF主要用于学术场景,在工业界更多还是采用图数据库(比如存储属性图)的方式。
知识图谱主要有两种存储方式 :一种是基于RDF的存储,一种是基于图数据库的存储。RDF一个重要设计原则是数据的易发布以及共享,图数据库则把重点放在了高效的图查询和搜索上。其次,RDF以三元组的方式来存储数据而且不包含属性信息,但图数据库一般是以属性图为基础的表示形式,所以实体和关系可以包含属性,故更容易表达现实的业务场景。

三,知识抽取
知识图谱的体系架构是指其构建模式结构,如下图所示,知识图谱的构建过程需要随人的 认知能力不断的更新迭代。
知识图谱概述_第2张图片
知识图谱概述_第3张图片
知识图谱的构建是后续应用的基础,而且构建的前提是需要把数据从不同的数据源中抽取出来。对于垂直领域的知识图谱来说,它们的数据源主要来自两种渠道,一种是业务本身的数据,这部分数据通常包含在公司内的数据库表并以结构化的方式存储;另一种方式是网络上公开、抓取的数据,这些数据通常是以网页形式存在所以是半结构或非结构化的数据。前者一般只需要简单的预处理即可作为后续AI系统的输入,但后者一般需要借助于自然语言处理等技术来提取出结构化的信息。如人与人之间的关系就可以通过非结构化数据提炼出来。
信息抽取的难点在于处理非结构化的数据,从一段非结构化的文本中,需要抽取出实体、属性和关系。
要从海量的文字中构建知识图谱,需要涉及几个方面的自然语言处理技术:
实体命名识别(Name Entity Recognition)
关系抽取(Relation Extration)
实体统一(Entity Resolution)
指代消解(Coreference Resolution)

四,知识图谱的搭建
搭建一个知识图谱系统最重要的核心就在于对业务的理解以及对知识图谱本身的设计(不考虑数据的前提下),这就类似于一个业务系统,数据库表的设计尤其关键,而且这种设计离不开对业务的深入理解以及对未来业务场景变化的预估。
一个完整的知识图谱构建包含一下几个步骤:
1、定义具体的业务问题
2、数据的收集与预处理
3、知识图谱的设计
4、把数据存入知识图谱
5、上层应用的开发以及系统的评估
对于定义具体业务问题,需要明确一点,对于自身的业务问题需不需要知识图谱系统的支持,因为在很多实际的业务场景,即使对关系有一定的需求,实际上也可以利用传统数据库来完成分析。所以为了避免使用知识图谱而选择知识图谱,给出以下参考:
知识图谱概述_第4张图片

数据处理环节并不是所有的数据都要进入知识图谱,知识图谱的设计可以交给更专业的人员,对于存储系统的选择,图数据库可以作为首选,同时如果数据量特别庞大,Neo4j(10亿节点以上规模的图谱)很可能无法满足业务需求,可以考虑准分布式的系统如OrientDB,JanusGraph等,或通过效率,冗余原则把信息存放在传统数据库中,从而减少知识图谱所承载的信息量。

五,知识图谱的应用
知识图谱构建好了以后可以把它当成是一个知识库,当执行搜索时,就可以通过关键词提取以及知识库上的匹配直接获取最终的答案。这种引擎方式与传统的搜索引擎不一样,传统的搜索引擎返回的是网页,而不是最终答案,所以就多了一层用户自己筛选并过滤信息的过程。
知识图谱的应用主要集中在搜索 和推荐领域。如语义搜索,智能推荐,知识存储,数据校验,专家系统,客服机器人等。
在语义搜索方面,知识图谱的搜索不同于常规的搜索,常规的搜索是根据keyword找到对应的网页集合,然后通过pagerank算法去给网页进行排名,然后展示给用户;基于知识图谱的搜索是在已有的图谱知识库中遍历知识,然后将查询到的知识返回给用户,通常只要路径正确,查询出来的知识只有1个或几个,相当精准。
问答系统方面,系统同样会首先在知识图谱的帮助下对用户使用自然语言提出的问题进行语义分析和语法分析,进而将其转化为结构化形式的查询语句,然后在知识图谱中查询答案。

知识图谱是一个比较新的工具,它的主要作用在于分析关系,尤其是深度的关系,所以首先要确保它的必要性,其实很多问题可以用非知识图谱的方式来解决。
知识图谱领域的一个最重要的话题就是知识的推理,而且知识的推理是走向强人工智能 的必经之路。但目前很多语义网络角度讨论的推理技术(如基于深度学习,概率统计)很难在实际的垂直应用中落地,目前最有效的方式还是基于一些规则的 方法论,除非我们有非常庞大的数据集。
知识图谱工程本身还是业务为重心,以数据为中心,不要低估业务和数据的重要性。

你可能感兴趣的:(图数据与知识图谱,知识图谱,人工智能)