Mind Map:大语言模型中的知识图谱提示激发思维图10.1+10.2

news2024/11/22 5:37:11

知识图谱提示激发思维图

  • 摘要
  • 介绍
  • 相关工作
  • 方法
    • 第一步:证据图挖掘
    • 第二步:证据图聚合
    • 第三步:LLM Mind Map推理
  • 实验
    • 实验设置
    • 医学问答
    • 长对话问题
    • 使用KG的部分知识生成
    • 深入分析
  • 总结

在这里插入图片描述

摘要

LLM通常在吸收新知识的能力、generation of hallucination 以及决策过程的透明度方面有局限性。

“generation of hallucination”(幻觉生成)
可以指代使用计算机模型或算法生成虚假的感知或幻觉。这是指通过对输入数据进行处理和转换,模型可以生成看起来像是真实幻觉的信息。
大语言模型如GPT-3是基于机器学习技术的,通过从大量文本数据中学习语言模式和上下文来生成文本回复。尽管它可以生成合理的、连贯的回答,但它并不具备真实的感知能力,也不会产生真实的幻觉。

本文讨论了如何用知识图谱提示LLM,作为一种补救措施,让LLM掌握最新知识,并结合内隐知识和检索的外部知识进行推理。此外,还研究了从LLM中引出推理路径。具体来说,建立了一个提示管道,使LLM能够理解KG的输入,并结合内隐知识和检索的外部知识进行推理。此外,还研究了引出mind map,LLM在此基础上进行推理并生成答案。
研究表明,生成的mind map展示了基于知识本体论的LLM推理路径,从而为LLM推理在生成中的预测和衡量带来了前景。

实验基于三个问题&答案集,也展示了mind map提示带来了惊人的经验收益。还证明了通过从KG中检索结构化事实,Mind Map可以优于一系列文档检索方法的提示,受益于KG更准确、简洁和全面的知识。

介绍

将LLM扩展到十亿个参数和万亿个单词,在各种任务中都能获得令人惊讶的表现。预训练的LLM可以通过微调适应领域任务,或者在结构调整中与人类偏好保持一致。尽管如此,LLM存在以下缺陷:

  1. 灵活性:
    预训练的LLM知识过时,对参数的更新不灵活。因为收集高质量的指令数据和构建训练管道成本可能高昂,或者持续微调LLM会带来灾难性遗忘的风险,微调LLM可能很棘手。

  2. hallucination:
    LLM会产生看起来合理但是输出错误的污染。

  3. 透明度:
    LLM因其黑盒性质缺乏透明度收到批评。知识隐含地存储在LLM的参数中,因此不可能进行验证。此外,深度神经网络中的参考过程难以捉摸,无法解释。

知识图谱是构建大规模结构知识库的经典方法,由三个实体和关系构成{head,relation,tail}。KG可以提供明确的知识表示和可解释的推理路径。此外,KG还可以不断修改,以调整现有知识或添加新知识。由于其灵活性、精确性和可解释性,KG成为LLM缺点的一种很好的补充。例如,将KG三元组添加到LLM的训练中,或者将KG编码器与LLM层缠绕在一起,以对图形和文本数据进行联合推理和优化。相比之下,本文工作集中在KG和固定LLM的推理上,这使用与强大的预训练LLM。一般来说,这个领域的现有技术可以分为以下两种类型:

  1. 检索强化 LLM推断:
    研究人员试图检索文档以增强LLM推断,同时又面临检索不准确和文档冗长的问题。最近,有几次尝试将提取的KG三元组合并到LLM的提示中,以回答与KG相关的问题。然而,这种方法将KG输入视为纯文本,并忽略其图形结构,这导致生成的响应很难验证,并且容易产生幻觉。

  2. 使用LLM进行图形挖掘:
    也有人试图促使LLM理解图形输入,而他们主要试验图形挖掘任务,例如边缘检测和图形摘要。在需要基于KGs的多个证据图进行复杂推理的文本生成任务中,很少对其进行探索。

这项工作的目标是建立一种即插即用的提示方法,以引出LLM中的思维图推理能力。我们称我们的方法为Mind Map,因为它使LLM能够理解图形输入,从而构建自己的mind map,支持基于证据的生成。

在这里插入图片描述

框架的概念演示如图2所示。具体来说,MinaMap激发了LLM的思维图,(1)整合从KGs中检索到的事实和LLM中的隐含知识,
(2)在输入KGs中发现新模式,
(3)在mindMap上推理以获得最终输出。

在三个数据集上进行了实验,以表明MindMap在很大程度上优于其他一系列尝试方法。这项工作主要研究LLM如何学会与KG进行协同推理,将内隐和外显知识相结合,形成透明可靠的干预。

相关工作

提示工程
“预训练、提示、预测”范式已经成为少量或零样本方式进行自然语言处理的最佳方式。核心是LLM能够通过上下文内学习适应输入上下文和指令后的新任务,尤其是指令调整和对齐检索增强生成是为LLM推理提供额外证据的一种动态方式。通常做法是查询密集数据库,找到输入用户问题的相关文档,然后将检索到的语料库放回提示输入。然而,文档可能很长,因此不符合LLM的上下文限制。而且,及时可以构建长文档做为提示,LLM通常无法在提示中间捕获信息并会产生幻觉。另一条研究路线旨在提示引发LLM在链和树中间的推理步骤,尽管如此,本文的工作还是探索了在图输入上激发LLM的推理,重点是与内隐和外显知识的联合推理。
知识图谱强化LLM
研究人员探索使用KG来增强LLM主要在一下两个方向上:
(1)将KG合并到LLM预训练
(2)将KG注入LLM推断过程

对于(1),通过将KG实体和关系放入训练数据中来设计知识感知训练对象是一种常见的做法,或应用KG检测任务(例如链接预测)作为附加监督。然而,当阿静预先收集的数据扩展到具有三个单词的网络规模语料库时,难以找到或创建具有近似规模的KG。跟重要的是,尽管这些方法通过监督将KG知识直接压缩到LLM的参数中。它们并没有减轻LM在可修复性、可靠性和透明度方面的基本限制。

对于(2),早期的工作集中再通过注意力将KG三元组融合到LLM的输入中,或将图编码器链接到LLM编码器已处理KG输入。后续研究进一步采用了与LLM并行的图神经网络进行联合推理,并在LLM的中间层添加了文本标记和KG实体之间的交互。看到最近预训练LLM的成功,研究范式正在转向用图形输入来提示固定的预训练LLM。这一行的重新搜索包括提示KG实体链接前缀的LLM、图形挖掘和KG问答。虽然这些方法允许LLM理解图形属兔,但它们要么专门针对KG任务,要么回忆检索到的事实并将其翻译为纯文本而忽略了KG的结构。

方法

MindMap框架如图3所示,包括三个主要组件:

  1. 证据图挖掘:首先从原始输入中识别实体集 V q V_q Vq,并插叙KG构建多个证据子图 G q G_q Gq
  2. 证据图聚合:接下来,LLM被提示理解并聚合检索到的证据子图,以构建推理图 G m G_m Gm
  3. 在mind map上的LLM推理:最后,提示LLM整合所构建的推理图及其隐含知识来生成答案,并构建解释推理过程的mind map。

在这里插入图片描述

第一步:证据图挖掘

从外部KG中发现相关证据的子图,分为两个主要步骤:
实体识别:首先通过上下文学习提示LLM从问题查询Q中提取关键实体。构建了一组样例{ Q k , M k {Q_k,M_k} Qk,Mk} k K _k^K kK,其中都由一对输入句子 O k O_k Ok和相应的实体集 M k M_k Mk组成。将样本作为内容预先发送到候选查询Q,并要求LLM生成实体集M。由于提取的实体M可能不都属于G中的实体集,所以需要进一步执行实体链接。具体来说,用BERT编码器将G中和M内的所有实体分别编码为密集嵌入 H G H_G HG H M H_M HM。将M中的每个实体与G中与其最近的相邻实体通过比较它们的余弦相似性联系起来,

证据子图探索
通过在这里插入图片描述定义资源知识图谱,其中在这里插入图片描述代表了实体集、关系集和文本集。本阶段的目标是基于抽取的实体 V q V_q Vq建立证据子图在这里插入图片描述
一个证据子图被定义为在这里插入图片描述,其中 V q V_q Vq是节点集, E q E_q Eq是边集,其中每一条边都有在这里插入图片描述

通过基于路径和基于邻居的探索来探索源KG,以构建证据子图的过程如图4所示。

在这里插入图片描述
基于路径的证据图探索 通过追踪Vq中的实体在G中的中间路径来连接它们:
(a)选择 V q 0 V^0_q Vq0中的一个节点作为上的起始节点 v 1 v_1 v1。将剩余节点放置在候选节点集中Vcand。探索从 v 1 v_1 v1到下一个节点 v 2 v_2 v2的k跳,其中v2 属于 Vcand。如果在k跳内成功到达 v 2 v_2 v2,则将起始节点更新为 v 2 v_2 v2,并从Vcand中删除 v 2 v_2 v2。如果在k个跳中找不到 v 2 v_2 v2,则连接到目前为止获得的路径段,并将其存储在 G q p a t h G^{path}_q Gqpath中。然后从Vcand中选择另一个节点 v 1 ′ v'_1 v1作为新的开始节点,并从Vcand中移除 v 1 v_1 v1 v 2 v_2 v2
(b)检查Vcand是否为空。如果它不为空,则迭代(a)以查找路径的下一段。如果它为空,则连接所有段以构建一组子图,并将它们放入 G q p a t h G^{path}_q Gqpath中。

基于邻居的证据图探索目的是将更多与查询相关的证据纳入Gq。分为两步:
(a)通过1跳到它们的邻居节点{v’}来扩展每个节点v∈Vq,以将三元组{( v , e , v ′ v,e,v' v,e,v)}添加到Gneiq
(b)检查每个v’是否在语义上与该问题相关。如果相关,进一步扩展v’的一跳邻居,在Gneiq中添加三元组( v n e i , e ′ , v ′ v_{nei},e',v' vneiev)。

还将用bridging pathway中所有新添加的中间节点更新Vq。经过探索对Gpathq和Gneiq进行了调整,以减少头上的信息,同时保持多样性:
(a)按照它们的头实体对所有子图进行聚类,在探索之前从原始查询中提取并填充Vq
(b)检查每个聚类,如果图的数量超过预定义的阈值,则随机抽样。

通过合并剩下的子图,我们可以获得最终的证据图Gq

第二步:证据图聚合

在这一步骤中,提示LLM来将不同的证据子图Gq聚合到合并的推理图Gm中,以便为步骤3中的输出生成带来所有证据子图的全局视图。

添加了结构来提示LLM用自然语言描述每个证据子图G*q的结构指令。生成证据路径集Gq={cq(1),cq(2),…,cq(n)},其中每个c*q表示一个结构路径,例如“(疲劳,恶心)- 表示 -肝脏问题”。分别对所有基于路径的子图Gpathq和所有基于邻居的子图Gneiq进行提示,生成推理图Gm={Gpathm,Gneim}。这种设计提示有两个优点:
(1)LLM采用了小子图的整体视图,将它们浓缩成统一简洁的格式;
(2)LLM有助于消除自然语言中相似实体的歧义。

第三步:LLM Mind Map推理

在这一步骤中,LLM会被合并的两个证据图Gpathm,Gneim提示以产生最终输出。
图推理的提示
为了触发LLM生成mind map并找到最终结果,本文提供了一个由五个组件组成的prompt:系统指令、问题、证据图Gm、Graph-of-Thought指令和模板。具体来说,Graph-of-thought指令要求LLM在(a)理解输入的证据图,(b)建立自己的推理mind map,以及(C)用证据图建立的基础时,一步一步地思考以产生最终结果。

附录D的表8中提供了使用的提示模板。最后的计划是在思维导图上提供详细的图形推理路径,其中图形中的每个实体都以输入证据图Gm为基础,如图3中的右框所示。

LLM和KG知识的协同推理
先前的检索增强了LLM倾向于重新表述检索到的事实,而忽略了LLM本身的知识。然而,Mind Map鼓励LLM在自己的知识范围内丰富检索到的证据图,从而实现协同推理。据推测LLM是通过(1)语言理解实现的,因为LLM可以理解并从自然语言描述的Gm中提取知识边缘;(2)知识推理,因为LLM在产生基于Gm构建的Mind Map的最终答案时利用了其隐含的边缘知识。如图2所示,LLM可以识别连接现有节点和文本图信息的新链接,从而启用graph-of-thought并产生新的见解。

实验

针对一系列需要复杂推理和领域知识的问题&答案任务,并将其与基于检索的基线进行比较。

实验设置

实验设计三个数据集:
(1)GenMedGPT-5k
(2)CMCQA
(3)ExplainCPE
这些数据集的统计数据如表1所示。
附录A中描述了数据管理过程。
此外,建立了两个KG,EMCKG和CMCKG,以支持KG增强方法。

选择普通的GPT-3.5和GPT-4作为仅使用隐含知识进行推断的基线。然后添加了三个检索增强基线:BM25检索器、Text Enbed ding检索器和KG检索器。

医学问答

使用GenMedGPT-5k测试LLM如何处理医学领域的问题回答,LLM需要回答疾病诊断、药物推荐和测试建议。
评估指标
使用BERTScore和GPT-4评分来定量评估所有方法的性能。BERTScore可以测量生成的答案与参考答案之间的语义相似性。

还利用GPT-4来理解答案:
(1)以基本事实为参考,对所有方法的答案质量进行排名;
(2)在四个轴上对两种选择方法的答案进行配对比较:反应多样性和完整性、总体情况的正确性、疾病诊断的正确性以及用药建议的正确性。
结果
表2给出了BERIScore和GPT-4的排名分数。
可以看出,所有方法都会产生类似的BERTScore,其中Mind Map显示出比其他方法的边缘改进,这意味着所有方法都产生了与真实答案相似的答案。这可能是由于所有反应的语气相似,与临床医生常用的语言相似,但BERTSCore只测量整体语义的相似性。然而,我们发现,当按GPT-4排名时,Mind Map比其他方法有明显的进步,平均排名为1.8725。相比之下,(vanilla baseline)香草基线GPT-3.5和GPT-4的答案最差,分别排名4.85和4.17。主要原因是回答医学问题需要对领域知识进行全面的探索和理解,而在GPT模型的实例知识中进行推理可能会导致看似合理但错误的答案。相比之下,本文方法对外部KG进行了彻底的探索,并提供了基于证据的答案。

从更精细的方面深入探讨这些方法的配对比较。结果如表3所示。可以观察到,与其他基线相比,Mind Map产生了全面优异的性能。与简单的知识基线相比,Mind Map在四个方面的平均得分分别为88.21%和82.97%。这进一步强调了引入外部知识以减轻LLM幻觉的重要性。此外,还发现Mind Map在很大程度上优于其他基于检索的方法。KG Retriever(KG检索器) 基线从与MindMap相同的KG中检索事实是不值得的。尽管如此,Mind Map的优势在于KG知识和简化LLM知识的协同推理,以及对KG来源的全面探索,从而产生准确多样的答案。然而,其他检索器基线存在检索不准确、知识库探索不足或输入过长的问题。

长对话问题

使用KG的部分知识生成

深入分析

总结

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

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

相关文章

【STM32基础 CubeMX】ADC的基础使用

文章目录 前言一、ADC是什么二、使用CubeMX配置ADC三、代码分析3.1 cubemx生成代码分析3.2 ADC HAL库函数HAL_ADC_Start_IT开启adc中断函数获取ADC值 四、示例代码:获取光敏电阻的值总结 前言 在嵌入式系统开发中,STM32系列微控制器是广泛应用的一种硬件…

如何查看postgresql中的数据库大小?

你可以使用以下命令来查看PostgreSQL数据库的大小: SELECT pg_database.datname as "database_name", pg_size_pretty(pg_database_size(pg_database.datname)) AS size_in_mb FROM pg_database ORDER by size_in_mb DESC;这将返回一个表格&#xff0…

Mysql以key-val存储、正常存储的区别

场景 你作为一个服务端工程师,假设产品要求设计这么一个页面,页面上包含很多模块,每个模块都可以单独进行变更,有些模块是富文本。 实现方式有很多,我们来聊比较常用的两种,看看mysql的表如何设计。 第一…

【算法训练-贪心算法 一】买卖股票的最佳时机II

废话不多说,喊一句号子鼓励自己:程序员永不失业,程序员走向架构!本篇Blog的主题是【贪心算法】,使用【数组】这个基本的数据结构来实现,这个高频题的站点是:CodeTop,筛选条件为&…

GROMACS Tutorial 5: Protein-Ligand Complex 中文实战教程

GROMACS Tutorial 5: Protein-Ligand Complex 中文实战教程 前言系统环境特别强调一、预处理阶段1.1 蛋白质配体分离以及除水操作1.2 选择力场识别JZ4配体1.2.1 使用在线力场解析1.2.2 使用官方推荐力场CHARMM36解析 1.3 蛋白的top文件准备1.4 配体的top文件准备1.5 使用CgenFF…

【Java每日一题】— —第十九题:用二维数组存放九九乘法表,并将其输出。(2023.10.03)

🕸️Hollow,各位小伙伴,今天我们要做的是第十九题。 🎯问题: 用二维数组存放九九乘法表,并将其输出。 测试结果如下: 🎯 答案: System.out.println("九九乘法表如…

Stable Diffusion云服务器部署完整版教程

Stable Diffusion云服务器部署完整版教程 2023年07月04日 22:30 3607浏览 18喜欢 22评论 <span class"bili-avatar-icon bili-avatar-right-icon "></span> </div>薯片_AI 粉丝&#xff1a; 1513 文章&#xff1a; 1 设置分组取消关注 已关注 …

CRMEB商城源码开源标准版v5.2.0+后端+前端uni-app开源包安装教程

CRMEB打通版是一款全开源支持商用的PHP多语言商城系统,系统支持微信公众号端、微信小程序端、H5端、PC端多端账号同步&#xff0c;可快速打包生成APP&#xff1b; 播播资源整合格安装测试了CRMEB商城系统功能非常全&#xff0c;官方的文档教程也非常多&#xff0c;包括如何打包…

linux 笔记 安装 anaconda

1 找到anaconda 安装包 Free Download | Anaconda 2 在linux环境中安装对应安装包 3 安装完毕后查看是否安装好 发现不行&#xff0c;需要配置环境变量 4 配置环境变量 vim /etc/profile使用这个&#xff0c;发现对应的文件是只读文件 sudo vim /etc/profile在最下面加一…

【数据结构与算法】- 数组

数组 1.1 数组的定义1.2 数组的创建1.3 数组在内存中的情况2.1 初始化数组2.2 插入元素2.3 删除元素2.4 读取元素2.5 遍历数组 1.1 数组的定义 数组中的是在内存中是连续存储的&#xff0c;内存是由一个个内存单元组成的&#xff0c;每一个内存单元都有自己的地址&#xff0c;…

【匠心打造】从0打造uniapp 可视化拖拽设计 c_o 第十篇

一、click one for uniapp置顶&#xff1a; 全部免费开源 (你商业用途也没关系&#xff0c;不过可以告诉我公司名或者项目名&#xff0c;放在官网上好看点。哈哈-_-) 二、写在之前 距离上一篇更新已经大约4个月了&#xff0c;公司的事情&#xff0c;自己的一些琐事一直没时间…

蓝队分析研判工具箱V0.81,支持14种哥斯拉流量解密|溯源辅助|佛法搜索|shiro、log4j2解密|各种java反编译...

Part1 前言 大家好&#xff0c;我是ABC_123。“蓝队分析研判工具箱”就是把我平时写的蓝队小工具集合起来形成的&#xff0c;重点解决蓝队分析工作中的一些痛点问题。此0.81版本支持哥斯拉webshell全部14种加密流量的解密&#xff0c;感谢"小黑"的帮助&#xff0c;添…

管道-有名管道

一、有名管道 有名管道与匿名管道的不同&#xff1a; 有名管道提供了一个路径名&#xff0c;并以FIFO的文件形式存在于文件系统中。与匿名管道不同&#xff0c;有名管道可以被不相关的进程使用&#xff0c;只要它们可以访问该路径&#xff0c;就能够通过有名管道进行通信。 FI…

7.wifi开发【智能家居:终】,实践总结:智能开关,智能采集温湿,智能灯。项目运行步骤与运行细节,技术归纳与提炼,项目扩展

一。项目运行步骤与运行细节 1.项目运行步骤&#xff08;一定有其他的运行方式&#xff0c;我这里只提供一种我现在使用的编译方式&#xff09; &#xff08;1&#xff09;项目运行使用软件与技术&#xff1a; 1.Virtual linux 使用这个虚拟机进行程序的编译 2.Makefile与shl…

构建捡垃圾机器人的 ROS 2 项目

一、说明 本系列是关于学习如何使用 ROS2、Docker 和 Github 设计、设置和维护机器人项目。 先决条件 — ROS2 软件包的基本知识、实现发布者、订阅者、操作并连接它们。 我们之前在 ROS2 中了解了不同的部分。但是&#xff0c;在我们转向实际的基于硬件的项目之前&#xff0c;…

【C++】C++11——C++11介绍、初始化列表、声明、auto、decltype、nullptr、范围for循环

文章目录 C111.C11介绍2.初始化列表2.1&#xff5b;&#xff5d;初始化2.2 std::initializer_list 3.声明3.1auto3.2decltype3.3nullptr 4.范围for循环 C11 1.C11介绍 C11是C编程语言的一个版本&#xff0c;于2011年发布。C11引入了很多新特性&#xff0c;比如&#xff1a;类型…

多线程 - 单例模式

单例模式 ~~ 单例模式是常见的设计模式之一 什么是设计模式 你知道象棋,五子棋,围棋吗?如果,你想下好围棋,你就不得不了解一个东西,”棋谱”,设计模式好比围棋中的 “棋谱”. 在棋谱里面,大佬们,把一些常见的对局场景,都给推演出来了,照着棋谱来下棋,基本上棋力就不会差到哪…

思科:iOS和iOSXe软件存在漏洞

思科警告说,有人试图利用iOS软件和iOSXe软件中的一个安全缺陷,这些缺陷可能会让一个经过认证的远程攻击者在受影响的系统上实现远程代码执行。 中严重程度的脆弱性被追踪为 CVE-2023-20109 ,并以6.6分得分。它会影响启用Gdoi或G-Ikev2协议的软件的所有版本。 国际知名白帽黑客…

CSS鼠标指针表

(机翻)搬运自:cursor - CSS: Cascading Style Sheets | MDN (mozilla.org) 类型Keyword演示注释全局autoUA将基于当前上下文来确定要显示的光标。例如&#xff0c;相当于悬停文本时的文本。default 依赖于平台的默认光标。通常是箭头。none不会渲染光标。链接&状态contex…

最短路径专题2 Dijkstra 最短距离(堆优化版)

题目&#xff1a;样例&#xff1a; 输入 6 6 0 0 1 2 0 2 5 0 3 1 2 3 2 1 2 1 4 5 1 输出 0 2 3 1 -1 -1 思路&#xff1a; 根据题意&#xff0c;数据范围也小&#xff0c;也可以用朴素版的Dijsktra来做&#xff0c;朴素版的Dijsktra我做过了一遍了&#xff0c;可以看以一下我…