当前位置: 首页 > news >正文

论文浅尝 | KRACL-利用图上下文和对比学习的稀疏KG补全

98c2c06758fbbf4df8daa751f0e8d169.png

笔记整理:李娟,浙江大学博士,研究方向为知识图谱表示学习

论文链接:https://arxiv.org/pdf/2208.07622.pdf

代码链接:https://github.com/TamSiuhin/KRACL

介绍

知识图谱(KG)通常是不完整的,知识表示学习(KGE)方法将知识图谱中实体和关系映射到低维向量空间,通过向量间的计算完成知识图谱补全等任务。下图展示了不同入度值范围下RotatE方法的MRR指标和数据集的实体出现频率统计,说明现有KG存在稀疏性,即KG中大部分实体的入度值较低,且已有KGE方法如RotatE在入度低的实体上预测结果表现较差。针对KG的稀疏性挑战,本文提出通过图上下文和对比学习缓解稀疏问题。

f7d44b5fad5eeb726cc05016453a7832.png

KRACL方法框架如下:

85e13df0937b43e57b9255a1eb0c5c1d.png

方法

主要包括两个模块:

(1)KRAT(知识关系注意力网络):将邻居三元组映射到不同空间使用注意力机制完成聚合,模块捕获了不同上下文三元组的重要性。通过T层KRAT后,模块可捕获多跳上下文。该模块先使用不同的运算符将邻居关系-实体对映射到不同表示空间:

b7e8c6d30c9e08e9fc68130dd47c6f6e.png

再将消息组合得到聚合消息:

756c965bff1bcc9a432d66620398c1e4.png

然后计算注意力分数:

a77255331fb80501da7483e50dde8d18.png

b16bd6fe80d329c9d1607c3fd2f44af5.png

最后通过注意力机制聚合所有上下文信息,实体更新计算为:

05870ee5eb9d4b194ff0ff5bd0ead574.png

关系更新计算为:

6e43115502c84bf8bf20953906ec41cb.png

通过KRAT获取实体和关系表示后输入ConvE计算预测损失:

3036235d8ffb5be0a9f847fc9cc76897.png

(2)KCL(知识对比损失):对比损失引入了更多负样本,丰富对稀疏实体的反馈。对比损失的计算为:

914d21db384db748349f024c57144530.png

其中实体的正样本为实体本身及实体的邻居实体-关系对,负样本为除了实体外的其他实体。模型最终的损失函数定义为两部分损失之和:

53ae3f9c5df7c68f8cdaea4de9a0c6cc.png

实验

本文在稀疏数据集WN18RR和NELL-995,以及稠密数据集FB15K237和Kinship上完成了链接预测实验,证明了方法的有效性:

ce7ad5ca649c0dd4a6f43e848a86302d.png

f967cab4ec8fecfc22321154067b1475.png

统计了不同入度范围实体的预测结果,KRACL对稀疏实体效果的提升明显:

f60d3633d35830e82212f13819703ff6.png

为进一步验证方法对稀疏性的缓解,统计了不同百分比训练集时模型的预测结果:

8871e75e557c81a7d07954728882850c.png

同时,本文还评估了不同GNN方法结合不同变换操作的效果验证了KRACL的有效性,通过消融实验验证了模块的有效性,以及通过在噪声数据集的预测结果验证了KRACL的鲁棒性。


OpenKG

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

c695c55f12b5ab91275d09f945c0472f.png

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

http://www.lryc.cn/news/139108.html

相关文章:

  • 【C++】右值引用,移动语义,完美转发
  • 【AI】即使AI 时代,程序员也无需焦虑
  • Django实现DRF数据API接口格式封装
  • [Go版]算法通关村第十三关白银——数字数学问题之数组实现加法、幂运算
  • 【 OpenGauss源码学习 —— 列存储(Insert)】
  • Android 13.0 framework中实现默认长按电源键弹出关机对话框功能
  • 微信小程序,封装身高体重选择器组件
  • 深度学习调参技巧
  • 图论基础和表示(Java 实例代码)
  • 各种数据库查询报错问题
  • 人效九宫格城市沙龙暨《人效九宫格白皮书》发布会 —上海站,圆满结束
  • 【C语言】文件操作 -- 详解
  • 飞天使-k8s基础组件分析-持久化存储
  • python连接PostgreSQL 数据库
  • 数字图像处理—— Lab、YCbCr、HSV、RGB之间互转
  • 自动驾驶SLAM技术第四章习题2
  • vue拖拽div盒子实现上下拖动互换
  • Visual Studio 2022 右键单击项目没有出现View | View Class Diagram(Visual Studio 无法使用类设计器)
  • EFCore常见用法
  • 概率论与数理统计:第六章:数理统计
  • 拥塞控制(TCP限制窗口大小的机制)
  • 校园供水系统智能管理
  • Flask-SocketIO和Flask-Login联合开发socketio权限系统
  • 航空电子设备中的TSN通讯架构—直升机
  • elment-ui中使用el-steps案例
  • FPGA解析串口指令控制spi flash完成连续写、读、擦除数据
  • msvcp120.dll丢失的解决方法,分享三种快速修复的方法
  • mysql 8.0 窗口函数 之 序号函数 与 sql server 序号函数 一样
  • fastgpt构建镜像
  • Git笔记--分支常用命令