Q:知识图谱如何从文档构建、增量维护,并处理实体与关系冲突?
来源:阿里云暑期 Agent 面经(2026-05-03)
新手答:“用大模型从文档抽取实体和三元组,去重后写入 Neo4j;有新文档就继续追加。”
高手答:
文档知识图谱不是一次三元组抽取,而是一条带 Schema、溯源和变更语义的数据管线:文档解析与分块 → 实体/关系候选抽取 → 类型与关系 Schema 校验 → 实体规范化与消歧 → 证据绑定和置信度计算 → 合并入图 → 质量评测。每个实体、关系或属性都要保留来源文档、版本、原文区间、抽取器版本和时间,不能只留下一个失去证据的 (subject, predicate, object)。
实体合并至少结合规范化名称、别名词典、唯一业务标识、上下文和邻居结构。例如两个“苹果”不能因字符串相同直接合并;同一家公司的中英文名也不能因字符串不同就创建两个节点。低置信候选先进入待确认区,高价值实体可用人工标注集持续评估 precision、recall 和错误合并率。
增量维护应以文档版本差异驱动,而不是只追加:
- 新增文档只抽取受影响分块,并与现有实体做链接。
- 修改文档先撤销旧版本贡献的证据,再重算变更分块及其邻域。
- 删除文档删除的是证据边;只有当实体或关系不再有任何有效证据时才 tombstone,不能误删其他文档共同支持的知识。
- Schema、消歧模型或抽取 Prompt 变更要记录版本,并支持按受影响类型回放,而不是全图无条件重建。
冲突也不能简单“新值覆盖旧值”。先区分实体重复、抽取错误和来源观点冲突:实体重复进入 merge/split 流程;违反 Schema 或原文不支持的关系拒绝入图;两个可信来源给出不同结论时,把“声明”建模为带来源、有效时间、适用范围和置信度的独立记录并保留并存。查询时再按时间、权威度、业务域和用户意图选择或同时展示,关键冲突升级人工裁决,裁决过程可回滚。
差距在哪:新手停在“LLM 抽三元组 + 图数据库”。高手覆盖了 Schema、实体消歧、证据溯源、按文档版本撤销贡献和多来源冲突建模,回答的是知识图谱如何长期可信地演化。