在我的阅读过程中,我看到许多作者交替使用这两个术语,即好像它们指的是同一个东西。然而,我们都知道谷歌第一次引用“知识图谱”是指他们利用知识库的新方式。之后,其他公司都声称使用知识图谱。
两者之间的技术差异是什么?具体的例子对于更好地理解细微差别非常有用。
在我的阅读过程中,我看到许多作者交替使用这两个术语,即好像它们指的是同一个东西。然而,我们都知道谷歌第一次引用“知识图谱”是指他们利用知识库的新方式。之后,其他公司都声称使用知识图谱。
两者之间的技术差异是什么?具体的例子对于更好地理解细微差别非常有用。
根据相关的维基百科,知识库(KB)是:
一种用于存储计算机系统使用的复杂结构化和非结构化信息的技术。该术语的最初使用与专家系统有关,这是第一个基于知识的系统。
由于 KB 有不同的表示模型,我们可以在不同的领域找到不同的术语。例如,在一些 AI 文章中,它被称为本体。
Knowledeg 图(KG) 是另一个实现 KB 的对象模型,它是由 Google 为其搜索引擎引入的(正如您所提到的)。因此,KG 是 KB 的规范。您可以在文章Knowledge Graphs中找到更多信息,例如有关 KG 的更多历史或对其的正式定义:
知识图是旨在积累和传达现实世界知识的数据图,其节点表示感兴趣的实体,其边表示这些实体之间的关系。
此外,您可以在Learning Contextual Embeddings for Knowledge Graph Completion and KG论文中找到一些关于上下文 KG (CKG) 的文章:学习使用上下文知识图嵌入推理科学考试问题。
附录A.3 “知识图谱”:2012 年以后的调查知识图谱(这可能是关于 KG 的最广泛的调查)指出,近年来,知识图谱已以不同的方式定义。这些定义中的每一个都提出了关于 KG 与其他相关概念(如图形数据库、知识库和本体)之间关系的问题。
KG 的一个定义是
一个图,其中节点表示实体,边表示这些实体之间的关系。通常假设有向边标记图(或类似地,一组二元关系或一组三元组)
这里的问题是:KG 和图形数据库(如 Neo4j)有什么区别?图形数据库已用于构建 KG,但这两个术语之间有什么实际区别吗?
KG 的另一个定义是
知识图谱是图结构的知识库
因此,根据此定义,KG 将是一种知识库 (KB)。
在同一个附录中,作者写道
“知识库”一词在 70 年代(可能更早)在基于规则的专家系统 [72]的背景下得到普及,后来被用于本体和其他逻辑形式的背景下[68]
他们得出结论,过去也以模糊的方式定义了 KB。
Norvig 和 Russell 在他们的 AIMA 书(第 3 版)的第 7 章(第 235 页)中,将 KB 定义为一组句子/事实,例如,用命题逻辑表达。然后,您使用推理技术从该知识库中获取新知识。编程语言PROLOG就是基于 KB 的这种定义。
因此,您的问题没有一个单一的答案,因为知识图 (KG) 和知识库 (KB)在过去以多种(通常是模棱两可的)方式定义。有人说 KG 与 KB 不同,而另一些人则将 KG 一词用作 KB 的同义词或将其定义为 KB 的一种。
但是,如果我们将 KG 定义为具有表示实体(如城市和国家)的节点和表示这些实体之间关系的边(这是 KG 的常见定义)的图,我们可以将KG 视为视觉表示的 KB,定义为一组句子/事实(例如,用命题逻辑表示)。要了解为什么会这样,请考虑以下简单的 KG。
让我们将此 KG 表示为, 在哪里是一组实体(具有属性)和是关系的集合。在, 我们有以下关系
可以放入一组事实中,即与此特定 KG 关联的 KB。
在 KGs 的上下文中,我们也有一个类似于 KBs 上下文中的推理(或知识推理)的任务/问题,称为图完成,它可以分为其他子任务,如实体预测、关系预测和三重分类,使用知识图嵌入。
您真的应该阅读上述调查的附录 A和后续附录,以获取有关知识图谱和知识库的历史和定义以及其他相关概念(如模式)的更多信息。您还可以阅读 AIMA 书籍第 3 版的第 7 章(第 235 页)以了解有关知识库的更多信息。