法律法规智能知识图谱与问答系统
Legal Knowledge Graph & GraphRAG QA System
面向政府机构法律法规知识库场景,基于 RAGFlow、Neo4j 和 Elasticsearch 构建从非结构化文档解析、知识图谱生成到 GraphRAG 智能问答的完整流程。
- 角色
- AI 大模型开发实习生
- 公司
- 浮木科技有限公司
- 时间
- 2026.05 – 2026.07
- 方向
- Document AI / Knowledge Graph / GraphRAG
- 类型
- 实习项目
从非结构化法规文件到可检索知识
项目面向政府机构法律法规知识库场景。原始资料包含 PDF、扫描件和 Word 等不同形式,需要首先完成文档解析与结构化处理,再进一步抽取实体与关系、构建知识图谱,最终服务于智能检索与问答。
解决复杂表格解析问题
使用 MinerU 和 DeepDoc 处理 PDF 与扫描文档,并针对长表格、跨行和跨页表格调整解析逻辑。通过位置坐标判断跨页关系、合并跨页单元格、处理单列内容续接并过滤重复表头,提升复杂表格解析效果。
法律法规文档中大量内容以表格形式承载(如处罚标准、事项清单),表格解析质量直接决定后续实体与关系抽取的上限,因此这一步是整个流程的基础。
领域本体驱动的知识图谱构建
相比让大模型直接自由抽取三元组,项目采用先构建领域本体库,再通过本体约束和引导 LLM 抽取的方式,提高实体及关系抽取的一致性。
本体提前定义了法律法规领域的实体类型与关系类型,例如法律法规、行政主体、违法行为、处罚规则等节点类型,以及“依据”“处罚”“适用”等关系类型。模型在抽取时不再面对开放的标签空间,而是从受控的本体中选择,显著减少了同一实体被抽成不同类型、同一关系被写成不同名称这类不一致问题。
本体约束 + 多模型交叉校验
在抽取执行层面,使用 Qwen、GLM、DeepSeek 等模型进行三元组抽取,并通过跨模型结果交叉校验减少单模型产生的不稳定结果;最终图谱存储在 Neo4j 中。
单独依赖某一个模型时,抽取结果会随着提示词、文档措辞的变化产生波动。多模型交叉校验的做法是:对同一段落分别抽取,仅保留多模型一致或经过仲裁确认的三元组,用一致率换准确率,牺牲部分召回换取图谱整体的可信度。
从单次抽取流程到可管理的图谱工程
项目实际运行过程中需要同时管理不同领域、不同抽取策略以及图谱和向量数据状态。系统界面提供了领域项目管理、运行、编辑以及图谱/向量库状态查看等能力。
知识图谱构建不是一次性的脚本运行,而是一个持续进行的工程过程:新文档会不断入库,本体和抽取策略需要迭代,不同领域的图谱和向量库需要分别管理版本与状态。这要求把抽取流程封装成可重复运行、可增量补充、可回溯状态的任务,而不是一段一次性代码。
从纯向量 RAG 到 GraphRAG
对文本块和图谱节点分别进行向量化,构建文本检索与图谱检索双路信息来源;向量存储由 ChromaDB 本地方案逐步迁移到 Elasticsearch 统一管理。引入图谱信息后,逻辑关系类问题的检索效果得到改善,检索召回率由 90% 提升至 95%。
架构流程:用户问题经过查询输入后分为两路——文本检索(Elasticsearch,产出文本上下文)与图谱检索(Neo4j,产出图谱上下文);两路上下文融合后交给大语言模型生成最终回答。
两类检索各有分工:向量检索擅长语义相近的段落召回,但对“A 法规的处罚由哪个机关执行”这类需要多跳关系的逻辑问题无能为力;图谱检索沿关系边查找,恰好补上逻辑关系类问题的缺口。两路上下文融合后交给 LLM 生成回答,效果优于任何单一来源。
从文档到答案(From Document to Answer)
整个系统的端到端工程链路:
- 1
PDF / 扫描件 / Word
多格式原始文档接入
- 2
MinerU / DeepDoc 解析
复杂表格与跨页内容处理
- 3
结构化内容
文本块结构化与向量化
- 4
本体约束 + LLM 抽取
本体约束下的三元组抽取与交叉校验
- 5
Neo4j 知识图谱 + Elasticsearch
图谱与向量双存储
- 6
GraphRAG 双路检索
文本 + 图谱双路上下文融合
- 7
生成回答
LLM 生成最终回答
从文档入库到进入可问答状态约需 7–8 分钟(约 10 页文档量级),覆盖解析、抽取、图谱写入与向量化全过程,是批处理式的吞吐节奏,不是毫秒级的实时响应。
经验与反思
- 文档解析是知识工程的地基。 跨页表格、扫描件质量等“脏问题”消耗了项目前期最多的调试精力,解析质量直接决定图谱上限。
- 本体先行优于自由抽取。 先定义领域本体再约束 LLM 抽取,是控制抽取一致性的最有效手段;自由抽取的结果几乎无法直接入库。
- 多模型交叉校验是用一致率换准确率。 单模型抽取便宜但不稳定,多模型一致的信念更值得写入图谱。
- GraphRAG 的价值在逻辑关系类问题。 向量检索解决“语义相近”,图谱检索解决“关系推理”,双路融合才是完整答案。
技术栈
- Python
- RAGFlow
- Neo4j
- Elasticsearch
- ChromaDB
- MinerU
- DeepDoc
- Qwen
- GLM
- DeepSeek
- text-embedding-v3