CIKM 2022最佳论文:融合图注意力机制与预训练语言模型的常识库补全

本文提出了一种新的常识库补全(CKBC)模型,结合了关系图注意力网络(RGAT)和预训练语言模型(如BERT),以解决CKG的补全问题。通过序列分类任务微调BERT,增强三元组的上下文表示,RGAT则考虑了邻居节点权重和关系嵌入,学习结构表示。实验表明,该模型在CKBC任务上的性能优于基线模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自 | PaperWeekly

1

『研究背景』

常识在各种语料库中很少被明确表达,但对于机器理解自然语言非常有用。与传统的知识库(KG)不同,常识库(CKG)中的节点通常由自由格式的文本表示,并且比传统的 KG 规模更大,更稀疏。因此,这对传统的知识库补全(KBC)方法造成了挑战。最近,一些学者致力于开发常识库补全(CKBC)模型,通过预测和推断缺失的实体来提高 CKG 的覆盖率。Malaviya 等人于 2020 年提出了一个 CKBC 模型,图卷积网络(GCN)和预训练语言模型(PLM)的结合帮助他们的模型达到了最先进的性能。然而,该模型存在以下缺点:1. 在 GCN 的信息传播和聚合过程中,一个节点的所有邻居节点都被同等看待。但事实上,CKG 中的所有邻居节点应该被赋予不同的权重。此外,GCN 的表示学习忽略了不同边的语义信息。2. 为了实现从 PLM 到 CKG 的迁移学习,Malaviya 等人采用了一个掩码任务来微调 BERT。然而,掩码任务只是针对 PLM 预训练的通用要求而提出的,并不十分适用于 CKBC。为了解决这些问题,本文提出了一个新的 CKBC 模型。首先提出了一种关系图注意力网络的变体——RGAT,将边信息和不同邻居节点的权重编码到三元组的结构表示中。其次利用序列分类任务而不是掩码任务来微调 BERT,使得 BERT 中的外部知识能被更好地提炼为三元组的上下文表示,从而提高 CKBC 的性能。本文研究成果已被 CIKM 2022 Short Paper 接收,并被评为 Best Paper,文章和代码链接如下。

 

论文标题:Commonsense Knowledge Base Completion with Relational Graph Attention Network and Pre-trained Language Model论文链接:Commonsense Knowledge Base Completion with Relational Graph Attention Network and Pre-trained Language Model | Proceedings of the 31st ACM International Conference on Information & Knowledge Management

代码链接:GitHub - DeqingYang/CKBC: This repository includes the source-code and dataset used in our CIKM2022 paper titled 'Commonsense Knowledge Base Completion with Relational Graph Attention Network and Pre-trained Language Model'.

2

『网络结构』

如图 1 所示,本文提出的 CKBC 模型框架主要由 Encoder 和 Decoder 组成。在 Encoder 中,我们提出了一个序列分类任务来对 BERT 进行微调,以此生成 CKG 中三元组各元素的上下文表示。接下来,使用本文提出的 RGAT 学习三元组的结构表示,然后与上下文表示相连接,在 Decoder 中用于预测给定三元组的得分。

 

2.1 Encoder模型

2.1.1 BERT微调模型

我们提出了序列分类任务来微调模型中的 BERT,因为它更适合于 CKBC 目标。给定一个三元组 ,我们将  与特殊标记 [CLS] 连接起来作为 BERT 的输入,通过判断输入序列是否正确,BERT 可以充分融合三元组的语义信息,这个分类任务的概率分布表示为:

 

其中 是 [CLS] 的最终的隐藏层表示,而是分类层的参数矩阵。然后我们使用交叉熵损失函数作为 BERT 的损失函数:

 

 

通过微调 BERT,我们从 BERT 的最后一个隐藏层获得了三元组的上下文表示。

2.1.2 CKG致密化

为了更好地捕捉语义相近的实体之间的潜在关系,我们在将知识库 G 输入到后续的 RGAT 之前,首先将一些辅助边添加到 G 中,但在 Decoder 中不会使用这些辅助边。具体来说,两个节点之间的语义相似性是根据它们从微调的 BERT 中获得的上下文表示来计算的,如果这两个节点的语义相似度大于阈值 τ,我们就在它们之间添加一条辅助边。在本文,τ 被设定为 0.95,因此,122,618 条辅助边被添加到 CKG 中。

2.1.3 RGAT模型

我们提出了基于图注意网络(GATs)的 RGAT,它考虑到了邻居节点的权重和关系嵌入,以学习节点的结构表示。给定一个三元组 ,该三元组在第 h 层中的向量表示通过下面的线性变换得到:

 

其中  为第 h 层的线性变换矩阵,|| 为连接符。以节点  作为当前节点,其与第 h 层邻居节点  的注意力可以计算为:

 

然后,RGAT 中节点  在第 h 层的结构表示为:

 

值得注意的是,在 RGAT 中进行结构表示的学习后,节点可能会失去其初始信息。为了解决这个问题,我们在 RGAT 的最后一层表示中添加了所有节点的初始嵌入:

 

为了学习 RGAT 中第 h 层中关系的结构表示,我们只使用如下所述的线性变换:

 

为了训练 RGAT,我们使用了 hinge loss 作为损失函数:

 

 

2.2 Decoder模型

本论⽂使⽤ ConvKB 作为 Decoder 解码器,给定三元组 ,ConvKB 的评分函数可以描述为:

 

 

其中, 和  是共享的参数,独立于 ; 表示卷积算子;concat 表示一个拼接操作符。为了训练 ConvKB 模型,本文使用带有  正则项的 soft-margin loss 作为目标函数:

 

3

『实验结果』

本文在 CN-100K 数据集上进行了实验,采用 MR、MRR 和 HIT@1/3/10 作为评价指标。并且我们选取 DistMult、ComplEx、ConvE、ConvTransE、ConvKB、IndectivE 以及 MalaviyaModel 作为 baseline 模型。为了做消融实验,使用 -BERT 和 -RGAT 分别表示没有上下文表示和没有结构表示的模型变体,-SIM 表示没有图致密化的模型变体。具体结果如下表所示:

 

Ours 的模型性能优于 Ours-BERT 表明将 BERT 的外部知识纳入到 CKBC 的上下文表示中是非常重要的。Ours 的模型优于 SOTA 基线 MalaviyaModel,不仅验证了本文模型中使用的 RGAT 比 MalaviyaModel 中的 GCN 更有效,而且还证明了我们 BERT 微调中的序列分类任务比 MalaviyaModel 中的掩码任务更好。事实上,Ours-BERT-SIM 只是在 ConvKB 中加入了 RGAT,而 Ours-BERT-SIM 比 ConvKB 有明显的性能改进,证明了加入 RGAT 的意义。同时我们的模型又优于 Ours-RGAT-SIM,表明由 RGAT 学习的结构表示可以补充上下文信息,从而产生更好的 CKBC 模型。

4

『案例分析』

本文分别替换了 <city, IsA, place> 中的头实体和尾实体,然后获得以下五个模型排名前十的预测结果。

 

可以看到 Ours-SIM 表现最好,因为有更多的正确实体被预测出来且排名较高。头实体预测结果中有 9 个正确的实体,其中原始头实体 city 和原始尾实体 place 均排在第一位。MalaviyaModel 也正确地预测了原始头实体 city 和尾实体 place,并与 Ours-SIM 一样排名第一,但它所预测的正确实体数比 Ours-SIM 少。InductivE 正确预测了原始头实体和尾实体,但预测的正确实体较少,且排名低于上述两个模型。Ours-RGAT-SIM 预测正确的实体数量虽然与 InductivE 相同,但未能预测到原始头实体 city。Ours-BERT-SIM 在五个模型中预测结果最差,但它仍然预测了原始尾实体 place。

5

『总结』

本文提出了一个新的 CKBC 模型,它结合了 RGAT 和通过序列分类任务微调后的 BERT。融合 RGAT 学到的结构表示和 BERT 学到的上下文表示,本文模型中三元组的各元素表示得到了增强,从而提高了 CKBC 的性能。

易学智能提供人工智能等前沿技术学习的一站式解决方案,从技术交流、原创内容分析、最新资讯到技术培训、视频课,以及GPU资源租赁,应有尽有,助力您的人工智能(AI)的学习与开发。传送门  易学智能-GPU云|GPU资源租赁|技术培训|人工智能技术分享 - 易学开发平台|易学在线课堂|易学智能论坛

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值