知识图谱技术体系

知识图谱技术体系总览


一、知识图谱的体系架构

知识图谱体系图
知识图谱包括知识的生产,知识表示存储和知识应用等众多技术,上图中涉及构建技术,存储技术,应用技术,以及其他相关的很多方面的技术。也能看出,知识图谱包含了人工智能领域绝大多数细分领域的研究,还包括大量的大数据方面的技术,比如构建技术方面也有大数据相关的映射式构建技术,以及基于抽取式构建方面的自然语言处理和计算机视觉和声音处理技术等。

在知识图谱的存储方面,现在产业界中主流的是图数据库。图数据库涉及到大量的大数据技术,比如分布式的图数据库会与 Hadoop、Spark 等分布式计算和分布式存储有很强的技术关联。而一些比较新的技术,比如向量数据库也是比较前沿的一个研究领域。

在知识图谱的应用方面,也包括了比较多的内容,比如知识检索、知识探索,涉及到图数据库查询语言 Gremlin 和 Cypher 以及 SparQL。知识搜索方面会用一些其他方法从图数据库或者其他存储方法里面获取所需要的知识。在更多的应用里面,比如知识计算,知识推理等。知识计算更多的是与图相关的计算,知识推理更多的是跟深度学习有关的,比如图神经网络。还有很多面向具体的应用,比如问答、推荐、数据分析、知识溯源以及辅助决策等,这些都是与具体业务有直接关联的人工智能或知识图谱方面的应用。

二、知识图谱构建技术

1.知识图谱模式

知识图谱在应用里面有两个方法:无模式的和模式受限的。我们通常产业应用的知识图谱都是模式受限的。这个模式就是指知识图谱模式,也称本体、类图谱或概念图谱等。

请添加图片描述

知识图谱模式:定义了知识图谱需要包含哪些内容,或者说是对知识概念化的一种规范表达。如何设计好一个知识图谱模式是产业里面最先要去考虑的问题,因为它往往与我们的业务相结合,需要知识图谱的专家和面向具体业务的专家一起合作来梳理设计。需要一些方法告诉业务专家如何理解知识图谱模式,怎么去设计模式。

2.实体抽取

在设计好知识图谱模型之后,存在的一个问题就是如何从已有的数据中构建出知识图谱。主要涉及两个方面的内容:第一个方面,如果我们的数据是结构化的,可以写一些规则加上一些简单的映射就可以构建出知识图谱,这种方式往往称为映射式构建。

请添加图片描述
另一方面是大量的文档,比如 Word 文档、PDF 文件等各种各样半结构化内容,我们需要对其进行实体抽取和关系抽取,以及指代消解等各个方面的知识抽取。其中最基础的就是实体抽取,在自然语言处理里面也叫命名实体识别。这里面的很多技术从上世纪八十年代到现在已经有四五十年的历史了,有各种不同的方法,比较简单的是写规则,比较成熟的是机器学习的方法,比如 CRF 条件随机场,隐马尔可夫模型,以及深度学习,现在的基于 BERT 的预训练模型、以及弱监督学习和基于深度强化学习的实体抽取方法等等。

3.关系抽取

知识图谱最大的特点就是关系。在实体抽取之后,就要进行关系抽取。

请添加图片描述
关系抽取是一个非常重要的内容,我们如何为实体之间建立各种各样的关系, 这也是知识图谱区别于标签或者其它结构化数据的很重要的一点。关系抽取也是知识图谱构建非常难的一个环节,这里面有很多不同的方法,比如基于规则的方法,基于深度学习的方法,以及弱监督学习方法都可以用来做关系抽取。当然也有在深度学习兴起以后,非常流行的一个方法:实体-关系联合抽取方法,是在一个模型中同时实现对实体和关系的抽取。具体应用中可以根据需要去选择合适的方法来做关系抽取。

4.事件抽取

另外一块就是事件抽取,事件抽取更加复杂,方法与实体关系抽取比较类似。
请添加图片描述

事件抽取要提取的内容更多,包括主体、客体、地点和时间等各种要素。并且将其关联到关系抽取又有各种不同的方法。总的来说分为管道模式和联合抽取模式。管道模式是先抽取触发词,再对触发词分类,进行要素识别。联合抽取方法是一次性把所有的要素和主体客体触发词一起识别出来,并给出最终的预测结果。两种方法用的都很多,对于不同的场景可以选择不同的方法来做。

三、知识存储

不管是实体关系还是事件抽取总是要有个地方来存储的。现在产业界基本用的都是图数据库,也就是属性图数据库,是完全和知识图谱契合的

请添加图片描述

四、知识图谱的应用技术

1.知识计算

对于已经构建好的知识图谱,并且存储在图数据库或者其它地方,我们就要去应用它。

请添加图片描述
常见的算法,比如路径分析、社区分类和中心性。路径分析里面最常见的就是最短路径算法。社区分类中 Louvain,GN 算法是被广为使用的。在中心性里面也有很多大家耳熟能详的算法,比如中介中心性和 PageRank 算法,能够帮助我们选择知识库里面在某种条件下一些关键的节点、关键的路径和关键的边。在其之下是相应的一些库,有单一版的比如 NetworkX、igraph,也有分布式的比如 GraphX,图数据库所带的查询语言Gremlin,Cypher,SparQL 也能够支持一定程度上的知识计算和图算法相关的一些应用。

2.知识推理

接下来是知识推理,知识推理是知识库能够实现决策推理,实现类人推理能力的一项关键技术。

请添加图片描述
推理本身包括概率推理,归纳推理,演绎推理,因果推理等

3.智能问答

基于知识图谱的智能问答是非常火的一个内容,有知识图谱我们可以做很多相应的算法或者知识获取方面的内容。

请添加图片描述
KBQA 有很多论文和算法直接实现知识图谱的问答,有非常多的有效算法,大家可以参考一些最先进的 SOTA 算法,当然这些算法都是针对一个具体的问题,没法做通用化,是跟知识图谱绑定的。而我们现在介绍的这个问答其实是一个框架,通过分解,再通过检索或者说以往的搜索引擎和知识图谱相结合提供这样一个复杂的框架结构。通过这个架构实现通用性智能问答,可以在产业中做很多的适配,可以适用于不同场景,不同方向的一些应用,通用性会更强一些,适配性也更强一些,当然在复杂程度上也比单个的算法复杂很多。

4.认知推荐

我们把基于知识图谱的推荐跟普通的推荐区分开,前者称之为认知推荐,是指以知识图谱为核心来做很多事情。
请添加图片描述

这里面包括多样性推荐、多模态推荐、给出推荐理由和说服式推荐等。它其实是模拟我们人类在做推荐时候的一些情况。比如当你问我针对知识图谱需要怎么去学习的时候,我可能会告诉你,你可以从模拟一篇论文,并且去阅读珠峰书开始,再通过给你推荐 Github 的相应项目来帮助你巩固所学的知识。通过这样的学习你可能就可以学好知识图谱的内容。

总结

本文主要介绍知识图谱的体系架构,从宏观的方面分析知识图谱在实际应用中的场景,大家感兴趣可以一起交流,文本内容参考王文广大话数智,有兴趣可以看原文

猜你喜欢

转载自blog.csdn.net/Oaklkm/article/details/130634867