知识图谱嵌入领域的重要研究:编辑基于语言模型的知识图谱嵌入

今天,向大家介绍一篇在知识图谱嵌入领域具有重要意义的研究论文——Editing Language Model-based Knowledge Graph Embeddings。这项工作由浙江大学和腾讯公司的研究人员联合完成,为我们在动态更新知识图谱嵌入方面提供了新的视角和方法。

研究背景

在当今的人工智能领域,知识图谱作为一种丰富的结构化知识库,对于驱动智能应用如搜索引擎、推荐系统和问答机器人等发挥着至关重要的作用。它通过将现实世界中的实体和关系映射为图谱中的节点和边,为机器提供了一种强有力的知识表示方式。

然而,随着时间的推移和社会的演进,知识图谱面临着一个显著挑战:如何有效地应对知识更新的需求?在现实世界中,新的实体不断出现,实体间的关系也会发生变化,这就要求我们的知识图谱能够灵活地反映这些动态变化。

传统的知识图谱嵌入方法,如TransE或RotatE,通常在模型部署后难以进行更新。当知识图谱更新时,这些方法往往需要重新训练整个模型,这不仅耗时,而且计算成本高昂。此外,随着预训练语言模型的兴起,基于这些模型的KG嵌入方法虽然在表示能力上取得了进步,但在知识更新的灵活性上仍然存在局限。

因此,如何设计出一种机制,使得基于语言模型的知识图谱嵌入能够在不重新训练整个模型的情况下,快速适应知识的更新,成为了一个亟待解决的问题。这正是本论文所要探讨的核心议题。

研究方法

为了实现这一目标,论文提出了以下几个关键的研究方法:

研究任务的创新定义

作者们首先定义了两个关键的研究任务:EDITADD。这两个任务分别针对知识图谱嵌入中的错误知识修正和新知识添加。EDIT任务关注于如何准确地纠正KG嵌入中已经存在的错误知识,而ADD任务则着眼于如何将新出现的知识有效地整合进已有的KG嵌入中。这两个任务的提出,为动态更新KG嵌入提供了明确的目标和方向。

数据集的精心构建

为了全面评估所提出方法的性能,作者们构建了四个新的数据集,这些数据集基于两个广泛使用的知识图谱:FB15k237WN18RR。这些数据集经过精心设计,包含了需要编辑或添加的知识,为实验提供了标准化的测试平台。通过这些数据集,研究者能够系统地评估模型在编辑和添加知识时的准确性、效率和对现有知识的保护。

KGEditor模型的创新设计

KGEditor模型是这篇论文的核心贡献之一,它是一个利用超网络(Hypernetwork)来动态编辑KG嵌入的框架。KGEditor的核心思想是通过在超网络中学习额外的参数层,对KG嵌入的实体和关系表示进行精确的调整,而无需重新训练整个模型。

超网络结构的巧妙应用

超网络在KGEditor中扮演着至关重要的角色。它通过学习输入知识的特定模式,生成额外的参数层,这些参数层随后被用来调整KG嵌入中的实体和关系表示。这种方法不仅能够实现对特定知识的快速更新,而且能够保持对其他知识的最小干扰。

编辑知识的效率和效果

KGEditor模型在参数数量和计算时间上均优于现有的基线方法,这表明它在知识编辑上具有更高的效率。此外,通过一系列实验,作者们证明了KGEditor在保持知识局部性的同时进行知识更新方面表现出色,这意味着KGEditor能够在不破坏其他知识表示的前提下,有效地编辑特定的知识。

评估指标的全面设计

为了全面评估编辑操作的效果,作者们设计了一套评估指标,包括知识可靠性(Knowledge Reliability)、知识局部性(Knowledge Locality)和知识效率(Knowledge Efficiency)。这些指标从不同角度衡量了编辑操作的质量和效率,为比较不同编辑方法提供了科学的依据。

实验结果

实验结果表明,KGEditor在多个评估指标上均优于现有技术,特别是在保持知识局部性的同时进行知识更新方面表现出色。此外,KGEditor在参数数量和计算效率上也具有明显优势。

知识可靠性的验证

作者们首先评估了KGEditor在EDIT和ADD任务上的知识可靠性。通过计算Success@1指标,即在所有需要编辑的三元组中,KGEditor能够准确预测正确实体的比例,实验结果显示KGEditor在两个任务上都取得了高成功率。这意味着KGEditor能够有效地修正错误知识(EDIT任务)和整合新知识(ADD任务)。

知识局部性的考察

接下来,作者们考察了KGEditor在编辑操作中的知识局部性。通过计算Retain Knowledge (RK@k)指标,即在模型编辑后,原有正确知识被保留的比例,实验结果表明KGEditor在编辑特定知识时,对其他知识的影响很小。这验证了KGEditor在进行知识编辑时,能够保持对其他知识的最小干扰,体现了良好的知识局部性。

知识编辑效率的评估

在知识编辑效率方面,作者们比较了KGEditor和其他基线方法在参数数量和计算时间上的差异。实验结果表明,KGEditor在参数数量上更为精简,在计算时间上也更短。这表明KGEditor在知识编辑上具有更高的效率,能够在更短的时间内,用更少的计算资源完成知识更新。

模型扩展性的探索

此外,作者们还探讨了编辑多个知识点对KGEditor性能的影响。通过逐步增加需要编辑的三元组数量,作者们评估了KGEditor处理更复杂编辑任务的能力。实验结果显示,KGEditor能够稳定地处理一定数量的编辑操作,而不会显著降低模型性能。这验证了KGEditor在处理更大规模知识编辑任务时的扩展性。

实验的深入分析

在实验分析部分,作者们还深入探讨了影响KGEditor性能的多个因素:

  1. 编辑操作的数量: 实验结果表明,KGEditor能够稳定地处理一定数量的编辑操作,但当编辑操作的数量超过一定阈值时,模型性能会有所下降。这提示我们在实际应用中需要合理控制单次编辑操作的数量。

  2. 不同KGEmbedding初始化方法: 论文还比较了不同的KGEmbedding初始化方法(如FT-KGE和PT-KGE)对KGEditor性能的影响。结果表明,基于提示(prompt-based)的模型更适合于编辑任务,这可能是因为提示能够更有效地利用语言模型的知识表示能力。

  3. 实体和关系的复杂性: 对于涉及多对多关系和复杂知识的编辑操作,KGEditor展现了一定的鲁棒性,但仍有改进空间。这提示我们在设计KGEditor时,需要考虑如何处理更复杂的知识关系。

这项研究为知识图谱嵌入的动态更新提供了一种有效的解决方案,对于促进知识的动态更新和维护具有重要意义。未来的研究可以在此基础上进一步探索,例如处理更复杂的知识关系,或者将这种编辑技术应用到更大规模的语言模型中。

建议大家去看看原论文:

论文作者:程思源(浙江大学)、张宁豫(浙江大学)、田博中(浙江大学)、陈曦(腾讯)、刘庆斌(腾讯)、陈华钧(浙江大学)

发表会议:AAAI 2024

论文链接:https://arxiv.org/abs/2301.10405

代码链接:https://github.com/zjunlp/PromptKG/tree/main/deltaKG

Demo链接:https://huggingface.co/spaces/zjunlp/KGEditor

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中电金信:向“新”而行——探索融合架构的项目管理在保险行业的应用

近年来,险企在政策推动、市场牵引、自身发展、新技术应用日趋成熟等内外部因素的驱动下,积极投身到数字化转型的浪潮中。在拜访各类保险客户和合作项目的过程中,我们发现不少险企在数字化转型中或多或少都面临着战略如何落地、技术如何承接和…

详解Qt中实现树状结构图

在Qt中,实现树状结构图通常采用QTreeWidget或QTreeView组件。这两个组件都允许我们创建具有层次结构的列表,但它们之间存在一些差异。QTreeWidget提供了更简单的API,适用于轻量级、快速开发的需求;而QTreeView则更为灵活和可定制&…

【jQuery】看一眼就会用的jquery库之续章!

jQuery&#xff08;js框架&#xff09; 17、操作节点 创建节点&#xff1a; 创建节点只需要将元素放在jQuery的工厂函数中//创建一个button按钮let $btn$("<input typebutton>");//创建一个列表项let $li$("<li>选项</li>");添加节点…

知识分享之cookie

http协议中的cookie&#xff0c;什么是cookie如何获取cookie 一、什么是Cookie Cookie&#xff08;曲奇&#xff0c;小甜饼的译名&#xff09;在互联网技术领域中&#xff0c;是指一种小型文本文件&#xff0c;它由网站服务器发送给用户的浏览器&#xff0c;并被浏览器存储在用…

鸿蒙官网学习3

鸿蒙官网学习3 每日小提示项目的模块类型跨设备预览调试阶段应用的替换方式有两种 打开老的demo工程报错UIAbility 每日小提示 项目的模块类型 moduleType分为三种&#xff0c;只有1&#xff0c;2的模块支持直接调试和运行 entryfeaturehar 跨设备预览 需要手动在config.j…

unity的特性AttriBute详解

unity的特性AttriBute曾经令我大为头疼。因为不动使用的法则&#xff0c;但是教程都是直接就写&#xff0c;卡住就不能继续学下去。令我每一次看到&#xff0c;直接不敢看了。 今天使用文心一言搜索一番&#xff0c;发现&#xff0c;恐惧都是自己想象的&#xff0c;实际上这个…

同为办公领域系统,飞书和钉钉界面对比,你喜欢哪个?

钉钉 飞书 钉钉 飞书 钉钉 飞书 钉钉 飞书 钉钉 飞书 钉钉 飞书

codePen按钮样式学习

前言 看到codepen里面有的按钮搞得很炫酷&#xff0c;但其实也不是很难&#xff0c;就学习记录一下 逐渐出现边框 大体上来说就是当鼠标悬浮的时候触发四个transition&#xff0c;用after、before和span的after和before四个伪类做hover出来的边框 <div class"btn bt…

如何使用IDEA直接连接MySQL数据库

如何使用IDEA直接连接MySQL数据库 新建一个空项目打开DataBase窗口连接数据库第一次连接 需要先下载驱动上一步驱动下载太慢怎么办&#xff1f;下载好驱动后 测试连接 新建一个空项目 打开DataBase窗口 连接数据库 第一次连接 需要先下载驱动 如果这里下载的很慢 看下一步解决…

锂电池SOH预测 | 基于SVM的锂电池SOH预测(附matlab完整源码)

锂电池SOH预测 锂电池SOH预测完整代码锂电池SOH预测 锂电池的SOH(状态健康度)预测是一项重要的任务,它可以帮助确定电池的健康状况和剩余寿命,从而优化电池的使用和维护策略。 SOH预测可以通过多种方法实现,其中一些常用的方法包括: 容量衰减法:通过监测电池的容量衰减…

Restful API 具体设计规范(概述)

协议 https 域名 https://www.baidu.com/api 版本 https://www.baidu.com/v1 路径 https://www.baidu.com/v1/blogs 方法 数据过滤 状态码返回结果 返回的数据格式 尽量使用 JSON&#xff0c;避免使用 XML。 总结&#xff1a; 看 url 就知道要什么看 http method 就知道干…

盲人辅助软件出行:实时避障与拍照识别技术引领视障人士走向独立

在数字化时代&#xff0c;一款名为蝙蝠避障的专为盲人朋友开发的盲人辅助软件正在以其独特功能悄然改变着盲人朋友们的出行方式&#xff0c;让盲人辅助软件的实用性和智能化程度迈上了新的台阶。 这款专门针对盲人出行需求定制的应用程序&#xff0c;聚焦于解决盲人在导航过程中…

多路递归的一些算法题

前言 首先我想讲一下&#xff0c;我对多路递归的理解吧&#xff0c;我认为多路递归就是循环中套回调&#xff0c;对于循环有几次就是几叉树&#xff0c;就好比我们常用的二叉树的dfs(node.left) 和 dfs(node.right)等前中后序遍历&#xff0c;也就是for (int i 0; i < 2; …

HTTP网络协议的请求方法,具体详解(2024-04-26)

1、HTTP 即超文本传输协议&#xff0c;是一种实现客户端和服务器之间通信的响应协议&#xff0c;它是用作客户端和服务器之间的请求 根据 HTTP 标准&#xff0c;HTTP 请求可以使用多种请求方法。 2、方法分类 HTTP1.0 定义了三种请求方法&#xff1a; GET, POST 和 HEAD 方…

HarmonyOS开发案例:【 自定义弹窗】

介绍 基于ArkTS的声明式开发范式实现了三种不同的弹窗&#xff0c;第一种直接使用公共组件&#xff0c;后两种使用CustomDialogController实现自定义弹窗&#xff0c;效果如图所示&#xff1a; 相关概念 [AlertDialog]&#xff1a;警告弹窗&#xff0c;可设置文本内容和响应回…

数据分析专家能力模型

招式&#xff1a;懂商业&#xff08;业务能力&#xff09; 外功更偏重于技能&#xff0c;首先需要懂招式&#xff0c;即懂商业&#xff0c;数据分析最终是为业务服务的&#xff0c;无论是互联网企业准求的用户增长和UJM分解&#xff0c;还是传统企业追求的降本增效和精细化运营…

java实现解析html获取图片或视频url

一、前言 有时在实际项目中&#xff0c;比如发布某篇文章&#xff0c;需要取文章中的某张图片作为封面&#xff0c;那么此时需要文章内容&#xff0c;获取html内容中的图片地址作为封面&#xff0c;下面讲下如何获取html中的图片或视频地址。 二、实现 1.先定义一个工具类&…

优化贪吃蛇在前进过程中,前进和后退的问题

1. 左边为head,右边为tail 定义相反数在abs&#xff08;&#xff09;绝对值函数中实现 2. 在转向函数turn()中&#xff0c;如果绝对值不相等的时候才赋予方向的值 3.贪吃蛇吃食物的思路 3.1 初始化食物initFood(), 蛇碰到食物函数hasFood&#xff08;&#xff09;,在移…

DeepFaceLab小白教程:视频换脸过程

合适那些人阅读&#xff1f; 适合从未使用过DeepFaceLab的群体。 如果你想基于DeepFaceLab完成一次视频换脸的操作&#xff0c;可以看本篇。 下载方式 GitHub https://github.com/iperov/DeepFaceLab 我是用motrix下载。 网盘 https://pan.baidu.com/share/init?surlO4…

21.Nacos集群搭建

模拟Nacos三个节点&#xff0c;同一个ip,启动三个不同的端口&#xff1a; 节点 nacos1, 端口&#xff1a;8845 节点 nacos2, 端口&#xff1a;8846 节点 nacos3, 端口&#xff1a;8847 1.搭建数据库&#xff0c;初始化数据库表结构 这里我们以单点的数据库为例 首先新建一…