Making Large Language Models Perform Better in Knowledge Graph Completion论文阅读

文章目录

  • 摘要
  • 1.问题的提出
    • 引出当前研究的不足与问题
      • KGC方法
      • LLM幻觉现象
      • 解决方案
  • 2.数据集和模型构建
    • 数据集
    • 模型方法
      • 基线方法
      • 任务
      • 模型方法
        • 基于LLM的KGC的知识前缀适配器
          • 知识前缀适配器
      • 与其他结构信息引入方法对比
  • 3.实验结果与分析
    • 结果分析:
    • 可移植性实验:
    • 消融实验
  • 4.结论与启示
    • 结论总结
      • 局限性
    • 启发

在这里插入图片描述
原文链接: Making Large Language Models Perform Better in Knowledge Graph Completion

摘要

基于大语言模型(LLM)的知识图补全(KGC)旨在利用 LLM 预测知识图谱中缺失的三元组,并丰富知识图谱,使其成为更好的网络基础设施,这可以使许多基于网络的自动化服务受益。然而,基于LLM的KGC研究有限,缺乏对LLM推理能力的有效利用,忽略了KG中的重要结构信息,阻碍了LLM获取准确的事实知识。在本文中,论文中讨论如何将有用的知识图谱结构信息融入到LLM中,旨在实现LLM中的结构感知推理。论文中首先将现有的LLM范式转移到结构感知设置,并进一步提出知识前缀适配器(KoPA)来实现这一既定目标。 KoPA 采用结构embedding预训练来捕获知识图谱中实体和关系的结构信息。然后,KoPA 通知 LLM 知识前缀适配器,该适配器将结构embedding投影到文本空间中,并获取虚拟知识标记作为输入提示的前缀。论文中对这些基于结构感知的 LLM 的 KGC 方法进行了全面的实验,并进行了深入的分析,比较了结构信息的引入如何更好地提高 LLM 的知识推理能力。

KEYWORDS
Knowledge Graphs, Knowledge Graph Completion, Triple Classification, Large Language Models, Instruction Tuning

1.问题的提出

引出当前研究的不足与问题

KGC方法

知识图补全(KGC)其目的是挖掘给定不完整知识图谱中缺失的三元组。KGC包含几个子任务,例如三元分类、实体预测和关系预测
主流的KGC方法: 基于embedding的方法和基于PLM的方法
– 基于embedding:充分利用知识图谱的结构信息,忽略了 KG 中的文本信息
– 基于PLM:利用了PLM的强大功能,但将训练过程变成基于文本的学习,很难捕获知识图谱中的复杂结构信息。

LLM幻觉现象

LLM对细粒度的事实知识记忆力不足,会导致幻觉现象。因此,将KG信息融入到提示中,提供更多的辅助信息,引导LLM进行结构感知推理,是实现优秀的基于LLM的KGC的关键。

(LLM4KGC)中的应用,目前缺乏仔细的研究

在本文中,论文中将探讨如何将知识图谱中的复杂结构信息融入到LLM中,以实现更好的知识图补全推理能力。

在这里插入图片描述
图 1:基于 LLM 的 KGC 的简单案例。描述实体周围信息的有用结构信息可以作为辅助提示,指导LLM做出正确的决策。

解决方案

已有的LLM4KGC的方法往往是通过指令微调的方式,构造提示词模版将一条条的三元组输入大模型中对大模型进行微调,来训练出能够完成KGC任务的LLM,但是这样的方法没有充分利用KG中存在的复杂结构信息,导致LLM无法充分地理解知识图谱中的结构信息,从而限制了LLM解决KGC问题的能力。围绕如何在LLM中引入KG结构信息这一个问题,

该文章做出了如下几点贡献:

  • 论文探究了在常见的LLM范式(不需要训练的上下文学习方法和需要训练的指令微调(in-context learning (ICL) and instruction tuning (IT)))基础上如何引入知识图谱的结构信息,分别提出了一种结构增强的上下文学习方法和结构增强的指令微调方法

  • 论文提出了一种知识前缀适配器(Knowledge Prefix Adapter, KoPA),将KG中提取的结构知识通过一个适配器映射到大模型的文本token表示空间中,并和三元组的文本一起进行指令微调,使得LLM能够充分理解KG中的结构信息,并在结构信息的辅助下完成知识图谱的推理。

  • 论文进行了大量的实验,来验证了论文中提出的多种方法的性能,探索最合理的结构信息引入方案。

2.数据集和模型构建

数据集

论文中使用三个公共 KG 基准 UMLS、CoDeX-S 和 FB15K-237N来评估所提出的基于 LLM 的 KGC 方法的能力。

模型方法

基线方法

基于embedding的方法、基于PLM的方法和基于LLM的方法。

  • 基于embedding的 KGC 方法。TransE、DistMult、ComplEx 和 RotatE
  • 基于 PLM 的 KGC 方法。KG-BERT和PKGC
  • 基于 LLM 的 KGC 方法。KGLLaMA ,ZSR、ICL、IT和结构感知IT(增强IT)
    进一步将基于LLM的方法分为两类:免训练方法和微调方法。Trainingfree方法包括ZSR和ICL(零样本推理和上下文学习),其余都是finetuning方法。

任务

三元组分类任务,区分三元组 (h, r, t) 是真还是假
使用准确率、精确率、召回率和F1分数作为评价指标。

模型方法

论文首先提出了结构增强的上下文学习和指令微调方法,通过将输入的三元组的局部结构信息通过文本描述的方式添加到指令模版中,实现结构信息的注入。

基于LLM的KGC的知识前缀适配器

在这里插入图片描述
图 2:论文中的知识前缀适配器 (KoPA) 概述。 KoPA 是一个基于 LLM 的两阶段 KGC 框架。 KoPA 首先对给定 KG 中的实体和关系进行结构embedding预训练。然后 KoPA 使用指令调整来微调 LLM。给定输入三元组的结构embedding将由适配器投影到LLM的文本标记空间中,并作为输入提示序列前面的一串前缀,也称为虚拟知识标记。利用仅解码器LLM的单向注意力机制,这些虚拟知识标记将被后续的文本标记看到,这将允许LLM在结构感知状态下解码指令的答案。

另一方面,论文中提出的知识前缀适配器(KoPA)的主要设计方案如上图所示,首先KoPA 通过结构特征的预训练提取知识图谱中实体和关系的结构信息 ,之后,KoPA通过一个设计好的 适配器,将输入三元组对应的结构特征投影到大语言模型的文本表示空间中,然后放置于输入prompt的最前端,让输入的提示词模版中的每个token都能“看到”这些结构特征,然后通过微调的Next Word Prediction目标对LLM的训练。

  • 对给定 KG 中的实体和关系进行结构embedding预训练
  • 然后 KoPA 使用指令调整来微调 LLM
  • 给定输入三元组的结构embedding将由适配器投影到LLM的文本标记空间中,并作为输入提示序列前面的一串前缀,也称为虚拟知识标记。
知识前缀适配器

LLM无法理解(h,r,t)的embedding,所以应用知识前缀适配器P将他们投影到M的文本标记表示空间中
通过P转换为多个虚拟知识标记

S𝑘𝑝𝑎 = K ⊕ I𝑖𝑡 ⊕ X

K = P (𝒉) ⊕ P (𝒓) ⊕ P (𝒕)
指令提示I是人工准备的指导LLM M执行KGC任务的指令
X(ℎ, 𝑟, 𝑡) = D (ℎ) ⊕ D (𝑟 ) ⊕ D (𝑡)

由于单向性,后面的所有文本标记都可以看到带有前缀 K 的文本标记 (通过这样做,文本标记可以单向关注输入三元组的结构embedding

与其他结构信息引入方法对比

论文对不同的结构信息引入方案进行了对比,对比的结果如下:
在这里插入图片描述
表 1:基于 LLM 的 KGC 方法三种方式的比较。对于提示长度分析,LI、LT分别表示指令提示和三元组提示的长度。 LD 表示演示的长度,k 是演示编号。 ZSR/ICL/IT 分别指零样本推理、上下文学习和指令调整。

与基本范式(ZSR/ICL/IT)相比,KoPA结合了KG结构embedding进入LLM以结合文本和结构信息

KoPA 可以通过更简化的提示获得更好的结果

3.实验结果与分析

实现部分,该论文选取了三个数据集,进行了三元组分类的实验。三元组分类是一项重要的知识图谱补全任务,旨在判断给定三元组的正确性。论文的主要实验结果如下:

在这里插入图片描述
可以看到,相比于传统方法、基于大模型的方法和引入结构信息的方法来说,KoPA在三个数据集上的准确率、F1值等指标取得了一定的提升。

结果分析:

微调LLM可以将KG信息引入LLM,整体性能有了明显的提升。同时,结构感知IT虽然通过三元组的邻域信息增强了输入提示,但与KoPA相比,其性能也有限。这表明,与基于文本的辅助提示相比,结构embedding包含更丰富的语义信息,LLM 也可以通过前缀适配器来理解这些信息。

  • LLM在不进行微调的情况下无法很好地理解KG结构信息

  • 与基于文本的辅助提示相比,结构embedding包含更丰富的语义信息,LLM 也可以通过前缀适配器来理解这些信息。

  • KoPA在更短的提示之上取得了更好的结果

可移植性实验:

在这里插入图片描述

图 3:可转移性实验的结果。论文中报告了不同诱导率(IR)下 CoDeX-S 数据集的结果。此外,论文中根据实体在训练过程中是否出现将测试数据分为可见(S)和不可见(U)部分。论文中还将所有 (A) 测试数据的结果加在一起。雷达图表中报告了准确度 (Acc) 和 F1 分数 (F1)。

为了进一步验证KoPA的通用性和可移植性,论文中进行了一项新的可移植性实验。

  • 归纳率(IR)的归纳设置,IR 指的是训练期间未见过的实体的比例。
  • 可以观察到 KoPA 在看不见的三元组方面优于其他方法,并且当 IR 增加时性能下降较少。
  • 这些现象表明知识前缀适配器可以学习从结构embedding到文本表示的良好映射,即使在训练期间看不见实体,这种映射也是可转移的,模型具有较好的可转移性

消融实验

在这里插入图片描述
表 4:CoDeX-S 上的消融实验结果。论文中首先用其他组件替换预训练的结构embedding,并改变虚拟知识标记的插入位置,以证明知识前缀适配器的有效性。

  • 第一部分旨在验证结构embedding的有效性 (选择RotatE的合理性)
  • 第二部分旨在验证前缀适配器的有效性。(使用前缀而不是中缀和后缀的合理性)
    将适配器生成的虚拟知识标记放在输入序列的中间(中缀)或最后(后缀)也会降低性能将标记放在序列的前面将使所有文本都关注它们

结合消融研究的这两部分,论文中相信KoPA设计是有效且合理的。

4.结论与启示

结论总结

在本文中,论文中提出了KoPA,一个为基于 LLM 的 KGC 设计的知识前缀适配器。 KoPA 旨在将KG的结构信息融入LLM中,并用KoPA生成的虚拟知识标记增强输入提示序列,指导文本解码过程做出合理的预测。 KoPA 是一种两阶段方法,包括结构embedding预训练和 LLM 上的指令调整。论文中进行了三元组分类实验,这是一项重要的 KGC 任务,旨在证明 KoPA 取得的优异结果。

该论文探索了如何将知识图谱中的结构知识引入大语言模型中,以更好地完成知识图谱推理,同时提出了一个新的知识前缀适配器,将从知识图谱中提取到的向量化的结构知识注入到大模型中。在未来,作者将进一步探索基于大语言模型的复杂知识图谱推理,同时也将关注如何利用知识图谱使得大语言模型能够在知识感知的情况下完成更多下游任务比如问答、对话等等。

  • 提出了 KoPA :基于 LLM 的 KGC 设计的知识前缀适配器

  • KoPA旨在将KG的结构信息融入LLM中

  • 两阶段方法,包括结构embedding预训练和 LLM 上的指令调整

  • 三元组分类实验证明 KoPA 取得的优异结果

局限性

本文中基于三元组分类任务进行实验,目前,论文中还没有将模型方法推广到各种 KGC 任务,例如实体预测和关系预测

启发

  1. 结构信息与大型语言模型(LLM)的协同利用: 有效地结合知识图谱(KG)的结构信息与大型语言模型LLM,可能提高模型对于知识推理的能力。

  2. 结构信息的预训练与传递: 如何通过结构信息的预训练,将图谱中实体和关系的结构embedding传递给大型语言模型,以提升语言模型对知识图谱中实体和关系的理解。 文中提出的**知识前缀适配器(KoPA)**可以帮助LLM来理解结构embedding中丰富的语义信息。

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

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

相关文章

C++进阶(六)map和set

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、序列式容器与关联式容器二、键值对三、树形结构的关联式容器1、set1、set的介绍2、set的使…

在windows环境下安装hadoop

Hadoop是一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。但这个架构是基于java语言开发的,所以要先进行jdk的安装,如果电脑已经配置过jdk或者是曾经运行成功过java文件,那就可以跳过第一步。 …

vue3+naiveUI二次封装的v-model 联动输入框

根据官网说明使用 源码 <template><div class"clw-input pt-3"><n-inputref"input":value"modelValue":type"type":title"title"clearable:disabled"disabled":size"size"placeholder&…

深度学习(6)--Keras项目详解

目录 一.项目介绍 二.项目流程详解 2.1.导入所需要的工具包 2.2.输入参数 2.3.获取图像路径并遍历读取数据 2.4.数据集的切分和标签转换 2.5.网络模型构建 2.6.绘制结果曲线并将结果保存到本地 三.完整代码 四.首次运行结果 五.学习率对结果的影响 六.Dropout操作…

RBD —— 不同材质破碎

目录 Working with concrete Chipping Details Proxy geometry Constraints Working with glass Chipping Proxy geometry Constraints Resolving issues with glass fracturing Working with wood Clustering Using custom cutters Working with concrete Concr…

echarts的tooltip样式内容调整

项目场景 浦东大道 交通态势 预期效果 初始效果 没有数据显示undefined 代码实现 tooltip: {trigger: axis,axisPointer: {type: none},formatter: function (val) {let ret val.forEach((item) > {// console.log(图表里面的eitem, item)if (item.seriesType ! pictor…

QT 范例阅读:Vector Deformation

效果图&#xff1a; 主要代码&#xff1a; 实现放大镜效果QPainter painter;//两种方式if (1) {m_lens_image QImage(bounds.size(), QImage::Format_ARGB32_Premultiplied);m_lens_image.fill(0);painter.begin(&m_lens_image);} else {m_lens_pixmap QPixmap(bounds.si…

jar手动上传到Nexus私服

jar手动上传到Nexus私服 一简介二上传方法1.登录nexus,打开nexus控制台。upload---maven-release2.上传jar3.验证jar包是否上传成功4、注意事项 一简介 在maven项目中我们可以通过相关配置可以将项目打包成jar&#xff0c;然后deploy上传到私服中。要是别人提供的第三方jar&am…

Redis客户端之Jedis(一)介绍

目录 一、Jedis介绍&#xff1a; 1、背景&#xff1a; 2、Jedis连接池介绍&#xff1a; 二、Jedis API&#xff1a; 1、连接池API 2、其他常用API&#xff1a; 三、SpringBoot集成Jedis&#xff1a; 1、Redis集群模式&#xff1a; &#xff08;1&#xff09;配置文件…

ROS2学习笔记(0)开坑声明

0.前提 在做racecar的过程中发现已经有不少的开发者和公司开始从ros1转向ros2的怀抱了&#xff0c;刚好寒假在家&#xff0c;我就顺带试试看能不能学点ros2&#xff0c;刚好我有两辆车和主板可以双线开工&#xff08;是的&#xff0c;全是老师们赞助的&#xff0c;真的我哭死&…

淘宝扭蛋机小程序:新时代的互动营销与娱乐体验

随着科技的快速发展&#xff0c;小程序已经成为人们日常生活中不可或缺的一部分。在众多的小程序中&#xff0c;淘宝扭蛋机小程序以其独特的互动性和趣味性&#xff0c;吸引了大量用户。本文将深入探讨淘宝扭蛋机小程序的特色、用户体验以及未来发展。 一、淘宝扭蛋机小程序的…

一个新的springboot-vue项目如何启动起来

一个新的springboot-vue项目如何启动起来 1.导入mysql 打开yml文件修改数据库密码 名称 用户名 2.打开pom.xml配置maven依赖 尽量换成自己使用过的版本号&#xff0c;或者打开中央仓库搜索相关内容版本号&#xff1a;https://central.sonatype.com/ 注解为黄色 说明工程…