【LLM之NL2SQL】DAIL-SQL论文阅读笔记

研究背景

该研究旨在提供一个全面、系统的评估框架,用于评估基于大型语言模型(LLM)的Text-to-SQL技术。特别强调了不同的提示工程策略的有效性和效率,以及开源LLM的可行性。研究的重点是评估在零样本和少样本场景下的不同问题表示方式,样本选择和组织策略的效果。

研究目标

研究目标是提供Text-to-SQL提示工程的系统性和深入理解,通过实证评估先前研究中的几种策略,并探索开源LLM在不同提示工程策略下的性能表现。

相关工作

相关工作部分详细讨论了基于LLM的Text-to-SQL的各种方法,包括五种问题表示方法、两种提示组件、四种样本选择和三种样本组织策略。

五种问题表示方法

  • 基础提示 (Basic Prompt, BS P):只包括表结构和自然语言问题,问题部分以“Q:”开头,回应以“A: SELECT”开头,促使LLM生成SQL。
    在这里插入图片描述
  • 文本表示提示 (Text Representation Prompt, TR P):包括指令、表结构和问题,用自然语言表示,相较于基础提示,它在提示开始时添加了指导性的语句。
    在这里插入图片描述
  • OpenAI演示提示 (OpenAI Demonstration Prompt, OD P):在官方演示中使用,包括指令、表结构和问题,所有信息都用井号“#”注释。
    在这里插入图片描述
  • 代码表示提示 (Code Representation Prompt, CR P):以SQL语法呈现Text-to-SQL任务,直接展示“CREATE TABLE” SQL,提示中包含自然语言问题。
    在这里插入图片描述
  • Alpaca SFT提示 (Alpaca SFT Prompt, AS P):专为监督微调设计的提示,遵循指令并根据输入上下文完成任务。
    在这里插入图片描述

两种提示组件
指令 (Instruction, INS):如“编写一个SQL来回答问题”,用于描述任务。
规则含义 (Rule Implication, RI):如“仅完成sqlite SQL查询并且不需要解释”,用于引导LLM的生成过程。

四种样本选择策略
随机选择 (Random):从可用候选项中随机抽取样本。
问题相似性选择 (Question Similarity Selection, QTS S):选择与目标问题最相似的样本。
掩码问题相似性选择 (Masked Question Similarity Selection, MQS S):在计算相似性前,用掩码替换所有问题中的表名、列名和值。
目标SQL相似性选择 (Query Similarity Selection, QRS S):选择与目标SQL查询最相似的样本。

两种样本组织策略
完整信息组织 (Full-Information Organization, FIO):示例完整地提供问题和对应的SQL,帮助模型理解和学习两者之间的映射关系。(输入包括数据库结构信息、相似sql QA对)
在这里插入图片描述
仅SQL组织 (SQL-Only Organization, SOO):此策略仅使用SQL语句作为样本,不包括任何自然语言问题描述。它强调直接学习SQL语句的构造,适合在模型已经具备一定理解基础的情况下,专注于提升SQL生成的准确性。
在这里插入图片描述

方法论

问题表示 (Question Representation)

DAIL-SQL 使用Code Representation (CR P) 作为问题表示方法。这种表示方式包括数据库的完整信息,如主键和外键,这些信息对于预测如“JOIN”子句等SQL结构特别有用。CR P在预训练的编码语料库上进行训练,因此LLMs能够更好地理解并处理这种格式的提示。在这里插入图片描述

样本选择 (Example Selection)

DAIL-SQL采用了一种名为DAIL Selection的样本选择策略,这种策略不仅考虑问题的相似性,也考虑查询的相似性。这种选择方法首先在目标问题和候选样本问题中屏蔽掉特定领域的词汇,然后根据问题和查询的欧几里得距离来对候选样本进行排序,并选择那些与目标查询有高相似度的样本。

样本组织 (Example Organization)

为了保留问题与SQL查询之间的映射信息并提高令牌效率,DAIL-SQL 提出了一种新的样本组织策略,名为DAIL Organization。这种策略在保留问题-SQL映射的同时,通过移除令牌成本较高的数据库模式信息来减少样本的令牌长度。
在这里插入图片描述

实验

实验设计

实验设计包括在Spider和BIRD数据集上评估DAIL-SQL的效果,测试了不同的提示策略和LLM模型。使用执行准确性(Execution Accuracy,EX)和精确集合匹配(Exact Set Match,ESM)作为主要评估指标。

实验结论

  • DAIL-SQL在Spider和BIRD数据集上均达到了新的最佳性能,特别是在执行准确性方面,超过了现有的所有基线模型和方法。
  • 在问题表示方面,Code Representation (CR P) 表现出最好的效果,显示了结构化提示对提升模型理解和处理能力的重要性。
  • DAIL样本选择策略在精确度和效率上均优于随机选择,表明针对性的样本筛选和优化是提升性能的关键。
  • DAIL组织策略通过精确地控制信息展示,有效减少了不必要的令牌消耗,同时保持了高查询准确性。

参考资料

  • 论文
  • 代码

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

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

相关文章

webgis 之 地图投影

地图投影 什么是地图投影目的种类等角投影的分类墨卡托投影Web 墨卡托投影 参考小结 为了更好地展示地球上的数据,需要将地球投影到一个平面上。地图投影是一个数学问题,按照一定的几何关系,将地球上的经纬度坐标映射到一个平面上的坐标。地球…

力扣hot100:(The Last one)287. 寻找重复数(快慢指针,静态链表)

LeetCode&#xff1a;287. 寻找重复数 “暴力” 不懂技巧&#xff0c;那就暴力&#xff01; 哈希表&#xff1a; 时间复杂度&#xff1a; O ( n ) O(n) O(n) 这个题体现不出 O ( n ) O(n) O(n)的作用&#xff0c;因为 n < 100 n < 100 n<100 空间复杂度&…

VirtualBox出错,从主机复制文件,乱改内容

昨天烧录机器&#xff0c;测试对方更新的一个库&#xff1a; 开始正确。后来莫名其妙崩溃。反复烧了几次&#xff0c;都错误。复制了老版本的库&#xff0c;正常。再改回新版本&#xff0c;崩溃。 于是把整个打包目录给了对方&#xff0c;他一对比&#xff0c;发现文件不对&am…

Windows应急响应靶机 - Web2

一、靶机介绍 应急响应靶机训练-Web2 前景需要&#xff1a;小李在某单位驻场值守&#xff0c;深夜12点&#xff0c;甲方已经回家了&#xff0c;小李刚偷偷摸鱼后&#xff0c;发现安全设备有告警&#xff0c;于是立刻停掉了机器开始排查。 这是他的服务器系统&#xff0c;请你…

Springboot获取resources中的文件

1.Springboot以文件的形式获取resources中的文件 import com.google.gson.JsonIOException; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.google.gson.JsonSyntaxException; import org.springframework.util.ResourceUtils; import j…

2024.6最新版eclipse下载与安装(汉化教程)超详细教程来咯!!!包懂的

1.eclipse简介 Eclipse 是一个开放源代码的集成开发环境&#xff08;IDE&#xff09;&#xff0c;主要用于Java编程&#xff0c;但也可以通过插件支持其他编程语言&#xff0c;如C/C、Python、Perl等。Eclipse 被广泛应用于企业环境中&#xff0c;特别是在Java社区中&#xff0…

selenium常见难点解决方案

勾选框勾选问题 勾选框代码逻辑实现过程&#xff1a; 第一步&#xff1a;首先找到勾选框的元素&#xff1b; 第二步&#xff1a;检查它是否已经被勾选。如果已经勾选&#xff0c;则进行取消勾选操作&#xff1b;如果未勾选&#xff0c;则进行点击勾选操作&#xff1b; 以下是一…

audacity音频处理

1.安装 Audacity | Free Audio editor, recorder, music making and more! 添加OpenVINO插件: https://zhuanlan.zhihu.com/p/676542556 2.使用 2.1注意事项 1.编辑音频,点击左上方打开或导入都可以;打开视频文件则需要安装ffmpeg模块,打开后只显示视频中的音频信息; 2.编辑…

可变分区管理 分区分配算法

First Fit Algorithm Best Fit Algorithm FFA&#xff1a;按照分区编号找到第一个能装下进程的起始地址填入第二个表 此时 原表中将起始地址进程大小 分区大小-进程大小 如此继续 BFA&#xff1a;按分区大小排序 从小到大 找到第一个能装下的 剩余步骤和FFA一样 装满了可以直…

ls命令的参数选项

ls命令的参数的作用 可以指定要查看的文件夹&#xff08;目录&#xff09;的内容&#xff0c;如果不指定参数&#xff0c;就查看当前工作目录的内容。ls 命令的选项 常用语法&#xff1a;ls [-a -l -h] [linux路径] -a 选项表示 all &#xff0c;即列出全部内容&#xff0c;包括…

北航数据结构与程序设计图部分选填题

一、 抓两个关键信息&#xff1a;无向图&#xff0c;邻接表。无向图中&#xff0c;边&#xff08;vi&#xff0c;vj&#xff09;要在vi的链表中记录一次&#xff0c;再以&#xff08;vj&#xff0c;vi&#xff09;的形式在vj的链表中记录一次。 每个边都要记录两次&#xff0c…

文心一言 VS 讯飞星火 VS chatgpt (285)-- 算法导论21.2 4题

四、请给出图 21-3 所示操作序列的一个运行时间的渐近紧确界&#xff0c;假定使用链表表示和加权合并启发式策略。如果要写代码&#xff0c;请用go语言。 文心一言&#xff1a; 图 21-3 没有直接给出&#xff0c;但通常这种操作序列可能与某种数据结构&#xff08;如并查集或…

Seal^_^【送书活动第7期】——《IT项目经理进阶之道》

Seal^_^【送书活动第7期】——《IT项目经理进阶之道》 一、参与方式二、本期推荐图书2.1 作者荐语2.2 编辑推荐2.3 图书简介2.4 前言2.5 目 录 三、正版购买 从领导、客户、下属、供应商四个角度&#xff0c;介绍IT项目经理在实际工作中需要面对的挑战&#xff0c;以及一些常见…

【C++】哈希的概念及STL中有关哈希容器的使用

目录 前言一、unordered系列关联式容器1.1 标准库中的unordered_set1.1.1 unordered_set的介绍1.1.2 unordered_set的常用接口说明1.1.2.1 unordered_set对象的常见构造1.1.2.1.1 [无参构造函数](https://legacy.cplusplus.com/reference/unordered_map/unordered_map/)1.1.2.1…

laravel中如何向字段标签添加工具提示

首先&#xff0c;您可以使用 轻松自定义字段标签->label()。我相信您知道这一点。但您知道吗……标签输出未转义&#xff1f;这意味着您也可以在标签中包含 HTML。 为了尽快实现上述目标&#xff0c;我只是采取了一个快速而粗糙的解决方案&#xff1a; CRUD::field(nickna…

常用快捷键-快速开发-mac idea 查看侧边栏tool window project+新建文件快捷键

背景&#xff1a;来到公司后&#xff0c;换了mac系统&#xff0c;有点不习惯&#xff0c;于是自己重新设置了开发的快捷键 1、mac idea 查看侧边侧栏&#xff08;专业说法是Tool Window Project&#xff09;&#xff1a; 每次我们都要点击一下左上角的这个类似于文件夹的图标…

竞赛选题 python 机器视觉 车牌识别 - opencv 深度学习 机器学习

1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于python 机器视觉 的车牌识别系统 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;3分创新点&#xff1a;3分 &#x1f9ff; 更多资…

代码走查的一个实例

1996年6月23日至7月1日&#xff0c;我被点名到四川某单位协助排查某系统的技术问题。 我不懂该系统的原理&#xff0c;也不懂硬件&#xff0c;只能从软件角度分析问题。 那时&#xff0c;我所在单位已经为一家美国公司做了3年的软件第三方独立验证和测试&#xff0c;从中学到…

基于随机森林的鲍鱼年龄预测

文章目录 1.作者介绍2&#xff0e;关于理论方面的知识介绍2.1 背景介绍2.1.1基本概念2.1.2算法步骤2.1.3优势2.1.4劣势2.1.5应用场景2.1.6随机森林的重要变体2.1.7相关理论 2.2随机森林算法架构2.2.1 数据预处理与采样2.2.2构建决策树2.2.3决策树的训练2.2.4集成模型2.2.5 模型…

写给程序员看的LangChain入门指南来了(送PDF版)

《LangChain入门指南》 LangChain作为大模型集成框架鼎鼎大名&#xff0c;这本《LangChain入门指南》是一本很及时的书&#xff0c;值得推荐&#xff5e; 01 为什么需要LangChain 首先想象一个开发者在构建一个LLM应用时的常见场景。 当你开始构建一个新项目时&#xff0c;…