news 2026/8/22 12:12:57

如何用 knowledge_graph 把一堆文本变成可查询的知识图谱

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用 knowledge_graph 把一堆文本变成可查询的知识图谱

如何用 knowledge_graph 把一堆文本变成可查询的知识图谱

【免费下载链接】knowledge_graphConvert any text to a graph of knowledge. This can be used for Graph Augmented Generation or Knowledge Graph based QnA项目地址: https://gitcode.com/gh_mirrors/kn/knowledge_graph

资料越攒越多,却理不清它们之间的联系。知识图谱就是把实体和它们的关系变成一张能查询的图;开源项目 knowledge_graph(作者 rahulnyk)专门干这件事:把任意文本语料变成这样一张图。

🕐 30 秒了解:本地跑通的 Python 知识图谱工具

它不是打包好的 API 库,而是 Notebook 里一条可跑的流水线:把文本切成块,让本地小模型(Mistral 7B,通过 Ollama 运行——Ollama 是把大模型跑在自己机器上的工具)从每块里抽概念,再抽概念间的关系,汇成图,最后渲染成交互式网页。刚接触知识图谱、想零成本试一下用图做问答的人,适合拿它上手。

最小跑法,4 行:

git clone https://gitcode.com/gh_mirrors/kn/knowledge_graph cd knowledge_graph docker build -t knowledge-graph . docker run -p 8888:8888 knowledge-graph

JupyterLab 起来后打开 extract_graph.ipynb,指向你自己的 PDF 即可。

⚙️ 拆解它是怎么工作的

三元组到底怎么存:3 张 CSV 表就够

知识图谱的标准数据模型是三元组(subject–predicate–object,即"谁、以什么关系、指向谁")。这个项目没把三元组塞进图数据库,而是每条写进 graph.csv 的一行:node_1、node_2 两个概念,edge 用一句话描述两者关系,chunk_id 记下关系出自哪块文本——像一张社交关系表:谁跟谁什么关系、在哪次对话里提到。concepts.csv 存每个概念(节点)及分类,chunks.csv 存原文,每条边都能回溯出处。

为什么抽"概念"而不是抽"实体"

实体识别(NER,从文本里自动找人名地名的技术)能抽出"班加罗尔",但抽不出"班加罗尔天气好"。项目把前者叫实体、后者叫概念,让 LLM 直接抽概念——作者的经验是概念图谱比实体图谱更有语义含量。另有一条隐规则:同一块文本里共现的概念视为相关(上下文邻近),它与模型抽取的关系各记一个权重;同一对概念被多次提及时权重累加,高频概念自然更重。

依赖哪些成熟库,能不能换

pandas 用表格承载一切(不需要图数据库),NetworkX 负责建图、算节点度和社区划分(决定节点大小与颜色),pyvis 把图渲染成交互 HTML。想换任何一环都能单独换:换 LLM 调用、换可视化,互不影响。

🎯 三个适用场景

  • 研究者梳理领域:灌一本专著或一批论文,立刻看出哪些概念是全文枢纽(节点度高)、哪些是边缘,再用社区划分把相关概念抱团,帮你想清楚下一个深耕方向。
  • 做文档问答(GRAG):RAG(检索增强生成)是捞几段文本塞进提示词;换成知识图谱当检索源,回答能解释 A 和 B 怎么关联,关系型问题效果好得多。
  • 整理个人笔记:把笔记或同领域文章变成图,看章节间没注意过的关联——作者说这步纯属艺术享受。

⚖️ 客观评价

值得喜欢的点:

  • 完全本地跑:Ollama 起本地小模型,不调付费 API,跑一本书不花钱。
  • 中间产物全是普通 CSV 表(data_output/ 目录可看),任何一步都能用 Excel 检查修改。
  • 流水线短、代码可读:一个 notebook 加 helpers/ 里几个函数,提示词透明写在 helpers/prompts.py,一遍能看懂。

需要注意的地方:

  • 它是 notebook 流水线而非可安装包,没有 add_triple 式 API,想集成进生产系统得自己改造。
  • 没有 SPARQL(RDF 数据的查询语言,可理解为"图上的 SQL")层,也没有图数据库;习惯 SPARQL 查询的人要转到"表格 + NetworkX"的工作方式。概念去重(doctor 和 doctors 被当成两个节点)也还在 TODO 里。

🧭 下一步建议

  • 适合谁先试:刚接触知识图谱想完整动手一遍的人;已在跑 RAG、想对比图检索与向量检索的人。
  • 从哪个场景切入:用一份短 PDF 起步(仓库自带样例输入输出),先打开 docs/graph.html 看渲染效果,再自己跑。
  • 去仓库看哪些文件:extract_graph.ipynb 是主流程,helpers/prompts.py 是抽取提示词,dockerfile 是环境搭建,assets/Method.png 是完整方法流程图。

【免费下载链接】knowledge_graphConvert any text to a graph of knowledge. This can be used for Graph Augmented Generation or Knowledge Graph based QnA项目地址: https://gitcode.com/gh_mirrors/kn/knowledge_graph

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 12:08:46

深入解析switch语句:从语法糖到跳转表优化的底层原理

1. 从“开关”到“跳转表”:一个被低估的语法糖在编程世界里,switch语句就像一位熟悉的老朋友。无论是刚入门时写一个简单的星期判断,还是在复杂的业务逻辑中处理状态机,它都是我们工具箱里的常客。很多人对它的认知停留在“一个更…

作者头像 李华
网站建设 2026/8/22 12:08:38

运维工程师职业进阶:六大高含金量认证深度解析与备考指南

运维这行,证书到底有没有用?是敲门砖还是压箱底的废纸?这个问题困扰着无数从业者。尤其是在云原生、自动化运维大行其道的今天,很多新人觉得会写脚本、懂容器、能上云就够了,证书似乎成了“老古董”。但现实情况是&…

作者头像 李华
网站建设 2026/8/22 12:08:31

铜钟音乐:免费听歌,免注册,浏览器打开就能用

铜钟音乐:免费听歌,免注册,浏览器打开就能用 【免费下载链接】tonzhon-music 铜钟「Tonzhon」: 干净纯粹的音乐平台 (铜钟已不再使用原来的 tonzhon.com,现在的 tonzhon.com 不是正版的铜钟) 项目地址: https://gitcode.com/Git…

作者头像 李华
网站建设 2026/8/22 12:07:50

FlexASIO 免费通用 ASIO 驱动 3 步实现低延迟

FlexASIO 免费通用 ASIO 驱动 3 步实现低延迟 【免费下载链接】FlexASIO A flexible universal ASIO driver that uses the PortAudio sound I/O library. Supports WASAPI (shared and exclusive), KS, DirectSound and MME. 项目地址: https://gitcode.com/gh_mirrors/fl/F…

作者头像 李华
网站建设 2026/8/22 12:07:34

3 步上手 Mi-Create:零基础可视化制作小米表盘的完整流程

3 步上手 Mi-Create:零基础可视化制作小米表盘的完整流程 【免费下载链接】Mi-Create Unofficial watchface creator for Xiaomi wearables ~2021 and above 项目地址: https://gitcode.com/gh_mirrors/mi/Mi-Create 官方表盘用腻了,自己动手做一…

作者头像 李华