知识图谱补全(KGC)任务旨在从不完整的三元组中推断出缺失的实体。现有的基于嵌入的方法仅依赖于知识图谱中的三元组,这容易受到虚假关系模式和长尾实体的影响,而基于文本的方法则难以跨越知识图谱三元组和自然语言之间的语义鸿沟。
为了解决这些局限性,本文提出了KGR,一个上下文丰富的知识图谱补全框架。KGR由三个模块组成。首先,检索模块从知识图谱中收集支持三元组,从基础嵌入模型中收集可能的候选答案,并为每个相关实体检索上下文。然后,推理模块使用大型语言模型为每个查询三元组生成潜在答案。最后,重排模块结合上述两个模块中的候选答案,并微调一个大型语言模型以提供最佳答案。
主要贡献:
问题规范
知识图谱(表示为G = {E, R, T})可以表示为一组三元组的形式(h, r, t)∈ T,其中h, t ∈ E, r ∈ R。符号h和t分别表示三元组的头实体和尾实体。E、R、T分别是实体、关系和三元组的集合。
方法
提出的上下文丰富的知识图谱补全框架KGR,由三个组件组成:(1)检索,(2)推理,和(3)重排。
i) 第一阶段:检索
检索模块专注于收集可能有助于完成某些不完整三元组的结构和语义知识。
a) 支持三元组检索
b) 文本上下文检索
c) 候选答案检索
fr(h, t)是KGC模型评估三元组(h, r, t)合理性的评分函数。然后,我们从AKGC中提取评分最高的前n个实体作为候选答案,并根据它们的实体ID提取标签和描述。
ii) 第二阶段:推理
a) 支持三元组演示
对于每个支持三元组,我们首先向LLM提供头实体的描述。实体描述有三个目的:
遵循的步骤是:
b) 上下文感知推理
其中,q、c(q)、e 和 D(q) 分别表示问题、已知实体的描述以及支持三元组演示。
iii) 第三阶段:重新排序
我们引入带有LoRA适配的监督微调(SFT),其训练目标是从一组候选答案中找出不完整三元组中缺失的实体。
具体来说,我们通过损坏训练集中每个三元组的尾(或头)实体来构建训练样本。
对于每个损坏的三元组,我们从实体集中随机采样 n-1 个负样本,其中一半与损坏的真实实体具有相同的关系。包含困难负样本有助于LLM区分具有相同属性的不同实体,这一点至关重要,因为基础KGC模型建议的候选实体通常具有相似的特征。
我们将掩码三元组转换为自然语言问题,并为每个候选实体收集标签和描述。最后,我们将问题 q、检索到的相邻事实 N(q)、已知实体的描述 c(q)e,以及候选答案 A 及其描述 c(A) 提供给LLM,并对LLM进行微调,使其输出真实实体的标签 y。
形式上,我们有SFT损失:
在推理阶段,我们构建一个候选答案集Ac,它由来自AKGC的前p个实体和在ALLM中之前未遇到的前(n-p)个实体组成。
如果ALLM中包含的实体少于(n - p)个(例如,m < n - p),我们将从AKGC中补充额外的实体到候选答案集中,以达到总共n个实体。
最后,我们构建重新排序的实体列表ARR以进行性能评估。在这里,我们有...
结果
下表总结了 KGR 框架在六种不同的基本 KGC 方法上的表现
在所有评估指标中,KGR 的最佳变体明显优于所有基线方法
与之前最先进的基线相比,以 Llama3–8B 为主干的 KGR 在 FB15k237 和 WN18RR 数据集上分别实现了 11.3% 和 4.0% 的绝对 Hits@1 改进
消融研究
i) 推理模块对最终推理性能提升的贡献:
我们将重排序模块应用于从基线KGC模型中检索到的候选答案。在“KGR w/o Reasoning”变体中,性能下降表明预训练的语言模型能够提供合理的答案,但这些答案在基线模型的初始排名中并未处于靠前位置。
ii) 实体描述在增强知识图谱补全方面的贡献:
在“KGR w/o Entity Descriptions”变体中,我们移除了查询三元组中的已知实体及其每个候选答案的描述,导致实验结果不佳。性能的下降再次证实了我们的假设,即语言模型可能缺乏对知识图谱中某些实体的基本理解,这显示了检索和利用文本上下文的重要性。
iii) 语言模型能否在没有知识图谱三元组帮助的情况下生成理想的知识图谱补全结果:
在“KGR3 w/o Neighbor Facts”变体中,我们观察到了显著的性能下降,特别是在Hits@1指标上。
下表显示了消融研究的结果,其中移除了推理模块、实体描述或相邻事实。我们分别采用NBF-Net和SimKGC作为FB15k237和WN18RR数据集的基线KGC模型。
上述结果再次证实了文本上下文和结构上下文之间的互补关系。
iv) KGR3能否在不同的语言模型下确保理想的性能?
下表显示了在不同语言模型组合下,推理和重排序阶段的消融研究结果。我们为FB15k237和WN18RR数据集采用了最佳的基线KGC模型,即NBF-Net和SimKGC。
结果显示,KGR在所有8种语言模型组合中均一致优于所有基线方法。
当使用Qwen2–7B和GPT3.5分别作为重排序和推理模块的语言模型时,KGR达到了最先进的性能。
即使使用相同的语言模型Llama2–7B,KGR仍然以很大的优势超越了DIFT。
v) SFT数据量对KGR性能的影响
下图展示了在不同语言模型下,两个数据集上随着SFT数据量的增加,Hits@1性能的变化情况。
结果显示,增加SFT数据通常会提高模型性能。
结论
我们提出了KGR,一个基于LLM的上下文丰富的KGC框架,包含三个模块:检索、推理和重排序。通过利用上下文信息,KGR3有效地弥合了结构KG三元组与自然语言之间的语义鸿沟。