【知识图谱】获取到知识后,如何进行存储和便捷的检索?

互联网时代,人类在与自然和社会的交互中生产了异常庞大的数据,这些数据中包含了大量描述自然界和人类社会客观规律有用信息。如何将这些信息有效组织起来,进行结构化的存储,就是知识图谱的内容。

知识图谱的难点在于知识图谱的搭建,如何高效、高质量、快速的搭建知识图谱是知识图谱工程的核心,那之后获取到的知识,该如何存储以及便捷的检索呢?

作者&编辑 | 小Dream哥

1  知识存储

在前面的知识图谱的文章中,我们介绍了如何进行知识表示以及知识抽取。今天我们来思考这样一个问题,当获取到了大量的知识(通常是一系列的三元组)之后,该用什么样的形式存储这些知识呢?

先思考一下,用来存储知识的系统,应该具有哪些特点呢?

首先,图谱的价值体现在其对对话系统,信息抽取等下游任务的加成,因此知识的存储系统应该能够支持快速和频繁的知识查询操作。

其次,图谱里的知识是按照shcema的结构抽取的,因此,知识的存储应该能够按照schema的结构,体现出知识的层次结构和知识间联系。

此外,知识存储应该尽量高效,避免出现过多的存储空间的浪费。

1)关系型数据库

数据存储最容易想到的就是常用的关系型数据库,包括Oracle、MySQL等。

如上图所示,是采用传统关系型数据库表示知识的示意图。每条知识是一个三元组(S,P,O),其中S称为主语Subject,其取值可以是实体、事件或者概念中的任何一个;P被称为谓语Predicate,取值可以是关系或者属性;O被称为宾语Object,取值可以是实体、事件、概念或者其他普通的值(例如数字,字符串等)。

在传统关系型数据库中,将三元组一个一个的存储在数据库的一个数据项中,当数据量非常大时,表的规模就非常大,这样的话,查询和修改操作的开销会变得非常的大,这会极大伤害知识图谱的实用性。虽然,基于关系型数据库,有人提出了类型表的方法,即将数据按照schema进行分类,然后数据按照不同的类型表分表存储。但是,由于其本质上并没有“理解”知识图谱的复杂结构,其查表过程仍然较慢较繁琐,无法适应数据量极大的知识图谱的应用。

2)图数据库

将实体看作节点,关系看作带有标签的边,那么知识图谱的数据很自然的满足图模型结构。因此,基于图结构的存储方式能够直接准确的反映知识图谱的内部结构,有利于对知识的查询。另外,以图的方式对知识进行存储,还可以借鉴图论的相关算法,有利于知识推理和知识挖掘。

常用的图数据库有:Neo4J,OrientDB,InfoGrid,HyperGraphDB等。目前,应用较为广泛的为Neo4J和OrientDB。图数据发展较晚,相关标准和技术均不完备,实际应用时可能会遇到意想不到的问题。因此,在为项目选择图数据库时,需要将数据库的易用性和技术文档的完整性等因素也考虑进来。Neo4J是目前较为流行的图数据库,它极易入门,访问速度快。

基于图结构的存储模型用节点表示实体,用边表示实体之间的关系。如下图所示,展示了基于图数据库的知识存储示例。由图可见,节点可以定义属性,用来描述实体的各种特性,下图中“周杰伦”有“身高”,“体重”等属性。基于图结构的存储方法,还可以为边定义属性,因此,还能够描绘实体之间的关系,例如,“周杰伦”和“黄秋生”之间就用了一条叫“义父”的边来连接,表达了他们之间的关系。

2 知识的检索

知识检索的过程,通常是知道三元组(S,P,O)中S和P,从图谱中获取O的过程。以KBQA为例,我们来讲述一下知识检索的过程。

假设用户输入这样的query:“周杰伦的义父是谁?”,读者先想一下,需要经过哪些步骤,才能检索图谱得到答案呢?

如上图所示,展示了这样一个过程:

1.通过实体识别模块,识别出S:周杰伦

2.通过关系识别模块,识别出P:义父是谁

3.检索图数据库,得到答案“黄秋生”

上述过程是一个标准的流程,在实际的应用过程中,可能还会有实体的链接以及关系校正等过程。

当然,检索数据库过程因不同数据库而异,具体不会太复杂,感兴趣的同学可以参考自己所使用的数据库的文档,这里不做详细的介绍。

总结

知识图谱是人工智能技术最重要的基础设施,是计算机能够实现推理、预测等类似人类思考能力的关键。知识存储和检索是知识图谱系列技术中相对简单的一环。对开发者而言,其难点在于检索过程,即组建检索语句的过程,设计实体识别及关系识别。

我会在知识星球中讨论NEO4J的具体操作以及KBQA的具体实现,感兴趣的同学可以扫描下面的二维码加入。

(0)

相关推荐

  • 知新温故,从知识图谱到图数据库

    说到人工智能技术,首先会联想到深度学习.机器学习技术:谈到人工智能应用,很可能会马上想起语音助理.自动驾驶等等.实际上,人工智能要在行业中得到应用的先决条件是首先要对行业建立起认知,只有理解了行业和场 ...

  • 终于有人把知识图谱讲明白了

    导读:知识图谱的概念诞生于2012年,由Google公司首先提出.知识图谱的提出是为了准确地阐述人.事.物之间的关系,最早应用于搜索引擎.知识图谱是为了描述文本语义,在自然界建立实体关系的知识数据库. ...

  • 知识图谱简介

    本文根据幕布上这篇思维导图总结而得无需AI基础,小白也能看懂的知识图谱技术与应用 对知识图谱了解还不多,后续会跟进... 一.什么是知识图谱? 定义 学术上:语义网络(Semantic Network ...

  • 知识图谱在大数据中的应用

    随着移动互联网的发展,万物互联成为了可能,这种互联所产生的数据也在爆发式地增长,而这些数据恰好可以作为分析关系的有效原料.如果说以往的智能分析专注在每一个个体上,在移动互联网时代则除了个体,这种个体之 ...

  • 通过看电视获取知识,和看书学知识的孩子,上学后会有明显区别

    随着信息社会的不断变化发展,目前我们处在一个知识爆炸的时代,我们一直在面对海量的信息,而这些大量的知识信息来源主要有两条途径,一条途径是高效率的广播电视媒体,一条是传统的知识来源:书籍. 看电视获取知 ...

  • 需要知识的后深度学习时代,如何高效自动构建知识图谱?

    机器之心原创 作者:Synced Lab 知识图谱可以做什么?如何自动.高效地构建知识图谱?前沿的知识图谱自动构建技术有哪些?这篇文章将逐一解答这些问题. 日常生活中,我们经常遇到以下两种信息展现方式 ...

  • 名老中医医案 知识图谱

    随着信息时代的来临,知识呈现出爆炸式增长的现象,计算机处理技术水平和存储能力也得到了迅速提高,且实现了越来越便捷的信息分析.检索,甚至可视化等先进的功能,使得近年来出现了以知识单元为前提.可以快速获取 ...

  • 何捷:知识图谱——精准定位教学的“GPS”

    2012年,谷歌(Google)正式提出了知识图谱的概念,并宣布以此为基础构建下一代智能化搜索引擎.我们所理解的知识图谱是人工智能领域的一个重要分支,其来源于智能化的图书情报和信息处理技术,即将文献中 ...

  • 【直播课】知识图谱第三期直播-关系抽取及分类

    前言 最近几年知识图谱作为人工智能领域很热门的一项技术,已经在不少领域都取得了不少成功的落地案例.不过知识图谱作为人工智能的一个底层技术,确实不如图像,语音等技术一样让人能很直观的感受到它的存在.于是 ...

  • 广西冷知识①|“桂林山水甲天下”的后半句,你知道是什么吗?

    几乎每一个人提到广西,提到桂林,脑子里闪出的第一句话就是"桂林山水甲天下". 慕名到桂林旅游后,每一个导游或当地人都会告诉你下一句是"阳朔山水甲桂林". 但是这 ...

  • ENRIE:知识图谱与BERT相结合,为语言模型赋能助力

    来自:朴素人工智能 感谢清华大学自然语言处理实验室对预训练语言模型架构的梳理,我们将沿此脉络前行,探索预训练语言模型的前沿技术,红框中为已介绍的文章,绿框中为本期介绍的模型,欢迎大家留言讨论交流. E ...

  • 构建体系化医学知识图谱 提高医学人文素养

    深圳图书馆健康分馆位于深圳市疾控中心,由预防医学历史展厅和标本展厅组成,将强烈艺术感染力和趣味互动性融为一体,拉近公众与医学之间的距离.与此同时,作为全国公共卫生领域首家叙事医学机构所在地,该场馆将定 ...

  • 知识图谱的5G追溯

    [引子]"治学先治史",了解研究领域的历史背景和对于了解未来可能的途径至关重要,关于知识图谱也不例外.周末劳逸结合,本文编译自Claudio Gutierrez和Juan f. S ...