
在医疗信息化、供应链金融、跨机构数据治理这类场景里有一个需求越来越常见多家机构各自维护一份知识图谱它们不能把原始数据集中起来却必须联合回答一个需要跨多个数据域推理的问题。比如医药集团的图谱里存着药物靶点和研发管线医院的知识图谱里存着临床反应和患者群体用户想知道“某个药物的不良反应是否可能与其已知靶点相关”。这条推理链的前半段在集团侧后半段在医院侧没有哪一方能独立给出答案。FedV-KGQA 这个论文标题把这个需求压缩成了一个严格的研究命题Multi-Hop Question Answering over Vertically Partitioned Knowledge Graphs也就是面向垂直分区知识图谱的多跳问答。多跳问答是老问题知识图谱问答也是老方向但“垂直分区”这四个字把难度从模型层直接推到了架构层。读这类工作之前我建议你先建立一个判断垂直分区多跳问答的真正瓶颈不在哪一方的单点模型能力而在跨域拼接层。所谓拼接层包括实体怎么对齐、关系语义怎么统一、中间结果怎么交换、通信几轮能收敛。这个问题如果不解决换更复杂的问答模型也只能在碎片化信息上做局部最优。1. 先纠正一个直觉多跳问答的难点从来不只是“多”1.1 单图场景里多跳问答为什么仍然不好做知识图谱问答的基本单位是三元组 (h, r, t)。单跳问答的任务是给定一个实体 h 和一个关系 r找到 t。这个任务本质上是一个检索任务大多数方法都能做到不错的效果。多跳问答不一样。它要求模型沿着关系路径走两步以上。比如“A 公司的创始人所创立的另一家公司是哪家”要先把 A 公司映射成实体找到其创始人再以这个中间实体为起点沿“创立”关系向外扩展。这个过程中至少有四个困难中间实体不确定候选空间会快速膨胀。每一跳都会引入误差误差会逐层传播后面跳得越深错误越难追溯。自然语言问句里的关系描写往往不够精确“创立”和“创办”指向同一个谓词需要语义对齐。有的多跳问题不只是沿路径找实体还涉及聚合、比较、排序这对路径枚举方法来说是另一类复杂度。传统做法大致分三类。第一类是语义解析把自然语言解析成可执行的查询语言比如 SPARQL然后在知识图谱上执行。这类方法准确率高但严重依赖图谱模式和词表跨数据集泛化能力弱。第二类是子图检索加排序用 embedding 把问句和图谱节点映射到同一个向量空间召回候选答案后再重排。第三类是近年常见的基于大语言模型的做法让模型生成推理链或查询语句再用图谱验证。每一类都有自己的问题但至少在一个单图环境里这些问题边界是清晰的你有一个全文可见的图有统一 ID有统一 schema所有路径都能被完整观测和计算。1.2 垂直分区把“找路径”升级成“拼路径”一旦图谱被垂直分区情况就变了。所谓垂直分区指的是不同参与方持有同一批实体的不同关系切面。A 方知道某实体的属性甲B 方知道同一实体的属性乙但没有任何一方能完整看到一条跨域关系路径。用单图时代的方法直接套你会遇到几个无法绕开的障碍第一训练数据里根本没有完整路径。单图方法可以用完整路径作为监督信号联邦场景下跨域的中间连接从未以三元组形式出现过模型怎么学会拼接第二推理阶段的每一步都可能需要跨方参与。你在 A 方检索到候选中间实体需要去 B 方验证它是否存在下一条关系。这个验证动作本身就需要暴露查询意图需要通信协议。第三评估也是问题。如果所有数据都分散在各方手里标准答案从哪里来你不能为了测试就把数据集中起来否则前面的隐私约束都白费了。所以我更愿意把这类系统的目标理解为在不能合并数据的前提下把一段跨域推理变成多个本地推理和少量中间交换的组合。这也是它和普通联邦学习任务不一样的地方——普通联邦学习主要解决“模型训练”时的数据不出域而 KGQA 还要求“推理阶段”也能在不出域的情况下完成多步组合。1.3 一个核心判断瓶颈在对齐不在模型如果只保留一个结论我会说垂直分区多跳问答的准确率上限由跨域对齐质量决定而不是由本地问答模型能力决定。原因是每跳的误差如果不经过一致的对齐空间会在跨域传递时被放大。假设 A 方把候选实体排名第一的结果传给 B 方这个结果恰好是错误的对齐实体那么 B 方后续无论检索得多准确都只能建立在错误前提上。更麻烦的是错误在不同跳之间会形成共振模型无法在最终答案处自动纠错。这也意味着读 FedV-KGQA 这类论文时我第一个会去找的地方不是它的问答网络结构有多新而是它怎么定义实体空间和关系空间在参与方之间的映射。对齐方案设计得好多跳准确率才有机会逼近单图上界对齐方案糊弄其他模块做得再精致也只是在碎片上做局部搜索。注意垂直分区多跳问答的准确率上限由跨域对齐质量决定而不是本地问答模型能力。2. “垂直分区”不是把图切开两半而是把信息流切成三段2.1 先分清知识图谱的两种切法很多读者对“分区”的理解停留在数据库层面把一张大表按行分成几个分片每个分片放一部分数据。但在知识图谱这里“分区”还有更细的分类直接影响算法设计。分区类型切分维度典型场景联邦学习难度横向分区实体不同关系模式相同不同地区的门店各维护自己的客户图谱相对容易经典 FedAvg 可用垂直分区实体重叠关系/属性不同药企和医院各维护同一批药物的不同信息难需要跨域对齐混合分区实体和关系都部分重叠集团内多个子公司图谱互相重叠又各有私有边最难需要先解决重叠识别横向分区下每个参与方都持有一类相似的子图模型结构可以共享联邦学习主要解决数据不均衡和模型聚合问题。但垂直分区不一样——每个参与方持有的是同一批实体的不同角色你必须先确认“我这里的实体 X”和“你那里的实体 X”是同一个东西然后才谈得上联合推理。2.2 三层对齐实体、模式、语义实体对齐看起来简单做起来却是联邦图谱项目的第一个坑。A 方图谱里的节点 ID 是内部编号B 方用的是全局身份证号两者没有一一对应关系。即使都用名称也还有多义和指代问题。“CSDN”这个实体在不同图谱里可能被记为“CSDN社区”“CSDN博客”“csdn.net”这些到底算不算同一个节点需要规则或模型来判定。第二层是模式对齐也叫 schema 对齐。A 方用“创立者”表达关系B 方用“founder”表达同一个关系这两者需要映射到统一语义空间。如果不做模式对齐即使实体 ID 对上了检索到的关系路径也拼不在一起。第三层是值语义对齐这一层最容易忽略也最容易造成隐性错误。A 方把疾病严重程度编码成 1 到 5 的等级B 方用一个 0 到 100 的临床评分两者数值不能直接拼接或比较。在跨域多跳里往往是这类数值型属性需要在中间环节做计算一旦单位、量纲、编码方式不一致整条链路上的数值结论就会出错。三层对齐中实体对齐最容易被重视因为结果直观可见模式对齐次之值语义对齐通常要到最终评估时才会暴露问题但那时已经很难定位是哪一环出的偏差。2.3 为什么“把图合并再跑问答”在许多场景里根本不可行一个很自然的想法是既然问题这么难为什么我们不把各方的图谱合并成一个大图再跑现有的多跳问答模型答案不是技术做不到而是它在现实里常常不可行。第一个限制是数据主权。很多机构的图谱数据有独立的使用审批流程原始三元组不能离开机构边界。第二个限制是激励机制。各方可能愿意参与协作但不希望自己的增量信息被整体拿走合并图的方案等于把所有增量白送出去。第三个限制是更新频率。各方的图谱更新周期不同合并出来的静态大图很快过期而联邦式的动态协作可以按需查询。第四个限制是知识归属。合并后的大图无法回答“这条关系是谁提供的”这种问题后续做知识溯源和贡献度量都会变成难题。所以我理解 FedV-KGQA 这类系统出现的价值不是它比单图方法更准而是在于它提供了一个“在约束下进行推理”的新选项。它的存在意义是在别人只能回答“做不到”的场景里给出一条可以商量的技术路径。3. 这类系统整体怎么搭一个值得讨论的参考框架3.1 从问句到答案一场跨机构的接力以下是我对这类系统架构的理解。真正的论文实现可能有差异但大方向通常绕不开几个环节。一个多跳问句进入系统后大致经过五个阶段问题解析与路径规划识别问句中的实体提及和关系提及判断需要多少跳先形成一条不完整的推理路径。这一步可以在中央协调方完成也可以在各参与方本地完成后再汇总。单跳分解与路由把多跳问题拆成一系列单跳子问题并根据实体、关系与各方的图谱覆盖情况决定每个子问题该路由到哪个参与方。本地单跳推理每个参与方在自己图谱内完成给定实体和关系的检索返回候选答案和置信度。这是唯一可以大量并行、利用本地模型的阶段。跨域中间结果交换把前一跳的候选答案集合通常已经过剪枝传给需要继续推理的下一方。交换的不是原始图谱而是经过选择后的候选实体。答案组合与验证协调方把各方的候选结果拼接成完整推理路径按某种打分机制选出最终答案。如果置信度不足还可能发起第二轮迭代让各方在新约束下重新检索。这个流程的核心特征是没有任何一方能看到完整的路径但联合起来可以复原多跳答案。问题解析和路径规划越准确中间交换的候选集合越小通信开销和隐私暴露风险也越低。3.2 对齐层这个系统的“灵魂部件”刚才强调过对齐质量决定准确率上界。所以在参考架构里对齐层不是可有可无的预处理而是与推理模块并行的核心组件。对齐层通常要完成三件事建立跨参与方的实体映射表或映射函数解决 ID 不一致。建立谓词映射表把各方的关系名统一到协调方的语义空间。为需要跨方比较的数值型属性建立统一度量标准或者提供可解释的转换规则。对齐层可以做成静态的比如项目启动时人工标注一批等价实体对然后训练对齐模型也可以做成动态的比如在每次问答迭代中根据候选实体的嵌入向量在跨域空间中的距离自动调整对齐粒度。两种方式各有利弊静态对齐稳定但维护成本高动态对齐灵活但引入额外风险错误对齐会随着迭代被放大。3.3 通信协议决定效率与安全的临界点如果对齐层是关键部件通信协议就是整个系统的血液循环。协议要回答四个问题通信几轮一轮足够吗还是需要多轮迭代剪枝传什么信息只传候选实体 ID还是同时传置信度、嵌入向量、关系路径片段传多少信息候选集合的规模上限是多少要不要做差分隐私加噪谁来协调中央协调方做全局路由还是参与方之间直接两两协商这四个问题的答案互为约束。传的信息越丰富推理准确率越高但隐私暴露和通信成本也越高。候选集合越大对对齐错误的容忍度越高但泄露查询意图的风险也越大。通信轮数越多理论上越接近单图推理的效果但多机构之间的协同开销可能呈指数上升。在真实项目里我见过不少团队为了追求准确率一开始就设计了七轮通信和完整候选集合传输结果部署时发现数据方根本无法接受这种交换规模。更稳妥的路径是先做一轮通信加中等规模候选集把端到端流程跑通再根据漏检率决定是否增加轮次而不是一上来就拉满。3.4 训练与推理的两种模式从训练视角看这类系统一般有两种组织方式。第一种是“本地预训练 协调微调”。各方先在自己的图谱上训练单跳问答模型然后把模型参数交给协调方做跨域微调。这种方式对隐私保护友好通信量也比较小但跨域协同能力受限于本地模型的表达能力。第二种是“端到端联邦训练”。协调方和参与方共享一套联合模型每个参与方只计算与本地数据相关的梯度通过安全聚合后更新全局参数。这种方式理论上可以联合优化整个多跳流程但需要更复杂的隐私保护机制训练不稳定调参难度也高。从推理视角看常见的是两种模式的混合启动时先做一轮快速本地召回如果协调方判断证据链不完整再发起局部跨域迭代。这种做法在实际场景里很常用因为它可以在大多数简单问题上只走一轮保留复杂问题的多轮纠错能力。4. 如果真把系统落地你会被这五个问题卡住4.1 实体 ID 对齐最不起眼最容易翻车很多团队第一次做联邦图谱时都把精力放在模型上结果第一个周末就死在实体对齐上。数据方 A 提供的是一个内部自增 ID数据方 B 提供的是另一个系统的自然键两边既没有公共 ID也不允许把 ID 全表送到对方手里。实操建议先做一个 100 条样本的人工映射率验证如果实体映射率低于 90%后面所有多跳准确率指标都不可信。工程上可以先做的不是直接训练实体对齐模型而是先做一个小样本、可解释的验证。先跑通这个验证再谈多跳架构。4.2 谓词语义对齐比实体对齐更隐蔽实体对齐的错误最终会表现为答案错误比较容易发现谓词对齐的错误更隐蔽。当 A 方的“关系 r1”和 B 方的“关系 r2”其实指向同一个语义但在建立映射时漏掉了就会出现“该有的路径不存在”的假阴性错误。这种错误在最终评估里会和模型错误混在一起很难定位。建议的做法是在离线阶段抽一批高频谓词对用人工标注的方式建立黄金映射集把谓词对齐准确率作为一个独立指标记录。如果谓词对齐准确率低于 95%就先不要讨论模型层面的微调。4.3 通信过程中的隐私暴露远比想象中容易联邦场景