论文阅读《Do Pre-trained Models Benefit Knowledge Graph Completion?A Reliable Evaluation and a Reasonab》

Do Pre-trained Models Benefit Knowledge Graph Completion? A Reliable Evaluation and a Reasonable Approach.(Finding of ACL 2022)

论文开源代码-github

提出背景

预训练模型被证明可以从文本中获得真实的知识,这促使着基于PLM知识图谱补全Knowledge graph completion, KGC)模型的提出,然而这些模型在性能上远远落后于KGC任务的SOTA

KGEHits@10中的SOTA模型低约20.8%

作者认为主要有以下两个原因:

1.封闭世界假设(Closed World Assumption, CWA)的设置会限制基于PLMKGC模型,预训练模型引入了很多的外部知识。

2.大多数基于PLMKGC模型只是简单拼接实体和关系的标签作为输入,导致句子不连贯,没有充分利用PLM中的隐性知识。

封闭世界假设 (Closed-world assumption, CWA)认为, 在给定的知识图谱中没有出现的三元组是错误的。我们可以很容易在 CWA 下评估没有标注的模型的性能。然而,CWA 本质上是一种近似,不能保证评估结果的准确性。

开放世界假设 (Open-world assumption, OWA)认为知识图谱中包含的三元组是不完备的。因此,开放世界假设下的评估更准确、更接近真实场景,但需要额外的人工标注,仔细验证知识图谱中不存在的完整三元组是否正确。

对于一个三元查询(England, contains, ?),基于PLM的KGC模型给出了许多正确的尾实体,但在CWA下只有Pontefract 被认为是正确的,因为它存在于KGs中。

模型介绍

基于PLMKGC模型PKGC,可以更好的诱导隐藏在PLM参数中的隐性知识和KGs中的结构化知识。

给定一个三元组,我们将它的信息填入到三元组模板(triple prompts)支持模板(support prompts)中。

最终模板T = [CLS] P^T P^S[SEP][CLS]的输出用来预测给定三元组的类别(label)

另一方面我们将正/负例的三元组输入到我们的模型中进行三元组分类。

三元组模板 P^T  :对于每个关系,手动为其设计了一个hard模板,以关联三元组的语义。例如体育关系成员的hard模板为“[X] plays for [Y]”,将[X][Y]替换成头实体和尾实体,同时在其中添加一些soft提示。

支持模板P^S:除了知识图谱本身的三元组信息,我们还为模板中添加如定义和属性的支持信息。为了避免模型过于复杂,为实体随机选择一个属性。模型并不要求所有支持信息都要呈现。如果不存在,就不要添加相应的信息。

模型下三元组分类任务示意图
soft prompt 嵌入位置示意
支持模板的设计

数据集构建及实现细节

在实验中,本文使用了两个主要的数据集,分别来自 Wikidata Freebase

Wiki27K构建的详细步骤:

(1)从四个方面对实体进行评分:实体出现频率实体是否有英文维基百科链接实体是否有非英文维基百科链接实体是否有 Freebase链接,从得分排名前3万个实体中随机选取27122个实体形成我们的实体集 E

(2)将关系按频率由高到低选出前 200 个关系,与CoDExLAMA中的数据集中的关系并在一起组成关系集合R

(3)wikidata里选择在存在于ER中的句子中提取三元组。

(4)随机洗牌它们,并以8:1:1的比例组成训练集/验证集/测试集。

(5)R中如果存在对称关系(如果(h, r, t)成立,那么(t, r, h)也成立),如果(h, r, t)存在于训练集,(t, r, h)存在于验证集或测试集,模型就能够轻松做出预测。为了避免这种信息泄露,对于每个对称关系 r,如果(t, r, h)在 验证集或测试集,我们从训练集中删除(h, r, t)

FB15K-237FB15K237-N构建的详细步骤:

(1)Freebase中存在许多CVT节点(CVT可以被认为是一个不需要展示名称的主题),这些节点会不恰当地提高模型的准确性。文中通过去除FB15K-237中的CVT节点获得数据集FB15K237-N

(2)为了增加三分类的难度,我们在FB15K-237-N的基础上增加负例三元组构建数据集FB15K237-NH。该数据集仅用于三元分类。具体来说,对于验证集和测试集中的每一个正例三元组(h, r, t),我们使用TransE做链接预测,并使用概率最高的非答案实体替换缺失实体,做负例。

召回和重排序框架

       链接预测需要大量的计算,基于PLM的模型的运行效率远远低于KGE模型。为了缓解这一问题,对于三元组查询(h, r,  ?),我们首先使用KGE模型(实验中使用TuckER)来获得头尾部实体的排序。之后,我们选择排名前X的实体,并使用基于PLMKGC模型重新计算得分。基于这些分数,我们可以对排名前X的实体重新排序。

最终数据集示意

训练任务及评价方法

知识图谱补全认为旨在为知识图谱补全缺失的三元组,评估这一任务主要有两种方法链接预测三元组分类,前者主要为三元查询(h, r, ?)(?, r, t),后者旨在判断给定的三元组(h, r, t)是否正确。

模型在包含正例/负例的三元组数据集上进行任务。

负例三元组由两种类别的数据组成:(1)随机替换原三元组中的头实体或尾实体。(2)通过将头实体或尾实体替换为KGE模型认为概率高的另一个实体。

用一个超参数α来控制两种负例的比例,同时用一个超参数K来控制正例和负例的比例。

链接预测任务:给出每个实体为缺失实体的概率的降序排列,使用MRRHits@NCR@1新的基于开放世界假设的评估方法)作为评价指标。

三元组分类任务:本质上是一个二元分类任务,使用准确率和 F1 作为评价指标。

链接预测结果对比
三元组分类结果对比

 分析与展望

Q1PLMs 在海量的文本中看到了很多事实。是不是因为它们记住了这些事实,才帮助我们的模型取得了更好的结果

A:有一定的原因

设计一个基于远程监督的实验,具体的来说,对于一个三元组(h, r, t),如果ht出现在Wikipedia的一个句子中,我们认为这句话暗示了(h, r, t)的事实。

使用BERT-large作为模型的基座模型,因为它主要是在Wikipedia上预训练。

将测试集分成几个不相交的部分,并测试PKCGConvETuckER在测试集上的性能。PLMs见过更多的三元组所以表现更好。

Q2:引入的PLMs能使我们的模型对训练数据量不那么敏感吗

A:是的

本文的模型是基于PLMs。因此我们推测基于PLMs的模型对训练数据量不敏感。为了验证这一点,我们使用不同比例的训练集训练模型,并测试其性能。

PKCG只是随着用于训练的数据量的减少而略有下降,具有用于稀疏知识图谱补全的潜力。作为对比, KGE 模型ConvETuckER的性能都显著下降。

Q3:近年来出现了一些包含知识的PLMs。使用它们能给我们的模型带来更好的结果吗

A:有一定作用的

我们通过改变基座模型在 FB15K-237-NWiki27K上进行实验。

BERT 主要在维基百科语料库上训练,包含更多的事实知识。

KEPLER:结合掩蔽语言建模和知识表示学习这两个训练目标,基座模型Roberta

LUKE:大量实体注释语料,提出实体感知自注意力机制,基座模型Roberta

Q1和Q2的实验结果图
Q3的对比实验
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jiawen9

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值