知识图谱(三):数据抽取与融合

知识图谱 / 信息抽取 / 实体消歧2026.10.0911 分钟阅读

结构化数据映射、文本抽取、实体消歧和多来源冲突处理。

构建流程与数据准备

知识图谱构建将原始资料转换为具有统一身份和语义的实体与关系。一个典型流程包括数据获取、解析、知识抽取、实体链接、知识融合、质量校验与发布。各阶段保留解析文本、候选提及、候选断言和规范实体,出错时便于逐步检查。

数据来源决定了处理方法。构建清单已有组件名称和版本,可以通过字段映射生成关系;资产台账已有服务主键,应优先复用;公告中的影响条件则需要从自然语言提取。这些已有结构的字段可以直接解析。

输入优先方法需要检查的边界
构建清单字段映射与确定性解析锁定版本还是声明范围,运行时还是测试依赖
资产台账按稳定主键建立实体租户、业务域、删除与改名语义
公告正文规则或模型辅助抽取否定、条件、影响版本、修复版本
扫描版文档版面识别与 OCR 后再抽取表格列错位、字符误识别、页间续表

原始记录是后续复核和重建的依据,应保存来源标识、版本、采集时间与定位信息。PDF 的页码和文本位置必须对应同一份文件,网页段落应对应保存的页面版本,数据库记录可以使用主键和变更序号定位。仅有一段抽取后的文字,无法判断错误来自原文、解析还是模型。

解析还需要保留文档结构。表头决定某个版本号属于“受影响版本”还是“修复版本”,章节标题可能限定产品或平台。扫描文档中的字符误识别、跨页表格和列错位会在抽取前改变语义,因此解析结果也应在样本上检查。

结构化数据映射

结构化映射由确定性规则把源字段转换为实体与关系。假设构建记录包含 service_id=order-api、component=checkout-sdk、version=2.1 和 scope=runtime。映射器构造服务标识 svc:order-api 和版本标识 pkg:checkout-sdk:2.1,生成从前者到后者的 DEPENDS_ON 断言,并将 runtime 保存为作用域。

{
  "sourceRecord": "build-order-1",
  "subject": "svc:order-api",
  "predicate": "DEPENDS_ON",
  "object": "pkg:checkout-sdk:2.1",
  "scope": "runtime"
}

映射规则还应处理空值、类型和版本范围。如果 version 字段缺失,不能生成一个假定版本;如果输入是 >=2.0,而不是锁定到 2.1,应该保留范围或由明确的解析步骤得到实际版本。转换规则随映射结果保存。

业务断言和证据记录需要不同的去重键。两份报告支持同一个依赖,可以合为一个业务断言并保留两个证据关联;同一报告重复投递,则不应增加证据数。稳定键可以从规范化后的主体、关系、客体、上下文和来源定位生成,但字段顺序、空值与大小写规则必须固定。

完整快照与增量数据具有不同的删除语义。新构建快照没有出现旧依赖,可能表示这项依赖已移除;一批增量事件没有出现它,只表示本批没有更新。接入程序必须明确输入契约,才能决定结束旧断言、保留历史或维持当前状态。

实体识别与关系抽取

实体识别确定文本中哪些片段指向需要建模的对象,并判断其类型。例如“parser 1.4 在启用模板扩展时受影响”包含组件名称 parser 和版本 1.4。识别阶段得到文本提及,后续链接再确定它对应实体库中的哪个 parser。

关系抽取确定提及之间表达了什么联系。公告“parser 1.4 在启用模板扩展时受影响。1.5 已修复”包含一个有条件的影响声明和一个修复声明。若只保存出现过的版本号并统一连接 AFFECTS,就会把修复版本也误写成受影响版本。

{
  "sourceId": "advisory-demo:v1",
  "claims": [
    {
      "subjectMention": "parser 1.4",
      "relation": "AFFECTED_BY",
      "objectMention": "ADV-DEMO-001",
      "polarity": "positive",
      "condition": "启用模板扩展",
      "evidence": "parser 1.4 在启用模板扩展时受影响。"
    }
  ],
  "repairStatements": [
    {"versionMention": "1.5", "evidence": "1.5 已修复。"}
  ]
}

这个中间结果将影响与修复分别保存,并附带原文。subjectMention 和 objectMention 仍是待解析的提及,relation 也需要映射到目标模式:AFFECTED_BY 可以转换为从公告指向版本的 AFFECTS。转换时同时反转主体与客体。

否定、时态和条件决定关系是否成立。“尚未升级到 1.5”不支持当前依赖 1.5,“计划升级”表达未来安排,“仅安装但未启用扩展的服务不受影响”包含必要的环境限制。抽取结构应能保存这些差异,无法确定时保留待审核状态。

文档切块还会影响指代解析。“该版本”可能指向上一段的 1.4,“这一问题”可能指向前面的公告编号。块之间可以共享必要标题和上下文,但证据位置应始终对应原始文档。重叠块产生的相同断言应去重,不能被当成多份独立支持材料。

实体链接与消歧

实体链接将文本提及映射到规范实体。它通常包括候选生成、候选比较和决策三个步骤。候选生成利用名称、别名、类型和命名空间缩小范围;比较阶段再使用包坐标、仓库地址、组织、时间及邻近上下文判断;证据不足时允许弃权或进入人工审核。

例如内部组件和第三方组件都叫 checkout-sdk。构建清单若提供组织和包管理器,通常可以排除错误候选;公告只写简称时,字符串完全相同也不能证明身份一致。语义相似度适合寻找候选,但不能代替稳定坐标或其他区分证据。

错误合并与漏合并的代价通常不对称。错误合并会把公告和依赖传播到无关服务,暂不合并则主要影响召回。根据标注样本和审核成本设置接受阈值,关键实体可以提高自动合并的门槛。

人工审核需要看到候选标识、区分字段、原文和历史映射。确认某个别名后,应将带适用范围的规则保存下来;不能把某个租户中的简称扩展为全局映射。纠正错误链接时,还要定位依赖该链接生成的关系和答案。

知识融合与冲突处理

知识融合将多个来源对同一对象的描述整理为一致的可用视图。首先识别重复断言,再合并相容的属性和证据,最后处理无法同时成立的冲突。判断冲突时,先核对主体、关系含义、时间和条件。

资产台账将订单服务归属交易团队,值班表将它交由平台团队值守,这两条记录可以同时成立。分别使用业务归属和当班责任关系即可保存两条记录。若两个权威台账确实对同一时段的业务归属给出不同答案,才需要按约定进入冲突处理。

候选断言层可以保存每个来源的陈述,发布视图依据来源优先级、时间规则或人工审核结果提供当前答案。选择规则需要版本,原始候选也应保留。规则变化后,可以重新生成视图;来源撤回时,可以检查是否还有其他证据支持同一断言。

抽取分数、链接分数和来源可靠性对应不同问题。即使它们都以 0 到 1 表示,也不应未经校准直接相乘为“事实为真的概率”。更可检查的记录方式是保留各阶段信号、接受或拒绝理由,以及人工审核结果。

大模型辅助抽取

大模型适合处理表达多样、规则难以穷举的文本。提示中应提供允许的实体类型和关系、带条件与否定的正反例,并要求每项候选附带原文证据。输出后依次检查格式、类型、证据定位和语义支持。

以公告抽取为例,可以先校验 evidence 是否确实存在于指定文档,再检查版本提及能否链接到目标实体,最后核对影响、修复和条件之间的对应关系。形式检查可以自动化,语义支持通常还需要模型辅助或人工抽样。

SocraticKG 的 2026 年预印本提出使用问答对作为三元组抽取前的中间表示,通过围绕对象、时间、原因和方式的问题展开文档内容。其研究目标涉及事实覆盖和图连通性的取舍。

可比较的实验是固定同一批公告、同一输出模式和近似调用预算,一组直接抽取,另一组先生成影响版本、条件和修复版本的问答,再产生断言。比较时应检查条件保留、错误关系、证据完整和人工审核成本。

— 本页完 —
← 返回文章列表

搜索内容

输入关键词搜索文章、笔记与随笔。