知识图谱-结构化数据的通用LLM推理框架-StructGPT

论文:StructGPT: A General Framework for Large Language Model to Reason over Structured Data

会议:EMNLP 2023

作者:Jinhao Jiang et al.(人大 RUCAI)

核心关键词:KG|LLM Reason|General Framework | KGQA | TableQA

一、研究背景与问题定义

1. 研究背景

近年来,大语言模型(LLMs)在结构化数据推理方面仍存在明显不足。

基于结构化数据的推理,形式上,可以被描述为一个问题回答任务:

给定 问题q 和 结构化数据S(例如,知识图、表或数据库),LLM需要从S中提取有用数据 ,然后基于有用数据来回答问题q。

常见结构化数据包括:

  • 知识图谱(Knowledge Graph, KG)
  • 数据表(Table)
  • 关系型数据库(Database, DB)

这些数据具有明确的模式(schema)和结构,但 LLM 在预训练过程中主要接触自然语言文本,对结构化格式理解有限


2. 现有方法的局限性

方法类型 局限
直接线性化结构化数据 输入过长、噪声大、上下文溢出
专用神经模型(GNN / Table Transformer) 任务不通用、需要监督训练
Text-to-Text(如 UnifiedSKG) 仍受输入长度限制,难以扩展

核心问题

  1. LLM 擅长推理,但不擅长理解结构化数据;
  2. 结构化数据易于查询,但LLM缺乏推理能力。

二、核心思想(Key Idea)

StructGPT 的核心思想是:

将"读取数据(Reading)"与"推理决策(Reasoning)"解耦

  • Reading:由结构化数据的接口(Interface)完成
  • Reasoning:由大语言模型完成

通过这种方式,让 LLM 只专注于推理决策,而不直接操作复杂的结构化数据。


三、方案概述

本文提出了一个基于结构化数据的IRR(Iterative Reading-then Reasoning,迭代阅读推理 )框架StructGPT。

在 StructGPT 中,将结构化数据封装为一个黑盒系统,并为LLM提供了访问所包含数据的特定接口

模型推理被组织为一个 Iterative Reading-then-Reasoning(IRR) 过程。每一轮推理包含三个阶段:

bash 复制代码
接口调用(Invoking)
↓
信息线性化(Linearization)
↓
LLM 生成(Generation)

通过使用提供的接口不断进行IRR的迭代,逐步收集证据并逼近最终答案,直到模型生成最终答案或满足终止条件。


四、接口设计

1. 知识图谱接口(KG)

用于支持多跳推理:

  • Extract_Neighbor_Relations(e) : 获取实体 e 的所有邻接关系

  • Extract_Triples(e, {r}) : 获取实体 e 在指定关系 {r} 下的三元组


2. 表格接口(Table)

模拟人类"看表"的过程:

  • Extract_Column_Name(T):获取列名
  • Extract_Columns(T, {c}):获取指定列内容
  • Extract_SubTable(T, {c}, {j}):获取子表

3. 数据库接口(Database / Text-to-SQL)

支持 Schema 感知的 SQL 生成:

  • Extract_Table&Column_Name(D)
  • Extract_Tables_Information({T})(包含外键信息)

五、Iterative Reading-then-Reasoning描述

1. Invoking(接口调用)

基于当前可用的数据作为输入,调用接口,获取更详细的相关信息。

再将详细信息馈送到LLM中以用于收集有用信息或生成答案。


2. Linearization(信息线性化)

将接口返回的结构化结果转换为 LLM 可理解的文本。

对于KG中的信息(即关系和三元组),会将它们连接成一个由特定分隔和边界符号标记的长句。

  • 降低噪声
  • 控制上下文长度
  • 保留结构语义

3. Generation(LLM 生成)

线性化后,本文为LLM设计了两种类型的输入提示,以满足不同的需求,

LLM 在每一轮只执行两类任务之一:

  1. 信息选择

    从候选信息中选择与问题最相关的部分

  2. 结果生成

    生成最终答案或可执行表达式(如 SQL)

通过在设计的接口上迭代IRR过程,LLM可以逐步捕获更多有用的证据来推导最终答案。


六、下游任务实例化

1. KGQA(知识图谱问答)

  1. 识别主题实体
  2. 选择相关关系
  3. 提取三元组
  4. 多跳迭代直至得到答案

2. TableQA(表格问答)

  1. 选择相关列
  2. 选择相关行
  3. 构建子表
  4. 基于子表生成答案

3. Text-to-SQL(数据库语义解析)

  1. 选择相关表
  2. 获取 schema 与外键
  3. 生成可执行 SQL

七、实验结论


八、方法优势与局限

优势

  • StructGPT 在 零样本(zero-shot)少样本(few-shot) 场景下效果显著

  • 在多个数据集上,性能可接近甚至对标监督训练模型

  • 框架具备良好的 通用性与可迁移性

  • 统一支持 KG / Table / DB

  • 不依赖模型微调

  • 接口 + LLM 解耦设计清晰

局限与框架的常见错误

  • 强依赖 LLM 的指令遵循能力
  • 接口需人工设计
  • Selection Error 仍然显著

框架的常见错误包括:

  1. Selection Error:关键信息未被选中
  2. Reasoning Error:信息正确但推理失败
  3. Hallucination:生成内容与数据不一致
  4. 格式错误

不同任务的主要瓶颈不同:

  • KGQA:信息选择困难
  • Text-to-SQL:复杂推理难度高

原文链接

StructGPT: A General Framework for Large Language Model to Reason over Structured Data

相关推荐
LJ9795111几秒前
媒介宣发数字化:如何用AI打通资源与效果的任督二脉
人工智能
耶夫斯计3 分钟前
【SQL_agent】基于LLM实现sql助理
数据库·python·sql·语言模型
vibag4 分钟前
RAG向量数据库
python·语言模型·langchain·大模型
古雨蓝枫5 分钟前
AI工具排名(20260104)
人工智能·ai工具
好奇龙猫5 分钟前
【人工智能学习-AI-MIT公开课13.- 学习:遗传算法】
android·人工智能·学习
FreeBuf_7 分钟前
攻击者操纵大语言模型实现漏洞利用自动化
人工智能·语言模型·自动化
深度学习实战训练营10 分钟前
基于bert预训练的微博情感分析6分类模型
人工智能·分类·bert
艾莉丝努力练剑10 分钟前
【Linux进程控制(一)】进程创建是呼吸,进程终止是死亡,进程等待是重生:进程控制三部曲
android·java·linux·运维·服务器·人工智能·安全
mahtengdbb111 分钟前
基于YOLOv8的激光点检测系统实现与优化
人工智能·yolo·目标跟踪