大语言模型可以处理图问题吗?

为了探讨大型语言模型(LLM)在处理自然语言描述的图结构问题上的能力,提出了NLGraph基准测试集,包含29,370个涉及不同复杂度的图推理任务。这些任务从简单的连通性和最短路径到复杂的最大流和图神经网络模拟。评估结果显示,LLM具备初步的图推理能力,但其高级提示和上下文学习在复杂问题上的优势减弱,且模型容易受问题设置中虚假相关性的影响。为改进LLM解决自然语言图问题的能力,研究者提出了图形提示和算法提示两种指令导向的方法,这些方法在多个任务上显著提升了性能,不过对于更复杂的图推理任务,LLM的表现仍有待提升,这仍然是一个开放的研究问题。

1 NLGraph数据集

NLGraph是一个专门为评估大型语言模型(LLM)在解决基于图结构的问题方面能力而设计的基准测试集。NLGraph包含了总共29,370个问题,覆盖了八个不同复杂度的图推理任务,从直观的简单任务如连通性、环路检测和最短路径,到更为复杂的任务,如拓扑排序、最大流、二分图匹配、哈密顿路径以及模拟图神经网络。为了控制问题难度,NLGraph中的图大小、网络稀疏性、数值范围等因素都被考虑在内,并且每个不同的图推理任务都设计了易、中、难三个子集,以支持更精细的分析。
在这里插入图片描述

通过NLGraph评估大语言模型

(1)LLM确实具有初步的图推理能力,在简单的图推理任务上,如连通性、环路和最短路径,LLM的表现比随机基线高出37.33%至57.82%,并且在CoT提示下,它们能生成合理且准确的中间步骤,进一步提高任务性能。

(2)高级提示方法在复杂问题上的益处会减少。CoT、least-to-most和self-consistency等方法虽然在简单任务上提高了LLM的图推理能力,但在像拓扑排序和哈密顿路径这样的复杂问题上,这些方法的效果有限,有时甚至适得其反。

2 两种新的提示方法

(1)图形提示(Build-a-Graph Prompting)

目的:该方法鼓励LLM在解决特定问题之前,将文本描述的图映射到概念化的空间中,即在心理上构建出图的结构。

实施方式:在给定图形的文字描述后,附加一句引导语:“让我们先构建一个包含节点和边的图。”这种提示为LLM提供了消化图形信息的机会,帮助它们将信息映射到概念空间,为即将到来的问题查询做准备。

效果:实验显示,Build-a-Graph提示能够显著提升LLM在处理较简单图推理任务时的表现,如环路检测和最短路径,提升了3.07%到16.85%的性能。

(2)算法提示(Algorithmic Prompting)

目的:为了生成合理和准确的解决方案,此方法促使LLM回顾并复述与给定任务相关的算法,以便在实际解决问题前对算法有总体理解。

实施方式:在上下文示例前添加算法细节,例如对于最短路径任务,会加上“我们可以使用深度优先搜索(DFS)算法…”这样的开头。对于其他图推理任务,同样在提示中提供了相应的算法描述。

效果:算法提示同样在相对容易的图推理任务上提高了LLM的表现,但面对更复杂的任务,如哈密顿路径,这两种基于自然语言的指令效果有限。

在这里插入图片描述

3 结语

论文提出了一种名为NLGraph的自然语言图解题基准,旨在评估大型语言模型在解决图形结构问题上的能力,并通过引入构建图和算法提示的方法,显著提高了模型在多种图推理任务上的表现,但复杂的图问题推理仍待进一步研究。

论文题目:Can Language Models Solve Graph Problems in Natural Language?

论文链接:https://arxiv.org/abs/2305.10037

PS: 欢迎大家扫码关注公众号_,我们一起在AI的世界中探索前行,期待共同进步!
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C语言初阶】探索编程基础:深入理解分支与循环语句的奥秘

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C语言 “ 登神长阶 ” 🤡往期回顾🤡:C语言入门 🌹🌹期待您的关注 🌹🌹 ❀分支与循环语句 📒1.…

uniapp-day2

目录 1.在uniapp中显示视图有三种方式 2.scss和less的区别? 1. 语法差异 2. 变量和常量 3. 嵌套规则 4. 混合(Mixins) 5. 继承和扩展 6. 注释 7. 导入其他文件 8. 生态系统和社区支持 9. 其他特性 3.新建页面:要在page…

Transformer模型:scaled self-attention mask实现

前言 视频链接:20、Transformer模型Decoder原理精讲及其PyTorch逐行实现_哔哩哔哩_bilibili 文章链接:Transformer模型:WordEmbedding实现-CSDN博客 Transformer模型:Postion Embedding实现-CSDN博客 Transformer模型&#xff…

一文读懂近场通信NFC

近场通信(Near Field Communication,简称NFC),NFC是在非接触式射频识别(RFID)技术的基础上,结合无线互连技术研发而成. 是一种新兴的技术,使用了NFC技术的设备(例如移动电话)可以在彼…

基于vite的vue脚手架工具整合:ts、jsx、eslint、prettier、stylelint、tailwind...

为了帮助vue新手更高效的学习vue3的基础知识、组件开发以及项目方案整合,小卷给大家整理了一个10分钟搞定《基于vite的vue脚手架工具整合》的教程。所有工具都是目前最新的版本,实践和调试过,没有一行多余的配置。

数据库基本查询(表的增删查改)

一、增加 1、添加信息 insert 语法 insert into table_name (列名) values (列数据1,列数据2,列数据3...) 若插入时主键或唯一键冲突就无法插入。 但如果我们就是要修改一列信息也可以用insert insert into table_name (列名) values (列数据1&am…

【JVM基础03】——组成-详细介绍下Java中的堆

目录 1- 引言:堆1-1 堆是什么?(What)1-2 为什么用堆?堆的作用 (Why) 2- ⭐核心:堆的原理(How)2-1 堆的划分2-2 Java 7 与 Java 8 的堆区别 3- 小结:3-1 详细介绍下Java的堆?3-2 JVM …

FPGA:基于复旦微FMQL10S400 /FMQL20S400 国产化核心板

复旦微电子是国内集成电路设计行业的领军企业之一,早在2000年就在香港创业板上市,成为行业内首家上市公司。公司的RFID芯片、智能卡芯片、EEPROM、智能电表MCU等多种产品在市场上的占有率位居行业前列。 今天介绍的是搭载复旦微 FMQL10S400/FMQL20S400的…

Python从0到100(三十九):数据提取之正则(文末免费送书)

前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…

前端框架学习之 搭建vue2的环境 书写案例并分析

目录 搭建vue的环境 Hello小案例 分析案例 搭建vue的环境 官方指南假设你已经了解关于HTML CSS 和JavaScript的中级知识 如果你刚开始学习前端开发 将框架作为你的第一步可能不是最好的主意 掌握好基础知识再来吧 之前有其他框架的使用经验会有帮助 但这不是必需的 最…

基于双向长短时记忆神经网络(Bi-LSTM)的数据回归预测

代码原理 1.循环神经网络 循环神经网络(Recurrent Neural Network, RNN) 是深度学习领域一类具有内部自连接的神经网络能够学习复杂的矢量到矢量的映射。一个简单的循环神经网络结构,其结构包含三部分,分别为输入层、隐藏层和输出层,如图1所…

元器件基础学习笔记——磁珠

一、磁珠的作用及构造 1.1 磁珠的作用 磁珠是一种用于抑制高频噪声的被动电子组件,通常由铁氧体材料制成,这种材料具有高电阻率和高磁导率,使其能够在高频下有效地将干扰信号以热能的形式消耗掉。在电路设计中,磁珠被广泛用于信号…

红豆Cat 1开源|项目四: 从0-1设计一款TCP版本DTU产品的软硬件全过程

TCP版本DTU产品项目概述 远程终端单元( Remote Terminal Unit,DTU),一种针对通信距离较长和工业现场环境恶劣而设计的具有模块化结构的、特殊的计算机测控单元,它将末端检测仪表和执行机构与远程控制中心相连接。 产品定义&功能描述 硬件…

同时用到,网页,java程序,数据库的web小应用

具体实现功能:通过网页传输添加用户的请求,需要通过JDBC来向 MySql 添加一个用户数据 第一步,部署所有需要用到的工具 IDEA(2021.1),Tomcat(9或10),谷歌浏览器,MySql,jdk(17) 第二步,创建java项目,提前部…

Celery 是一个简单、灵活且可靠的分布式系统——python库

目录 引言 Celery 是什么? 安装 Celery 配置 Celery 创建任务 运行 Celery Worker 调用任务 更多示例 示例 1:发送电子邮件 示例 2:图片处理 示例 3:数据处理 结论 引言 今天我们来分享一个超强的 python 库&#xf…

微信小程序下载

首先进入微信网站链接:微信公众平台 (qq.com) 下载开发工具: 下载 / 稳定版更新日志 (qq.com) 下载稳定版

AV1技术学习:Translational Motion Compensation

编码块根据运动矢量在参考帧中找到相应的预测块,如下图所示,当前块的左上角的位置为(x0, y0),在参考帧中找到同样位置(x0, y0)的块,根据运动矢量移动到目标参考块(左上角位置为:(x1, y1))。 AV1…

C语言之带环链表

带环链表是数据结构链表中的一个经典问题,这里我们研究该问题分为两个方向:链表是否带环、返回链表的入环节点。 下面我们通过两个题目来分析带环链表: 1.判断链表是否带环 141. 环形链表 - 力扣(LeetCode) 那么我们…

# Redis 入门到精通(四)-- linux 环境安装 redis

Redis 入门到精通(四)-- linux 环境安装 redis 一、linux 环境安装 redis – 基于 Linux 安装 redis 1、基于 Center 0S7 或者 unbunt-18.04 安装 Redis 1)下载安装包wget http://download.redis.io/releases/redis-?.?.?.tar.gz 如&…

Unity最新第三方开源插件《Stateful Component》管理中大型项目MonoBehaviour各种序列化字段 ,的高级解决方案

上文提到了UIState, ObjectRefactor等,还提到了远古的NGUI, KBEngine-UI等 这个算是比较新的解决方法吧,但是抽象出来,问题还是这些个问题 所以你就说做游戏是不是先要解决这些问题? 而不是高大上的UiImage,DoozyUI等 Mono管理引用基本用法 ① 添加Stateful Component …