一天一个开源项目(第61篇):knowledge_graph - 把任意文本转成知识图谱
引言“Convert any text to a graph of knowledge. Graph Retrieval Augmented Generation (GRAG) — a new and improved version of RAG.”这是「一天一个开源项目」系列的第 61 篇文章。今天介绍的项目是knowledge_graphGitHub。想把文档、PDF 转成可查询、可可视化的知识图谱knowledge_graph用LLM 提取概念非实体、构建节点与边支持GRAG图检索增强生成、中心性分析、社区发现。采用no-GPT 方案本地Mistral 7B Ollama零 API 成本Docker 一键运行。你将学到什么知识图谱的构建流程概念 vs 实体的区别W1语义关系与 W2上下文邻近双权重GRAG 与 RAG 的对比本地 Ollama Docker 快速开始前置知识对 RAG、知识图谱有基本了解有 Docker 或本地 Ollama 环境可选项目背景项目简介knowledge_graph是 rahulnyk 开源的文本转知识图谱项目。从 PDF 等文本语料中用 LLM 提取概念concepts而非实体entities例如「班加罗尔」是实体「班加罗尔宜人天气」是概念概念在同一文本块中共现则视为相关。构建出的图谱可用于 GRAG、中心性计算、社区聚类等。作者作者rahulnyk理念概念比实体更有意义本地 LLM 零成本可扩展为图数据库项目数据⭐GitHub Stars: 3.1kForks: 491License: MIT示例图谱: rahulnyk.github.io/knowledge_graph方法详解: Medium 文章主要功能核心流程分块将文本语料切分为 chunks分配 chunk_id提取概念与关系用 LLM 从每个 chunk 提取概念及其语义关系权重 W1上下文邻近同一 chunk 内共现的概念视为相关权重 W2合并边对相同概念对合并权重、拼接关系得到唯一边计算度与社区节点度用于 sizing、社区用于 coloring概念 vs 实体类型示例说明实体Bangalore、医生具体对象、人名、地名概念Pleasant weather in Bangalore、医生与患者关系情境、关系、抽象概念本项目提取概念作者经验概念比实体更有意义的 KG使用场景GRAG用图谱作为检索器与文档进行更深层对话中心性分析识别文本中最重要的概念社区发现将概念聚类分析主题结构可视化用 Pyvis 生成可托管到网页的交互图快速开始Docker推荐gitclone https://github.com/rahulnyk/knowledge_graph.gitcdknowledge_graphdockerbuild-tknowledge-graph.dockerrun-p8888:8888 knowledge-graph访问 Jupyter端口 8888。本地 Ollama安装 Ollama运行ollama run zephyr或 Mistral 7B OpenOrca修改extract_graph.ipynb中的输入文本/PDF 路径运行 notebook核心 Notebookextract_graph.ipynb技术栈组件说明Mistral 7B OpenOrca提取概念的 LLM通过 Ollama 本地运行Ollama本地托管模型零 API 成本Pandas图 schema 的 dataframe可后续换图数据库NetworkX图结构与算法Pyvis生成可网页托管的 JS 图可视化项目优势对比项knowledge_graph传统 NER 关系抽取纯向量 RAG提取对象概念实体无显式结构关系语义 上下文邻近预定义关系类型无成本本地 LLM零 API视实现而定向量化有成本检索方式图检索GRAG图查询向量相似度可解释性高可追溯边与 chunk中低项目详细剖析双权重设计W1LLM 提取的语义关系同一概念对可有多种关系W2同一 chunk 内共现的上下文邻近关系合并相同概念对合并权重相加关系列表拼接待改进方向社区建议后端用 embedding 去重语义相似概念如 “doctor” 与 “doctors”过滤冗余、离群概念优化上下文邻近避免高频概念过重前端按兴趣/主题展开子概念更实用的图谱浏览与导航目录结构knowledge_graph/ ├── extract_graph.ipynb # 核心提取 notebook ├── ner.ipynb # NER 相关 ├── data_input/ # 输入数据 ├── data_output/ # 输出 ├── helpers/ # 辅助函数 ├── ollama/ # Ollama 相关 ├── dockerfile └── pyproject.toml项目地址与资源官方资源GitHub: https://github.com/rahulnyk/knowledge_graph示例图谱: rahulnyk.github.io/knowledge_graphMedium: How to convert any text into a graph of conceptsIssues: GitHub Issues适用人群需要从文档构建知识图谱的开发者探索 GRAG、图检索增强的团队希望零 API 成本、本地运行的 RAG/GRAG 用户对概念抽取、图可视化感兴趣的研究者欢迎来我中的个人主页找到更多有用的知识和有趣的产品
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2474767.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!