论文浅尝 | INGRAM:通过关系图的归纳知识图谱嵌入

news2024/11/17 11:45:39

9eb8268c8688df8ed964169587058706.png

笔记整理:郭荣辉,天津大学硕士

链接:https://arxiv.org/abs/2305.19987

动机

归纳知识图谱补全是预测训练期间没有观察到的新实体之间缺失的三元组的任务。虽然大多数归纳知识图谱补全方法假定所有实体都是新的,但它们不允许在推理时出现新关系。这一限制使得现有的方法无法适当地处理现实世界中新实体伴随着新关系的知识图谱。本文中提出了一个归纳知识图片嵌入方法(INductive knowledge GRAph eMbedding),INGRAM,它可以在推理时生成新关系和新实体的嵌入。给定一个知识图谱,首先将关系图定义为由关系和它们之间的亲和力权重组成的加权图。基于关系图和原始知识图谱,INGRAM将学习如何使用注意力机制聚集邻居嵌入生成关系和实体嵌入。实验结果表明,INGRAM在不同的归纳学习场景中优于14种不同的最先进的方法。

亮点

INGRAM的亮点主要包括:

(1)INGRAM是第一个引入关系级聚合的方法,使模型可以通用于新关系。

(2)与一些依赖大型语言模型的归纳方法不同,INGRAM只根据给定的知识图谱的结构进行推断。

(3)由于INGRAM的完全归纳能力,INGRAM可以通过在一个可操作的、部分观察到的集合上训练INGRAM来生成嵌入,并简单地将其应用于一个全新的集合而无需重新训练。

概念及模型

图2展示了当所有关系和实体都是新的时候INGRAM的概况。一个关键的想法是定义一个关系图,其中一个节点对应一个关系,而边的权重表示关系之间的亲和力。一旦关系图被定义,就可以为每个关系指定相邻的关系。考虑到关系图和原始知识图,关系和实体的嵌入向量是通过对其邻居的嵌入进行基于注意力的聚合来计算的。聚合过程通过训练知识图谱中的三元组的可信度分数最大化来进行优化。INGRAM在训练中学习的是如何聚集相邻的嵌入来生成关系和实体嵌入。在推理时,INGRAM根据从给定的推理知识图谱中计算出的新关系图和训练期间学到的注意力权重,通过聚合邻居的嵌入来生成新的关系和实体的嵌入。

0884aa55a2f8bc658386a0438f13e1bf.png

问题定义和设置

在归纳知识图谱嵌入中,通常给定两个图谱,一个训练图d4ab10b58fcac1aad01072d3a25ad2d3.png和一个推理图c1524716e38d3d3bdb882a02f0027c02.png,其中分别代表实体集、关系集和三元组集。在模型训练时,本文将训练图中的实体集合进行划分c9f452161f0e288e734f466ad4e52527.png,前者作为已知三元组集进行训练,后者用来优化预测。同时将推理图的三元组集进行划分08615ad9fe887ed87760fa3b4cf844e1.png。在调整模型的超参数时,使用0f2dc27664a8b8479e080d34fc061d08.png来计算嵌入,使用4ef3e5598e0bb19e244b640abc6f3af9.png评估模型表现。最后在进行推理时,使用c93803de7e04b16bd57f94ecc137a415.png来评价模型表现。

定义关系图

给定一个知识图谱,本文将关系图定义为一个加权图,其中每个节点对应一个关系,每条边的权重表示两个关系之间的亲疏关系。图3是一个例子,为了简单起见,在图中省略了关系图中的反向关系和自循环。本文通过考虑两个关系之间共享多少个实体以及它们共享同一个实体的频率来衡量两个关系之间的亲和性。需要注意的是关系图的目标不是识别完美的相似关系集,而是定义一个关系的合理邻域,其表示向量可以用来创建目标关系的嵌入。

876aa9a90d5981fbb7a3971c82c0e9a6.png

通过基于关系图的聚合来更新关系表示向量

通过知识图谱定义关系图A,可以用A来指定每个关系的相邻关系。本文通过聚合自己和相邻关系的表示向量来更新每个关系的表示。具体来说,定义前向传播如下:

223db93f536db4564742074156040f7c.png

其中的注意力值定义为:

4c6cc0171d9d3383f9e7e1a55e193aff.png

在公式(1)和公式(2)中,主要通过使用注意力机制来更新关系表示向量,同时考虑每个相邻关系的相对重要性和关系之间的亲和力。

通过实体级别的聚合来表示实体

假设有一个实体的初始特征向量,用659f2c41053c1012bf903921e7c74ef7.png表示。本文通过汇总其邻居的表示向量、其自身的向量以及与实体相邻的关系的表示向量来更新实体自身的表示向量。

首先,为了得到实体的自循环的注意权重,计算与实体相邻关系表示向量的平均。

5d4f034b9027ba8f13cabbd9cce35bbe.png

然后通过以下方式更新实体表示向量:

4a533651413fcdf3829c4da97422b9ac.png

其中,注意力系数定义为:

d496a1399fe7bc7bb91ea0060b0bcc88.png

其中在公式(4)中的表示通过在每个聚合步骤中纳入关系表示向量无缝地扩展了GATv2。通过不断更新,最终实体的表示向量被用来建模关系-实体的相互作用。

关系-实体交互的建模

为了模拟关系和实体嵌入之间的相互作用,本文使用了DistMult的一个变种,通过以下方式定义评分函数。

501123f9926952ff586bf7a9b2b3cfbd.png

基于边际的排序损失定义为:

9be1c0b91ce0e50ba49f94e0811fe263.png

给定bcf1001c660a6c942dc282c19612f54e.png,可以创建对应的关系图,并使用学到的INGRAM的模型参数计算关系和实体嵌入向量。算法1显示了整个过程。基于4173ebdaa26ed6d74ce5de5d6b8ac82e.png上生成的实体和关系的嵌入向量,可以预测丢失的三联体。例如,为了解决fa29cb612294f98f981df1c9d940b89a.png,可将每个实体26b507033168e27bca52f48a3ebb0afe.png插入给定的三元组中,并使用公式(5)计算得分。预测缺失的实体为最高得分的实体。

39792be0022da09e576f6c7f9a6323ac.png

实验

数据集

本节在不同的数据集上进行实验,使用三个基准(NELL995、Wikidata68K、FB15K237)创建了12个数据集。对于每个基准,通过改变具有新关系的三元组的百分比来创建四个数据集: 100%,75%,50%和25%。每个数据集的统计信息见表5。

49ee6715cc72053a4d69f181ca1aaccc.png

归纳链路预测

本文使用标准指标来衡量各方法的归纳链路预测的性能: MR(↓)、MRR(↑)、Hit@10(↑)和Hit@1(↑)。表1显示了12个不同数据集的结果,其中所有实体都是新的,每个数据集都有不同的新关系比例。在这些数据集中,INGRAM和最佳基线方法之间的性能差距在所有指标上都是相当大的。这表明INGRAM是关系归纳推理的最有效方法。

5faaff15217e3506c7832c9b76b72387.png

在表2中分析了NL-50上具有已知关系和新关系的三元组的模型性能。所有的方法在已知关系上的表现都比新关系好。另外,对于基线方法,已知关系和新关系之间的性能差距很大。可以看到,对于已知关系和新关系,INGRAM的性能在所有指标上都比最好的基线方法好很多。

2bced29bf19c7f45e907739da593a86d.png

用已知的关系进行归纳链接

尽管INGRAM被设计为考虑在推理时出现新关系的情况,本文也对传统的归纳链接预测场景进行了实验,其中所有关系都是已知的,所有实体都是新的。表3显示了对NL-0和NELL-995-v1的归纳链路预测结果,其中所有实体都是新的,所有关系都是已知的。可以看到,INGRAM在所有指标上都优于所有基线。尽管INGRAM没有像其他基线那样学习特定的关系模式,但INGRAM在关系的归纳推理上显示出合理的性能,同时对关系的半归纳和归纳推理有额外的概括能力。

c473bce19c59ca458384c76d49e463a8.png

总结

本文考虑了具有挑战性和现实性的归纳学习场景,其中新实体伴随着新关系。本文提出的方法,INGRAM,可以生成只在推理时出现的新关系和实体的嵌入。INGRAM只根据给定的知识图的结构进行推理,不需要任何关于实体和关系的额外信息或丰富的语言模型的帮助。


OpenKG

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

a977422a38326b0f0abe82709b6ad803.png

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【c语言的malloc函数介绍】

malloc&#xff08;memory allocation的缩写&#xff09;是C语言中的一个函数&#xff0c;用于动态分配内存空间。这个函数允许你在程序运行时请求指定大小的内存块&#xff0c;以供后续使用。malloc函数属于标准库函数&#xff0c;需要包含头文件#include <stdlib.h> 才…

使用Vue、ElementUI实现登录注册,配置axios全局设置,解决CORS跨域问题

目录 引言 什么是ElementUI&#xff1f; 步骤1&#xff1a;创建Vue组件用于用户登录和注册 1. 基于SPA项目完成登录注册 在SPA项目中添加elementui依赖 在main.js中添加elementui模块 创建用户登录注册组件 配置路由 修改项目端口并启动项目 静态页面展示图 步骤2&#x…

搭建qml box2d开发环境

box2d是开源的优秀物理引擎 box2d官网 https://box2d.org/ qml box2d插件工程 https://gitee.com/gao_yao_yao/qml-box2d 1. qml box2d插件工程 下载&#xff0c;解压qml-box2d-master.zip&#xff0c;用qt打开box2d.pro&#xff0c;编译Debug|Release拷贝Box2D.dll|Box2Dd.…

LeetCode算法二叉树—226. 翻转二叉树

目录 226. 翻转二叉树 代码&#xff1a; 运行结果&#xff1a; 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 示例 1&#xff1a; 输入&#xff1a;root [4,2,7,1,3,6,9] 输出&#xff1a;[4,7,2,9,6,3,1]示例 2&#xff1a; 输入…

easyrecovery好用吗 easyrecovery软件收费吗

EasyRecovery是一款专业的数据恢复软件&#xff0c;它功能强大且性价比高&#xff0c;能够精确找回需要的文件&#xff0c;方便又快捷。那么Easyrecovery好用吗&#xff0c;Easyrecovery软件收费吗。今天我为大家解答一下这两个问题。 一、Easyrecovery好用吗 EasyRcovery可用…

系统接口响应信息通用加密设计

设计目的 出于对一些敏感信息的安全性考虑&#xff0c;接口的响应信息需要进行加密&#xff0c;避免明文传输 使用场景 本系统前端响应信息加密 第三方系统响应信息加密 功能设计思路 配置模式加密 使用场景&#xff1a;本系统前端响应信息加密 在nacos中配置需要加密的…

用于生物分子修饰的Alkyne NHS ester,906564-59-8

产品简介&#xff1a;用于生物分子修饰的炔烃NHS酯。铜催化的化学反应中的炔基几乎从未在天然分子中遇到过。然而&#xff0c;这种NHS酯允许将炔基连接到氨基上&#xff0c;氨基在自然界中普遍存在&#xff0c;存在于蛋白质、肽、合成氨基DNA和许多小分子中。炔基随后可以通过铜…

langchain+gpt+agent

一.agentConversation 通过用户问题&#xff0c;来选择 import json import os import refrom langchain import FAISS, PromptTemplate, LLMChain from langchain.agents import initialize_agent, Tool, AgentType from langchain.chains import RetrievalQA from langchai…

C++ | C++11新特性(下)

前言 前面我们介绍了C11列表初始化、新的类功能以及右值引用等新特性&#xff0c;本文继续介绍关于可变参数模板以及lambda表达式等新语法&#xff1b; 一、可变参数模板 在C11前&#xff0c;我们有普通固定数量模板参数&#xff0c;但对于可变参数&#xff0c;我们无从下手&am…

淘宝电商必备的大数据应用

在日常生活中&#xff0c;大家总能听到“大数据”“人工智能”的说法。现在的大数据技术应用&#xff0c;从大到巨大科学研究、社会信息审查、搜索引擎&#xff0c;小到社交联结、餐厅推荐等等&#xff0c;已经渗透到我们生活中的方方面面。到底大数据在电商行业可以怎么用&…

什么是EventEmitter?它在Node.js中有什么作用?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 什么是EventEmitter&#xff1f;⭐ 它在Node.js中的作用是什么&#xff1f;⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为…

轻松上手Docker:学习如何创建和运行自己的Docker容器

文章目录 轻松上手Docker&#xff1a;学习如何创建和运行自己的Docker容器容器的介绍Docker的技术架构容器的工作机制&#xff08;Docker&#xff09;容器的关键技术 - NamespaceNamespace隔离说明 容器的关键技术 - CgroupDocker环境搭建1&#xff09;安装基础软件包2&#xf…

分类预测 | Matlab实现SSA-CNN-SVM麻雀算法优化卷积支持向量机分类预测

分类预测 | Matlab实现SSA-CNN-SVM麻雀算法优化卷积支持向量机分类预测 目录 分类预测 | Matlab实现SSA-CNN-SVM麻雀算法优化卷积支持向量机分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现SSA-CNN-SVM麻雀算法优化卷积支持向量机分类预测&#xff0…

跟着顶级科研报告IPCC学绘图:温度折线/柱图/条带/双y轴

复现IPCC气候变化过程图 引言 升温条带Warming stripes&#xff08;有时称为气候条带&#xff0c;目前尚无合适且统一的中文释义&#xff09;是数据可视化图形&#xff0c;使用一系列按时间顺序排列的彩色条纹来视觉化描绘长期温度趋势。 在IPCC报告中经常使用这一方案 IPCC是…

自学——网络安全——黑客技术

想自学网络安全&#xff08;黑客技术&#xff09;首先你得了解什么是网络安全&#xff01;什么是黑客&#xff01;&#xff01;&#xff01; 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队…

【小程序 - 基础】WXML、WXSS语法以及小程序的配置、网络数据请求_03

目录 一、WXML模板语法 1. 数据绑定 1.1 数据绑定的基本原则 1.2 在 data 中定义页面的数据 1.3 Mustache 语法的格式 1.4 Mustache 语法的应用场景 2. 事件绑定 2.1 什么是事件 2.2 小程序中常用的事件 2.3 事件对象的属性列表 2.4 target 和 currentTarget 的区别…

510758-28-8,用于标记蛋白质和酶的配体TBTA

产品简介&#xff1a;Tris(benzyltriazolylmethyl)amine (TBTA)是一种配体&#xff0c;能作为生化工具用于标记蛋白质和酶。 CAS号&#xff1a;510758-28-8 中文名&#xff1a;三[(1-苄基-1H-1,2,3-三唑-4-基)甲基]胺 英文名&#xff1a;TBTA 化学式&#xff1a;C30H30N10…

NestJs和Vite使用monorepo管理项目中,需要使用共享的文件夹步骤

NestJs和Vite使用monorepo管理项目中,需要使用共享的文件夹步骤 1 首先需要将nest-cli打包的功能通过webpack接管 nest-cli.json文件内容 {"$schema": "https://json.schemastore.org/nest-cli","collection": "nestjs/schematics",…

400电话和95开头的电话有什么区别吗?

400电话和95开头的电话是中国特有的电话号码&#xff0c;它们在功能和使用方面存在一些区别。 首先&#xff0c;400电话是一种虚拟电话号码&#xff0c;也被称为企业热线电话。它是由企业租用的&#xff0c;用于提供客户服务、销售咨询等业务。400电话的号码前缀为400&#xf…

嵌入式Linux应用开发-基础知识-第二章 Hello驱动

嵌入式Linux应用开发-基础知识-第二章 Hello驱动 第二章 Hello 驱动(不涉及硬件操作)2.1 APP 打开的文件在内核中如何表示2.2 打开字符设备节点时&#xff0c;内核中也有对应的 struct file2.3 请猜猜怎么编写驱动程序2.4 请不要啰嗦&#xff0c;表演你的代码吧2.4.1 写驱动程序…