ACL-SimKGC:基于PLM的简单对比KGC
论文标题: SimKGC: Simple Contrastive Knowledge Graph Completion with Pre-trained Language Models
论文会议: ACL 2022
论文地址: https://arxiv.org/pdf/2203.02167
摘要
知识图谱补全(KGC)的目的是对已知事实进行推理,并推断出缺失的环节。基于文本的方法,如KG-BERT从自然语言描述中学习实体表示,并具有归纳KGC的潜力。然而,基于文本的方法的性能仍然大大落后于基于图嵌入的方法(KGE),如TransE和RotatE。
在本研究中,我们认为关键问题在于有效的对比学习。为了提高学习效率,我们引入了三种类型的负采样:批内负采样、批前负采样和作为困难负样本的简单形式的自我负采样。结合InfoNCE损失,我们提出的模型SimKGC在多个基准数据集上的性能大大优于基于嵌入的方法。在平均倒数秩(MRR)方面,我们在WN18RR上比之前最先进的模型提高了+19%,在Wikidata5M直推设置上提高了+6.8%,在Wikidata5M归纳设置上提高了+22%。我们进行了彻底的分析以深入了解每个组件。我们的代码可从https://github.com/intfloat/SimKGC获得。
归纳学习(Inductive Learning): 顾名思义,就是从已有训练数据中归纳出模式来,应用于新的测试数据和任务。我们常用的机器学习模式就是归纳学习。
直推学习(Transductive Learning): 也叫转导学习,指的是由当前学习的知识直接推广到指定的部分数据上。即用于训练的数据包含了测试数据,学习过程是作用在这个固定的数据上的,一旦数据发生改变,需要重新进行学习训练。
Inductive Learning 对应于meta-learning(元学习),要求从诸多给定的任务和数据中学习通用的模式,迁移到未知的任务和数据上。
Transductive Learning 对应于domain adaptation(领域自适应),给定训练的数据包含了目标域数据,要求训练一个对目标域数据有最小误差的模型。
困难负样本(Hard Negative): hard negative就是当你得到错误的预测样本时,会创建一个负样本,并把这个负样本添加到训练集中去。当重新训练你的分类器后,分类器会表现的更好,并且不会像之前那样产生多的错误的正样本。
使用 MRR/Hits10 评估链路预测
- 平均倒数秩(Mean reciprocal rank,MRR)
MRR是一种衡量搜索质量的方法。我们取一个未被破坏的节点,找到距离定义为相似性分数的**”最近邻”**。根据相似性得分对最近的节点进行排名,并期望连接的节点会出现在排名的顶部。如果节点没有出现在第一个,MRR 会降低模型的精度得分。- Hits@n:(n通常为1、3和10)
根据相似性得分对最近的节点进行排名,我们期望被破坏的节点出现在前n个最近的节点中。
1.引言
大规模知识图(KGs)是知识密集型应用的重要组成部分,如问答、推荐系统和智能会话代理等。KG通常由三元组(h,r,t)组成,其中h是头实体,r是关系,t是尾实体。主流的开源KGs包括Freebase、Wikidata、YAGO、ConceptNet和WordNet等。尽管它们很有用,但它们往往是不完整的。KGC技术是知识图谱自动构建和验证的必要技术。
现有的KGC方法可以分为两大类:基于嵌入的方法和基于文本的方法。
- 基于嵌入的方法将每个实体和关系映射到一个低维向量,而不使用任何附加信息(例如实体描述)。KGE包括TransE、TransH、RotatE和TuckER等。
- 基于文本的方法整合了实体表示学习的可用文本,并且如图1所示,使用了附加信息(例如实体描述)。直观地说,基于文本的方法应该优于基于嵌入的方法,因为它们可以访问额外的输入信号。然而,在流行的基准测试上的结果却截然不同:基于文本的方法仍然落后于预训练的KGE模型。

知识图谱的一个例子。每个实体都有其名称和文字描述。
我们假设,这种性能下降的关键问题是对比学习的低效。基于嵌入的方法不涉及成本高昂的文本编码器的计算,因此可以在有大量负样本的情况下高效训练。例如,在Wikidata5M数据集上,负样本数量为64,用RotatE的默认配置训练1000个epoch。而基于文本的KEPLER方法由于RoBERTa的计算成本高,只能在负样本数量为1的情况下训练30个epoch。
在本文中,受对比学习研究最新进展的启发,我们引入了三种类型的负采样以改进基于文本的KGC方法:批内负采样、批前负采样和自我负采样。
- 通过采用双编码器而不是交叉编码器架构,可以使用更大的批尺寸来增加批内负采样的数量。
- 来自之前批次的向量被缓存,并作为批前负采样。
- 此外,挖掘困难负样本也有助于提高对比学习。我们发现头实体本身可以作为困难负样本,我们称之为"自我负采样"。因此,负样本量可以增加到数千的规模。我们还提出将损失函数从基于间隔的排序损失改为InfoNCE,使模型更关注困难负样本。
基于文本的方法的一个优点是它们支持归纳实体表示学习。在训练中未知的实体仍然可以被适当地建模,而基于嵌入的方法,如TransE,只能在直推设置下进行推理。归纳知识图的补全在现实世界中非常重要,因为每天都有新的实体出现(直推学习要求把所有数据包括测试数据都当作训练数据)。此外,基于文本的方法可以利用最先进的预先训练的语言模型来学习更好的表示。近期的一系列工作试图从BERT中引出隐式存储的知识。KGC的任务也可以看作是检索这些知识的一种方式。
如果在图中通过一条短路径连接,两个实体更有可能相互关联。根据经验,我们发现基于文本的模型严重依赖语义匹配,在一定程度上忽略了这种拓扑偏差。我们提出了一个简单的重新排序策略,即提高头实体的k跳邻居的分数。
k跳邻居(k-hop): 图拓扑领域的概念,即图中两个点的最短距离为k,则互为k-hop邻居。
我们通过在WN18RR、FB15k-237和Wikidata5M(包括直推和归纳设置)三个主流基准数据集上进行实验来评估我们提出的SimKGC模型。根据自动评价指标(MRR, Hits@{1,3,10}),SimKGC在WN18RR(MRR 47.6→66.6)、Wikidata5M直推设置(MRR 29.0→35.8)和归纳设置(MRR 49.3→71.4)上的表现明显优于现有方法。在FB15k-237数据集上,我们的结果也具有竞争力。为了帮助更好地理解我们提出的方法,我们进行了一系列分析并报告了人工评估结果。希望SimKGC能够促进未来更好的KGC系统的开发。
2.相关工作
2.1 知识图补全(KGC)
KGC涉及对多关系数据建模,以帮助自动构建大规模KGs。在基于平移的方法中,如TransE和TransH,三元组(h,r,t)是从头实体h到尾实体t的特定关系的平移。有人在基于平移的方法的基础上引入了复数嵌入,以便增加模型的表现力。RotatE在复空间中将一个三元组作为关系旋转来建模。有人将KGC视为一个三维二元张量因子分解问题,并研究了几种因子分解技术的有效性。有些方法尝试合并实体描述。DKRL使用CNN对文本进行编码,而KG-BERT、StAR和BLP都采用PLM来计算实体嵌入。GraIL和BERTRL利用子图或路径信息进行归纳关系预测。在基准测试的性能方面,基于文本的方法仍然不如RotatE等方法。
2.2 预训练语言模型(PLM)
PLM(如BERT、GPT和T5等)使得现在的NLP中学习方法发生了很大转变。首先对大量带有语言建模目标的无标记文本语料库进行预训练,然后对下游任务进行微调。考虑到它们在少样本甚至零样本场景下的良好表现,一个有趣的问题是:“PLM可以用作知识库吗?” 有人基于此提出了带有手工设计提示探索的语言模型。一系列后续工作专注于寻找更好的提示,以引出模型参数中隐式存储的知识。另一种工作将符号知识注入到语言模型的预训练中,并在一些知识密集型任务中表现出一定的性能提升。
2.3 对比学习
**对比学习通过正样本和负样本之间的对比来学习有用的表示。**正样本和负样本的定义取决于具体的任务。在自我监督视觉表现学习中,正样本对是同一图像的两个增强视图,而负样本对是不同图像的两个增强视图。最近,对比学习方法在许多不同的领域都取得了巨大的成功,包括多模态预训练、视频文本检索和自然语言理解等。在NLP领域,通过利用来自问答对、自然语言推理数据和并行语料库的监督标记,对比类方法在语义相似基准测试上超过了无对比方法。有人采用对比学习改进密集文本检索以便在开放域进行问答,其中正类文本就是包含正确答案的文本。
3.模型方法
3.1 符号
知识图 G \mathcal{G} G是一个有向图,其中顶点是实体 E \mathcal{E} E,每条边可以表示为一个三元组 ( h , r , t ) (h,r,t) (h,r,t),其中h,r,t分别对应头实体、关系和尾实体。KGC的链接预测任务是在给定不完全知识图 G \mathcal{G} G的情况下推断缺失的三元组。在广泛采用实体排名评估的方式下,尾实体预测 ( h , r , ? ) (h,r,?) (h,r,?)需要对给定 h h h和 r r r的所有实体进行排名,头实体预测 ( ? , r , t ) (?,r,t) (?,r,t)也类似。在本研究中,对于每个三元组 ( h , r , t ) (h,r,t) (h,r,t),我们添加一个逆三元组 ( t , r − 1 , h ) (t,r^{−1},h) (t,r−1,h),其中 r − 1 r^{−1} r−1是 r r r的逆关系。基于这样的创新,我们只需要处理尾实体的预测问题。
3.2 模型结构
我们提出的模型SimKGC采用双编码器架构。两个编码器使用相同的PLM进行初始化,但不共享参数。
给定一个三元组 ( h , r , t ) (h,r,t) (h,r,t),第一个编码器BERT h r _{hr} hr用于计算头部实体 h h h的关系感知嵌入。我们首先用一个特殊的符号[SEP]在中间连接实体 h h h和关系 r r r的文本描述。BERT h r _{hr} hr用于获取最后一层隐藏状态。我们没有直接使用第一个标记的隐藏状态,而是使用平均池化,然后进行 L 2 L_2 L2归一化,以获得关系感知的嵌入 e h r \mathbf{e}_{hr}

最低0.47元/天 解锁文章
870

被折叠的 条评论
为什么被折叠?



