知识图谱 (Knowledge Graphs, KGs) 是现代网络大部分功能背后的无声引擎。从谷歌的 Knowledge Vault 到 Wikidata,这些庞大的网络以三元组的形式存储事实: (头实体,关系,尾实体)。例如,(达芬奇,绘制了,蒙娜丽莎)

然而,知识图谱有一个根本性的问题: 它们永远不会完工。即使是最大的知识库也面临着不完整的问题。这催生了知识图谱补全 (Knowledge Graph Completion, KGC) 领域——即预测缺失链接的任务。

近年来,研究人员开始使用像 BERT 这样的预训练语言模型 (PLM) 来解决这个问题。这些基于文本的模型非常擅长理解实体名称的语义,但它们通常有一个盲点: 它们孤立地处理事实。它们只盯着三元组,却忽略了围绕它的复杂连接网络——即结构

今天,我们将深入探讨一篇弥补这一差距的研究论文: StructKGC 。 该框架引入了“结构感知监督对比学习”,这是一种强制语言模型超越直接的三元组,去理解图谱更广泛拓扑结构 (从邻居到多跳路径) 的方法。

问题所在: 基于文本的 KGC 的“隧道视野”

要理解为什么需要 StructKGC,我们首先需要看看现代 KGC 是如何工作的。

传统上,KGC 依赖于基于嵌入的方法 (如 TransE 或 RotatE) 。这些方法将实体视为几何空间中的向量。它们速度快且对结构敏感,但完全忽略了文本信息。它们不知道“史蒂夫·乔布斯”和“苹果”是语义相关的词汇;它们看到的只是 ID 号码。

随后出现了基于文本的方法 (如 KG-BERT 和 SimKGC) 。这些模型使用 PLM 来编码实体的文本描述。目前最先进的方法使用的是对比学习

标准对比学习的局限性

在标准设置 (如 SimKGC) 中,模型使用“双塔”架构进行训练。一个塔编码查询 \((h, r)\),另一个塔编码目标尾实体 \(t\)。目标很简单: 最大化查询与正确尾实体之间的相似度,同时推开随机的“负”实体。

数学公式通常如下所示,被称为 InfoNCE 损失:

InfoNCE Loss Equation

在这里,模型将正样本对与一批负样本进行对比。虽然有效,但这种方法存在“隧道视野”。它假设一个查询只有一个正向的尾实体。

但现实中的知识图谱错综复杂。

  1. 一对多关系:(罗纳尔多, 队友, ?) 这样的查询有许多正确答案。
  2. 结构上下文: 实体是由它的邻居定义的。
  3. 逻辑路径: 通常,两个实体之间的关系是由多跳路径定义的,而不仅仅是直接链接。

让我们看一个研究人员提供的具体例子。

Figure 1: Knowledge Graph example with Ronaldo and Zidane.

图 1 中,考虑预测 *齐达内 (Zidane) * 的职业。如果模型只看文本“Zidane”,它可能会很吃力。然而,图结构显示 齐达内 与 *罗纳尔多 (Ronaldo) * 共享特定的上下文: 他们都效力于皇家马德里 (Real Madrid) 。由于 罗纳尔多 是一名足球运动员,结构相似性表明 齐达内 很可能也是。此外,路径 Play_for \(\rightarrow\) Play_for (逆向) 在逻辑上起到了“队友”关系的作用。

标准的基于文本的模型忽略了这些丰富的结构线索。它们将训练数据视为一袋独立的三元组,只见树木不见森林。

解决方案: StructKGC

研究人员提出了 StructKGC , 这是一个旨在将结构感知注入 PLM 微调过程的框架。

核心思想是扩展“正样本”的定义。StructKGC 不再仅仅将查询 \((h, r)\) 与单个尾实体 \(t\) 进行匹配,而是最大化锚点与其结构上下文之间的互信息。

该框架引入了一种广义的监督对比学习损失函数。与处理单个正样本的标准对比损失不同,该公式支持多个正样本 (表示为集合 \(P(q)\)) :

Equation for Supervised Contrastive Learning

这个公式本质上是在说: “将查询的表示拉近到所有结构相关的项目 (正样本) ,而不仅仅是单一的真实尾实体。”

为了实现这一点,StructKGC 引入了四个特定的辅助任务,每个任务针对图结构的不同“层级”。

Figure 3: Comparison of standard architectures vs. StructKGC.

图 3 所示,标准模型 (左) 专注于实例级对比学习 (Instance-wise CL) ,而 StructKGC (右) 增加了四个彩色层级的结构任务。让我们逐一分解。

1. 顶点级对比学习 (VC)

在许多知识图谱中,关系很少是唯一的。一部电影有许多演员;一个国家有许多城市。这就是一对多问题。

如果我们问 (美国, 包含, ?),“纽约”、“洛杉矶”和“芝加哥”都是正确答案。在标准训练中,如果当前批次采样以“纽约”为目标,模型可能会错误地被教导将“洛杉矶”作为负样本推开。

顶点级 CL 解决了这个问题。它将正样本集 \(P_v(h, r)\) 定义为图中连接到该头实体-关系对的所有实体。

Vertex-level CL Loss Equation

通过将查询同时与所有有效答案对齐,模型学习到一个表示空间,在那里所有有效的城市都聚集在“美国-包含”这一查询向量周围。

2. 邻居级对比学习 (NC)

“你是你相处时间最长的五个人的平均值。”这句话同样适用于知识图谱实体。实体的语义在很大程度上是由它的传入和传出连接定义的。

邻居级 CL 专注于目标实体 \(t\)。它假设 \(t\) 的表示应该与其邻居的表示相似。

Neighbor-level CL Loss Equation

在这里,正样本集 \(P_n(t)\) 由元组 \((v_i, e_j)\) 组成——即连接到 \(t\) 的邻居。此任务强制 PLM 以一种与其周围图邻域语义一致的方式对实体的文本进行编码。

3. 路径级对比学习 (PC)

直接链接很好,但推理通常需要跳跃。如果 A 是 B 的父亲,B 是 C 的父亲,那么 A 就是 C 的祖父。这就是一条 2 跳路径。

路径级 CL 试图捕捉这些长距离依赖关系。它构建了一个包含头实体和尾实体之间有效路径的正样本集 \(P_p(h, t)\)。

然而,并非所有路径都是平等的。有些是噪音。研究人员使用可靠性评分 \(R(p|h, r)\) (基于资源流算法) 来加权路径的重要性。

Path-level CL Loss Equation

这个公式将尾实体 \(t\) 的表示拉近到源自 \(h\) 的路径表示。它有效地教导模型: “如果你看到从 \(h\) 开始的这个关系序列,你应该最终到达 \(t\)。”

4. 关系组合级对比学习 (RC)

路径级 CL 关注的是实体,而关系组合关注的是关系本身的逻辑。它的目的是学习关系的组合 (例如,born_in + city_of) 在语义上等同于直接关系 (例如,nationality) 。

Relation Composition Level CL Loss Equation

此任务将直接关系 \(r\) 的嵌入与路径序列的嵌入对齐。这使得模型能够执行隐式逻辑推理,从多跳链中推断出直接事实。

可视化结构

为了可视化这些不同的“正样本”是什么样子的,请看图 2 :

Figure 2: Subgraph structures around a triple.

  • (a) 基于三元组: 标准方法。只有直接的尾实体是正样本。
  • (b) 基于顶点: 所有有效的尾实体 (绿色节点) 都是正样本。
  • (c) 基于邻居: 围绕尾实体的节点是正样本。
  • (d) 基于路径: 连接头实体到尾实体的节点序列是正样本。

联合目标

StructKGC 并不是孤立地训练这些任务。它将它们结合成一个联合训练目标。模型试图在执行标准排名任务的同时,满足所有这些结构约束。

Overall Loss Equation

权重 \(w_1\) 到 \(w_4\) 是超参数,允许模型适应不同数据集,因为在某些数据集中,路径或邻居可能更重要或更不重要。

实验与结果

研究人员在两个标准基准上测试了 StructKGC: FB15k-237 (Freebase 的子集) 和 WN18RR (WordNet 的子集) 。

Table 1: Dataset Statistics

主要结果

结果与基于嵌入的方法 (如 RotatE) 和基于文本的方法 (如 SimKGC) 进行了比较。

Table 2: Main Experimental Results

数据中的关键结论:

  1. 最先进水平 (SOTA) : StructKGC 在两个数据集上都取得了最高的平均倒数排名 (MRR) (FB15k-237 上为 38.3%,WN18RR 上为 69.6%) 。
  2. 击败 SimKGC: 它以显著优势 (提升高达 4.4%) 超越了其直接前身 SimKGC。这证明了在对比 PLM 中加入结构任务比仅使用文本能产生更好的表示。

低资源场景

使用知识图谱最有说服力的理由之一是它们可以在数据稀缺时提供帮助。研究人员通过移除大量训练数据 (仅使用 10% 到 50% 的可用三元组) 来模拟“低资源”环境。

Figure 4: Low-resource performance.

图 4 所示,StructKGC (绿色柱状图) 在所有数据比例下始终占据主导地位。当训练数据有限时,模型不能仅仅依靠记忆频繁出现的三元组。它必须依靠结构和逻辑 (邻居和路径) 来进行泛化。StructKGC 利用这些结构线索的能力使其具有极高的数据效率。

处理复杂关系 (一对多)

论文按关系类别分解了性能。最难的类别通常是一对多 (1-to-M) , 即一个头实体连接到多个尾实体。

Table 4: Performance by Relation Category

查看表 4 中的 1-to-M 行,StructKGC 显示出比 SimKGC 明显的改进。这验证了顶点级 CL 任务的设计,该任务正是为了处理多个有效正样本而构建的。

组件分析 (消融研究)

所有四个任务都有帮助吗?研究人员逐一移除它们以寻找答案。

Table 5: Ablation Study

  • VC (顶点) 提供了持续的提升。
  • NC (邻居) 增加了进一步的改进。
  • PC + RC (路径与关系) 在 FB15k-237 上提供了最大的飞跃 (MRR 增加了 8.8%!) 。有趣的是,路径在 WN18RR 上的帮助较小,这可能是因为与 Freebase 相比,WordNet 的关系路径较少且层级稀疏性更高。

权衡: 值得花这个时间吗?

机器学习中没有免费的午餐。编码路径和邻居意味着处理更多的文本标记,这自然需要更多的计算。

Figure 6: Training and Inference Time Analysis

图 6 揭示了成本:

  • 训练时间 (左) : StructKGC 的训练时间比 SimKGC 长 (约 1.2 倍) 。
  • 推理时间 (右) : 关键是, 推理时间与 SimKGC 完全相同

这是一个非常有利的权衡。复杂的结构学习在训练期间离线发生。一旦模型训练完成,它编码查询和检索答案的速度与更简单的模型一样快,但准确性要高得多。

结论与未来启示

StructKGC 代表了知识图谱补全的逻辑演进。我们从几何 (嵌入) 开始,移动到语义 (BERT) ,现在通过教导语言模型“阅读”图的结构,有效地将两者融合在一起。

通过引入顶点、邻居、路径和关系组合任务,作者创建了一个不仅仅是记忆事实,而是理解上下文的模型。

关键要点:

  • 上下文为王: 三元组 \((h, r, t)\) 并非存在于真空中。它的含义由图拓扑结构定义。
  • 多任务处理有效: 强制 PLM 解决辅助结构任务可以提高其在主要链接预测任务上的性能。
  • 效率: 结构开销仅在训练期间支付,使得推理保持快速和可扩展。

随着知识图谱继续增长并为 AI 应用 (从搜索引擎到推荐系统) 提供动力,像 StructKGC 这样的方法对于填补空白并使这些系统更加健壮和智能将至关重要。