论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型
论文链接:http://arxiv.org/abs/2407.16127
发表会议:ISWC 2024
1. 动机
传统的知识图谱补全(KGC)模型通过学习嵌入来预测缺失事实。最近的工作尝试使用大型语言模型(LLMs)以文本生成的方式补全KGs。然而,它们需要将LLMs的输出接地到KG实体上,这不可避免地带来了误差。在本文中,我们提出了一个微调框架DIFT,旨在释放LLMs的KGC能力并避免接地错误。给定一个不完整的事实,DIFT使用一个轻量级模型来获得候选实体,并使用判别指令微调LLM,从给定的候选实体中选择正确的实体。为了在减少指令数据的同时提高性能,DIFT使用截断采样方法选择有用的事实进行微调,并将KG嵌入注入到LLM中。
2. 贡献
(1)本文提出了一个新的KGC框架,即DIFT,它利用判别指令来微调生成式LLM。DIFT不需要将LLMs的输出接地到KGs中的实体。
(2)本文提出了一种截断采样方法来选择有用的KG样本用于指令构造,以提高微调效率。我们还将KG嵌入注入到LLMs中,以提高微调效果。
(3)实验表明,DIFT提高了当前最先进的KGC结果,在FB15K-237上达到0.364Hits@1,在WN18RR上达到0.616。
3. 方法
3.1 指令构造
对于一个查询q=(h,r,?),我们通过整合查询Q,描述D,邻居事实N和候选实体C这四条信息来构造提示P:查询Q是指包含不完全事实(h,r,?)的自然语言句子。本文没有设计一个复杂的自然语言问题来提示现成的LLM,而是简单地将实体和关系名称以三元组的形式串联起来,并指出哪个实体缺失。描述D是h的描述性文本,包含了丰富的实体信息。这些额外的信息有助于LLM M更好地理解实体h。近邻事实N是通过抽样与实体h相关的事实得到的。由于可能存在大量与h相关的事实,我们设计了一种简单而有效的采样机制,即关系共现(RC)采样。它根植于关系共现,在精简事实数量的同时保证了相关信息的包含。RC抽样背后的直觉在于观察到与r频繁共现的关系被认为是补全(h、r、?)的关键。候选实体C是由KGE模型排序的top-m个实体的名称。我们保留候选实体的顺序,因为顺序反映了ME中每个实体的置信度。
3.2 截尾抽样
本文设计了一种抽样方法来选择具有代表性的样本,以减少指令数据。其主要思想是选择KGE模型得到的高置信度样本,从而赋予LLM有效获取KGE内在语义知识的能力。以带有查询( h、r、?)和答案实体t的样本事实( h , r , t)为例,样本事实记为s。本文从全局和局部两个角度评估s的置信度。全局置信度计算方式为
,其中R(h,r,t)是查询(h,r,?)中t的位次。局部置信度
计算方式为
。如果t不在top-m内排序,则赋值为0。最后,我们得到加权的置信度
。
3.3 知识适配的指令微调
P (q)中提供的事实以文本格式呈现,丢失了KGs的全局结构信息。因此,我们提出将从KG结构中学习到的嵌入注入到M中,以进一步提高其图推理能力。我们将KGE得到的实体嵌入与LLM的语义空间对齐,得到知识表示:。考虑到KGE模型基于查询q和候选实体t的嵌入对事实进行打分,本文注入q和所有候选实体C的表示。同时,我们添加了两个特殊的占位符'[QUERY]'和'[ENTITY]',表示会有来自KGE的知识表示,如图所示。具体来说,我们在Q中的缺失实体后放置一个'[QUERY]',在C中的每个实体名后放置一个'[ENTITY]'。
4. 实验
我们提出的框架DIFT在两个数据集的大多数指标上都取得了最好的性能。与基于嵌入的模型TransE、SimKGC和CoLE相比,DIFT在两个数据集上都提高了这些模型的性能,在Hits @1方面有显著提升。在不进行微调的情况下,DIFT的性能急剧下降,说明有必要对LLM进行微调以完成KG任务。
从上表的结果可以看出,所有组分对DIFT都有很大的贡献。在所有这些组成部分中,截断采样对性能的影响最大。在没有截尾抽样的情况下,Hits@1得分至少下降了5.6 %。这表明,该机制能够有效地为LLM选择有用的指令数据,以学习基于嵌入模型的内在语义知识。
候选实体数量的影响。我们将基于嵌入的模型提供的候选实体数量m设置为20。在这里,我们研究了m对DIFT性能和训练时间的影响。首先,对于训练时间,我们发现它随着m的增加而线性增长。我们可以直观地看到因为m的增加会导致更长的提示。其次,对于DIFT的性能,我们发现在FB15K-237上当m设置为30时性能最好,当m设置为40时性能略有下降。如果我们在20之后继续增加m,在WN18RR上也可以找到相同的观测结果。这表明一味地增加候选实体的数量并不能提高性能。
截断采样阈值的影响。我们使用一个阈值β来控制指令数据的数量。随着β的增加,指令数据量减少,因此训练时间也相应减少。其次,当我们在两个数据集上设置β为0时,性能都会下降,这表明增加指令数据的数量并不一定能提高性能,其质量也会影响性能。
DIFT与基本嵌入模型的比较。我们进一步考察了DIFT的预测结果,并与所选择的基于嵌入的预测结果进行了比较。显而易见,除了共有的正确预测外,DIFT本身也可以得到一些正确的预测。反之,我们观察到CoLE做出DIFT无法复制的正确推断的实例。基于DIFT和CoLE的正确预测之间的差异,我们可以得出结论,LLM并不是盲目地重复CoLE预测的实体,而是基于其在预训练阶段获得的知识来推理缺失的事实。
总的来说,不管采用哪种版本的LLM,DIFT都能获得相似的性能。说明了DIFT对不同LLM版本的鲁棒性和泛化性。
5. 总结
本文提出了一个新颖的KG补全框架DIFT。它使用LoRA对带有判别指令的生成式LLM进行微调,不涉及将LLM的输出接地到KG中的实体。为了进一步降低计算成本,提高DIFT的效率,我们提出了一种截断采样方法来选择置信度高的事实进行微调。为了提高微调效果,在LLMs中还加入了KG嵌入。实验表明,DIFT在KG补全上取得了最好的效果。在未来的工作中,我们计划支持其他KG任务,如KGQA和实体对齐。
OpenKG
OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。
点击阅读原文,进入 OpenKG 网站。
相关文章:

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...

基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...

Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...

2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...