导读 本文主题为知识图谱技术体系,主要内容节选和总结自珠峰书《知识图谱:认知智能理论与实战》,该书介绍了知识图谱领域方方面面的内容。有兴趣的朋友可以去阅读获得更详细的内容。
主要内容包括:
1. 知识图谱体系架构
2. 知识图谱构建技术
3. 知识存储
4. 知识图谱应用技术
分享嘉宾|王文广 达观数据 副总裁
编辑整理|刁震 西北师范大学
出品社区|DataFun
01知识图谱体系架构
首先来介绍一下整个知识图谱的体系架构。
知识图谱是现在非常热门的一个技术,也被认为是认知智能的核心内容。知识图谱包含哪些内容呢?从知识的层面来看,知识图谱包括知识的生产,知识表示存储和知识应用等众多技术。如上图所示,它包括了构建技术,存储技术,应用技术,以及其他相关的很多方面的技术。从这张图中也可以看出,知识图谱包含了人工智能领域绝大多数细分领域的研究,还包括大量的大数据方面的技术,比如构建技术方面也有大数据相关的映射式构建技术,以及基于抽取式构建方面的自然语言处理和计算机视觉和声音处理技术等。在知识图谱的存储方面,现在产业界中主流的是图数据库。图数据库涉及到大量的大数据技术,比如分布式的图数据库会与 Hadoop、Spark 等分布式计算和分布式存储有很强的技术关联。而一些比较新的技术,比如向量数据库也是比较前沿的一个研究领域。在知识图谱的应用方面,也包括了比较多的内容,比如知识检索、知识探索,涉及到图数据库查询语言 Gremlin 和 Cypher 以及 SparQL。知识搜索方面会用一些其他方法从图数据库或者其他存储方法里面获取所需要的知识。在更多的应用里面,比如知识计算,知识推理等。知识计算更多的是与图相关的计算,知识推理更多的是跟深度学习有关的,比如图神经网络。还有很多面向具体的应用,比如问答、推荐、数据分析、知识溯源以及辅助决策等,这些都是与具体业务有直接关联的人工智能或知识图谱方面的应用。02知识图谱构建技术1. 知识图谱模式
知识图谱在应用里面有两个方法:无模式的和模式受限的。我们通常产业应用的知识图谱都是模式受限的。这个模式就是指知识图谱模式,也称本体、类图谱或概念图谱等。
知识图谱模式定义了知识图谱需要包含哪些内容,或者说是对知识概念化的一种规范表达。如何设计好一个知识图谱模式是产业里面最先要去考虑的问题,因为它往往与我们的业务相结合,需要知识图谱的专家和面向具体业务的专家一起合作来梳理设计。需要一些方法告诉业务专家如何理解知识图谱模式,怎么去设计模式。这套方法论是我在珠峰书《知识图谱:认知智能理论与实战》一书首次提出的,包括六韬瀑布模型,六韬螺旋模型。一家企业要用知识图谱来解决问题,首先就要理解需要一个什么样的知识图谱,也就是理解业务,设计出合适的知识图谱模式,并在知识图谱模式的指导下设计存储方案、构建图谱、开发基于知识图谱的应用等。2. 实体抽取在设计好知识图谱模型之后,存在的一个问题就是如何从已有的数据中构建出知识图谱。主要涉及两个方面的内容:第一个方面,如果我们的数据是结构化的,可以写一些规则加上一些简单的映射就可以构建出知识图谱,这种方式往往称为映射式构建。
另一方面是大量的文档,比如 Word 文档、PDF 文件等各种各样半结构化内容,我们需要对其进行实体抽取和关系抽取,以及指代消解等各个方面的知识抽取。其中最基础的就是实体抽取,在自然语言处理里面也叫命名实体识别。这里面的很多技术从上世纪八十年代到现在已经有四五十年的历史了,有各种不同的方法,比较简单的是写规则,比较成熟的是机器学习的方法,比如 CRF 条件随机场,隐马尔可夫模型,以及深度学习,现在的基于 BERT 的预训练模型、以及弱监督学习和基于深度强化学习的实体抽取方法等等。3. 关系抽取知识图谱最大的特点就是关系。在实体抽取之后,就要进行关系抽取。
关系抽取是一个非常重要的内容,我们如何为实体之间建立各种各样的关系, 这也是知识图谱区别于标签或者其它结构化数据的很重要的一点。关系抽取也是知识图谱构建非常难的一个环节,这里面有很多不同的方法,比如基于规则的方法,基于深度学习的方法,以及弱监督学习方法都可以用来做关系抽取。当然也有在深度学习兴起以后,非常流行的一个方法:实体-关系联合抽取方法,是在一个模型中同时实现对实体和关系的抽取。具体应用中可以根据需要去选择合适的方法来做关系抽取。4. 事件抽取另外一块就是事件抽取,事件抽取更加复杂,方法与实体关系抽取比较类似。
事件抽取要提取的内容更多,包括主体、客体、地点和时间等各种要素。并且将其关联到关系抽取又有各种不同的方法。总的来说分为管道模式和联合抽取模式。管道模式是先抽取触发词,再对触发词分类,进行要素识别。联合抽取方法是一次性把所有的要素和主体客体触发词一起识别出来,并给出最终的预测结果。两种方法用的都很多,对于不同的场景可以选择不同的方法来做。03知识存储不管是实体关系还是事件抽取总是要有个地方来存储的。现在产业界基本用的都是图数据库,也就是属性图数据库,是完全和知识图谱契合的。
在珠峰书里面有非常多的对底层概念的介绍,特别是对属性图的完整剖析。图数据库是知识图谱存储的首选。《知识图谱:认知智能理论与实战》一书对图数据库做了详细的介绍,是国内首部涵盖主流开源图数据库的著作。特别是 JanusGraph 介绍的非常详细,也对其它数据库 Neo4j、Dgraph,NebulaGraph 这四个当前主流的图数据库进行了总结。上图只是书中的一个节选。有兴趣的朋友特别是想学习 JanusGraph 的朋友可以参考原书。相信看完第五章的内容,会为你完成知识存储和图数据库选型的工作提供很多帮助。04知识图谱的应用技术1. 知识计算对于已经构建好的知识图谱,并且存储在图数据库或者其它地方,我们就要去应用它。
应用主要分两部分,一个是知识计算,《知识图谱:认知智能理论与实战》一书将其定义为图论相关的或者说是图计算相关的算法,并对常见的算法做了深入浅出的介绍。常见的算法,比如路径分析、社区分类和中心性。路径分析里面最常见的就是最短路径算法。社区分类中 Louvain,GN 算法是被广为使用的。在中心性里面也有很多大家耳熟能详的算法,比如中介中心性和 PageRank 算法,能够帮助我们选择知识库里面在某种条件下一些关键的节点、关键的路径和关键的边。在其之下是相应的一些库,有单一版的比如 NetworkX、igraph,也有分布式的比如 GraphX,图数据库所带的查询语言Gremlin,Cypher,SparQL 也能够支持一定程度上的知识计算和图算法相关的一些应用。2. 知识推理接下来是知识推理,知识推理是知识库能够实现决策推理,实现类人推理能力的一项关键技术。
推理本身包括概率推理,归纳推理,演绎推理,因果推理等。在珠峰书中,详细介绍了常见的知识推理方法,这些与之前提到的知识图谱模式、知识图谱内容以及知识推理算法是有直接关系的,能够帮助我们做好相应的决策。还有几何嵌入的方法和深度学习相关的方法在书里面也做了详细的介绍。比如对双曲空间嵌入模型、复数空间旋转变换,以及深度学习的卷积网络、胶囊网络或者是图神经网络相关的模型如何应用到知识图谱里面,在书中都做了详细的介绍。3. 智能问答基于知识图谱的智能问答是非常火的一个内容,有知识图谱我们可以做很多相应的算法或者知识获取方面的内容。
KBQA 有很多论文和算法直接实现知识图谱的问答,有非常多的有效算法,大家可以参考一些最先进的 SOTA 算法,当然这些算法都是针对一个具体的问题,没法做通用化,是跟知识图谱绑定的。而我们现在介绍的这个问答其实是一个框架,通过分解,再通过检索或者说以往的搜索引擎和知识图谱相结合提供这样一个复杂的框架结构。通过这个架构实现通用性智能问答,可以在产业中做很多的适配,可以适用于不同场景,不同方向的一些应用,通用性会更强一些,适配性也更强一些,当然在复杂程度上也比单个的算法复杂很多。4. 认知推荐
我们把基于知识图谱的推荐跟普通的推荐区分开,前者称之为认知推荐,是指以知识图谱为核心来做很多事情。
这里面包括多样性推荐、多模态推荐、给出推荐理由和说服式推荐等。它其实是模拟我们人类在做推荐时候的一些情况。比如当你问我针对知识图谱需要怎么去学习的时候,我可能会告诉你,你可以从模拟一篇论文,并且去阅读珠峰书开始,再通过给你推荐 Github 的相应项目来帮助你巩固所学的知识。通过这样的学习你可能就可以学好知识图谱的内容。这三个内容本身就是我们人类总结出来的,我们的认知推荐其实也需要去做好类似的内容。当然如果你在问我为什么,我可能就会给出推荐理由。在有些情况下,我可能也需要去说服你,比如商家说服顾客去购买某样商品,要给出一个比较有说服力能增加信任感的理由。
今天介绍的整个知识图谱技术体系都是基于珠峰书——《知识图谱认知智能理论与实战》这本书,该书以一百多张的精美图片和数十段精编代码对数十个知识图谱的主流算法进行解析,涵盖知识图谱的模式、本体、构建、存储、计算、推理等全面的、前沿的技术。对上述内容部分或全部感兴趣的,都可以阅读该书进行深入学习。达观数据是知识图谱领域的知名企业,我们有强大的平台帮助企业去做好知识图谱的落地。欢迎对知识图谱和知识图谱应用有兴趣的朋友联系我们。
今天的分享就到这里,我们相信知识就是力量,书籍承载了人类能够了解的知识,促进了人类的不断发展,而知识图谱承载了人工智能所能理解的知识,使得人工智能可以不断向前发展。我们相信知识图谱是人工智能向前发展所需要的核心技术和内容之一。