论文浅尝 | MindMap:知识图谱提示激发大型语言模型中的思维图(ACL2024)

news2024/11/24 0:20:42

b4fe0cc327e760cd788e44e9649dee59.png

笔记整理:和东顺,天津大学硕士,研究方向为软件缺陷分析

论文链接:https://aclanthology.org/2024.acl-long.558/

发表会议:ACL 2024

1. 动机

虽然大语言模型(LLMs)已经在自然语言理解和生成任务中取得了显著的成绩,但是它们依然存在一些关键性的限制,包括但不限于以下几点:

(1)难以融合新知识:现有的LLMs在处理新知识时常常遇到困难,特别是在需要将新知识与现有知识进行综合分析的情况下。

(2)幻觉(Hallucinations):在生成文本时,LLMs可能会产生与上下文不符或事实不符的信息,这是由于模型缺乏对输入信息的有效验证机制。

(3)解释推理过程的能力有限:当LLMs生成答案或结论时,往往难以清晰地表达它们是如何从给定的信息中得出这些结论的,即缺乏透明度。

为了解决这些问题,本文提出了名为MindMap的方法。MindMap是一个创新的提示(Prompting)管道,它利用了知识图谱(Knowledge Graphs, KGs)来增强LLMs的推理能力和透明度。通过这种方法,MindMap不仅能让LLMs理解KGs的输入,还能让模型在隐性知识与外部知识的组合基础上进行推理。更重要的是,MindMap能够揭示LLMs的思维导图,这实际上反映了模型基于知识本体的推理路径。

6ced2a27ac57fb01eee1c7c9d9133117.png

图1: 本文方法与其他提示基线比较:纯LLM、文档检索+LLM和KG检索+LLM

2. 贡献

本文建立了一种即插即用的提示方法MindMap,能让 LLM 理解图输入,从而构建自己的思维导图,支持基于证据的推理生成。该框架的概念演示图如图2所示:

4209e9e2761eb40fb4096276af1f1472.png

图2:证据查询子图、合并推理子图和思维导图的概念演示。实体输入 Vq 可从输入中识别。相同颜色的线和圆表示它们相互对应。思维导图框中的红色虚线表示基于 LLM 知识的增强操作

具体而言,MindMap可以激发LLM的思维图:

(1)整合从KGs中检索到的事实和LLM的隐含知识;

(2)发现输入KGs中的新模式;

(3)对思维图进行推理以产生最终输出。

本文在三个数据集上进行了实验,结果表明 MindMap 的性能远远超过了一系列提示方法。这项工作强调了 LLM 如何学会与 KG 进行协同推理。通过整合隐式和显式知识,LLM可以实现透明、可靠的推理,并适应额外KG信息的不同正确性水平。

3. 方法

MindMap 的框架如图3所示:

d68617095cfc6380d2e3b2d2b1a82af8.png

图3: MindMap框架。左侧部分展示了证据图挖掘的各个组成部分,右侧部分展示了证据图聚合和使用思维导图的 LLM 推理

3.1 证据图挖掘

从外部 KG 发现相关证据子图 Gq 主要分为两个阶段。

(1)实体识别

首先,使用大语言模型(LLMs)来识别问题(Query)中的关键实体。这一过程通过构建一个包含问题分析、模板短语以及两个例子的提示来实现。随后,使用BERT相似度来匹配这些实体和关键词。具体来说,对LLMs抽取的所有关键词实体和外部知识图谱中的所有实体进行编码,形成密集嵌入向量,然后计算这些向量之间的余弦相似度矩阵。

(2)证据子图构建 

证据子图构建的目标是基于提取的实体构建证据子图。构建证据子图的过程可以分为两部分:

基于路径的探索:从选定的节点出发,在知识图谱中追踪最多k步的中间路径,形成路径片段。这一过程持续进行,直到所有的片段都连接起来,形成一系列的子图,存储在Gpath中。

基于邻居的探索:通过扩展每个节点到其邻居节点的距离为1步,增加关系三元组到Gnei中。这种方法将额外的相关证据纳入到证据子图中

为了管理和维护信息量,避免过载并保持多样性,通过聚类和采样方法对基于路径和基于邻居的子图进行修剪。最终形成的证据图保留了最优信息的同时保证了多样性。

3.2 证据图汇总

在这一阶段,LLM 被指示将不同的证据子图整合为统一的推理图。该推理图在完成后将作为步骤 III 的外部增强图输入,提供所有证据子图的整体视角,以增强输出生成过程。为了生成最终的附加知识子图输入,首先从上一部分中提取了至少 k 个基于路径的证据子图和 k 个基于邻居的证据子图,每个子图都代表了查询实体之间可能存在的联系。然后,将每个子图格式化为实体链,并分配一个序列号。接下来,LLMs被提示去理解和合并这些检索出的证据子图,以构建推理图。

3.3 基于思维导图进行LLM推理

在这一阶段,LLMs被指导去融合已经构建好的推理图以及它们的隐性知识。这意味着LLMs需要将从外部知识图谱中获取的信息与自己内部的已有知识相结合。随后,LLMs需要基于上述整合后的知识来生成最终的答案。这一阶段还包括构建一个思维导图,该导图揭示了LLMs的推理路径。

4. 实验

4.1 实验设置

本文评估了MindMap在三个医学问答数据集的复杂问题解答任务中对外部知识图谱的利用情况:GenMedGPT-5k、CMCQA 和 ExplainCPE。这些数据集分别涵盖了医患对话、多轮临床对话和中国国家执业药师考试的选择题。为了支持知识图谱增强方法,本文构建了两个知识图谱(EMCKG 和 CMCKG),其中包含与医学概念相关的实体和关系。ExplainCPE数据集利用知识不匹配的CMCKG来评估错误检索知识对模型性能的影响。本文将MindMap整合隐性知识和显性知识的能力与各种基线进行了比较,包括GPT-3.5和GPT-4,以及使用树形结构进行推理的思维树方法(TOT)。此外,本文还考虑了三种检索增强基线:BM25 retriever、Text Embedding retriever 和 KG retriever。这些基线利用不同的证据检索方法和来源,以 gpt-3.5-turbo-0613 作为所有基于检索方法的骨干。

4.2 医疗问答

使用 GenMedGPT-5K 测试了 LLM 如何处理医疗领域的问题解答,其中 LLM 需要回答疾病诊断、药物推荐和测试推荐等问题。

(1)评估指标

使用BERTScore和 GPT-4 Rating进行定量评估。BERTScore 衡量生成答案与参考答案之间的语义相似性。GPT4 用于:(1)根据基本事实对答案质量进行排序;(2)根据四个标准对答案对进行比较:答案多样性和完整性、总体事实正确性、疾病诊断正确性和药物推荐正确性。此外,还引入了一种新的幻觉量化指标,用于估算生成的答案与事实的偏离程度。为了计算该指标,首先使用步骤 I 生成的问题-额外实体数据,训练基于 mT5-large 的关键词提取模型(NER-MT5)。然后将 MindMap 的输出、其他基线和标签输入 NER-MT5 模型,得到每个答案的关键词列表。最后将关键词用逗号连接起来,作为 ner-sentences,并计算不同输出的 ner-sentences 之间的 tfidf 相似度得分。得分越低,说明答案中的幻觉越多。

(2)结果

表1根据 BERTScore、GPT-4 排名得分和幻觉量化得分对各种方法进行了评估。虽然 BERTScore 在各种方法中显示出相似的结果,但 MindMap 稍有进步,这可能是由于医学回答中的共同基调。不过,对于医学问题来说,全面的领域知识至关重要,而 BERTScore 并不能很好地捕捉到这一点。GPT-4排名得分和幻觉量化显示,MindMap明显优于其他方法,其平均GPT-4排名为1.8725,幻觉得分较低。这突出表明,与GPT3.5和GPT-4等基线模型相比,MindMap有能力生成有证据基础、可信且准确的答案,而GPT-4等基线模型由于依赖于内隐知识,可能会产生不正确的答案。此外,表 2 显示 MindMap 始终优于其他方法,强调了整合外部知识以减少 LLM 幻觉并提供准确答案的价值。

表1: GenMedGPT-5k 所有方法的 BERTScore 和 GPT4 排名

ac0443c2347e1da0b5751d69cbc312d6.png

表 2:在 GenMedGPT-5k 上,GPT-4 对 MindMap 与基线在多样性和完整性得分(%)、事实总匹配得分(%)和疾病诊断(%)方面的胜率进行了配对比较

b4006c1b20b0ff7e9e510d333065d9bf.png

4.3 长对话问答

在以需要复杂推理的冗长对话为特点的CMCQA数据集上进行的实验中,表3显示,尽管与KG Retriever类似,但MindMap的排名始终优于大多数基线。此外,在表4中,根据GPT-4判断,MindMap在成对胜率方面一直优于基线。尽管与GenMedGPT-5K相比,由于知识图谱(KG)不足以涵盖CMCQA问题的所有必要事实,MindMap的性能差距有所缩小,但它仍然超越了包括KG Retriever在内的所有基于检索的方法。这表明以前基于检索的方法可能会过度依赖检索到的外部知识,从而影响语言模型(LLM)利用其内隐知识把握复杂逻辑和对话细微差别的能力。相反,MindMap 在图推理中同时利用了外部知识和内隐知识,从而得到了更准确的答案。

表 3:所有方法在 CMCQA 数据集上的 BERTScore 和 GPT-4 排名

d24d7b247cf9f02a43d0e409d06d869b.png

表 4:GPT-4对MindMap在CMCQA疾病诊断和药物推荐方面的胜率与基线的成对比较

f9e9d3eefa6ca8f34cd1c9801e4a40bf.png

4.4 从KG生成不匹配的知识

在解决MindMap对KG事实正确性的稳健性问题时,利用第二个数据集--ExplainPE--中使用的相同的KG数据集。因此,检索到的知识可能会出现冗余或缺乏准确信息的情况。这一点尤为重要,因为它反映了生产中的一种常见情况,即 LLM 经常需要将其内隐知识和从外部来源获取的知识合并在一起生成答案。

(1)评估指标

根据生成选择的准确性和解释的质量对所有方法进行评估。为了评估解释质量,使用 BERTScore 和 GPT-4 排名。

(2)结果

在表 5 中,与各种基线相比, MindMap显示出更高的准确率,这肯定了它比文档检索提示技术更有效。有趣的是,直接将检索到的知识纳入提示中有时会降低答案质量,KG Retriever 和 BM25 Retriever 的表现就不如普通的 GPT-3.5 模型。造成这种差异的原因是外部知识不匹配,导致语言模型(LLM)受到误导。该模型倾向于依赖检索到的知识,如果不准确,LLM 可能会产生错误。指令提示的消融分析显示,提示LLM "结合你已有的知识"使成绩提高了8.2%。此外,表6突出显示了MindMap为答案生成理由的能力,在GPT-4中获得了2.98的排名。

表 5:ExplainCPE 的准确率得分

c008c6ae304f51a393419bcb826f0d5e.png

表 6:MindMap 与基线在 ExplainCPE 数据集中的 BERTScore 和 GPT-4 偏好排序的定量比较

fd6e60858ec0acdd6373001fd106b9bc.png

4.5 消融研究

将MindMap与两种变体进行了比较:纯邻居和纯路径。纯邻接法侧重于基于邻接的证据探索,而纯路径法侧重于基于路径的证据探索。尽管使用了额外的标记,但与纯邻居和纯路径方法相比,MindMap 在幻觉量化方面仍有显著改进。这凸显了结合基于路径和基于邻居的方法来减少幻觉的重要性。值得注意的是,与基于路径的方法相比,基于邻居的方法在提高事实准确性方面更为有效。对于涉及医疗咨询的任务,基于路径的方法在查找相关外部信息方面更胜一筹,但在处理多跳答案(如药物和测试建议)时则显得力不从心。

5. 总结

本文介绍了知识图谱提示:1)赋予语言学习者理解知识图谱输入的能力;2)促进语言学习者结合内隐知识和检索到的外部知识进行推理。然后,本文研究了激发思维导图的问题,在思维导图中,LLMs 进行推理并生成答案,其理由用图表示。通过在三个问题与答案数据集上进行广泛的实验,验证了本文的方法与直接使用LLMs 或RAG方法相比取得了显著的收益,并且对不匹配的检索知识具有鲁棒性,为在生产中实现可靠、透明的 LLM 推断打开了大门。


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

328a24f23c40383070cccd5885c1e166.png

点击阅读原文,进入 OpenKG 网站。

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

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

相关文章

Win11 22H2/23H2系统11月可选更新KB5046732发布!

系统之家11月22日报道,微软针对Win11 22H2/23H2版本推送了2024年11月最新可选更新补丁KB5046732,更新后,系统版本号升至22621.4541和22631.4541。本次更新后系统托盘能够显示缩短的日期和时间,文件资源管理器窗口很小时搜索框被切…

SpringSecurity创建一个简单的自定义表单的认证应用

1、SpringSecurity 自定义表单 在 Spring Security 中创建自定义表单认证应用是一个常见的需求,特别是在需要自定义登录页面、认证逻辑或添加额外的表单字段时。以下是一个详细的步骤指南,帮助你创建一个自定义表单认证应用。 2、基于 SpringSecurity 的…

Cloud Native 云原生后端的开发注意事项

在云原生后端开发里,数据管理和存储这块得好好弄。数据库选型得综合考虑,像关系型数据有复杂查询需求就选 MySQL、PostgreSQL,海量非结构化数据就可以考虑 MongoDB、Cassandra 这些。设计数据库得遵循规范化原则,像设计电商订单表…

通达OA前台submenu.php存在SQL注入漏洞(CVE-2024-10600)

通达OA前台submenu.php存在SQL注入漏洞(CVE-2024-10600) pda/appcenter/submenu.php 未包含inc/auth.inc.php且 $appid 参数未用’包裹导致前台SQL注入 影响范围 v2017-v11.6 fofa app"TDXK-通达OA" && icon_hash"-759108386"poc http://url…

TCP连接(三次握手)(四次挥手)

建立TCP连接(三次握手) 以下是简单阐述 在确定目标服务器 IP 地址后,则经历三次握手建立TCP 连接 三次握手 代表客户端和服务端 之间的传递信息有三次 A说:我想和你聊天 ,你能听到我说话吗 B说:我可以听到…

【MySQL实战45讲笔记】基础篇——事务隔离

系列文章 基础篇——MySQL 的基础架构 基础篇——redo log 和 binlog 目录 系列文章1. 事务隔离1.1 隔离性与隔离级别1.2 如何实现事务隔离1.3 事务的启动方式1.4 思考: 使用什么方案来避免长事务 1. 事务隔离 简单来说,事务就是要保证一组数据库操作&…

upload-labs-master第12关详细教程

成功了别忘了回来留下你的评论哦,嘻嘻 目录 环境配置闯关 环境配置 需要的东西 phpstudy-2018 链接: https://pan.baidu.com/s/1D9l13XTQw7o6A8CSJ2ff9Q 提取码:0278 32位 vc9和11运行库 链接: https://pan.baidu.com/s/1pBV3W…

Mac 修改默认jdk版本

当前会话生效 这里演示将 Java 17 版本降低到 Java 8 查看已安装的 Java 版本: 在终端(Terminal)中运行以下命令,查看已安装的 Java 版本列表 /usr/libexec/java_home -V设置默认 Java 版本: 找到 Java 8 的安装路…

uniapp奇怪bug汇总

H5端请求api文件夹接口报错 踩坑指数:5星 小程序、APP之前都是用api文件夹的接口引用调用,在h5端启动时报错,研究半天,发现把api文件夹名字改成apis就能调用,就像是关键字一样无法使用。 import authApi from /api/…

交换机配置从IP(Switch Configuration from IP)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 本人主要分享计算机核心技…

大语言模型---ReLU函数的计算过程及其函数介绍

文章目录 1. 概要2. ReLU定义 1. 概要 **ReLU 作用:**主要用于为神经网络引入非线性能力,作用是将输入中的整数保留原值,负数置为 0。 从而在层与层之间引入非线性,使神经网络能够拟合复杂的非线性关系。 **ReLU使用场景&#xf…

QT如何共享文件+拷贝文件

QString sharedFolderPathImg "\\\\" IP "/profileImage/"; // 更换为你的共享文件夹路径QDir dirImg(sharedFolderPathImg);dirImg.setFilter(QDir::NoDotAndDotDot | QDir::AllEntries);QVector<QString> curFileEntryArrayImg dirImg.entryList…

sourceTree无效的源路径问题解决

1.点击工具 2.点击选项 3.修改ssh客户端为OpenSSH 4.点击确定&#xff0c;然后重新打开软件

智慧营区整体解决方案

智慧军营概述智慧军营以信息化平台为基础&#xff0c;整合物联网、大数据、云计算、AI智能等技术&#xff0c;构建集人员、车辆、安防管理于一体的物联网平台。通过信息技术和网络技术&#xff0c;提高管理可控性&#xff0c;减少管理流程&#xff0c;降低成本&#xff0c;实现…

node实战:创建第一个简单的应用项目

1、确保node已安装 node -vnpm -v 2、创建项目文件夹 mkdir first-node-app-demo 3、初始化项目 3.1 执行&#xff08;输入&#xff09;命令 cd first-node-app-demo npm init -y 3.2 控制台输出 3.3 查看项目中的package.json文件 3.4 修改package.json文件 {"name…

STL——vector(1)

博客ID&#xff1a;LanFuRenC系列专栏&#xff1a;C语言重点部分 C语言注意点 C基础 Linux 数据结构 C注意点 今日好题 声明等级&#xff1a;黑色->蓝色->红色 欢迎新粉加入&#xff0c;会一直努力提供更优质的编程博客&#xff0c;希望大家三连支持一下啦 目录 尾…

pycharm在使用conda虚拟环境时Terminal爆红问题

问题&#xff1a; 解决方法&#xff1a; 复制cmd.exe后面所有路径 添加到pycharm的shell path中&#xff1a;

嵌入式LVGL自定义纯数字键盘

嵌入式LVGL自定义纯数字键盘 一、前言二、设置自定义数字键盘三、使用一、前言 嵌入式UI项目中有时候会使用到纯数字密码的需求,所以打算使用LVGL构建自定义的纯数字键盘。 二、设置自定义数字键盘 参考这个文章,以LV_KEYBOARD_MODE_USER_1为例,增加一个数字键盘,如下图所…

太速科技-512-基于ZU19EG的4路100G 8路40G的光纤汇流计算卡

基于ZU19EG的4路100G 8路40G的光纤汇流计算卡 一、板卡概述 本板卡系我司自主设计研发&#xff0c;基于Xilinx公司Zynq UltraScale MPSOC系列SOC XCZU19EG-FFVC1760架构&#xff0c;ARM端搭载一组64-bit DDR4&#xff0c;总容量达4GB&#xff0c;可稳定运行在2400MT/s…

【java-Neo4j 5开发入门篇】-最新Java开发Neo4j

系列文章目录 前言 上一篇文章讲解了Neo4j的基本使用&#xff0c;本篇文章对Java操作Neo4j进行入门级别的阐述&#xff0c;方便读者快速上手对Neo4j的开发。 一、开发环境与代码 1.docker 部署Neo4j #这里使用docker部署Neo4j,需要镜像加速的需要自行配置 docker run --name…