知识图谱: 知识图谱是一种揭示实体之间关系的语义网络,能够对现实世界的事物及其相互关系进行形式化描述。它于 2012 年 5 月 17 日由 Google 正式提出,初衷是提高搜索引擎能力,增强用户搜索质量和体验,实现从网页链接到概念链接的转变,支持按主题检索和语义检索。 关键技术包括:
在 AI Agent 系列中,外置知识包括向量数据库、关系型数据库和知识图谱。知识图谱以图的形式组织数据,强调实体之间的关系,适合复杂的语义分析和知识推理。在实际应用中,外置知识的集成和管理常采用 RAG 架构,允许智能体实时检索和整合最新外部信息。
知识表示方面,知识是存在于我们脑海中、代表对世界理解的东西,通过活跃学习过程获得,将接收到的信息碎片整合进世界模型。知识与信息、数据等概念不同,在 DIKW 金字塔中,数据独立存在可传递,信息是头脑中解释数据的方式,知识是融入世界模型的信息,智慧是更高层次的理解。知识表示的问题是找到以数据形式在计算机中表示知识并能自动化使用的有效方法。
知识图谱(Knowledge Graph,KG)是一种揭示实体之间关系的语义网络,可以对现实世界的事物及其相互关系进行形式化地描述。知识图谱于2012年5月17日被Google正式提出,其初衷是为了提高搜索引擎的能力,增强用户的搜索质量以及搜索体验。知识图谱可以将Web从网页链接转向概念链接,支持用户按照主题来检索,实现语义检索。[heading2]关键技术[content]1.知识抽取:通过自动化的技术抽取出可用的知识单元实体抽取:命名实体识别(Named Entity Recognition,NER)从数据源中自动识别命名实体;关系抽取(Relation Extraction):从数据源中提取实体之间的关联关系,形成网状的知识结构;属性抽取:从数据源中采集特定实体的属性信息。2.知识表示属性图三元组3.知识融合:在同一框架规范下进行异构数据整合、消歧、加工、推理验证、更新等,达到数据、信息、方法、经验等知识的融合,形成高质量知识库实体对齐(Entity Alignment):消除异构数据中的实体冲突、指向不明等不一致性问题;知识加工:对知识统一管理,形成大规模的知识体系本体构建:以形式化方式明确定义概念之间的联系;质量评估:计算知识的置信度,提高知识的质量。知识更新:不断迭代更新,扩展现有知识,增加新的知识4.知识推理:在已有的知识库基础上挖掘隐含的知识
第二种知识类型是外置知识,它由外部数据库提供,与内置知识相比,其特点是能够进行动态更新和调整。当我们深入探讨外置知识时,通常会涉及到多种数据存储和组织方式,包括向量数据库、关系型数据库,以及知识图谱。这些数据库和图谱构成了智能体的知识库,它们可以是:向量数据库:优化了向量检索操作,常用于处理和索引非结构化数据,如图像和文本。关系型数据库:通过表格形式存储结构化数据,支持复杂的查询,适用于事务性数据存储。知识图谱:以图的形式组织数据,强调实体之间的关系,适合于复杂的语义分析和知识推理。在实际应用中,外置知识的集成和管理常常采用RAG(Retrieval-Augmented Generation)架构。RAG架构是一种结合了检索(Retrieval)和生成(Generation)的模型,它通过检索外部知识源来增强模型的生成能力。这种架构允许智能体在生成响应或执行任务时,不仅依赖于内置知识,还能够实时地检索和整合最新的外部信息。
符号人工智能的一个重要概念是知识(knowledge)。必须将知识与信息(information)或数据(data)区分开来。例如,我们可以说书籍包含了知识,因为我们可以通过阅读书籍成为专家。然而,书籍所包含的内容实际上被称为数据,通过阅读书籍将这些数据整合进我们的世界模型中,我们就将这些数据转换成了知识。✅知识是存在于我们脑海中的东西,代表着我们对世界的理解。知识是通过活跃的学习过程获得的,它将我们接收到的信息碎片整合到我们对世界的活跃模型中。在大多数情况下,我们并不严格定义知识,而是使用[DIKW金字塔](https://en.wikipedia.org/wiki/DIKW_pyramid)将知识与其他相关概念进行整合。该金字塔包含以下概念:数据(Data)是以书面文字或口头语言等物理介质表示的东西。数据独立于人类而存在,可以在人与人之间传递。信息(Information)我们在头脑中解释数据的方式。例如,当我们听到“计算机”这个词时,会对它有一定的了解。知识(Knowledge)融入我们世界模型的信息。例如,一旦我们知道了计算机是什么,我们就会开始对它的工作原理、价格以及用途有一些概念。这个相互关联的概念网络构成了我们的知识。智慧(Wisdom)是我们理解世界的更高一个层次,它象征着元知识(meta-knowledge),例如关于如何以及何时使用知识的一些概念。因此,知识表示的问题是找到某种有效的方法,以数据的形式在计算机中表示知识,使其能够自动化使用。这可以看作是一个连续谱:在左侧,有几种非常简单的知识表示可以被计算机有效利用。最简单的是算法,即用计算机程序来表示知识。然而,这并不是表示知识的最佳方式,因为它并不灵活。我们头脑中的知识往往是非算法性的。右边是自然语言等知识表示方式。它的功能最强大,但不能用于自动化推理。✅想一想,你是如何在头脑中呈现知识并将其转化为笔记的。是否有一种特定的格式对你来说非常有效,有助于记忆?