带你从入门到精通——知识图谱(一. 知识图谱入门)

目录

[一. 知识图谱入门](#一. 知识图谱入门)

[1.1 知识图谱概述](#1.1 知识图谱概述)

[1.2 分层架构](#1.2 分层架构)

[1.2.1 数据层](#1.2.1 数据层)

[1.2.2 模式层](#1.2.2 模式层)

[1.3 技术架构](#1.3 技术架构)


一. 知识图谱入门

1.1 知识图谱概述

知识图谱(Knowledge Graph)一种基于图数据结构的关系网络或数据库,于2012年正式被Google提出,在知识图谱中,节点可以表示概念(抽象出来的事物,也称本体)、实体(具体的事物)、属性值,边可以表示事物的关系(事物的内外部联系)或属性(事物的内部特征),由于图可以分为有向图和无向图,因此知识图谱也可以是有向或无向的。

与传统的关系型数据库,如MySQL相比,知识图谱能够通过节点和边的关系更便捷地处理复杂的多跳关系、并且在数据层添加新的节点和边不会影响已有的数据,有着更强的可扩展性,此外知识图谱还支持语义推理。

1.2 分层架构

知识图谱的分层架构通常包括两个主要层:数据层(data layer)模式层(schema layer)

1.2.1 数据层

数据层是知识图谱的基础 ,用于存储知识图谱的具体数据,类似于关系型数据库的数据表中的具体数据,在数据层中通常使用**资源描述框架(Resource Description Framework,RDF)**来存储实体、实体的属性以及实体之间的关系。

RDF使用三元组来存储数据,例如:(实体,关系,实体)、(实体,属性,属性值),这样的一个三元组即为一个知识。

在数据层中,节点表示实体或属性值,边表示关系或属性 ,并且数据层是动态的,可以不断扩展和更新。

1.2.2 模式层

模式层知识图谱的逻辑框架 ,用于定义知识图谱的结构和规则,类似于关系型数据库中的表结构(表结构包括表的字段、字段的数据类型及其键约束),在模式层中通过**本体(即实体的抽象化概念)**来​定义知识的结构和规则,对数据层进行约束。

在模式层中,节点表示本体(包含了属性约束,用于约束数据层中的实体与其属性),边表示本体间的关系 ,模式层是静态的,设计时需根据业务需求定义。

1.3 技术架构

知识图谱的整体技术框架图如下:

数据获取 :用于构建知识图谱的数据可以分为三种:结构化数据、半结构化数据以及非结构化数据 ,其中结构化数据是指以二维表格存储的数据(如CSV文件、TSV文件);半结构化数据具有一定的结构性的数据(如以键值对存储的JSON文件、带有标签的XML文件);非结构化数据是指没有明确结构的数据(如txt纯文本文件)。

信息抽取 :信息抽取是指从异构数据(指不同格式、不同结构或是不同来源的数据)中抽取可用的候选知识单元,对于结构化数据只需要进行简单的预处理即可使用,但是对于半结构化数据和非结构化数据一般需要进行实体抽取、关系抽取以及属性抽取等步骤才能提炼出可以使用的结构化信息。

注意:对于属性抽取可以转换为实体和属性值之间的关系抽取。

知识融合 :知识融合是指将多源异构的候选知识单元统一整合到一个一致的知识体系中,知识融合的过程需要解决指代消解、实体消歧等问题。

知识加工:知识加工是指对完成知识融合后得到的知识体系或是由知识推理得到的新的候选知识单元进行进一步加工和质量评估并形成知识图谱的过程。

相关推荐
孟健32 分钟前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
格砸1 小时前
从入门到辞职|从ChatGPT到OpenClaw,跟上智能时代的进化
前端·人工智能·后端
可观测性用观测云1 小时前
可观测性 4.0:教系统如何思考
人工智能
sunny8651 小时前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github
小笼包包仔1 小时前
OpenClaw 多Agent软件开发最佳实践指南
人工智能
smallyoung2 小时前
AgenticRAG:智能体驱动的检索增强生成
人工智能
_skyming_2 小时前
OpenCode 如何做到结果不做自动质量评估,为什么结果还不错?
人工智能
南山安2 小时前
手写 Cursor 核心原理:从 Node.js 进程到智能 Agent
人工智能·agent·设计
码路飞2 小时前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
掘金安东尼3 小时前
如何为 AI 编码代理配置 Next.js 项目
人工智能