
摘要
知识图谱补全(Knowledge Graph Completion, KGC)旨在基于已知事实进行推理,以推断出缺失的关联关系。基于文本的方法,如KGBERT(Yao等,2019),通过自然语言描述学习实体表示,具备实现归纳式KGC的潜力。然而,目前基于文本的方法在性能上仍显著落后于基于图嵌入的方法,例如TransE(Bordes等,2013)和RotatE(Sun等,2019b)。本文指出,造成这一差距的关键在于对比学习的效率不足。为提升学习效率,我们引入了三种类型的负样本:批内负样本(in-batch negatives)、预批负样本(pre-batch negatives)以及自负样本(self-negatives),后者可视为一种简化的难负样本形式。结合InfoNCE损失函数,我们提出的模型SimKGC在多个基准数据集上显著超越了传统的嵌入方法。在平均倒数排名(MRR)指标上,我们在WN18RR数据集上将当前最优性能提升了19%,在Wikidata5M的归纳设置下提升了6.8%,在该数据集的归纳设定下更是提升了22%。我们对模型各组件进行了深入分析,以揭示其作用机制。相关代码已开源,地址为:https://github.com/intfloat/SimKGC。
代码仓库
meaningful96/satkgc
pytorch
GitHub 中提及
intfloat/simkgc
官方
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| link-prediction-on-fb15k-237 | SimKGCIB(+PB+SN) | Hits@1: 0.249 Hits@10: 0.511 Hits@3: 0.365 MRR: 0.336 |
| link-prediction-on-wikidata5m | SimKGC + Description | Hits@1: 0.313 Hits@10: 0.441 Hits@3: 0.376 MRR: 0.358 |
| link-prediction-on-wn18rr | SimKGCIB(+PB+SN) | Hits@1: 0.588 Hits@10: 0.817 Hits@3: 0.731 MRR: 0.671 |