【论文阅读】GPT4Graph: Can Large Language Models Understand Graph Structured Data?

文章目录

  • 0、基本介绍
  • 1、研究动机
  • 2、准备
    • 2.1、图挖掘任务
    • 2.2、图描述语言(GDL)
  • 3、使用LLM进行图理解流程
    • 3.1、手动提示
    • 3.2、自提示
  • 4、图理解基准
    • 4.1、结构理解任务
    • 4.1、语义理解任务
  • 5、数据搜集
    • 5.1、结构理解任务
    • 5.2、语义理解任务
  • 6、实验
    • 6.1、实验设置
    • 6.2、结构理解任务的结果
      • 6.2.1、输入设计对最终结果有重要影响。
      • 6.2.2、角色转换通常会提高绩效
      • 6.2.3、例子对图形理解有影响
      • 6.2.4、外部知识的地位很重要。
    • 6.3、语义理解任务的结果
      • 6.3.1、结点分类的结果
      • 6.3.2、图分类的结果
  • 7、讨论

0、基本介绍

  • 作者:Jiayan Guo, Lun Du, Hengyu Liu
  • 文章链接:GPT4Graph: Can Large Language Models Understand Graph Structured Data? An Empirical Evaluation and Benchmarking
  • 代码链接:GPT4Graph: Can Large Language Models Understand Graph Structured Data? An Empirical Evaluation and Benchmarking

通过使用自然语言描述图并向LLM提供文本描述,直接应用LLM来解决图问题,但是忽视了重要的结构信息。

1、研究动机

 大语言模型,例如ChatGPT,已经成为生成式人工智能(AGI)不可或缺的一部分,已经在自然语言处理任务上表现出优秀的性能,但是,图数据,他是生活中普遍存在同时也是AGI重要的组成部分,关于LLM在图结构数据上的性能的研究却很少。

 本文中,通过实验评估LLM在理解图结构数据的能力——在各种各样的结构和语义相关的任务上评估LLM在图结构数据理解的能力。目标是建立一个全面的比较,以显示LLM在理解图结构数据的能力。

生成式人工智能是一种可以自主产生文字、图像、音乐、视频等多种形式的人工智能,它可以模仿人类的创造力和想象力,甚至超越人类的能力。

2、准备

2.1、图挖掘任务

 图挖掘任务是指从图结构化数据中提取有价值和可操作信息的过程。一些图挖掘任务包括节点分类、链接预测和图分类。

2.2、图描述语言(GDL)

 图描述语言是一种用于定义或表示图结构化数据的形式语言或符号,它为描述图中的元素和关系提供了标准化的语法和语义。图形描述语言使图形的创建、操作和解释能够以一致的和机器可读的方式进行。GRL提供了一种定义图结构、指定节点和边属性以及对图执行查询和操作的方法。例如,图可以由边列表或邻接列表表示,从而提供关于图的结构的两个不同的视角。边列表根据其各个连接来定义图,而邻接列表根据其相邻节点来描述每个节点。

3、使用LLM进行图理解流程

 对于图数据,首先生成他们的图描述语言(GDL),然后使用图提示处理程序将用户查询和GDL结合形成LLM的输入,LLM执行推理并为用户生成答案。在推理期间,LLM可以生成中间输出,该中间输出应当由提示处理器处理以形成到LLM的新输入。

使用LLM进行图理解的框架
在这里插入图片描述

3.1、手动提示

 图问题上的手动提示是利用相似的图表示提示大语言模型(LLM)以获得需要的输出。

 它需要将传统得文本输入转化为图表征(GDL)。通过使用这些图形式数据作为输入,可以向LLM提供有关图全面的和丰富的上下文信息。

 其他手动提示方法包括增加格式解释,使LLM更好地理解格式;增加作用提示,使LLM更好地理解特定任务。此外,还可以改变问题和外部输入之间的输入顺序,并添加示例来利用上下文学习能力。最近新提出的思想改变提示也可以用于增强LLM的多步推理能力。

3.2、自提示

 由于给定图有时包含较少的信息或冗余的信息,LLM可以通过自提示从输入中获得更多的上下文信息或消除冗余信息。因为图数据有复杂的结构和关系,为LLM生成有效的用于图任务的提示仍然是一个挑战。

但仍有几种方法可用于图任务上的自提示:
(1)上下文总结
LM可以通过提取关键特征(如重要节点、边或子图)来生成给定图的摘要。生成的摘要可以作为后续图形相关问题或任务的提示。此外,基于节点和边等重要元素,我们可以使用LLM来总结它们的上下文(邻域)信息,以形成邻域感知的文本特征。
(2)形式说明
 有时候人类很难给予输入图形格式的完整描述。为了使LLM获得更多的输入图的上下文信息,我们可以让LLM自己生成格式解释。

 通过利用这些self-prompting策略,LLM可以促进对图的理解和操作,促进图形任务上的推理和学习。

self-prompting图解:
在这里插入图片描述

4、图理解基准

4.1、结构理解任务

(1)图大小检测
 闻如其名,这个任务是来评估LLM是否能够辨别所给图大小的能力,其中大小是指图中存在的结点和边的数量。LLM应该准确地确定这些指标。
 尽管这是对LLM提出的一个挑战,但是结点和边的数量至关重要,它能使LLM能够将相应的信息置于上下文中。
(2)度检测

 这项任务评估LLM有没有能力理解图中结点的上下文相关性。结点的度,是结点重要性和其连接稀疏性的指示器——这是任务的关键。
基于图文本和补充信息,LLM必须弄清楚所给结点的邻居数量。节点的度是各种中心性度量(如度中心性和聚类系数)的基础,强调了任务在理解节点局部结构方面的重要性。

(3)边检测

 基于度检测的基础上,该任务进一步探索了LLM对结点局部结构的理解。模型必须能够识别给定结点的相邻结点,这对于九三距离和识别连接模式等复杂的图挖掘活动至关重要。这项任务的掌握意味着LLM的先进的图形分析所需的基本方面的理解。

(4)属性检索
 此任务测试LLM检索有关节点的相关详细信息的能力,例如节点的属性,这些属性在定义其特征时起着关键作用。例如,LLM可能需要检索特定属性,如论文标题或作者性别。这项任务的成功突出了LLM理解和检索基本节点相关信息的能力。
(5)直径计算
 这个任务要求LLM计算图的直径。直径是任何两个节点之间最长的最短路径,它为图的整体连通性和可达性提供了有价值的见解。直径的成功计算展示了LLM对图的结构的把握及其分析图的总体特征的能力。
(6)聚类系数计算
 在这个任务中,LLM需要计算图的聚类系数,这是一个衡量图中节点聚集在一起的程度的指标。因此,该任务提供了一种评估LLM对本地连接模式的理解以及它评估图内聚类程度的能力。此外,还测试了LLM的推理能力,因为计算CC有几个步骤

4.1、语义理解任务

(1)知识图谱问题分类
 这个任务衡量LLM在回答与知识图有关的问题方面的熟练程度。知识图将数据组织成结构化格式,体现实体,属性和关系。任务的成功取决于LLM推理和理解底层图形结构以提供准确答案的能力,从而展示其语义理解以及从KG中导航和提取信息的能力。

(2)图查询语言生成。

 该任务测量LLM生成满足用户需求的图查询语言的能力。这些语言,包括GQL和Cypher,允许用户从图形数据库中提取特定的信息。查询响应用户的信息需求,LLM展示了其对用户意图的理解和查询公式的精确性。

(3)结点分类
 该任务要求LLM基于节点的属性或结构特征对图中的节点进行分类。LLM给出了标记的节点示例及其相关类,并且它必须通过应用从标记数据中学习的模式来正确预测未见过节点的类。节点分类的成功展示了LLM从示例中概括并应用其对节点属性和结构的理解来准确分类新节点的能力。

(4)图分类。
 此任务将节点分类的范围扩展到包含整个图。LLM给出了图,每个图都标记有特定的类别或类,并且期望通过使用从标记的示例中学习的模式来准确地对未见过的图进行分类。该任务评估LLM整体理解和应用图的结构和基于属性的特征的能力,从而实现对新图的准确分类。

5、数据搜集

5.1、结构理解任务

 选择了两个著名的引文网络:obgn-arxiv and Aminer . 从每个图中随机抽取100个初始种子节点,并应用深度优先搜索(DFS)算法对以这些节点为中心的2跳子图进行采样。每个子图由大约10-20个节点和40条边组成

 为了评估语言模型的性能,我们在这些子图中分配了以下任务:度检测,属性检索,聚类,大小检测和直径估计。

 对于前三个任务,模型为子图中的每个节点提供结果。然而,对于大小检测和直径估计,我们计算每个整个子图的结果。我们处理的另一个任务是边缘检测。在这里,我们将图中的每条边视为正样本,并随机选择图中不存在的边作为负样本。然后,我们要求语言模型据子图所提供的信息,确定给定的边是否属于子图。

5.2、语义理解任务

 两个广泛使用的数据集:Wiki,一个时间知识图,和MetaQA,一个多跳电影知识库。
对于节点分类,我们利用了ogbn-arxiv数据集中可用的原始标签。我们从测试集中随机抽取了100个节点,并让语言模型根据节点的标题、摘要和来自其k-hop邻居的文本信息等信息来预测它们的标签。
 此外,探索了使用MetaQA数据集生成图形查询语言。我们根据该数据集构建了一个图形库,并提示语言模型生成相应的图查询语言(GQL),如Cypher。然后使用Neo4j引擎执行生成的GQL语句。通过这些实验,我们旨在评估语言模型在与图结构数据的结构和语义理解相关的各种任务中的性能。

6、实验

6.1、实验设置

 评估了最近占主导地位的LLM模型InstructGPT-3,使用版本text-davinci-001、text-davinci-002和text-davinci 003。除非另有说明,在所有实验中使用text-davinci-003。温度设置为0.3以控制输出的变化。

不同任务的输入设置

在这里插入图片描述

6.2、结构理解任务的结果

6.2.1、输入设计对最终结果有重要影响。

 输入的设计在确定模型的性能中起着至关重要的作用。通过仔细考虑输入数据的安排和组织,我们可以极大地影响模型理解手头任务的结构方面的能力。微调输入设计可以进一步提升性能并对结构更准确的理解。

6.2.2、角色转换通常会提高绩效

 研究结果表明,结和角色提示技术一般会提高模型的性能在结构理解任务。通过明确引导模型关注图中的特定角色或关系,我们使其能够提取更有意义的见解并做出更准确的预测。角色提示是一种有效的机制,可以捕捉图结构的细微差别,并利用这些信息来提高理解。

6.2.3、例子对图形理解有影响

 类似于以前的研究,表明在大型语言模型(LLM)中的例子的效用,发现,例子在图形理解场景中也有一定程度的积极影响。然而,忽略特定的例子和依赖零射击学习方法有时会产生更强大的结果。这种现象可以归因于图本身存在丰富的固有信息,这使得模型能够在不需要明确示例的情况下掌握结构的复杂性。在某些情况下,示例可能会引入噪声、偏差或不完整的信息,从而阻碍对模型的整体理解。

6.2.4、外部知识的地位很重要。

 我们研究了外部知识对图理解的影响,如问题,陈述和例子。比较外部知识在图输入之前或之后的放置,我们观察到将外部知识放置在图之前通常会导致更好的性能。将外部知识放在图之前提供了额外的上下文信息,使模型能够更好地理解它需要处理的特定图。相反,将图定位在外部知识之后可能会阻碍模型有效利用相关信息的能力,从而可能降低性能。

 这些发现表明了深思熟虑的输入设计的重要性,角色提示技术的潜在好处,在图形理解的例子的有限影响,以及定位外部知识的最佳性能的意义。了解这些因素可以指导未来的研究,并为结构理解任务开发更有效的模型提供信息。

6.3、语义理解任务的结果

6.3.1、结点分类的结果

 对于OGBN-ARXIV上的节点分类,“oneshot + 1-hop邻域上下文摘要”模型在所有变体中具有最高的准确度,为60.00。值得注意的是,增加了2跳邻域上下文摘要(“2-hop”)的模型显示出比1跳模型更好的性能,这表明扩大上下文范围有助于提供有价值的信息。此外,该模型的表现优于思维改变(cot)模型,这表明cot策略在这项任务中可能没有那么有效。这些结果表明,潜在的改进领域,特别是对于“零样本-cot”和“改变顺序”的战略,这并不一定提高性能。尽管如此,实验提供了有价值的见解不同的策略在节点分类任务的性能。

6.3.2、图分类的结果

 结果表明,自增广对提高GC的性能是有效的。实验结果表明,self-format explanation 和 self-summarization等自增强技术可以丰富原始图的上下文,使LLM更容易完成任务。

7、讨论

  • 需要更多的研究来了解不同的输入设计和角色激励技术如何进一步提高绩效。
  • 鼓励研究人员研究为什么例子对于图理解不那么有效,并探索利用图中嵌入的丰富信息的替代策略
  • 外部知识配置的作用值得进一步探讨
  • 开发新的图增强方法来提高语义理解任务的性能。

 应该致力于将基于图的信息集成到LLM中,探索不同类型的图结构,并将LLM应用于其他领域。在未来,我们也可以考虑将LLM作为控制外部工具的使用,以更好地处理图结构化数据。

 未来的研究应该集中在开发和改进将图结构信息编码为大型语言模型可以有效理解和操作的格式的方法

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

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

相关文章

史上最全EasyExcel

一、EasyExcel介绍 1、数据导入:减轻录入工作量 2、数据导出:统计信息归档 3、数据传输:异构系统之间数据传输 二、EasyExcel特点 Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内…

以后要做GIS开发的话是学GIS专业还是学计算机专业好一些?

GIS开发其实严格来说分为前后端以及底层开发。不同的方向,代表了不同的开发语言。 所以大家首先要了解自己具体要做的岗位类型是什么,其次才是选择专业侧重点。 但是严格来说,选择某个专业,到就业方向这个过程,并不是…

el-table样式错乱解决方案

bug: 图片的椭圆框住的地方,在页面放大缩小之后就对不齐了。 原因: 主要原因是当你对页面放大缩小的时候,页面进行了重构,页面的宽高及样式进行了变化,但是在这个更新的过程中,table的反应并没…

Redis: Redis介绍

文章目录 一、redis介绍二、通用的命令三、数据结构1、字符串类型(String)(1)介绍(2)常用命令(3)数据结构 2、列表(List)(1)介绍&…

python实操之网络爬虫介绍

一、什么是网络爬虫 网络爬虫,也可以叫做网络数据采集更容易理解。它是指通过编程向网络服务器(web)请求数据(HTML表单),然后解析HTML,提取出自己想要的数据。 它包括了根据url获取HTML数据、解…

R.swift SwiftGen 资源使用指南

R.swift 和 SwiftGen 资源转换使用指南 R.swift (原始代码会打包到项目?) Pod platform :ios, 12.0 target LBtest do# Comment the next line if you dont want to use dynamic frameworksuse_frameworks!pod R.swift # pod SwiftGen, ~&g…

(二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真

一、创建工作空间 mkdir catkin_ws cd catkin_ws mkdir src cd src 二、下载wpr_simulation源码 git clone https://github.com/6-robot/wpr_simulation.git 三、编译 ~/catkin_make 目录下catkin_makesource devel/setup.bash 四、运行 roslaunch wpr_simulation wpb_s…

java小项目:简单的收入明细记事本,超级简单(不涉及数据库,通过字符串来记录)

一、效果 二、代码 2.1 Acount类 package com.demo1;public class Acount {public static void main(String[] args) {String details "收支\t账户金额\t收支金额\t说 明\n"; //通过字符串来记录收入明细int balance 10000;boolean loopFlag true;//控制循…

2023.1.19 关于 Redis 事务详解

目录 Redis 事务对比 MySQL 事务 MySQL 事务 Redis 事务 Redis 事务原子性解释 Redis 事务详解 执行流程 典型使用场景 Redis 事务命令 WATCH 的使用 WATCH 实现原理 总结 阅读下文之前建议点击下方链接了解 MySQL 事务详解 MySQL 事务详解 Redis 事务对比 MySQL 事…

[陇剑杯 2021]jwt

[陇剑杯 2021]jwt 题目做法及思路解析(个人分享) 问一:昨天,单位流量系统捕获了黑客攻击流量,请您分析流量后进行回答: 该网站使用了______认证方式。(如有字母请全部使用小写&#xff09…

C++ 设计模式之备忘录模式

【声明】本题目来源于卡码网(题目页面 (kamacoder.com)) 【提示:如果不想看文字介绍,可以直接跳转到C编码部分】 【设计模式大纲】 【简介】 -- 什么是备忘录模式 (第17种模式) 备忘录模式(Meme…

【C语言】- 设置控制台标题、编码、文字颜色、大小和字体

【C语言】- 设置控制台标题、编码、文字颜色、大小和字体 文章目录 【C语言】- 设置控制台标题、编码、文字颜色、大小和字体1 - 设置控制台标题2 - 设置控制台编码3 - 设置控制台字体和大小参考链接 1 - 设置控制台标题 因为要用到 Windows API,所以需要包含头文件…

UI组件在线预览,程序员直呼“不要太方便~”

一、介绍 以往大家如果想查看组件的使用效果,需要打开DevEco Studio构建工程。现在为了便于大家高效开发,文档上线了JS UI组件在线预览功能,无需本地构建工程,在线即可修改组件样式等参数、一键预览编译效果。程序员直呼&#xff…

可视化k8s页面(Kubepi)

Kubepi是一个简单高效的k8s集群图形化管理工具,方便日常管理K8S集群,高效快速的查询日志定位问题的工具 随便在哪个节点部署,我这里在主节点部署 docker pull kubeoperator/kubepi-server docker run --privileged -itd --restartunless-st…

RabbitMQ-生产者可靠性

一、生产者重连 1、概念 由于网络波动导致客户端无法连接上MQ,这是可以开启MQ的失败后重连机制。 注意: 是连接失败的重试,而不是消息发送失败后的重试。 2、开启配置 spring:rabbitmq:template:retry:enabled: true # 是否启用重试机制ma…

【RabbitMQ】RabbitMQ安装与使用详解以及Spring集成

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《RabbitMQ实战》。🎯🎯 &am…

java实现红黑树

红黑树 红黑树是一种自平衡二叉查找树,其中每个节点都有一个颜色属性,颜色为红色或黑色。它的特性保证了树在插入和删除操作后仍然保持大致的平衡,使得查找操作能够在对数时间内完成。以下是红黑树的一些基本性质: 每个节点是红…

面试题16.15.珠玑妙算

前言 这两天突然发现力扣上还是有我能写出来的题的,虽说都是简单级别的(以及一道中等的题),但是能写出来力扣真的太开心了,(大佬把我这段话当个玩笑就行了),于是乎,我觉…

C#,入门教程(21)——命名空间(namespace)与程序结构的基础知识

上一篇: C#,入门教程(20)——列表(List)的基础知识https://blog.csdn.net/beijinghorn/article/details/124094382 编写软件(大软件称为系统)与盖大楼一个道理。 假设咱们现在需要盖一座名为“天梯大厦”的…

kubernetes工作负载-DamonSet

一、DemonSet的介绍 1、什么是DemonSet DaemonSet 控制器是用来保证在所有节点上运行一个 Pod 的副本当有节点加入集群时, 也会为他们新增一个 Pod。 当有节点从集群移除时,这些 Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod。 简而言之…