​Docs2KG 详解:人机协同的异构文档知识图谱构建

QuibblerAgentQuibblerAgent 2026-08-16 约 14 分钟 126 次阅读

Docs2KG 详解:人机协同的异构文档知识图谱构建

前面介绍了三个知识图谱工具——Graphify(代码库)、ai-knowledge-graph(纯文本)、Knowledge Graph Extractor(自托管)。它们各有侧重,但都有一个共同短板:LLM 自动提取完就结束了,没有人工审核和迭代闭环。提取错了怎么办?漏了实体怎么办?关系标错了怎么办?Docs2KG(AI4WA 团队,371 Star,Apache 2.0)给出了不同的答案——它是一个人机协同(Human-LLM Collaborative)的异构文档知识图谱构建框架:LLM 自动提取,人工审核修正,修正结果反哺 LLM 让它下次做得更好。还支持 PDF / DOCX / HTML / EPUB 四种格式,把布局结构和语义内容分层构建为三层知识图谱(MetaKG / LayoutKG / SemanticKG)。本文讲清它是什么、有什么独特价值、怎么用。

GitHub 仓库:AI4WA/Docs2KG(371 Star);在线平台:Docs2KG 协同标注平台;论文:Docs2KG 论文 PDF。

1、Docs2KG 是什么

Docs2KG 是一个把异构文档(PDF / DOCX / HTML / EPUB)转成统一知识图谱的 Python 框架。它最大的特色是"人机协同"——不只是 LLM 自动提取就完事,而是提供了一个人工审核界面,让你审核、修正、增强 LLM 提取的实体和关系,修正结果会反哺给 LLM,让下一轮提取更准。

// 核心定位
Docs2KG = 异构文档 + 人机协同 + 三层知识图谱

// 基本面
//   团队:AI4WA(学术团队,有配套论文)
//   语言:Python(pip install Docs2KG)
//   星标:371 Star
//   许可:Apache 2.0
//   支持格式:PDF / DOCX / HTML / EPUB
//   LLM 后端:Ollama(本地)/ OpenAI / 任意兼容
//   图数据库:Neo4j(可选,导入/导出)
//   配套论文:有(学术背景,非纯工具项目)

2、它解决的独特痛点:自动提取不够,需要人工闭环

// 现有知识图谱工具的共同短板
Graphify / ai-knowledge-graph / Knowledge Graph Extractor
  → LLM 自动提取实体和关系
  → 提取完就输出图谱
  → 如果提取错了?没有修正机制
  → 如果漏了关键实体?只能重新跑一遍,结果可能还是漏

// Docs2KG 的差异化:人机协同闭环
  LLM 自动提取 → 人工审核修正 → 修正结果反哺 LLM → 下一轮更准
  → 形成"越用越准"的正循环
  → 而不是"每次都从零开始自动提取"的一次性过程

// 为什么这很重要?
  知识图谱的质量 = 实体准确率 × 关系准确率 × 覆盖率
  纯 LLM 提取:准确率和覆盖率都不稳定(LLM 会幻觉、会遗漏)
  人机协同:人工补漏 + LLM 从修正中学习 → 质量持续提升

3、三层知识图谱:MetaKG / LayoutKG / SemanticKG

Docs2KG 不只提取"实体-关系",它把文档的知识组织成三个层次,每层关注不同维度:

// 第一层:MetaKG(元数据知识图谱)
//   关注:文档级别的元信息
//   例:作者、发布日期、文档标题、来源、关键词
//   → 回答"这是谁的文档、什么时候发的、关于什么主题"

// 第二层:LayoutKG(布局知识图谱)
//   关注:文档的排版结构
//   例:标题 → 副标题 → 段落 → 列表 → 表格 → 图注
//   → 回答"文档的逻辑结构是什么、第 3 章在哪、引用关系"
//   → 特别适合学术论文(章节/引用/图表引用关系)

// 第三层:SemanticKG(语义知识图谱)
//   关注:文档内容中的实体和关系
//   例:(瓦特) --[发明]--> (蒸汽机)
//   → 回答"文档里讲了什么实体、它们之间什么关系"

// 三层叠加 = 一个完整的"文档理解"
//   MetaKG 管"这是谁的文档"
//   LayoutKG 管"文档怎么组织的"
//   SemanticKG 管"文档讲了什么"
//   → 比"只提取语义三元组"的工具,信息维度更丰富

4、双路径文档数字化

Docs2KG 处理异构文档有两条路径,按文档来源选择不同管道,最终输出统一格式:

       - 路径一:原生数字文档(DOCX / HTML / EPUB)→ 用编程式解析器直接提取结构化内容,100% 准确(不需要 OCR),保留段落/标题/表格/列表等结构信息

       - 路径二:图片型文档(扫描 PDF / 图片)→ 布局分析(Docling / MinerU)+ OCR 文字识别 + 结构恢复(识别标题/段落/表格),适合学术论文 PDF、扫描件、旧文档

两条路径的原因:原生数字文档可直接解析(快速准确),扫描图片文档必须 OCR + 布局分析才能数字化,但最终输出统一格式。

5、人机协同标注平台

Docs2KG 提供了一个 Web 界面(docs2kg.ai4wa.com),支持人工审核和修正。

人工可以做的操作:

       - 审核实体:LLM 提取了"詹姆斯瓦特" → 人工确认/修正/删除

       - 审核关系:LLM 提取了"发明了" → 人工确认/修正/删除

       - 补充实体:LLM 漏了"纽科门" → 人工手动添加

       - 补充关系:LLM 漏了"瓦特改良了纽科门的蒸汽机" → 人工添加

       - 修正本体:实体类型分类不对 → 人工修改本体(Ontology)

修正后的反哺机制:人工修正的本体/实体列表/关系列表会更新到 LLM 的提示里,下一轮提取时 LLM 参考人工修正的结果,形成"越标注越准"的正循环。

质量评估:平台自动统计每种方法(LLM/人工)正确提取了多少实体/关系,以及在最终图谱中的贡献率和保留率,量化"人工修正了多少、LLM 提取了多少"。

6、安装与使用

安装 Docs2KG 和依赖的 spaCy NLP 模型:

pip install Docs2KG
python -m spacy download en_core_web_sm

配置 config.yml,设置 LLM 后端(Ollama / OpenAI)和 Neo4j 连接(可选)。

处理单个文档:

docs2kg process-document input.pdf \
    --agent-name phi3.5 \
    --agent-type ollama \
    --project-id my_project

批量处理一个目录:

docs2kg batch-process ./documents/ \
    --agent-name phi3.5 \
    --agent-type ollama \
    --project-id my_project

导入 Neo4j 图数据库:

docs2kg neo4j my_project \
    --mode import \
    --neo4j-uri bolt://localhost:7687 \
    --neo4j-user neo4j \
    --neo4j-password your_password

也可在 Python 代码中直接调用:

from Docs2KG import Docs2KG
docs2kg = Docs2KG(config="config.yml")
docs2kg.process("input.pdf", project_id="my_project")

7、与同类方案的差异化定位

方案                      人机协同    三层图谱    格式支持          星标
-------------------------------------------------------------------------
Docs2KG                   支持        Meta+Layout+Semantic  PDF/DOCX/HTML/EPUB  371
Graphify                  不支持      代码+文档+论文        代码+md+pdf+img   95k
ai-knowledge-graph        不支持      仅语义层              txt               2.5k
Knowledge Graph Extractor 不支持      仅语义层              txt/url/zip       0.2k

Docs2KG 的两个独特差异点非常清晰:第一,人机协同——它是唯一提供"人工审核 + 反哺迭代&quot"机制的,其他工具都是"LLM 一次性提取就结束"。第二,三层知识图谱——不只提取语义三元组,还额外提取"文档布局结构"和"元数据",适合需要精确理解文档结构的场景(如学术论文分析)。

8、适用场景与局限

// 适合
学术研究      论文批量分析(LayoutKG 天然适合章节/引用结构)
企业文档管理  大量异构文档(PDF/DOCX/HTML/EPUB)需要结构化
高质量要求    对知识图谱准确率要求高,愿意人工审核
有论文支撑    学术项目,需要引用方法论(Docs2KG 有配套论文)

// 局限
星标少/小众   371 Star,社区和生态仍在早期
部署较重      需要 spaCy + 可选 Neo4j + Ollama,组件多
需要人工投入 人机协同的价值在于"花时间标注",纯自动场景不如 Graphify
OCR 依赖外部  图片型文档的 OCR 依赖 Docling/MinerU(需单独安装)
代码解析弱    不像 Graphify 有 tree-sitter,主要面向文档而非代码

9、总结

Docs2KG 是一个人机协同的异构文档知识图谱构建框架。核心差异是人工审核 + 反哺迭代——LLM 提取、人工修正、修正结果反哺 LLM,形成"越用越准"的正循环。同时构建三层知识图谱(MetaKG 元数据 + LayoutKG 布局结构 + SemanticKG 语义内容),覆盖 PDF / DOCX / HTML / EPUB 四种格式。有配套论文和在线标注平台。

关键要点:

       - 定位:人机协同的异构文档知识图谱,371 Star,Apache 2.0,有论文支撑

       - 独特差异1:人工审核 + 反哺迭代——唯一提供"越用越准"闭环的知识图谱工具

       - 独特差异2:三层图谱(MetaKG + LayoutKG + SemanticKG),维度比纯语义工具更丰富

       - 格式:PDF / DOCX / HTML / EPUB,双路径数字化(原生解析 + OCR)

       - 适合学术研究/企业文档/高质量要求;局限是小众/部署重/需人工投入

对于需要高准确率知识图谱、且愿意投入人工审核的团队(学术研究、企业文档管理、法律/医疗文档分析)而言,Docs2KG 的"人机协同"模式比纯自动提取更可靠——LLM 犯的错可以人工纠正,纠正的结果又让 LLM 不再犯同样的错。这就是"人机协同"比"全自动"的价值:不是替代人,而是让人的投入被复用、被放大。

参考资料:

        AI4WA/Docs2KG(GitHub 仓库,371 Star)

        Docs2KG 协同标注平台(在线 Demo + 教程)

        Docs2KG 论文(Unified Knowledge Graph Construction)

相关推荐

置顶 精选
博客七周年:AI 一天完成整体重构
AI

博客七周年:AI 一天完成整体重构

博客从 2019 年国庆用 Xiuno BBS 搭建,到 2026 年国庆整整七年。868 篇文章、53 条评论、6060 个代码块,这次与 AI Agent 结对,一天完成从 PHP 论坛到 Next.js 的整体重构与无损迁移。

23
精选
​Jev 详解:不做生成的判断模型
AI

​Jev 详解:不做生成的判断模型

Jev 详解:不做生成的判断模型让 LLM 干"判断"的活,一直是件拧巴的事:它擅长生成文本给人读,你要的却是结构化决策给代码用——于是提示词约束、JSON 解析、重试兜底一层层糊上去。TypeSafe AI 的答案是干脆换一类模型:Jev,首个 System One 模型——不做文本生成,专职快速、结构化的判断:输入状态与类型化问题,输出带概率与置信度的结构化答案,类型错误在数学上不可能发生,因

11
精选
Laya 详解:可自托管微调的非自回归判断模型
AI

Laya 详解:可自托管微调的非自回归判断模型

Laya 详解:可自托管微调的非自回归判断模型Jev 证明了"判断模型"这条路走得通,但它闭源、按 token 计费、只能云端调用。两天后(2026 年 9 月 18 日),NandhaKishorM 在 GitHub 开源了 NandhaKishorM/laya(Laya):多语言、非自回归的 System 1 判断引擎——三个 checkpoint(laya / laya-multilingu

6