知识图谱:认知智能理论与实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.5.3 知识图谱存储技术

就像人类的知识会存储在大脑中,并能随时随地使用一样,知识图谱存储技术的目的是给知识一个安身之地,以便随时随地供机器使用,其中包括对实体及其属性的存储,以及对关系及其属性的存储。也就是说,知识图谱存储技术要解决的核心问题是如何存储实体和关系,其本质是计算机科学中的信息存储,属于数据库技术范畴。

图1-4 的存储技术部分描述了与知识图谱存储有关的多个方面的内容,包括数据库技术领域的几个基本问题——数据模型、事务、完整性约束和查询语言等。其中,属性图模型用于对知识图谱这种图结构的数据进行建模,是研究知识图谱存储的物理存储和逻辑存储的关键和核心。常见的图数据库就是建立在属性图模型之上的数据库,是一种致力于优化图结构数据的海量存储和高效查询的存储方式。并且,许多基于属性图模型的数据库完全匹配了知识图谱有关的各种概念,是知识图谱存储的天然选择,比如图1-4中的 JanusGraph 等。

如果知识图谱规模不大,实体和关系都比较少,那么简单的图数据库完全能够胜任。但如果遇到包含数以亿计的实体和以百亿计的关系的知识图谱时,就需要分布式图数据库了。此时的知识图谱存储还涉及分布式计算技术和分布式存储技术,这是两个关系非常紧密又有所不同的技术方向,属于大数据学科的研究范畴。在图1-4中,JanusGraph 就是一个支持分布式存储和计算的图数据库。

在图数据库之外,一种新兴的数据库——向量数据库也值得关注。这是在深度学习日趋成熟,因对向量的存储和检索需求激增而形成的一个全新的细分数据库领域。向量数据库主要用于存储、索引和管理深度学习所产生的向量数据,核心的功能是高效检索与给定向量最相似的结果。以两张表示月亮的图片A和B为例,经过深度学习模型所学习的向量表示vAvB几乎不可能一样,那么从向量数据库中检索图片A所对应的向量vA的最相似向量v'B就是向量数据库要实现的核心功能。当前,向量数据库刚刚起步,远未成熟,是一个初生但前景远大的研究领域。

众所周知,图数据库存储的知识(比如文本)是精确的,而通过深度学习技术所学习到的知识的向量表示是不精确的,这可能更接近于人类大脑并不精确的知识存储方式。随着深度学习技术的发展,文本、图像和声音的表示学习日趋成熟,知识的向量表示所涉及的范围也愈加广泛。向量数据库因此被开发出来并逐渐流行。虽然当前的知识主要是文本,基于文本本身的检索和应用非常成熟,图数据库等存储方法足以胜任,但随着多媒体、多模态知识图谱的发展,越来越多的图像、视频和声音等知识参与到知识的检索、探索、计算、推理等应用中,向量数据库会逐渐展现出巨大的优势。随着技术的进一步发展,未来也许会出现知识的精确表示方法——文本表示,以及知识的模糊表示方法——向量表示的融合。这意味着,未来的知识图谱存储应当是,图数据库和向量数据库以某种方式深度融合后的新型数据库(也许可以称为向量图数据库或图向量数据库)。这种向量和文本融合的知识存储方向也是值得探索与研究的。

第5章将详细介绍知识图谱存储技术——主要是图数据有关的内容,包括属性图模型、完整性约束、事务和查询语言等,对分布式存储和分布式计算也做了相应的介绍。第5章还全面介绍并深度解析了 JanusGraph 分布式图数据库,为想直接利用图数据库来存储和检索知识图谱的读者提供指引。此外,第5章还介绍了当前流行的其他图数据库,供读者做图数据选型时参考。鉴于向量数据库刚刚开始并未成熟,本书没有做过多介绍,有兴趣的读者可以自行查阅相关资料。