【LLM之KG】KoPA论文阅读笔记

研究背景

知识图谱补全(KGC)是通过预测知识图谱中缺失的三元组来完善知识图谱的信息。传统方法主要基于嵌入和预训练语言模型,但这些方法往往忽视了知识图谱的结构信息,导致预测效果不佳。

研究目标

本文的研究目标是探索如何将结构信息融入大型语言模型(LLM),以提高其在知识图谱补全任务中的表现。具体来说,是通过结构嵌入预训练和知识前缀适配器(KoPA)来实现结构信息的有效利用。

相关工作

嵌入方法:通过将实体和关系嵌入到连续的向量空间中来预测三元组的可信度。
基于PLM的方法:将知识图谱补全任务视为文本生成任务,通过微调预训练的语言模型来处理。

方法论

数据处理

结构嵌入预训练:
从知识图谱中提取所有的三元组(头实体,关系,尾实体),对每个实体和关系生成描述文本,这些描述可以是从知识图谱中直接提取的简短描述或者相关文档。对应项目中没有给出相应数据示例,而是直接给出了embedding模型。推测训练数据构成如下:

Prompt:爱因斯坦是什么学家?
Pos answer:爱因斯坦是著名的物理学家。他对理论物理学做出了巨大贡献,包括相对论的发展等。
Neg answer:爱因斯坦是著名的化学家。他在化学领域的研究改变了我们对化学物质的理解。

指令调优来微调LLM:
在这里插入图片描述

解决方案

首先通过结构嵌入预训练提取KG中实体和关系的结构信息,然后通过结构前缀适配器将这些信息注入输入序列。这种方法避免了将KG的结构信息以文本形式表示所带来的无效或冗余信息。
在这里插入图片描述

  • 结构嵌入预训练,与基于嵌入的KGC方法相反,KoPA从KG中提取实体和关系的结构信息,并将其适应到LLM的文本表示空间中。使用负采样的自监督预训练目标定义得分函数 ( F(h,r,t) ) 来衡量三元组的合理性。通过最小化这种预训练损失,实体和关系的结构嵌入被优化以适应所有相关的三元组。
  • 在完成结构嵌入预训练后,通过知识前缀适配器将结构嵌入转换为虚拟知识Token。这些Token作为输入序列的前缀,由于解码器仅在LLM中的单向注意力,所有后续的文本Token都可以看到这些前缀。这样,文本Token可以对输入三元组的结构嵌入进行单向注意,从而在微调和推理期间实现结构感知提示。

实验

实验设计

在三个公开的知识图谱基准数据集上进行实验,包括UMLS、CoDeX-S和FB15K-237N,UMLS是一个经典的医学知识图谱,CoDeX-S是从Wikidata中提取的百科全书式KG,FB15K-237N是从FB15K-237修改而来。

实验比较了KoPA方法与三类基线模型:基于嵌入的方法、基于PLM的方法和基于LLM的方法。对于所有基于LLM的方法,使用Alpaca-7B作为LLM的主干。KoPA使用RotatE和结构嵌入预训练的得分函数,适配器是一个512×4096的线性投影层。

实验结论

  • KoPA在所有三个数据集上的准确率和F1得分均优于现有的16种基线模型。与其他基于LLM的方法相比,KoPA表现出更好的结构信息理解能力,尤其在更大、更具挑战性的数据集上表现突出。
    在这里插入图片描述
  • 通过实验验证了KoPA在处理未见实体时的稳健性和优越性,表明其适配器能够有效地将结构知识转换为有助于推理的文本信息。
  • 验证了结构嵌入和知识前缀适配器的有效性,显示了在输入序列前端添加虚拟知识标记的设计合理性。

参考资料

  • 论文
  • 代码

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

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

相关文章

【Linux】基础IO_3

文章目录 六、基础I/O3. 软硬链接4. 动静态库 未完待续 六、基础I/O 3. 软硬链接 使用 ln 就可以创建链接,使用 ln -s 可以创建软链接,直接使用 ln 则是硬链接。 我们对硬链接进行测试一下: 根据测试,我们知道了 硬链接就像一…

食品行业BC一体化运营方案

一、引言 在当前的市场环境下,食品行业面临着日益激烈的竞争和不断变化的消费者需求。传统的经营模式已无法满足现代消费者对高效、便捷和个性化服务的要求。因此,实施BC(Business to Consumer)一体化运营方案成为必然选择。通过…

某程序员:30岁了,老婆管钱,背着我买了50万股票,亏了20w,强制她清仓后又买了36万

“辛辛苦苦攒了几年钱,本想买房买车,结果全被老婆炒股亏掉了!” 近日,一位30岁的程序员大哥在网上吐苦水,引发了网友们的热议。 这位程序员大哥和妻子结婚后,一直秉持着“男主外,女主内”的传统…

c语言 课设 atm

功能需求分析 ATM功能主界面:显示所能进行的操作,用户可多次选择。 ATM注册界面:输入用户名,用户密码,确认密码,密码长度不是六位重新输入,两次密码不一致重新输入,输入账号。密码隐藏,实现退格换行对*无影响。多人注册 ATM登录界面:输入账号,密码,三次以内输入…

git常用操作汇总大全

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,入职小红书广告投放开发,很高兴认识大家🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博…

ThinkPHP6图书借阅管理系统

有需要请加文章底部Q哦 可远程调试 ThinkPHP6图书借阅管理系统 一 介绍 此图书借阅管理系统基于ThinkPHP6框架开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 ThinkPHP6mysqlbootstrapphpstudyvscode 二 功能 用户 1 登录/注销…

多路h265监控录放开发-(8)完成摄像机管理的修改和删除功能

xviewer.h public:XViewer(QWidget* parent Q_NULLPTR);//编辑摄像机void SetCam(int index);//121 public slots:void AddCam(); //新增摄像机配置120void SetCam(); //121void DelCam(); //121 private:Ui::XViewerClass ui;QMenu left_menu_; xviewer.cpp void XView…

LeetCode 算法:排序链表 c++

原题链接🔗:排序链表 难度:中等⭐️⭐️ 题目 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head [4,2,1,3] 输出:[1,2,3,4] 示例 2: 输…

牛客练习题打卡--redis

A list保证数据线性有序且元素可重复,它支持lpush、blpush、rpop、brpop等操作,可以当作简单的消息队列使用,一个list最多可以存储2^32-1个元素; redis中set是无序且不重复的; zset可以按照分数进行排序 ,是有序不重复的; Redi…

Arduino入门4——基于millis函数、定时器中断的多任务框架

Arduino入门4——基于millis函数、定时器中断的多任务框架 millis函数定时器中断总结(笔者的碎碎念。。。。。。。。) 上一期我们基于oled学习了库的调用,这一期我们基于millis函数和定时器中断,学习以下多任务框架。但是我们本期…

CentOS9镜像下载地址加速下载

CentOS 9 是 CentOS 项目的最新版本之一,它基于 RHEL(Red Hat Enterprise Linux)9 的源代码构建。CentOS(Community ENTerprise Operating System)是一个免费的企业级 Linux 发行版,旨在提供一个与 RHEL 兼…

大模型项目落地时,该如何估算模型所需GPU算力资源

近期公司有大模型项目落地。在前期沟通时,对于算力估算和采购方案许多小伙伴不太了解,在此对相关的算力估算和选择进行一些总结。 不喜欢过程的可以直接 跳到HF上提供的模型计算器 要估算大模型的所需的显卡算力,首先要了解大模型的参数基础知识。 大模型的规模、参数的理解…

路由器基础配置以及静态路由配置

1、搭建网络 搭建网络拓扑、分配IP地址、划分网段、连接端口 2、配置路由器 路由器基础配置 //进入全局配置模式 Router#enable Router#conf t Enter configuration commands, one per line. End with CNTL/Z.//配置高速同步串口serial2/0 Router(config)#int ser2/0 Route…

21.智能指针(上)

目录 一、概念二、Box\<T\>2.1 概念与应用场景2.2 简单应用2.3 递归类型的创建 三、通过Deref trait将智能指针当作常规引用处理3.1 常规引用3.2 像引用一样使用Box\<T\>3.3 自定义智能指针3.4 函数和方法的隐式解引用强制转换3.5 解引用强制转换与可变性交互 四、…

docker简单快速使用上手

1.Docker是什么&#xff1f; Docker 是一个开源的容器化平台&#xff0c;主要用于开发、运输和运行应用程序。它通过提供轻量级的虚拟化机制&#xff0c;使得开发者可以在一个隔离的环境中运行和管理应用程序及其依赖项。Docker 的核心组件包括镜像&#xff08;Image&#xff…

Python | Leetcode Python题解之第165题比较版本号

题目&#xff1a; 题解&#xff1a; class Solution:def compareVersion(self, version1: str, version2: str) -> int:n, m len(version1), len(version2)i, j 0, 0while i < n or j < m:x 0while i < n and version1[i] ! .:x x * 10 ord(version1[i]) - o…

18.cobra框架了解

目录 概述举例安装实践实践 概述 github cobra cobra 快速的实现一个命令行客户端&#xff0c;命令行解析工具。 cobra 中的主要概念 -Commands 表示执行运作-Args 执行参数-Flags 这些运作的标识符 举例 git clone 命令 git clone https://github.com/spf13/cobra.git -…

【Java】已解决java.nio.channels.OverlappingFileLockException异常

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决java.nio.channels.OverlappingFileLockException异常 在Java的NIO&#xff08;New I/O&#xff09;编程中&#xff0c;java.nio.channels.OverlappingFileLockException是一…

ArrayList知识点(面试)

上一篇我们说了hashmap的相关知识点&#xff0c;这一篇我们再说一些ArrayList的相关知识&#xff0c;因为ArrayList也是我们项目中比较常用的。 ArrayList(底层是数组) 底层工作原理 首先&#xff0c;在构造ArrayList的时候会先看有没有指定容量&#xff0c;如果没有&#xf…

人人讲视频如何下载

一、工具准备 1.VLC media player 2.谷歌浏览器 二、视频下载 1.打开人人讲网页&#xff0c;需要下载的视频 谷歌浏览器打开调试窗口 搜索m3u8链接 拷贝到VLCplayer打开网络串流方式打开测试是否能正常播放 2.下载视频 能正常播放后&#xff0c;切换播放为转换选择mp4格式…