【2024.08】图模互补:知识图谱与大模型融合综述-笔记

阅读目的:假设已有一个知识图谱,如何利用图谱增强模型的问答,如何检索知识图谱、知识图谱与模型的文本如何相互交互、如何利用知识图谱增强模型回答的可解释性。

从综述中抽取感兴趣的论文进一步阅读。

来源:图模互补:知识图谱与大模型融合综述

1.知识图谱推理

72 LLM-ARK利用大模型作为代理,将多跳推理任务表示为强化学习序列决策问题。

73 LARK将复杂的知识图谱推理转化为上下文知识图谱搜索和逻辑查询推理的组合

相较于以往文本与知识独立的模式,QA-GNN[105]采用图神经网络(GNN)和知识图谱来提高模型推理能力。将问题上下文检索到的知识连接起来,构成一个联合图。实验表明,相较于比RoBERTa[106],QA-GNN表现出更好的效果。

JointLK[104]通过密集的双向注意力模块实现语言模型和知识图谱的多步联合推理。具体来说,JointLK模型将任务文本信息与外部知识图谱数据这两种不同模态的信息结合起来,设计了一个联合推理模块,在每个问题标记和每个知识图谱节点之间生成细粒度的双向注意映射,实现不同模态信息的融合。同时,JointLK模型设计了一个动态图裁剪模块,通过移除无关的图节点进行去噪,以确保模型正确地使用完整和适当的证据进行推理。实验结果表明,JointLK在解决带有否定词的复杂推理问题方面表现出色。 

DRAGON[107]模型在文本和知识图的深度双向联合(QA-GNN)的基础上,采用自监督学习策略。通过统一两个自我监督的推理任务,包括掩码语言建模(MLM)和链接预测,DRAGON模型实现了对文本和知识图的全面预训练。这种自监督学习策略使得模型能够更好地理解文本和知识图之间的关系,从而更准确地进行推理。 

(每个流程中有没有可以优化的地方,数据集是什么,测试集是什么,怎么跑分)

2.知识图谱增强问答

文献[80]提出了一种利用大模型在少样本情况下回答学术知识图谱问题的方法。具体步骤为:对于一个目标问题,模型通过分析训练集中的问题,找到与测试问题相似的问题;以这些相似问题作为提示输入大模型,生成目标问题的SPARQL查询,最终通过查询知识图谱获取答案。此过程不涉及大模型预训练,减少了计算资源和时间的消耗。研究表明,该模型在SciQA-one挑战基准中获取较好的成绩。

(1.数据集里直接有“:”问题-查询“的训练集吗 2.查询返回的三元组怎么支持回答,大模型自己解释?3.返回的信息是否是为正确的,需要的。给出的问题是否真的是相似的,全是给大模型来判断?是不是太不靠谱了?这么验证其可信度?4.具体表现效果有多好?看看实验结果)

(这篇文章可以了解一下,怎么由问题转为查询,又怎么由三元组转化为文本?如果真的是模型来做,用的是怎么模型,效果怎么样,以及怎么证明方法可信度?)

KnowPAT[82]提出了一个用于处理领域中特定问题回答的偏好对齐框架,通过知识偏好增强知识图感知问答的全新方法。KnowPAT认为大模型应该利用领域知识来生成可靠的答案,KnowPAT构建了风格偏好集和知识偏好集。此外,KnowPAT设计了一个新的对齐目标,将大模型偏好与人类偏好对齐,为真实场景问答领域训练一个更可靠和友好的问答系统。不过KnowPAT模型无法适用于某些领域,如在医学领域、计算机科学领域,与原始模型相比KnowPAT的能力出现明显的下降。

BYOKG[83]设计一个通用的问题回答系统,旨在提高模型的通用性和便捷性,并且无需任何人工标注数据,就能够在任何知识图上运行。该系统受人类好奇心驱动学习的启发,首先采用无监督学习方式,通过图遍历学习未知知识图谱。并借助大模型生成自然语言问题补充探索语料库,最后使用检索增强推理实现问答预测。

(还是那个问题:文本与图谱如何交互的,检索增强如何实现的?)

实体链接模型KnowBERT[90]。KnowBERT设计一种使用集成实体链接来检索相关的实体嵌入的方法,以词到实体的关注形式更新上下文词的表示,并将多个知识库嵌入到大规模模型中实现知识增强。 

集成实体间的细粒度关系的预训练语言模型KLMo[94]

3.增强大模型检索

知识图谱通过检索增强大模型是自然语言处理领域备受关注的研究方向之一。一种代表性的方法是检索增强生成(Retrieval-Augmented Generation,RAG)[108]。大模型自身无法精确处理知识密集型任务,也无法探究信息的来源和知识的更新,RAG旨在通过外部真实知识向量索引来解决大模型无法自我更新知识的问题。RAG是一种包含查询编码器(Query Encoder)、预训练检索器(Retriever)和预训练的生成式模型相结合的端到端训练方法。具体步骤为通过文档检索器检索潜在信息,将潜在文本作为输入信息的附加上下文执行大模型,最终获得文本目标序列。

与之类似,LaMDA[39]模型包括LaMDA-Base和LaMDA-Research模型,在执行过程中,首先调用LaMDA-Base模型生成输出,但是输出结果可能存在不真实信息,模型会继续调用LaMDA-Research与信息检索系统进行多次交互,直到LaMDA-Research响应用户输出,将无法验证的结果进行替换。相较于RAG,LaMDA的检索范围较小,但检索结果的精确度相对较高。 

为了解决大模型内存开销过大的问题,RETRO[109]通过从大型语料库中检索相似文档块来增强语言模型,在处理下游知识密集任务时,小参数模型性能达到了GPT-3的表现效果。RAG[108]和RETRO[109]二者都需单独训练检索模型,并且在面对超大规模和更新性强的外部文档时,可能会导致计算成本的增加。

在检索的基础上,KaLMA[110]构建了一个基于检索、重新排序和生成的管道,检索增强大模型的知识感知属性,同时提出“Conscious Incompetence”的设置,即当语言模型意识到自己无法提供某些知识,会在文本中插入“[NA]”标记,表示该部分知识无法被验证。实验结果表明,KaLMA[110]在提高大模型的引用生成能力和检索准确性方面具有一定的潜力。与上述不同,KMLM[111]是一种直接基于多语言三元组的知识增强型预训练方法,将三元组信息以代码形式转化为多语言文本,同时在预训练过程中附加文本的结构信息,实验结果表明,KMLM提高了隐性知识的推理能力,在跨语言知识密集型任务(事实知识检索)中表现出显著的性能改进。 

4.增强大模型可解释性

大模型因其异常复杂的结构、庞大的参数量、对大规模文本数据的高依赖性等问题,往往很难提供具备逻辑推理过程的解释,在许多领域(如生物医疗、军事和金融等)是无法接受的。并且大模型内部工作机制难以理解,加之大模型输出的不确定性,导致相同输入可能得到不同输出,即使目前性能比较出色的大模型GPT-4也存在不可解释性的问题。 

传统解决模型可解释性问题的方法集中于模型内在和事后的解释,如可解释模型结构和事后特征选择。然而,这些方法在解释模型决策过程方面存在不足。近期研究通过多实例学习、注意矩阵和外部知识结构等手段提供了文本解释,但仍未完全理解模型的推理过程。

LMExplainer[112]设计了一个知识增强的解释模块,将知识图谱与大模型相结合,采用知识图谱和图注意力网络(GAT)[113]提取大模型的关键决策信号,提供了全面、清晰、可理解的文本解释。其过程如图4所示,通过大模型生成输入语言的嵌入,同时从知识图谱中检索到相关知识以构建子图,以语言嵌入子图作为图神经网络的输入,通过图注意力网络来获取注意力分数,生成最终的预测结果和决策的解释过程。实验结果显示,LMExplainer不仅提高了模型性能,并且可以更准确地解释模型推理过程。

同样的,XplainLLM[114]是首个捕捉大模型推理元素并通过人类可理解的解释呈现决策过程的数据集,满足大模型在决策过程中透明度、可解释性和可理解性的需求。通过结合知识图和图注意力网络,构建一个问题-答案-解释(QAE)三元组,将大模型推理过程与知识图谱中实体和关系相连接的。评估结果显示,使用解释后的大模型性能提高2.4%,并且在问答任务中具有更出色的可解释性和理解效果。

5.医疗领域

临床诊断案例、电子健康记录等各类患者的医疗记录是计算机医疗领域的重要知识来源。大模型能够利用这些冗余的记录自动构建医学知识图谱[115],同时,图模互补系统还能够推理预测临床案例,推进医疗诊断决策系统的发展[116]。如GraphCare[117]通过提示工程从丰富的临床知识中抽取知识,为患者构建个性化医疗知识图谱,并利用双注意增强(BAT)图神经网络(GNN)模型进行下游任务预测。对于更复杂实体关系抽取,GPT-RE[118]采取任务感知检索和金标签(gold label)诱导推理的方法,实现关系抽取的情境学习。如图5(a)所示,GPT-RE采用了两种任务感知检索方法,通过编码表示强调文本中的实体与关系信息,接着通过金标诱导推理方法(类似思维链)注入推理逻辑,获取大量输入与标签的对齐演示案例,最后通过提示大模型实现关系抽取的高精确性和可解释性。此外,为了避免幻觉现象,REALM模型[119]提出一种检索增强生成(RAG)驱动框架,能够从各种非结构化数据(临床记录和电子健康记录)中提取实体,并与外部专业知识图谱进行匹配,以确保模型输出结果的一致性和准确性。 

6.子图构建

在处理知识密集型任务时,为了解决大模型无法捕捉到复杂的关系动态,AutoKG[65]提出一种轻量级和高效的自动化知识图构建方法。与传统的通过语义相似性搜索方式不同,AutoKG使用预训练大模型构建简化的知识图谱。AutoKG构建的知识图与传统的知识图结构不同,它以关键字作为节点,记录各个节点间的相关性权重,AutoKG会根据关键词之间的关联程度建立知识图中的。但AutoKG仅仅在外部知识库的提取关键词阶段,利用大模型的信息抽取能力,没有在后续丰富知识图阶段结合大模型。同样的,通用大模型在特定领域的实体关系抽取能力还存在不足,而大模型自身可以通过生成标注样本,作为示例或微调大模型方案构建知识图谱。文献[66]探索大模型在医疗保健领域实体抽取的效果,通过大模型生成大量高质量带标签训练数据,并将其作为提示信息局部微调大模型。实验结果表明,微调大模型相较于通用大模型,性能有较好的提升

(重点在使用高质量数据进行微调,这个高质量数据能否通过其他数据源,如知识图谱提供呢?提供又该提供什么样的数据呢?在我看来,)

LLM-ARK利用大模型作为代理,将多跳推理任务表示为强化学习序列决策问题。LARK将复杂的知识图谱推理转化为上下文知识图谱搜索和逻辑查询推理的组合。

7.总结

核心问题就是如何让大模型学习知识图谱信息,一种方式是将知识图谱直接转化为语言文本,但是这破坏了知识图谱的结构信息。另外一种利用深度学习从知识图中提取相关信息[97]。因此在未来需要采用更先进的知识编码策略,如图神经网络,以更好地捕捉知识图谱中的关系和语义信息。

知识图谱与大模型融合已经取得一定的成果,如JointLK [104]和QA-GNN[105]通过图神经网络(GNN)将知识图谱与大模型联立起来,DRAGON[107]更是在联合基础上增加自监督学习策略,使得大模型能够理解知识图谱中的结构信息,提高大模型的推理能力。在未来可以结合先进的强化学习技术[72],构建更完善的检索架构[19],进一步探索图模互补更高效的交互机制,以及更有效的微调和更新策略。 

知识图谱可以作为强大的信息检索工具,为大模型提供更加准确的信息。未来的工作将关注如何将知识图谱与语言模型的检索和推理有机结合,以提供更精确和真实的答案。 

大模型自身缺乏统一的解释标准和可靠的解释评估方法,这为可解释型大模型带来巨大挑战。因此需要探索大模型内部的工作流程,如LMExplainer[112]通过知识图谱和图注意网络对大模型的关键决策信号进行探索。研究人员还需要进一步探索大模型的推理过程,理解模型自身决策原理,使模型能够解释其决策和推理过程,借助知识图谱来增强大模型的可解释性。这将有助于增加人们对大模型决策的信任,特别是在敏感领域和决策制定中的应用。 

之后更新的内容会针对上述几种方法阅读详细的论文

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

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

相关文章

TakePhotoX

Demo下载 TakePhotoXDemo Android 版本 APK 下载 - PGYER.COM 安装密码:123456 GitHub - yijiebuyi/TakePhotoX: 基于CameraX 实现拍照,二维码扫描,录像 功能 支持前后摄像头切换支持4:3 16:9 1:1 图片拍摄支持二维码扫描识别支持灯光控制…

Docker零基础入门

参考课程https://www.bilibili.com/video/BV1VC4y177re/?vd_source=b15169a302bee35f484245aecc69d4dd 参考书籍Docker 实践 - 面向 AI 开发人员的 Docker 实践 (dockerpractice.readthedocs.io) 1. 什么是Docker 1.1. Docker起源 随着计算机的发展,计算机上已经可以运行多…

CAN通讯常见错误纠正

CAN通讯常见错误 1.在使用CAN设备进行数据通讯时,有时候参数配置不当可能就会导致通讯的失败,如下图1所示,出现通信错误的原因是两个设备的波特率配置不一致导致。 图1 2.有时候在配置参数的时候,不能只关注波特率速度配置一致就…

Script-server: 一款开源的脚本管理工具,为你的Python脚本提供一个直观的 Web UI

在日常工作中,我们经常会使用各种脚本来自动化任务,提升效率。但传统的脚本管理方式往往伴随着一些困扰:复杂的命令行操作、难以理解的脚本参数、缺乏直观的反馈等等。这些问题,让原本应该便捷的脚本管理变得繁琐。 Script-server…

MySQL的(DDL、DCL、DQL、DML)语言学习

DDL(数据定义语言) 数据库操作 查询所有数据库: SHOW DATABASES;查询当前数据库: SELECT DATABASE();创建数据库: CREATE DATABASE [ IF NOT EXISTS ] 数据库名 [ DEFAULT CHARSET 字符集] [COLLATE 排序规则 ];删…

太速科技-基于XC7Z100+AD9361的双收双发无线电射频板卡

基于XC7Z100AD9361的双收双发无线电射频板卡 一、板卡概述 基于XC7Z100AD9361的双收双发无线电射频板卡是基于Xilinx ZYNQ FPGA和ADI的无线收发芯片AD9361开发的专用功能板卡,用于4G小基站,无线图传,数据收发等领域。 二、板卡…

QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第三期]

QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第三期] 第三期介绍:频道模块之频道成员 目录 QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第三期]第三期介绍:频道模块之频道成员获取子频道在线成员数获取频道成员列表获取频道身份组成员列…

Java项目: 基于SpringBoot+mybatis+maven课程答疑系统(含源码+数据库+毕业论文)

一、项目简介 本项目是一套基于SpringBootmybatismaven课程答疑系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、…

102.WEB渗透测试-信息收集-FOFA语法(2)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:101.WEB渗透测试-信息收集-FOFA语法(1) FOFA使用实例 • title&q…

vue devtools的使用

vue devtools的使用 Vue Devtools 是一个强大的浏览器扩展,旨在帮助你调试和开发 Vue.js 应用。它支持 Chrome 和 Firefox 浏览器,并提供了一些工具和功能,可以让你更轻松地查看和调试 Vue 应用的状态和行为。以下是如何安装和使用 Vue Devtools 的详细指南。 安装 Vue De…

资深盘点:国内外知名的ERP管理系统厂商有哪些?

已经考虑引入ERP系统却担心面临以下问题?ERP系统流程僵化难以调整?流程与实际业务脱节?培训不到位、技术支持不及时导致难以实现全员使用、共创?市面上的ERP系统众多不知道如何选择? 今天就根据2024最新市场动态&…

ISAC: Toward Dual-Functional Wireless Networks for 6G and Beyond【论文阅读笔记】

此系列是本人阅读论文过程中的简单笔记,比较随意且具有严重的偏向性(偏向自己研究方向和感兴趣的),随缘分享,共同进步~ Integrated Sensing and Communications: Toward Dual-Functional Wireless Networks for 6G and…

react crash course 2024 (1)理论概念

state的作用 react hooks 而无需写一个class jsx 样式用 spa

【Android】SurfaceFlinger Dumpsys信息分析

SurfaceFlinger Dumpsys信息分析 dumpsys Surfaceflinger 用来输出SurfaceFlinger服务的状态信息,利用这些信息可以分析Android 画面层次、Display配置等等信息。 本文基于Android14。 dumpsys的实现 dumpsys Surfaceflinger命令对应的源码实现如下 源文件&…

决策树算法上篇

决策树概述 决策树是属于有监督机器学习的一种,起源非常早,符合直觉并且非常直观,模仿人类做决策的过程,早期人工智能模型中有很多应用,现在更多的是使用基于决策树的一些集成学习的算法。 示例一: 上表根据…

怎样在备忘录中添加提醒?怎么设置备忘录提醒

备忘录作为我们日常生活中常用的软件,其记录事项的便捷性已经得到了广泛认可。无论是工作计划、购物清单还是个人日记,备忘录都能帮助我们将这些信息快速记录下来。然而,如果备忘录能够进一步提供提醒功能,那么它将变得更加实用&a…

Facebook的虚拟现实功能简介:社交网络的新前沿

在科技飞速发展的今天,虚拟现实(VR)已经从科幻小说中的梦想变成了触手可及的现实。作为全球领先的社交平台,Facebook(现已更名为Meta)正大力推动虚拟现实技术的发展,以重新定义用户的社交体验。…

Dockerfile中的RUN、CMD、ENTRYPOINT指令区别

RUN在构建过程中在镜像中执行命令。CMD容器创建时的默认命令。(可以被覆盖)ENTRYPOINT容器创建时的主要命令。(不可被覆盖) 指令介绍 1.RUN 在构建过程中在镜像中执行命令,是在 docker build中执行 2.CMD 作用&am…

C++ | Leetcode C++题解之第394题字符串解码

题目&#xff1a; 题解&#xff1a; class Solution { public:string src; size_t ptr;int getDigits() {int ret 0;while (ptr < src.size() && isdigit(src[ptr])) {ret ret * 10 src[ptr] - 0;}return ret;}string getString() {if (ptr src.size() || src[…

list和vector的区别

空间上 list的底层是 一个个节点链接起来的&#xff0c;自然是不连续的空间。 vector的底层是3个指针共同维护的一段连续的空间 vector&#xff1a;连续空间&#xff0c;不易造成内存碎片&#xff0c;空间利用率高。 list&#xff1a;结点不连续&#xff0c;易造成内存碎片&…