图构建管线:实体抽取、关系抽取与实体对齐
本文基于模型知识整理(生成时未联网核对),关键结论建议对照经典文献复核。
一句话定义
图构建管线把文档变成图:分块文本 → LLM/规则抽取实体与关系(按 schema 约束)→ 实体对齐消歧(同一实体多种写法归一)→ 入图(带出处与置信度)——抽取质量与实体对齐质量决定整张图的可用性。
为什么重要
图的质量上限由构建阶段决定:抽错了关系,后续一切查询都在传播错误;实体没对齐,"华为"与"华为技术"是两个节点,多跳链路直接断。GraphRAG 成本大头也在构建(LLM 抽取按 token 计费),管线的性价比设计直接决定项目生死。
前置知识
kp-004(分块是抽取单元)、kp-019(schema 约束抽取)。
核心概念
- 实体抽取(NER):识别文本中实体及其类型。LLM 时代用结构化输出(JSON schema 约束)按本体抽取,few-shot 示例显著提升类型准确率。
- 关系抽取(RE):识别实体对之间的关系及属性(时间、数量)。两种策略:同块内配对抽取(局部、准确)与跨块共现推理(覆盖广但易错)。
- 实体对齐/消歧(entity resolution):把"华为""华为技术有限公司""HUAWEI"归一为一个节点;包括别名归并(同义表/规则)、歧义消解("苹果"按上下文定型)。
- 出处与置信度(provenance):每条三元组记录来自哪个文档哪个块 + 抽取置信分数——错误可追溯、可增量修正的前提。
- gleaning(多轮补充抽取):GraphRAG 的做法——首轮抽取后让 LLM 再检查一遍文本补漏,换取更高召回(成本换质量)。
原理与机制
LLM 抽取的 prompt 设计要点:① 把 schema 塞进系统指令(实体类型与关系词汇白名单,超出即拒);② 给 2–3 个标注示例(few-shot 对格式与粒度影响极大);③ 要求输出 JSON 并配程序校验(类型合法、关系端点存在);④ 温度调低。抽取失败重试与置信度记录都要管线化。
实体对齐的三层策略(成本递增):① 规则层——规范化(去公司后缀"有限公司/股份"、大小写、全半角)+ 别名词典;② 相似层——名称/属性向量聚类,人工审核高疑似对;③ 上下文层——用 LLM 判断两个指称是否同实体(贵,只处理规则与相似度都拿不准的尾巴)。对齐错误是"多跳查询断链"的头号原因,投入值得。
规模化与增量:全量构建按文档批处理(可并行、可断点续跑);增量更新时新文档抽取的实体要挂到既有节点(对齐问题再现),删除文档要清理其贡献的三元组(provenance 支持反向删除,kp-029)。
图示
文档 ─► 分块 ─► LLM抽取(schema约束+few-shot) ─► (实体,关系,属性)JSON
│ │
│ 实体对齐: 规范化→别名表→向量聚类→LLM仲裁
▼ ▼
provenance(块ID) ◄──────入图(节点/边+出处+置信度)
实例或案例
- 1000 份研报构建行业图谱:schema 12 类型 20 关系;抽取用 8k 模型每块一次调用;对齐用公司名规范化表 + 向量聚类,LLM 仲裁仅处理 ~3% 存疑对;总成本约为"无 schema 自由抽取"的一半且质量更高。
- 客服文档图谱:产品型号抽取走正则(比 LLM 又快又准),故障-方案关系走 LLM——规则与 LLM 混用是成本控制的常识。
常见误区
- 误区一:"让 LLM 自由抽取,图会很丰富"。无 schema 约束的抽取产出类型混乱、同名异义的毛线球;schema 先行(kp-019)。
- 误区二:"实体对齐可以最后再说"。不对齐的图多跳必断;对齐必须在入图前完成,且是持续过程(新文档引入新写法)。
- 误区三:"全用最强模型抽取"。抽取任务对模型要求低于生成;小模型 + 好 prompt + 规则混合的性价比远高于全量大模型,成本差可达数倍。
与其他知识点的关系
自测题
- LLM 抽取 prompt 的四个要点?
答:schema 白名单进指令、few-shot 示例、结构化 JSON 输出配程序校验、低温;外加失败重试与置信度记录。
- 实体对齐三层策略与分工?
答:规则层(规范化+别名表,处理大头)、相似层(向量聚类+人工审,处理变体)、上下文层(LLM 仲裁,处理存疑尾巴)——成本逐层递增,覆盖率逐层收窄。
- provenance(出处)为什么是必须的?
答:错误三元组可追溯到源文档修正、文档删除时可反向清理贡献边、答案可回溯引用——没有它图无法维护与审计。
延伸阅读
- Edge 等, Microsoft GraphRAG 论文(§ 索引管线与 gleaning)。
- Han 等, GraphRAG 综述(2024)§ 图构建。
- REBEL(关系抽取序列化建模)与 LightRAG 的轻量抽取实现。