GraphEdit: Large Language Models for Graph Structure Learning

1. 摘要

图结构学习(GSL)专注于通过生成新颖的图结构来捕获图结构数据中节点之间的内在依赖关系和交互。图神经网络 (GNN) 已成为有前途的 GSL 解决方案,利用递归消息传递来编码节点间的相互依赖关系。然而,许多现有的 GSL 方法严重依赖显式的图结构信息作为监督信号,这使得它们容易受到数据噪声和稀疏性等挑战的影响。在这项工作中,我们提出了 GraphEdit,这是一种利用大型语言模型 (LLM) 来学习图结构数据中复杂节点关系的方法。通过对图结构进行指令调整来增强LLM的推理能力,我们的目标是克服与显式图结构信息相关的限制,并提高图结构学习的可靠性。我们的方法不仅有效地去除噪声连接,而且还从全局角度识别节点依赖关系,提供对图结构的全面理解。我们对多个基准数据集进行了广泛的实验,以证明 GraphEdit 在各种设置下的有效性和鲁棒性。我们已在以下位置提供模型实现:https://github.com/HKUDS/GraphEdit

2. Introduction

本研究旨在探索大型语言模型 (LLM) 如何有助于推理底层图结构。论文提出模型 GraphEdit,它旨在有效地细化图形结构。模型的目标有两个:首先,识别和解决不相关节点之间的噪声连接,其次,发现隐式的节点依赖关系。为了实现这些目标,我们的模型利用与图结构数据中的节点关联的丰富文本数据。结合LLM的文本理解能力,特别是通过指令调整范例,论文增强了对图结构的理解和表示。这使GraphEdit能够捕获各个节点之间的隐式依赖关系,这些依赖关系可能未在图结构本身中显式编码。为了彻底评估 GraphEdit 框架的性能,论文进行了广泛的实验,将其与最先进的解决方案进行比较。此外,论文进行了深入的消融研究和稳健性分析,以验证我们模型背后的优势和基本原理。

3. Method

在这里插入图片描述

3.1LLM指令微调

受到之前研究中讨论的同质属性的启发,具有相似属性的节点往往具有更强的连接。这个概念进一步发展为根据节点的连接模式探索节点之间的标签一致性(。具体来说,在依赖图结构的节点分类任务中,最佳情况是最大化同一类内的连接,同时最小化类间连接。在这一原则的指导下,我们的方法旨在利用大型语言模型(LLM)的知识来推理节点之间的潜在依赖关系,同时考虑与各个节点相关的文本语义
在提示创建阶段,论文在每个提示中精心定义了两个单独的目标。第一个目标是评估节点对标签的一致性。它使语言模型能够准确地掌握所需的图结构。第二个目标,即建立在标签一致性的基础上,确定这些节点所属的特定类别。这些精心设计的提示包含这些双重目标,可以作为语言模型指令调整的宝贵资源。论文利用随机采样技术从训练数据 N t r a i n N_{train} Ntrain 中选择节点对 ( n i , n j ) (n_i, n_j) (ni

《KnowledgeNavigator: Leveraging Large Language Models for Enhanced Reasoning over Knowledge Graph》聚焦于利用大型语言模型增强知识图谱推理。大型语言模型(LLM)在复杂推理和问答(QA)任务中的知识限制方面存在局限性,而KnowledgeNavigator框架利用知识图谱中的外部知识来增强LLM推理[^4]。 该框架主要包括三个阶段:问题分析、知识检索和推理。在问题分析阶段,预测推理跳数,生成相似的问题,以增强推理逻辑挖掘;知识检索阶段,根据给定的问题和大语言模型指导,从知识图谱中迭代检索和过滤相关知识;推理阶段,将检索到的知识转化为对LLM有效的提示,以此增强其推理能力。并且该框架在KGQA基准测试中优于以前的知识图谱增强LLM方法[^4]。 ```python # 以下为简单示意框架各阶段伪代码 # 问题分析 def question_analysis(question): # 预测推理跳数 hop_count = predict_hop_count(question) # 生成相似问题 similar_questions = generate_similar_questions(question) return hop_count, similar_questions # 知识检索 def knowledge_retrieval(question, llm_guide, knowledge_graph): relevant_knowledge = [] # 迭代检索和过滤相关知识 for step in range(max_steps): new_knowledge = retrieve_and_filter(question, llm_guide, knowledge_graph) relevant_knowledge.extend(new_knowledge) return relevant_knowledge # 推理 def reasoning(relevant_knowledge, llm): prompt = convert_to_prompt(relevant_knowledge) result = llm.generate(prompt) return result ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值