【Text2SQL】当前在BIRD基准测试集上取得SOTA的论文

server/2024/10/20 6:31:40/

论文《The Death of Schema Linking? Text-to-SQL in the Age of Well-Reasoned Language Models》探讨了在大型语言模型(LLMs)时代,文本到SQL(Text-to-SQL)转换中模式链接(Schema Linking)的作用和重要性。论文没有提出其他新的方法,而是提出了一个观点,即随着语言模型的发展,模式链接在文本到SQL任务中的重要性可能会降低,尤其是在模型的上下文窗口足够大以容纳整个模式时。作者通过3个实验验证了这一观点,并提出了一种不依赖模式链接的文本到SQL管道,该管道在准确性上取得了优异的成绩,在BIRD基准测试中排名第一,准确率达到71.83%。

摘要

目的:模式链接是文本到SQL流程中的关键步骤,目的是检索目标数据库的表格和列,同时忽略不相关的部分。
问题:不完美的模式链接可能会排除生成准确查询所需的列。
研究发现:使用最新的大型语言模型时,即使存在大量不相关的模式元素,新模型也能在生成过程中利用相关的模式元素。
方法:作者提出了一种完全省去模式链接的文本到SQL管道,以最小化过滤所需模式元素的问题。
结果:该方法在BIRD基准测试中排名第一,准确率达到71.83%。

实验

实验设计

实验1:评估了不相关模式元素的包含对SQL生成的影响。作者创建了一个完美模式链接召回的场景,以确保SQL生成问题不是由于缺少所需列造成的。
实验2:评估了实际模式链接技术对所需列的召回率的影响,以及召回率不完美对生成的下游影响。
实验3:评估了在简化管道中加入增强、选择和校正技术对SQL生成准确性的影响。
实验3的方法:
1.增强(Augmentation):通过扩展列描述、添加查询提示和使用链式思考(Chain-of-Thought, CoT)规划来增加上下文信息。
2.校正(Correction):生成候选SQL查询后,基于数据库执行错误、数据库管理员指令和模型反馈进行迭代更正。
3.选择(Selection):使用自洽性(self-consistency)生成多个响应,并选择最一致的结果。

实验细节

实验设置:所有实验中的温度都设置为零,并且尽可能使用结构化输出。
微调GPT-4o:迭代进行微调。在每次迭代中,首先在N个三元组样本上进行微调:自然语言查询、SQL查询和模式元素。然后,在BIRD的开发集上进行评估。
生成提示:图2显示了用于SQL生成的提示结构以及示例模式、输入查询和查询提示。
在这里插入图片描述

实验结果

实验1:发现随着假阳性率的降低,理想化执行准确性(IEX)提高,即包含不相关信息的列越少,SQL生成的准确性越高。
实验2:发现随着模型的SQL生成能力提高,模式链接的好处减少。在某些情况下,由于缺少生成所需的列,模式链接甚至可能导致准确性的净降低。
实验3:发现增强、选择和校正技术对生成准确性有显著的正面影响,而模式链接则没有。


http://www.ppmy.cn/server/127419.html

相关文章

ARM Process state -- PSTATE

In the ARMv8-A architecture, Process state or PSTATE is an abstraction of process state information. All of the instruction sets provide instructions that operate on elements of PSTATE. 在ARMv8-A架构中,进程状态或PSTATE是进程状态信息的抽象。所有…

Qt开发第一讲

一、Qt项目里面有什么? 对各个文件的解释: Empty.pro文件 QT core gui # 要引入的Qt模块,后面学习到一些内容的时候可能会修改这里 #这个文件相当于Linux里面的makefile文件。makefile其实是一个非常古老的技术了。 #qmake搭配.pr…

OpenGL ES 顶点缓冲区和布局(3)

OpenGL ES 顶点缓冲区和布局(3) 简述 顶点缓冲区的本质就是一段GPU上的显存,我们通过绑定顶点缓冲区的方式来将数据从CPU传到GPU。 我们之前在绘制三角形的例子中,我们往顶点缓冲区只传入了坐标,但是其实顶点是可以包含很多数据的&#xff…

排序算法——快速排序:普通快排与双路快排

快速排序: 普通快排: 选取待排序数组的首或尾元素作为枢轴(就是base,我们选出来的比较的数),大于base的放右边,小于base的放左边。 public void quickSort(int[] nums, int low, int high) {…

微服务(Microservices),服务网格(Service Mesh)以及无服务器运算Serverless简单介绍

文章目录 什么是微服务?一、定义与特点二、优势三、组件与架构四、应用场景五、挑战与解决方案什么是服务网格?一、定义与特点二、核心组件三、主要功能四、实现工具五、应用场景六、优势与挑战什么是Serverless?一、定义与特点二、主要领域三、优势四、应用场景五、挑战三者…

Redis数据库与GO(二):list,set

一、list(列表) list(列表)是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。List本质是个链表, list是一个双向链表,其元素是有序的,元…

PMP--三模--解题--151-160

文章目录 14.敏捷--仆人式领导--在敏捷环境中,项目经理充当仆人式领导,其工作重点转变为引导需要帮助的人,促进团队的合作,保持与干系人的需要一致。151、 [单选] 两个分布在不同地方的团队在同一个项目上。相比A团队,…

稿简单认识redis -2 java中的使用

1.idea配置 Jedis: 一款java操作redis数据库的工具. 1.1. 下载jedis的jar包 1 添加到 lib 目录 右键 后添加为库 2 配置maven项目在 pom.xml文件添加依赖 <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><v…