Reasoning on Graphs: Faithful and Interpretable Large Language Model Reasonin

摘要

大型语言模型(llm)在复杂任务中表现出令人印象深刻的推理能力。然而,他们在推理过程中缺乏最新的知识和经验幻觉,这可能导致不正确的推理过程,降低他们的表现和可信度。知识图谱(Knowledge graphs, KGs)以结构化的形式捕获了大量的事实,为推理提供了可靠的知识来源。然而,现有的基于kg的LLM推理方法只将kg作为事实知识库,忽略了其结构信息对推理的重要性。在本文中,我们提出了一种称为图上推理(RoG)的新方法,该方法将llm与KGs协同使用,以实现忠实和可解释的推理。具体来说,我们提出了一个计划检索-推理框架,其中RoG首先生成以KGs为基础的关系路径作为忠实计划。然后使用这些计划从KGs中检索有效的推理路径,以便llm进行忠实的推理。此外,RoG不仅可以从KGs中提取知识,通过训练提高llm的推理能力,还可以在推理过程中与任意llm无缝集成。在两个基准KGQA数据集上进行的大量实验表明,RoG在KG推理任务上达到了最先进的性能,并生成了忠实且可解释的推理结果1。

1.介绍

大型语言模型(llm)在许多NLP任务中表现出色(Brown等人,2020;Bang et al, 2023)。特别引人注目的是他们通过推理处理复杂任务的能力(Wei et al, 2022;Huang & Chang, 2023)。为了进一步释放法学硕士的推理能力,提出了计划-解决范式(Wang et al ., 2023c),在该范式中,LLMs被提示生成一个计划并执行每个推理步骤。通过这种方式,llm将复杂的推理任务分解为一系列子任务并逐步求解(Khot et al ., 2022)。

尽管LLMs取得了成功,但他们仍然受到知识缺乏的限制,在推理过程中容易产生幻觉,这可能导致推理过程中的错误(Hong et al, 2023;Wang et al ., 2023b)。例如,如图1所示,llm没有最新的知识,并且产生了一个错误的推理步骤:“有一个女儿”。这些问题在很大程度上削弱了LLMs在高风险场景中的表现和可信度,例如法律判决和医疗诊断。

为了解决这些问题,知识图(KGs)被用于提高llm的推理能力(Pan等人,2024;Luo et al ., 2023a)。KGs以结构化的形式捕获丰富的事实知识,为推理提供了可靠的知识来源。知识图谱问答(knowledge graph question answer, KGQA)是一种典型的推理任务,其目的是基于知识图谱获得答案(Sun et al ., 2019)。以前联合使用KGs和llm进行KGQA推理的工作大致可以分为两类:1)语义解析方法(Lan & Jiang, 2020;Ye et al, 2022),使用llm将问题转换为逻辑查询,并在KGs上执行以获得答案;2)检索增强方法(Li et al ., 2023;Jiang et al ., 2023),该方法从KGs中检索三元组作为知识上下文,并使用llm获得最终答案。

尽管语义解析方法可以通过利用KGs上的推理来生成更准确和可解释的结果,但由于语法和语义的限制,生成的逻辑查询通常是不可执行的,并且无法产生答案(Yu et al, 2022a)。检索增强方法更加灵活,并利用llm的推理能力。然而,他们只将kg视为事实知识基础,而忽略了其结构信息对推理的重要性(Jiang et al ., 2022)。例如,如图1所示,一个关系路径,它是一个关系序列,“child of→has son”可以用来获得“谁是Justin Bieber的兄弟?”这个问题的答案。因此,使llm能够直接在KGs上进行推理,以实现忠实和可解释的推理是至关重要的。 

在本文中,我们提出了一种称为图上推理(RoG)的新方法,该方法将llm与KGs协同进行忠实和可解释的推理。为了减轻幻觉和缺乏知识的问题,我们提出了一个规划-检索-推理框架,其中RoG首先通过规划模块生成以KGs为基础的关系路径作为忠实计划。然后使用这些计划从KGs中检索有效的推理路径,通过retrieval reasoning模块进行忠实的推理。这样,我们不仅可以从KG中检索到最新的知识,还可以考虑KG结构对推理和解释的指导。此外,在推理过程中,RoG的规划模块可以与不同的llm进行即插即用,以提高其性能。基于该框架,对RoG进行了两项优化:1)规划优化,将知识从KGs中提取到llm中,生成忠实关系路径作为规划;2)检索-推理优化,我们使llm能够基于检索到的路径进行忠实的推理并生成可解释的结果。我们在两个基准KGQA数据集上进行了广泛的实验,结果表明RoG在KG推理任务上达到了最先进的性能,并产生了忠实且可解释的推理结果。

2 RELATED WORK

LLM推理提示。许多研究提出利用llm的推理能力,通过提示来处理复杂任务(Wei et al ., 2022;Wang et al ., 2022;Yao等,2023;Besta et al, 2023)。plan -and-solve (Wang et al ., 2023c)促使llm生成一个计划,并在此基础上进行推理。DecomP (He et al, 2021)提示llm将推理任务分解为一系列子任务,并逐步求解。然而,幻觉和缺乏知识的问题影响了llm推理的准确性。ReACT (Yao et al ., 2022)将llm视为agent,与环境交互以获取最新的知识进行推理。为了探索忠实推理,FAME (Hong et al ., 2023)引入了蒙特卡洛规划来生成忠实推理步骤。RR (He et al ., 2022)和KD-CoT Wang et al . (2023b)进一步从KGs中检索相关知识,为llm生成忠实的推理计划。

知识图谱问答(KGQA)。传统的基于嵌入的方法表示嵌入空间中的实体和关系,并设计特殊的模型体系结构(例如键值记忆网络、顺序模型和图神经网络)来推理答案 。为了将llm集成到KGQA中,检索增强方法旨在从KGs中检索相对事实以提高推理性能(Li et al ., 2023;Karpukhin et al, 2020)。最近,UniKGQA (Jiang et al ., 2022)将图检索和推理过程统一为具有llm的单个模型,实现了STOA性能。语义解析方法通过llm将问题转换为结构化查询(例如SPARQL),查询引擎可以执行该查询以在KGs上推理答案(Sun et al ., 2020;兰江,2020)。然而,这些方法严重依赖于生成查询的质量。如果查询不可执行,则不会生成任何答案。DECAF (Yu et al ., 2022a)结合语义解析和llm推理共同生成答案,在KGQA任务上也达到了显著的性能。

3 PRELIMINARY

4 APPROACH

在本节中,我们将介绍我们的方法:图上推理(RoG),它包含两个组成部分:1)一个规划模块,该模块生成以KGs为基础的关系路径作为忠实计划;2)检索推理模块,首先根据计划从KGs中检索有效的推理路径,然后根据检索到的推理路径进行忠实推理,生成具有可解释解释的答案。RoG的总体框架如图2所示。

4.1 REASONING ON GRAPHS: PLANNING-RETRIEVAL-REASONING

4.1图上推理:规划-检索-推理

最近,人们探索了许多技术,通过计划来提高llm的推理能力,首先促使llm生成推理计划,然后在此基础上进行推理(Wang et al ., 2023c)。然而,llm以幻觉问题而闻名,这容易产生错误的计划并导致错误的答案(Ji et al, 2023)。为了解决这个问题,我们提出了一个新的计划-检索-推理框架,该框架将推理计划以KGs为基础,然后为LLM推理检索可靠的推理路径。

关系路径捕获实体之间的语义关系,已被用于KGs上的许多推理任务(Wang等人,2021;Xu et al, 2022)。此外,与动态更新的实体相比,KGs中的关系更加稳定(Wang et al ., 2023a)。通过使用关系路径,我们总是可以从KGs中检索到最新的知识进行推理。因此,关系路径可以作为推理KGQA任务答案的忠实计划。

通过将关系路径视为计划,我们可以确保计划以KGs为基础,从而使llm能够对图进行忠实且可解释的推理。简而言之,我们将我们的RoG描述为一个优化问题,其目的是通过生成关系路径z作为计划,最大限度地从知识图G中推理出问题q的答案的概率:

4.2 OPTIMIZATION FRAMEWORK

4.2优化框架

尽管llm具有将关系路径生成为计划的优势,但llm对KGs中包含的关系一无所知,因此llm不能直接生成以KGs为基础的关系路径作为忠实计划。此外,lllm可能无法正确理解推理路径,并基于它们进行推理。为了解决这些问题,我们设计了两个指令调优任务:1)规划优化,将KGs中的知识提取到llm中以生成忠实关系路径作为计划;2)检索-推理优化,使llm能够基于检索到的推理路径进行推理。

方程1中的目标函数可以通过最大化证据下界(ELBO)来优化(Jordan et al ., 1999),其表示为

式中,Q(z)表示以KGs为基础的忠实关系路径的后验分布,后一项最小化了后验与先验之间的KL分歧,从而鼓励llm生成忠实关系路径(规划优化)。前一项最大化了检索推理模块基于关系路径和KGs(检索推理优化)生成正确答案的期望。

Planning optimization.

在规划优化中,我们的目标是将知识从KGs中提取到llm中,以生成忠实关系路径作为规划。这可以通过最小化忠实关系路径Q(z)的后验分布的KL散度来实现,这可以通过KGs中的有效关系路径来近似。

4.3 PLANNING MODULE

4.3规划模块

规划模块旨在生成忠实的关系路径作为回答问题的计划。为了利用llm的指令跟随能力(Wei et al ., 2021),我们设计了一个简单的指令模板,提示llm生成关系路径:

4.4 RETRIEVAL-REASONING MODULE

4.4检索推理模块

尽管我们可以利用检索到的推理路径,直接得到多数投票的答案。检索到的推理路径可能是嘈杂的,与问题无关,从而导致错误的答案(He et al, 2021;Zhang et al, 2022)。因此,我们提出了一个推理模块来探索法学硕士识别重要推理路径并根据它们回答问题的能力。

推理。推理模块以问题q和一组推理路径Wz生成答案a。同样,我们设计推理指令提示符,引导llm根据检索到的推理路径Wz进行推理。Wz也被格式化为一系列结构句。详细提示可在附录A.10中找到。

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

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

相关文章

element-ui-plus el-tree 树形结构如何自定义内容

element-ui-plus el-tree 树形结构如何自定义内容 本文提及的 elementUI 版本 为 elementUI Plus 版本 一、需求 项目中遇到一个需要设置权限的地方,但目录和权限是放在一起的,这样就很不好区分类别,为了区分类别,就需要自定义树…

【Win】修改打印机名字

直接修改注册表容易翻车,手动改变只需要两步 1 定位属性 2 修改名字

Python文件操作命令

文件操作 我知道你最近很累,是那种看不见的、身体上和精神上的疲惫感,但是请你一定要坚持下去。就算无人问津也好,技不如人也好,千万别让烦躁和焦虑毁了你的热情和定力。别贪心,我们不可能什么都有,也别灰心…

为什么都说”一入Java深似海“?

引言 在当今数字化时代,编程已经成为一项至关重要的技能。而在众多编程语言中,Java以其广泛的应用领域和强大的功能特性,吸引了无数开发者的目光。无论是Web开发、移动应用还是大数据处理,Java都发挥着举足轻重的作用。然而&…

java的包装类型问题

java的基本类型大家都知道。但是实际应用。 还就只有, boolean,int,long,float,double,string 不常用的 char,byte,short 他们的包装类型 Character Byte Short Java 基本数据类型的包装类型的大部分都用到了缓存机制来提升性能。 Byte,Short,Integer,Lo…

C++的字节对齐

什么是字节对齐 参考什么是字节对齐,为什么要对齐? 现代计算机中,内存空间按照字节划分,理论上可以从任何起始地址访问任意类型的变量。但实际中在访问特定类型变量时经常在特定的内存地址访问,这就需要各种类型数据按照一定的规…

纳米软件电源测试系统:如何让电源模块检测更简单?

纳米软件NSAT-8000电源模块测试系统专门为AC-DC、DC-DC电源模块提供一站式测试解决方案。系统适用于电源研发、生产测试场景,并提供测试数据采集、智能分析、故障预测与诊断、维护决策与优化等大数据应用服务。 那么如何用电源测试系统检测电源模块的各项性能指标呢…

docker部署修改主机网络

教学版教程:docker 部署教学版本-CSDN博客文章浏览阅读1.1k次,点赞23次,收藏18次。1)docker 部署mysql、redis、nginx ;2)docker compose一键单机部署;3)docker网络;4)dcocker swarn…

如何在Bash中比较数字

问题: 我无法让数值比较工作正常: echo "enter two numbers"; read a b;echo "a$a"; echo "b$b";if [ $a \> $b ]; thenecho "a is greater than b"; elseecho "b is greater than a"; fi;问题在…

JUC:double-checked locking(DCL) 懒汉单例模式

文章目录 double-checked locking(DCL) 问题解决方法 volatile作用 double-checked locking(DCL) 问题 第一个if用于后续进入的线程,不用再获取锁来判断是否已经创建了对象。第二个if,为的是第一个进入的线程创建对象,以及防止卡在第一个if之…

vue3.3优化了defineProps和defineEmits写法

针对defineProps的优化 父组件调用 <template><A :child"[yx]"></A> </template><script setup lang"ts">import A from ./A.vue</script>子组件 普通方法获取props 传递过来的之 <template><div>A c…

已解决MQClientException: No route info of this topic, mytopic异常的正确解决方法,亲测有效!!!

已解决MQClientException: No route info of this topic, mytopic异常的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 目录 一、问题分析 二、报错原因 三、解决思路 四、解决方法 五、总结 博主v&#xff1a;XiaoMing_Java 一、问题分析 在使…

GEE:获取不同地表类型的Landsat地表温度(Land Surface Temperature,LST)时间序列

作者&#xff1a;CSDN _养乐多_ 本文将分享论文《Google Earth Engine Open-Source Code for Land Surface Temperature Estimation from the Landsat Series》中的基于Landsat时间序列影像计算地表温度的API和获取指定点&#xff08;Land Surface Temperature&#xff0c;LS…

题解 -- 第六届蓝桥杯大赛软件赛决赛C/C++ 大学 C 组

https://www.lanqiao.cn/paper/ 1 . 分机号 模拟就行 : inline void solve(){int n 0 ;for(int a1;a<9;a){for(int b0;b<9;b){for(int c0;c<9;c){if(a>b && b>c){n ;}}}}cout << n << endl ; } 2 . 五星填数 直接调用全排列的库函数…

ZCMU操作系统课程实验 - 实验1-Linux的使用

登录 1. 打开这个东西 2. 在 文件 - > 打开 中打卡机房里VMOS文件里的这个东东 3. 然后依次操作下去好了&#xff0c;有红色的选项&#xff0c;我都是选的"Do nothing"。完成后就会出现这样一个黑框框。 4. 让你登录。输入&#xff1a;root。密码&…

qt5.12版本源码交叉编译的错误

参考linux交叉编译Qt_linux qt 交叉编译-CSDN博客 配置阶段和编译阶段都有error 需要上按照上面的链接&#xff0c;进行修改源码&#xff0c;才能正常编译。 config配置 ./configure -prefix /home/c/qt-everywhere-src-5.12.1/aarch \ -opensource \ -release \ -confirm-l…

P6136 【模板】普通平衡树(数据加强版)题解 pb_ds 模版

【模板】普通平衡树&#xff08;数据加强版&#xff09; 传送门 题目背景 本题是 P3369 数据加强版&#xff0c;扩大数据范围并增加了强制在线。 题目的输入、输出和原题略有不同&#xff0c;但需要支持的操作相同。 题目描述 您需要写一种数据结构&#xff08;可参考题目…

提问的智慧-怎么提问

提问的智慧 转载自&#xff1a;Github&#xff08;https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md&#xff09;&#xff0c;没想到有中文版的&#xff0c;分享给你们。 How To Ask Questions The Smart Way Copyright © 2…

如何在Mac上停止旋转等待光标?这里提供详细步骤

序言 彩虹色的圆圈对于Mac用户来说是一个痛苦的景象。如果你幸运的话,它会在几秒钟内消失,但更常见的是,它会停留几分钟,让你无助地被锁在应用程序或整个Mac之外。 由于并不总是清楚如何处理转圈圈的光标,或者首先是什么导致了它,让我们将其分解。在本文中,我们将了解…

Google Hacking从0到1

文章目录 前言1、什么是google搜索1.1基础查询1.2高级搜索1.3使用布尔运算符 2、高级运算符2.1运算符语法2.2常用运算符 3、Google Hacking 基础3.1目录列出3.1.1 查找特定目录3.1.2 查找特定文件3.1.3 服务器版本 3.2目录遍历/目录穿越 4、10个简单的安全搜索5、总结参考 前言…