🌊 专注AI 大模型与前沿科技深度解析,习惯从工程师视角拆解技术热点,让我们一起在技术浪潮中保持清醒与好奇 🚀
几百页投诉书堆在桌上,AI 怎么才能"读懂"一个案子?
想象这样一个场景:你在一家法律援助机构实习,桌上堆着几十份就业歧视投诉书。每份都是几十页的法律文书,记录着某个员工从入职、被排挤、被降薪到被解雇的完整过程。你的任务是:快速搞清楚"谁、在什么时间、做了什么、导致了什么后果"。
你第一反应可能是——把这些文档丢进向量数据库,用 embedding 检索呗。但试过就知道,当你问"被告是在原告投诉之后才被降薪的吗?"这种问题时,embedding 检索经常给你一堆似是而非的句子。因为语义相似 ≠ 事件逻辑。
最近有一个叫 ARGUS 的项目给了我很大启发:它专门从美国法院的就业歧视投诉书中构建事件知识图谱(Event Knowledge Graph, EKG),用一套清晰的流水线把"故事"变成"图"。这篇文章就来拆解它为什么有效、我们能学什么。
30 秒结论
- 核心判断:事件知识图谱最大的价值,不在于"找到"相关材料,而在于材料找到之后——组织和推理证据。检索召回差的系统,别指望图来救。
- 适合谁读:想往 NLP / 法律 AI / 信息抽取方向发展的在校生和转行者;想给作品集加一个"小而完整"项目的人。
- 不适合谁:指望用图结构替代向量检索的人;没有任何标注/评估预算就想直接上线的团队。
- 一句话能带走的能力:用 LLM 做结构化抽取 + 图数据库组织事件,是当下"检索后推理" pipeline 里非常实用的一招。
关键证据
这套方法不是纸上谈兵,几个实验结果很能说明问题:
- 图结构确实能分类:在索赔类型分类任务上,基于图结构的分类器在留出测试集上同时战胜了原始文本 baseline 和"把图线性化后喂给模型"的 baseline。这说明价值来自图结构本身,而不只是"信息被抽出来过一遍"。
- 图能提升文档内问答:在法律 QA 任务中,只用 EKG 做检索(文档范围已限定)时,回答质量明显提升。
- 但图救不了召回:换成开放式检索(先从海量文档里找相关文档),提升就非常有限——瓶颈卡在第一阶段的候选召回率上。图再精致,找不到对的文档也没用。
- 可溯源设计是信任基础:图中每个节点都锚定回原文的具体陈述(source-grounded),这在法律场景里不是加分项,是必需品。
展开说明:三步把"故事"变成"图"
整个流水线的思路其实很像一个训练有素的律师助理读案卷的过程,可以拆成三步:
第一步:抽取"承载事实的陈述"。法律文书里有大量程序性套话(“本法院具有管辖权……”),先过滤掉,只留下描述实际事件的句子。
第二步:按 5W1H 模式构建 chunk 级事件图。这是核心创意点——用记者写新闻的经典框架 Who / What / When / Where / Why / How 来约束 LLM 的结构化输出。每个事件节点大致长这样:
{"event":"plaintiff_demoted","who":{"agent":"employer","patient":"plaintiff"},"what":"demotion to junior position","when":"2023-03-15","why":"after plaintiff filed HR complaint","caused_by":["hr_complaint_event"],"source_span":[1204,1398]}注意两个细节:一是who是角色感知的(role-aware)——原告、被告、证人各有明确身份,而不是模糊的实体名;二是source_span记录了原文位置,随时可以回溯核查。事件之间用时间边和因果边连接,形成有向图。
第三步:合并成文档级图谱。同一个人在不同段落可能叫"原告"“Ms. Lee”“她”,需要实体对齐把 chunk 级小图合并成一份文档的完整事件网络。这一步是工程上最容易翻车的环节,后面会讲。
为什么不用纯 embedding?因为 embedding 把"先投诉、后被降薪"和"先被降薪、后投诉"编码得几乎一样,但在歧视案件里,时间顺序恰恰就是因果论证的命门。词袋和向量都对序列结构不敏感,而图天生就是为关系而生的。
评估方式也值得借鉴:不只用人工标注,还让多个大模型当"评审团"交叉评估图的质量,降低单一评估者的偏差。
落地建议:今天就能做的 3 件事
- 做一个迷你复刻写进作品集。CourtListener 有公开的法律文书数据,挑一份投诉书,用当前主流大模型 + 精心设计的 JSON schema prompt 抽取 5W1H 事件,再用 NetworkX 或 Neo4j 社区版建图并可视化。整个项目不需要任何公司基础设施,一个周末能出 demo。
- 给每个抽取结果加上原文锚点。这只是一个字段的事,但它是"能跑的 demo"和"能给人看的项目"之间的分水岭——面试时演示"点击节点跳回原文",说服力拉满。
- 在 README 里主动写清边界。明确写出"本系统假设相关文档已被检索到,图负责组织而非召回"。面试官常追问"你这方案什么时候失效",能主动回答这一点,比多堆三个功能更打动人。
风险与反例
结论不是无条件成立的,以下几种情况这套方法会打折扣:
- 召回阶段指望不上它。如果你的痛点是"从十万份文档里找那三份相关的",先把向量检索或混合检索做好,图是后面的事。
- 抽取错误会沿图传播。LLM 把一个时间标错,下游所有基于时间序的推理都会被带歪。法律场景对准确率敏感,抽样人工核查省不掉。
- 实体对齐比想象中难。跨段落共指消解在长文档里错误率不低,图越大噪音越多,可能需要规则 + 模型混合的对齐策略。
- 成本不低。逐 chunk 调 LLM 做结构化生成,长文档的 token 消耗相当可观,批量处理时要先算经济账。
回到开头的场景:事件知识图谱不会让 AI 替你把案卷"变没",但它能让 AI 像一个真正的助理那样,把散落的事实整理成一张"谁对谁做了什么、先后顺序如何"的关系网——而这,恰恰是法律推理最需要的地基。对正在找方向的同学来说,这是一个数据公开、问题真实、边界清晰、还能讲出好故事的绝佳练手题。