知识图谱(五):推理与补全

知识图谱 / 推理 / 知识嵌入 / 图神经网络2026.10.0911 分钟阅读

规则推理、RDFS 与 OWL 语义、知识嵌入和图神经网络的用法。

推理与补全的区别

知识推理依据已有事实和语义规则获得新的结论。例如已知两段依赖,并定义依赖可达的递归规则,可以推出服务间接使用某组件。推导结果沿用前提和规则的适用范围。

知识补全关注图中可能缺失的事实,可以使用统计模型对候选关系排序。例如根据服务的其他依赖预测它可能也使用 parser。模型为候选打分,再由构建清单等材料确认预测。

方法输入输出含义
图查询已保存事实与查询条件满足条件的数据或路径
规则推理事实与显式规则在规则和前提成立时可推出的结论
链接预测训练数据、表示与评分函数值得验证的缺失关系候选
语言模型解释检索证据与生成任务对材料的自然语言组织,需要核对支持关系

图查询通常寻找已保存的数据或满足模式的路径;查询中也可以计算递归关系,因此查询与推理在实现上可能交叉。使用结果时,记录其依据是源记录、显式规则还是模型评分。

基于规则的推理

规则由前提和结论构成。对依赖分析,可以先定义 reaches 表示直接或间接可达,再定义 needs_review 表示服务需要针对某公告核查。下面用 Datalog 风格的伪代码表示规则:冒号右侧为前提,左侧为结论。

reaches(X, Y) :- depends_on(X, Y).
reaches(X, Z) :- depends_on(X, Y), reaches(Y, Z).

needs_review(S, A) :-
    service(S), reaches(S, P), affects(A, P).

第一条规则把直接依赖加入 reaches;第二条规则把一条直接依赖与已有可达关系连接起来。已知 order-api 依赖 checkout-sdk,checkout-sdk 依赖 parser,首先得到 reaches(checkout-sdk, parser),再得到 reaches(order-api, parser)。结合服务类型和公告影响断言,就能推出 needs_review(order-api, ADV-DEMO-001)。

这一过程在有限节点上不断加入新的可达对,直到不再产生新关系,称为达到不动点。实现需要对已得到的关系去重,避免循环依赖导致重复推导。解释记录可以保存使用的两条依赖、一条公告断言以及规则版本,形成可复核的推导依据。

规则结论应保留业务条件。公告要求启用模板扩展,而图里缺少生产配置,所以结论只能是需要核查。依赖传递闭包也不应覆盖直接依赖关系:A 依赖 B、B 依赖 C 说明 A 可以到达 C,不说明 A 直接依赖 C。关系的传递性必须由含义定义,不能对所有边统一应用。

RDFS 与 OWL 语义推理

RDFS 可以表达类层次和属性的定义域、值域。例如声明 BackendService 是 Service 的子类,order-api 属于 BackendService,就可以推导它也属于 Service。这样查询所有服务时,能够包含通过类层次间接确定类型的实例,前提是查询环境启用了相应蕴涵。

@prefix ex: <https://example.org/kg/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

ex:BackendService rdfs:subClassOf ex:Service .
ex:order-api a ex:BackendService .
ex:ownedBy rdfs:domain ex:Service ;
    rdfs:range ex:Team .

domain 和 range 主要用于推导类型。将 ownedBy 的 domain 声明为 Service、range 声明为 Team 后,某资源使用 ownedBy 时,其主体可推出为 Service,客体可推出为 Team;它并不要求系统在主体缺少显式 Service 类型时拒绝写入。拒绝错误输入属于数据验证,应使用 SHACL 或应用检查。

OWL 在此基础上提供更丰富的类表达和逻辑关系,例如类等价、互斥以及同一性。其开放世界语义允许未记录的知识仍然可能成立,所以找不到某组件的依赖不能自动推出不存在依赖。若业务将“没有记录”视为否定,需要对查询范围另外建立完整性约定。

OWL 的基数限制按对象计数,两个不同标识可能指向同一对象,因此同一性推理会影响计数结果。可以用最小例子检查推理器如何处理同一性和基数限制。

知识图谱嵌入与链接预测

知识图谱嵌入将实体和关系表示为向量,通过评分函数衡量候选三元组与已知结构的相容程度。TransE 将关系视为平移,希望真实三元组的头实体向量 h 加关系向量 r 后接近尾实体向量 t,因此使用 ||h+r−t|| 一类距离评价候选,距离越小越受模型偏好。

用一维数值演示:服务表示为 1.0,关系表示为 0.4,候选组件甲为 1.5,乙为 3.0。距离分别为 |1.0+0.4−1.5|=0.1 和 |1.0+0.4−3.0|=1.6,因此甲排在乙前面。实际向量通过训练学习,距离用于排序。

训练通常同时使用已知正例和构造的负例。例如替换三元组中的尾实体,要求正例评分优于替换后的组合。由于图通常不完整,替换出的三元组也可能是真实但尚未收录的关系,所以负采样策略和类型限制会影响学习质量。

简单平移还受到关系结构限制。一个服务依赖多个组件时,同一个 h+r 需要接近多个尾实体;复杂的一对多、多对多关系可能难以充分表达。其他模型通过改变评分函数处理这类关系。

图神经网络与关系建模

图神经网络通过邻域信息更新节点表示。以服务为例,一层聚合直接依赖组件的特征,两层可以纳入更远的依赖。模型结合这些邻域信息与节点特征,完成节点分类或链接预测。

知识图谱包含多种关系,聚合时需要区分它们。服务依赖组件与服务归属团队传递的业务信号不同,将所有邻居无差别平均会丢失关系含义。R-GCN 使用与关系类型相关的变换,是处理多关系消息传递的代表方法。

增加传播层数可以纳入更远邻域,也会传播错误边和噪声,并可能使节点表示变得难以区分。图的结构质量会直接影响模型。实体错合造成的跨域连接,可能让无关服务共享本不应该出现的风险信号。

监督任务还依赖标签定义。若以历史人工排查结果训练优先级模型,未排查服务不能简单作为低风险负例;若使用事件发生后才公布的公告特征,会造成未来信息泄漏。训练与评估应按业务可获得信息的时间边界切分,并与规则或简单统计基线比较。

推理结果管理与预测评估

原始事实、规则结论和预测候选应保留不同状态。规则结论需要记录前提与规则版本,预测候选需要记录模型、分数和验证状态。缺少这种区分时,一条预测边进入依赖查询,就可能使整个解释路径看起来都像由源记录支持。

规则结论可在更新时预先物化,也可在查询时计算。物化降低读时工作量,但前提撤回后需要失效处理;按需计算减少冗余存储,却增加查询开销。候选预测则可以触发资料检索或人工审核,确认后再进入正式知识视图。

链接预测常用 MRR 与 Hits@K 衡量排序。若三个正确答案在候选中的排名为 1、2、4,MRR 为 (1+1/2+1/4)/3,约 0.583,Hits@2 为 2/3。报告这些指标时必须说明候选集合,以及是否过滤其他已知正确答案,否则不同实验的数字不可直接比较。

预测是否提供了可验证的新事实、错误候选增加了多少审核成本、不同类型是否存在偏差,都需要单独检查。已有事实用查询与规则处理,缺失关系交给预测模型生成待审核候选。

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

搜索内容

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