论文导读 | 大语言模型与知识图谱复杂逻辑推理

news2024/11/15 3:46:57

前 言

大语言模型,尤其是基于思维链提示词(Chain-of Thought Prompting)[1]的方法,在多种自然语言推理任务上取得了出色的表现,但不擅长解决比示例问题更难的推理问题上。本文首先介绍复杂推理的两个分解提示词方法,再进一步介绍将提示词方法应用于知识图谱复杂逻辑推理的工作。

文章一:“Least-to-Most Prompting”[2]


让大模型学会处理更复杂的推理

本文首先提出了Least-to-Most Prompting方法的动机,是人类智慧与机器学习之间的三个差异:

(1)面对一个新问题时,人类可以通过很少的示例中解决它,但机器通常需要大规模的标注语料;

(2)人类可以很清楚的阐释所做预测的隐含原因,但机器学习是一个黑盒子;

(3)人类可以解决比之前见过的问题更难的问题,但机器学习只能解决与之前相同难度的问题。

Google Brain在2022年提出Chain-of-Thought方法,利用few-shot prompting尝试填补人类智慧和机器学习之间的差距,但他不能解决比实例问题更难的问题。为此,该团队提出了Least-to-Most Prompting方法,该方法分为两个阶段:第一阶段将一个复杂问题分解为一个简单子问题序列;第二阶段按顺序解决子问题,且回答后续子问题会依赖前序子问题的答案。

下图给出了Least-to-Most Prompting方法解决一个数学问题的示例:

(1)将复杂问题分解为简单子问题;

(2)按序解决子问题,其中,回答第二个子问题时使用了第一个子问题的答案。

实验部分,论文通过符号操作(symbolic manipulation)、组合泛化(compositional generalization)和数学推理(math reasoning)三类任务来验证Least-to-Most Prompting的效果,并与Chain-of-Thought Prompting方法进行比较。

符号操作任务的输入是一个单词列表,对应输出是将这个单词列表中所有单词最后一个字母连接起来。如,“thinking machine”的输出为“ge”。

如图,Least-to-Most Prompting方法首先将一个长的单词序列转化为子序列,

再逐步解决每个子序列最后一个字母的连接问题,并且在解决更复杂的问题时,会根据前序简单问题的答案(如已知“think, machine” outputs “ke”)得到后序问题的结果。

Chain-of-Thought Prompting则与此不同,如下图,该方法不会顺序的解决子问题,而是每一次都将符号操作的问题作为一个独立的新问题给出具有推理过程的提示词示例。

在连接最后一个字母这类符号操作的任务中,随着不同单词量L的变化,Least-to-Most Prompting方法的准确率都远好于其他提示词方法,尤其是当单词量变大时,Chain-of-Thought方法准确率下降速度远大于Least-to-Most方法,这也说明Least-to-Most方法处理比示例更难的问题时更具有优势。

组合泛化任务是给出一个指令,将其翻译为一个动作序列。

下图给出了Least-to-Most Prompting方法第一步将复杂指令分解为简单指令的提示词示例,

和第二步解决每个简单指令给出的提示词序列。

在SCAN数据集上,Least-to-Most Prompting方法的准确率都远优于其他提示词方法,该方法仅需要少数的提示词示例,就可以解决同等或更难的推理问题,具有较好的泛化能力。

数学推理任务中,Least-to-Most Prompting也是先通过分解问题,将下图中的复杂问题分解为两个简单子问题,再依次解决这个两个子问题得到最终的答案。

在DROP和GSM8K数据集上,Least-to-Most Prompting的方法都具有较高的准确率,尤其是DROP数据集上效果提升更加明显。


文章二:”Successive Prompting”[3]
连续提示词解决复杂任务

Successive Prompting工作与Least-to-Most Prompting是同时期的工作,他们的核心思想类似,都是将复杂的问题先分解为简单的问题再分别解决。但Successive Prompting方法并不是在一开始就将复杂问题分解为多个子问题,而是每一次都分解出下一个要解决的子问题,让大语言模型去回答该子问题。再将复杂问题和上一个问题的答案一起输入,去分解下一个要解决的子问题,并进行回答。一直重复上述过程,直到大模型给出没有问题需要回答,最后一个子问题的答案就是复杂问题的答案。

Successive Prompting方法可以看做是一个迭代的提示词方法,下图给出了该方法每一个迭代过程,以及没有其他问题后得到最终的过程示例。

该方法还引入了一些数据集外的prompt示例的构造方式与一些符号化的构造方式,最终,在DROP数据集上取得了较高的准确率。

此外,论文的实验部分还比较了Prompting方法与Fine-tuning方法的效果,分别在问题分解部分和问题回答部分使用In-Context Prompting方法和Fine-tuning方法,我们可以看到Fine-tuning方法均带来了准确率提升。且在问题分解部分(QD)使用Fine-tuning会带来更大幅提升,这说明大预言模型“具有”回答简单的子问题的能力,问题分解是限制复杂推理准确率的“瓶颈”。


文章三:利用大预言模型解决知识图谱中的复杂逻辑推理问题[4]
 

知识图谱的复杂逻辑查询通常指一阶逻辑查询(First-Order Logical Queries),即由合取(conjunction, ∧),析取(disjunctions, ∨),存在量词(existential quantifiers, ∃)和非(negation, ¬)操作构成的逻辑语句。

在之前的工作中,复杂逻辑查询通常使用图表达学习的方法寻找答案,将节点、边和查询图都表达为低维向量空间中的某种形状,距离查询图的表达最近的节点即为查询的答案。但这类方法有以下三个缺点:一是对查询图的形式高度依赖,没有在训练集中出现过的查询图形式很难推断出正确的答案;二是泛化能力差,在一个图上训练的表达无法泛化到其他图;三是基于图表达的方法要求图的规模不能太大,而且对新加入的节点无法学习其表达。

因此,本文提出了一种基于大语言模型来回答知识图谱上一阶逻辑查询的方法LARK(Language-guided Abstract Reasoning over Knowledge graphs)。LARK通过查询中的实体和关系找到知识图谱中的相关子图作为上下文,利用大预言模型中农的prompting方法对分解后的query进行解答,具体的流程如下图。

首先,Query Abstraction将所有的实体和关系都用ID来表示,以提高不同图谱和查询上的泛化能力。Neighborhood Retrieval将所有查询图中出现实体和关系的k跳内子图检索出来,作为上下文。

下一步,Logical Chain Decomposition将逻辑查询分解为一个子查询序列,利用k跳内的子图作为上下文提示词,按序回答每一个分解的子问题,最终得到查询的答案。

实验部分分为以下几个部分,分别解答下列问题。

问题1:LARK在复杂推理任务上的有效性

如下图,在大部分query形式中,LARK都是效果最好的方法。

问题2:将查询图链式分解的优势

由上图,我们可以看到跳数多的查询下,LARK带来的效果提升更为明显。

问题3:大预言模型的规模对效果的影响

毋庸置疑,在所有的查询形式下,参数量更大的语言模型都会得到更好的表现。

问题4:大预言模型Token数对效果的影响

在实验中,T5模型的token限制设置为2048,GPT-3.5的token限制为4096,实验选取了上下文token数大于2048的查询进行测试,由于模型学到的上下文更加丰富,这些查询使用更大token数的语言模型会得到更好的效果。


 

总 结

利用大语言模型解决自然语言复杂推理问题是近期的热点问题,将复杂问题拆解为易得到正确答案的子问题是其中的关键问题之一。知识图谱的逻辑查询图天然的有向无环图形式为复杂问题精准拆解为具有拓扑序的简单子问题序列带来了天然的优势。将大语言模型的推理能力与知识图谱的结构化知识融合,带来更好的推理能力是未来可能的研究方向。

参考文献

[1] J. Wei, X. Wang, D. Schuurmans, et al. (2022). Chain-of-thought prompting elicits reasoning in large language models. Advances in Neural Information Processing Systems.

[2] D. Zhou, N. Schärli, L. Hou, et al. (2023). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models. The Eleventh International Conference on Learning Representations.

[3] D. Dua, S. Gupta, S. Singh, et al. (2022). Successive Prompting for Decomposing Complex Questions. Conference on Empirical Methods in Natural Language Processing.

[4] N. Choudhary, C. Reddy. (2023). Complex Logical Reasoning over Knowledge Graphs using Large Language Models. Arxiv.

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

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

相关文章

滚珠螺杆在航天工业领域中的重要性

滚珠螺杆是重要的航天工业配件之一,在航天工业领域中具有非常重要的地位和作用。 首先,滚珠螺杆作为一种高精度、高刚度的传动元件,能够提供准确的传动和定位精度,从而保证航天器的可靠性和性能。航天器在飞行过程中需要精确控制其…

【STM32】W25Q64 SPI(串行外设接口)

一、SPI通信 0.IIC与SPI的优缺点 https://blog.csdn.net/weixin_44575952/article/details/124182011 1.SPI介绍 同步(有时钟线),高速,全双工(数据发送和数据接收各占一条线) 1)SCK:时钟线--&…

软件数据采集使用代理IP的好处用哪些?

随着互联网的快速发展,越来越多的企业开始通过软件数据采集来获取目标客户的信息。然而,在进行数据采集的过程中,由于不同网站的访问规则和限制,经常会遇到一些问题。这时候,使用代理IP就可以很好地解决这些问题。下面…

震惊!这个网站几分钟就能制作出电子画册

一直以来,制作电子画册都是一项繁琐且耗时的任务,需要专业的设计技能和大量的时间。 但是现在,有了这个神奇的网站,FLBOOK在线制作电子杂志平台。一切都变得如此简单!它不仅提供了丰富的模板和素材,还支持在…

封装实现unordered_map和set

什么是哈希思想 首先哈希是一个关联式容器,各个数据之间是具有关系的,和vector那些序列式容器不一样。 首先unordered_map中的迭代器是一个单向的迭代器。 其次在unorderede_map和set中是无序的(因为底层不是红黑树,而是哈希了…

接口自动化项目落地之HTTPBin网站

原文:https://www.cnblogs.com/df888/p/16011061.html 接口自动化项目落地系列 找个开源网站或开源项目,用tep实现整套pytest接口自动化项目落地,归档到电子书,作为tep完整教程的项目篇一部分。自从tep完整教程发布以后&#…

【广州华锐互动】VR虚拟现实技术助力太空探险:穿越时空,探索宇宙奥秘

随着科技的不断发展,虚拟现实(VR)技术已经逐渐走进我们的生活。在教育领域,VR技术的应用也日益广泛,为学生提供了更加生动、直观的学习体验。本文将以利用VR开展太空探险学习为主题,探讨如何将这一先进技术…

3D 纹理渲染如何帮助设计师有效、清晰地表达设计理念

在线工具推荐: 三维数字孪生场景工具 - GLTF/GLB在线编辑器 - Three.js AI自动纹理化开发 - YOLO 虚幻合成数据生成器 - 3D模型在线转换 - 3D模型预览图生成服务 定义 3D 渲染可视化及其用途 3D 可视化是一种艺术形式。这是一个机会。这是进步。借助 3D 纹理…

解决企业图纸管理混乱的四大方法

随着企业业务的快速发展,图纸作为企业生产过程中不可或缺的一部分,其管理也变得越来越重要。然而,很多企业在图纸管理方面存在很多问题,其中最普遍的问题就是图纸混乱。那么,如何解决企业图纸混乱的问题呢?…

我买了个AI员工,凌晨5点喊我起床,搞了篇全网40万+的爆款

大家好我是二狗,是夕小瑶科技说编辑部的一名作者。 前天早上凌晨5点左右的时候,我被尿憋醒了,起来上了个厕所。 就在我准备躺下接着睡的时候,顺手看了一眼手机。 咦?屏幕上弹出了一条邮件📮推送,是我们编…

系列八、Callable接口

一、Callable vs Runnable (1)Callable接口有返回值,Runnable接口无返回值; (2)Callable接口会抛异常,Runnable接口不会抛异常; (3)落地方法不一样&#xff0…

JOSEF 同步检查继电器 JT-1 额定电压100V 柜内固定安装,板前接线

系列型号 JT-1同步检查继电器; DT-1同步检查继电器; JT-3同步检查继电器; DT-3同步检查继电器; DT-1/200同步检查继电器; DT-1/160同步检查继电器; DT-1/130同步检查继电器; DT-1/120同步检查继电器; DT-1/90…

Sentinel 系统规则 (SystemRule)

Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 SpringbootDubboNacos 集成 Sentinel&…

js的高级

js js 的数组数组是什么为什么要使用数组数组的简单使用数组是按照顺序保存的,所以每个数据都有自己的编号数组的取值方法遍历数组数组的元素求和数组的最大值和最小值数组的增删改查操作数组的增加数组的筛选数组的删除js的函数 案例: 九九乘法表 数组…

在电脑PC端可以分类记笔记的软件选择哪个?

选择用电脑来记录笔记是比较便捷的,电脑屏幕比较大,操作起来比较便捷。但是很多人用电脑来记录笔记,通常会使用电脑上自带的记事本、文档记事工具来整合笔记,打开文档记事本类的软件,密密麻麻的文字呈现出来。 选择用…

社交媒体驱动的独立站流量增长:YouTube引流技巧

随着互联网的不断发展,视频内容在网上变得越来越受欢迎。YouTube作为世界上最大的视频分享平台之一,成为了吸引流量和观众的理想场所。对于跨境卖家来说,利用YouTube来增加独立站流量是一种有效的策略,可以增加知名度、吸引潜在客…

共享文件夹中无法打开文件怎么办

近年来,共享文件夹在企业和个人之间的使用越来越普遍。然而,许多用户常常会遇到一些问题,例如共享盘里的文件有的打不开。在本文中,我们将深入探讨这个问题,并为您提供解决方法。 首先,导致共享文件夹中文…

NX二次开发UF_CAM_ask_doc_template_name 函数介绍

文章作者:里海 来源网站:里海NX二次开发3000例专栏 UF_CAM_ask_doc_template_name Defined in: uf_cam.h int UF_CAM_ask_doc_template_name(const char * * doc_template_filename ) overview 概述 This function provides the name of the file th…

【JS】BMI身体质量指数计算工具

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍BMI身体质量指数计算工具的JS实现。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次…

【dc-dc】世微 电动车摩托车灯 5-80V 1.2A 一切二降压恒流驱动器AP2915

产品描述 AP2915 是一款可以一路灯串切换两路灯串的降压恒流驱动器,高效率、外围简单、内置功率管,适用于5-80V 输入的高精度降压 LED 恒流驱动芯片。内置功率管输出最大功率可达 12W,最大电流 1.2A。AP2915 一路灯亮切换两路灯亮,其中一路灯…