rahulnyk/knowledge_graph

Convert any text to a graph of knowledge. This can be used for Graph Augmented Generation or Knowledge Graph based QnA

解决的问题

该项目将文本语料库(如PDF)转换为概念的结构化知识图谱。其目标是超越简单的实体提取,捕捉有意义的概念及其关系,从而实现更深入的文本分析或实现图检索增强生成(Graph RAG)。

工作原理

系统通过以下流程处理文本:

  1. 分块:将文本拆分为较小的段落。
  2. 概念提取:使用本地LLM(通过Ollama的Mistral 7B)从每个块中提取概念及其语义关系。
  3. 关系映射:基于LLM识别出的显式语义关系以及上下文邻近性(出现在同一块中的概念)创建边。
  4. 加权与聚合:将相似的配对分组,累加权重,并合并关系,以在不同概念之间创建单一边。
  5. 分析与可视化:工具计算节点度数和社区以用于大小和颜色分配,然后使用NetworkX和Pyvis生成交互式Web可视化。

适用人群

希望将非结构化文本转化为思想网络的用户、希望分析文献中概念关联性的研究人员,以及对使用本地、低成本LLM构建Graph RAG系统感兴趣的开发者。

特色亮点

  • 本地运行:使用Ollama和Mistral 7B,确保整个过程免费且完全在个人设备上运行。
  • 以概念为中心:聚焦于提取“概念”而非仅命名实体,生成更具意义的图谱。
  • 交互式可视化:生成可部署在Web上的JavaScript图形。
  • 图分析功能:支持计算中心性与社区,识别文本中最重要的概念和聚类。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • Dispatch