知识图谱驱动的深度推理:ToG算法的创新与应用

LLMs通过预训练技术在大量文本语料库上生成连贯且符合上下文的响应。然而,面对需要复杂知识推理的任务时,它们存在明显的局限性。这些问题包括对超出预训练阶段的专业知识的准确回答失败,以及缺乏责任性、可解释性和透明度。为了解决这些问题,研究者们提出了将外部知识图谱(KG)引入LLM推理的新范式。本论文提出了一种名为“Think-on-Graph”(ToG)的新方法,该方法将LLM视为在知识图谱上交互探索相关实体和关系的代理,并基于检索到的知识执行推理。

三种LLM推理范式的代表性工作流程:
(a) LLM-only,例如仅使用链式思考提示(Chain-of-Thought prompting);
(b) LLM ⊕ KG,例如通过LLM生成的SPARQL查询进行知识库问答(KBQA);
(c) LLM ⊗ KG,例如Think-on-Graph(ToG)。
这个图表说明了ToG方法如何通过结合LLM的推理能力和知识图谱(KG)的信息来提高推理的准确性

方法

下图展示了 ToG(Think-on-Graph)的一个示例工作流程。在这个流程中,发光的实体是每个迭代(深度)开始搜索的中心实体,而加粗的实体是剪枝后选择的下一个迭代的中心实体。在每个剪枝步骤中,边的暗度代表了 LLM(大型语言模型)给出的排名分数,而虚线表示由于评分低而被剪枝的关系。

ToG的工作流程示例

ToG 工作流程如下:

  1. 初始化搜索(Initialization of Search):ToG 从问题中识别出初始实体,并以这些实体作为搜索的起点。

  2. 探索阶段(Exploration Phase):在每个迭代深度,ToG 探索与当前中心实体相关的所有可能的关系和实体。探索过程包括搜索(Search)和剪枝(Prune)两个子步骤:
    1. 在剪枝阶段,ToG 根据 LLM 分配的分数来选择最相关的几个关系,并将这些关系保留在推理路径中。
    2. 在搜索阶段,ToG 寻找与尾部实体相关联的所有关系。
  3. 推理阶段(Reasoning Phase):一旦收集到足够的信息,ToG 会进入推理阶段,LLM 将评估当前的推理路径是否足以回答问题。如果 LLM 认为信息充足,则会使用这些路径生成答案;如果不足,ToG 将继续探索更多的路径。

  4. 剪枝(Pruning):在剪枝步骤中,根据 LLM 给出的评分,去除那些对问题贡献较小的关系和实体。边的暗度表示 LLM 分配的分数,分数越高,边越暗,表示该关系对回答问题越重要。被剪掉的关系用虚线表示,这些是因为评分低而被认为对当前问题不太相关或重要性较低的关系。

  5. 生成答案(Generate Answer):当 ToG 确定已经找到了足够的信息来回答问题时,它会使用 LLM 根据检索到的知识和图谱中的路径生成最终答案。

  6. 迭代过程(Iterative Process):ToG 的整个过程是迭代的,每一层迭代都可能增加推理路径的深度,直到找到正确的答案或达到预设的最大搜索深度。

ToG首先使用底层的语言模型(LLM)来定位知识图谱上的初始实体,作为推理路径的起点。这一步骤可以看作是推理路径集合P的初始化。ToG会提示LLM自动提取问题中的主题实体,并获取一组主题实体

在第D次迭代开始时,每条路径由 D−1 个三元组组成,表示为 =,其中分别表示主体和客体实体,是它们之间的特定关系。

关系探索是 ToG 算法中的一个关键环节,它使用束搜索来找出与问题相关的关系。这个过程分为两个阶段:搜索和剪枝。

  1. 搜索阶段:ToG 从上一轮迭代中得到的实体出发,寻找与之相关的关系。例如,如果当前的实体是“堪培拉”,ToG 就会搜索所有与“堪培拉”直接相连的关系。

  2. 剪枝阶段:在搜索到所有相关的关系后,ToG 需要决定哪些关系对于回答问题最有用。它使用大型语言模型(LLM)来评估这些关系的有用性,然后选择最重要的几个关系。这些被选中的关系将被保留,并用于下一轮的实体探索。

接下来是实体探索,它同样包括搜索和剪枝两个步骤:

  1. 搜索阶段:在确定了与问题相关的关系后,ToG 会根据这些关系来寻找相关的实体。例如,如果关系是“首都”,ToG 就会搜索所有与这个关系相连的实体。

  2. 剪枝阶段:在搜索到所有可能的实体后,ToG 再次使用 LLM 来评估这些实体的相关性,并选择最重要的几个实体。这些实体将被用来扩展当前的推理路径。

通过探索过程获得当前推理路径P后,ToG提示LLM评估当前推理路径是否足够生成答案。如果评估结果是肯定的,则提示LLM使用推理路径和查询作为输入生成答案。如果评估结果是否定的,则重复探索和推理步骤,直到评估结果为正或达到最大搜索深度

基于之前基于语义解析的KBQA方法,作者提出了基于关系的ToG (ToG-R),它从主题实体开始探索顶级关系链,而不是基于三元组的推理路径。ToG-R在每次迭代中顺序执行关系搜索、关系剪枝和实体搜索,然后基于通过实体搜索获得的所有候选推理路径 执行推理步骤。

如果LLM确定检索到的候选推理路径不包含足够信息以回答问题,我们将从候选实体 中随机采样N个实体并继续到下一次迭代。假设每个实体集合 中的实体可能属于同一实体类别并具有相似的邻近关系,剪枝实体集合 的结果可能对随后的关系探索影响不大。因此,ToG-R使用随机束搜索而不是ToG中的LLM约束束搜索进行实体剪枝,称为随机剪枝。

实验

作者选择了多个数据集来测试 ToG 在多跳知识密集型推理任务上的能力,包括五个知识库问答(KBQA)数据集(四个多跳和一个单跳),以及其他类型的数据集,如开放域问答、槽填充和事实核查数据集。评估指标采用的是精确匹配准确率(Hits@1)。

ToG 与多种方法进行了比较,包括标准提示(IO prompt)、思维链提示(Chain-of-Thought prompting, CoT prompt)和自洽性(Self-Consistency, SC)方法。还与之前在各个数据集上达到最佳状态的方法(SOTA)进行了比较。

ToG在不同数据集上的性能,包括多跳知识库问答(KBQA)、单跳KBQA、开放域问答(Open-Domain QA)、实体填充(Slot Filling)和事实核查(Fact Checking)等任务。表格中列出了不同方法在各个数据集上的表现,包括ToG和ToG-R在不同LLM模型上的结果

他们使用了三种不同的大型语言模型(LLMs):ChatGPT、GPT-4和Llama-2-70B-Chat,并利用OpenAI API调用了ChatGPT和GPT-4模型。对于Llama2-70B-Chat,作者在一个没有量化的8 A100-40G GPU集群上运行模型,设置了特定的温度参数以在探索过程中增加多样性,并在推理过程中确保可重复性。他们还规定了生成的最大令牌长度为256,并为所有数据集的ToG推理提示设置了5个示例。在知识图谱的选择上,使用了Freebase和Wikidata两个知识库,分别对应不同的数据集。实验中,作者还设置了束搜索的宽度N和最大搜索深度Dmax为3,以平衡搜索的广度和计算成本。

ToG 在多个数据集上与基于微调和基于提示的方法进行了比较。即使 ToG 是一种无需额外训练的基于提示的方法,它仍然在六个数据集上达到了新的最佳性能,并且在其他数据集上的性能也非常接近最佳状态。

对比了在CWQ和WebQSP数据集上,使用不同LLM模型(如ChatGPT、GPT-4和Llama2-70B-Chat)时ToG的性能。表格显示了不同模型大小对ToG性能的影响,以及ToG相对于传统提示方法(如CoT)的性能提升

作者还探讨了不同规模的大型语言模型(LLMs)对ToG算法性能的影响。实验使用了ChatGPT、GPT-4和Llama-2-70B-Chat三种模型,发现随着模型规模的增大(即参数数量的增加),ToG的性能得到了提升,显示出更强大的模型能够更有效地挖掘知识图谱的潜力。即使使用较小的模型,ToG的性能也显示出了超越大型模型如GPT-4的潜力,尤其是在特定场景下,这表明ToG算法能够有效利用不同规模的模型来实现成本效益和性能的平衡。

消融研究中,作者通过一系列控制实验来分析ToG算法中各个组成部分的贡献和重要性。这些实验包括改变搜索深度和宽度、使用不同的知识图谱、以及不同的提示设计和剪枝工具。结果表明,搜索深度和宽度对ToG性能有显著影响,而不同的知识图谱对性能的影响则各有不同。消融研究还发现,使用LLM作为剪枝工具比使用传统的文本相似度模型如BM25或SentenceBERT更有效,尽管这会增加计算成本。这些发现有助于理解ToG算法的内部工作机制,并为进一步优化提供了指导。

ToG在CWQ和WebQSP数据集上使用不同知识源(如Freebase和WikiData)时的性能。表格说明了不同知识源对ToG性能的影响
ToG在不同搜索深度(Dmax)和束搜索宽度(N)设置下的性能变

ToG 的一个有趣特性是其在 LLM 推理过程中提供了知识可追溯性和可更正性。这允许用户或专家发现并纠正 ToG 答案中的潜在错误或不确定性。ToG通过明确的推理路径,增强了推理过程的可解释性,使得用户或专家能够在发现潜在错误或不确定性时,回溯并检查推理路径,找出并纠正错误的知识三元组。例如,如果ToG给出了错误答案,可以通过分析推理路径来定位问题所在,然后利用LLM的知识库或专家反馈来修正知识图谱中的错误信息。这种能力不仅提升了LLM结合知识图谱时的推理准确性,而且也为知识图谱的构建和维护提供了一种成本效益更高的方法,即通过ToG算法本身来提高知识图谱的质量。

ToG如何通过显示明确的推理路径来进行知识可追溯性和可更正性。如果发现ToG答案中的潜在错误或不确定性,可以通过检查推理路径,找到并纠正错误的三元组

ToG算法框架通过将LLM作为参与KG推理的代理,为更好的决策提供了深度、负责任且高效的LLM推理。实验结果证明了ToG在减少LLM幻觉问题的同时,不依赖额外训练就能超越现有方法。 

论文链接:https://arxiv.org/pdf/2307.07697

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

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

相关文章

伦敦银交易平台价格的突破成不成功?这点很重要!

在伦敦银交易中,当银价出现突破的时候,也正是引起很多投资者关注的时候。一旦银价出现突破,很可能是新行情的开端。但是做过突破交易,有相关经验的朋友会发现,自己在伦敦银交易平台做突破的时候,也并不是每…

【QT】多元素控件

多元素控件 多元素控件1. List Widget2. Table Widget3. Tree Widget 多元素控件 Qt 中提供的多元素控件有: QListWidgetQListViewQTableWidgetQTableViewQTreeWidgetQTreeView xxWidget 和 xxView 之间的区别,以 QTableWidget 和 QTableView 为例: …

数据结构--二叉树相关题2(OJ)

1.比较对称二叉树(镜像二叉树) 二叉树相关题1中第二题的变形题。先去看1哦! 左子树和右子树比较 bool _isSymmetric(struct TreeNode* p, struct TreeNode* q) {if (p NULL && q NULL)return true;//如果两个都为空则是相等的if …

AI产品经理一篇读透知识图谱(万字深度好文)

1、知识图谱技术综述 知识图谱技术是人工智能技术的组成部分,其强大的语义处理和互联组织能力,为智能化信息应用提供了基础。以下内容涵盖了基本定义与架构、代表性知识图谱库、构建技术、开源库和典型应用。 引言 随着互联网的发展,网络数…

抖音短视频矩阵系统全攻略:从入门到精通

在数字化时代,短视频已成为连接用户与内容的桥梁。抖音作为短视频领域的领军平台,其影响力不容小觑。抖音短视频矩阵系统的构建和管理,对于希望在这个平台上取得成功的创作者和品牌来说至关重要。本文将提供一份全面的攻略,从入门…

Qt篇——QLabel固定尺寸的情况下让字体大小自适应并自动换行以完整显示

当文字较少时,默认字体大小为16;当文字内容较多时,自动换行并缩小字体。 举例: 字体较少时 字体较多时 思路: 设置自动换行属性 setWordWrap;通过QFontMetrics计算文字字体要多大、显示多少行才不会超过…

做外贸干一行爱一行,还是干一行厌一行?

记得年轻的时候,每每和同龄人不同行业聊天的时候,大家普遍的感觉就是:自己这一行太苦了,以后有孩子了干什么都不能让他做自己这一行。 和在银行上班的同学聊天,他们最大的苦恼是需要每天开发客户, 让客户在…

8、开发与大模型对话的独立语音设备

一、设计原理 该系统的核心部分主要由ESP32-WROVER开发板和ESP32-CAM摄像头、MAX9814麦克风放大器模块、MAX98357功放、声音传感器和SU-03T语音识别芯片构成。通过使用ESP32-WROVER开发板,用户可以实现通过语音与ai进行交互并进行人脸识别。 系统中,从外部输入电源中获取电源…

一手洞悉泰国slot线上游戏投放本土网盟CPI计费广告优势

一手洞悉泰国slot线上游戏投放本土网盟CPI计费广告优势 ​在泰国这个拥有独特文化背景和审美观念的国家,Slots游戏以其丰富的玩法和刺激的体验迅速赢得了玩家们的喜爱。然而,要在竞争激烈的市场中脱颖而出,有效的推广策略显得尤为重要。本土…

【Excel操作】Python Pandas判断Excel单元格中数值是否为空

判断Excel单元格中数值是为空,主要有下面两种方法: 1. pandas.isnull 2. pandas.isna判断Excel不为空,也有下面两种方法: 1. pandas.notna 2. pandas.notnull假设有这样一张Excel的表格 我们来识别出为空的单元格 import panda…

Python酷库之旅-第三方库Pandas(010)

目录 一、用法精讲 22、pandas.read_hdf函数 22-1、语法 22-2、参数 22-3、功能 22-4、返回值 22-5、说明 22-6、用法 22-6-1、数据准备 22-6-2、代码示例 22-6-3、结果输出 23、pandas.HDFStore.put方法 23-1、语法 23-2、参数 23-3、功能 23-4、返回值 23-5…

【Linux】线程(轻量级进程)

目录 一、线程概念 二、线程特性 2.1 进程更加轻量化 2.2 线程的优点 2.3 线程的缺点 2.4 线程的异常 2.5 线程用途 三、进程和线程 四、线程控制 4.1 包含线程的编译链接 4.2 创建线程 4.3 获得线程自身的ID 4.4 线程终止 4.5 线程等待 4.6 线程分离 4.6 线程…

恢复出厂设置后如何从 iPhone 恢复数据

在 iPhone 恢复出厂设置后,所有数据都会被删除,并且 iPhone 将恢复到原始出厂设置,这意味着您的所有 iPhone 数据,包括照片、视频、联系人和应用程序都将消失。 幸运的是,如果您有备份可以恢复,这并不一定…

处理训练和验证数据集

📚博客主页:knighthood2001 ✨公众号:认知up吧 (目前正在带领大家一起提升认知,感兴趣可以来围观一下) 🎃知识星球:【认知up吧|成长|副业】介绍 ❤️如遇文章付费,可先看…

名企面试必问30题(二十五)—— 你手上还有没有其他的offer?

1.思路 主要考察你的意向度、时长竞争力和薪资空间,如果回答有offer,需要准备面试官追问还在考虑的原因。 2.参考解答 方式一: “目前我还没有其他的 offer。我一直非常专注于寻找真正适合我,并且能让我充分发挥自身能力和潜力的工…

spring boot(学习笔记第十二课)

spring boot(学习笔记第十二课) Spring Security内存认证&#xff0c;自定义认证表单 学习内容&#xff1a; Spring Security内存认证自定义认证表单 1. Spring Security内存认证 首先开始最简单的模式&#xff0c;内存认证。 加入spring security的依赖。<dependency>…

JDBC的基本认识

前提 在了解和学习JDBC之前&#xff0c;大家 已经学习过 java语言 和数据库的基本知识了&#xff0c;今天这篇博客的核心&#xff0c;就是告诉大家 &#xff0c;jdbc 是连接java编译器和数据库&#xff0c;是使用java对数据库进行操作的。 正文 JDBC简介 概念 JDBC的本质 1…

【软件分享】气象绘图软件Panoply

气象是大气中的物理现象&#xff0c;气象要素则是表明大气物理状况的要素&#xff0c;主要的气象要素有降水、风、气压、湿度等。为了研究气象要素在空间上的分布和运动状况&#xff0c;我们需要对气象要素进行空间上进行可视化&#xff0c;这个时候就需要气象领域的一些的绘图…

机械设计师转大模型岗位,我是抓住风口的猪,真能起飞!

大模型&#xff08;如人工智能、机器学习和深度学习模型&#xff09;可以通过提供先进的模拟、优化和自动化工具来赋能机械设计师。这些工具可以帮助机械设计师更高效地完成设计任务&#xff0c;优化产品设计&#xff0c;并提高创新速度。以下是机械设计师如何转行大模型&#…

Monaco 多行提示的实现方式

AI 代码助手最近太火爆&#xff0c;国内有模型厂商都有代码助手&#xff0c;代码助手是个比较典型的 AI 应用&#xff0c;主要看前端&#xff0c;后端的模型都差不多&#xff0c;国内外都有专门的代码模型。现在都是集中在 VSCode 和 Idea的插件&#xff0c;本文通过 Monaco 实…