EMNLP 2023精选:Text-to-SQL任务的前沿进展(下篇)——Findings论文解读

news2024/9/22 4:52:45

导语

本文记录了今年的自然语言处理国际顶级会议EMNLP 2023中接收的所有与Text-to-SQL相关(通过搜索标题关键词查找得到,可能不全)的论文,共计12篇,包含5篇正会论文和7篇Findings论文,以下是对这些论文的略读,某几篇也有详细的笔记(见链接)。

由于篇数过多,分为两篇博客记录,本篇为第二篇,主要记录Findings论文:

序号类型标题
1MainBenchmarking and Improving Text-to-SQL Generation under Ambiguity
2MainEvaluating Cross-Domain Text-to-SQL Models and Benchmarks
3MainExploring Chain of Thought Style Prompting for Text-to-SQL
4MainInteractive Text-to-SQL Generation via Editable Step-by-Step Explanations
5MainNon-Programmers Can Label Programs Indirectly via Active Examples: A Case Study with Text-to-SQL
6FindingsBattle of the Large Language Models: Dolly vs LLaMA vs Vicuna vs Guanaco vs Bard vs ChatGPT - A Text-to-SQL Parsing Comparison
7FindingsEnhancing Few-shot Text-to-SQL Capabilities of Large Language Models: A Study on Prompt Design Strategies
8FindingsError Detection for Text-to-SQL Semantic Parsing
9FindingsReFSQL: A Retrieval-Augmentation Framework for Text-to-SQL Generation
10FindingsSelective Demonstrations for Cross-domain Text-to-SQL
11FindingsSemantic Decomposition of Question and SQL for Text-to-SQL Parsing
12FindingsSQLPrompt: In-Context Text-to-SQL with Minimal Labeled Data

Findings

Battle of the Large Language Models: Dolly vs LLaMA vs Vicuna vs Guanaco vs Bard vs ChatGPT - A Text-to-SQL Parsing Comparison

  • 链接:https://arxiv.org/abs/2310.10190
  • 摘要:ChatGPT的成功引发了一场AI竞赛,研究人员致力于开发新的大型语言模型(LLMs),以匹敌或超越商业模型的语言理解和生成能力。近期,许多声称其性能接近GPT-3.5或GPT-4的模型通过各种指令调优方法出现了。作为文本到SQL解析的从业者,我们感谢他们对开源研究的宝贵贡献。然而,重要的是要带着审查意识去看待这些声明,并确定这些模型的实际有效性。因此,我们将六个流行的大型语言模型相互对比,系统评估它们在九个基准数据集上的文本到SQL解析能力,涵盖了五种不同的提示策略,包括零样本和少样本场景。遗憾的是,开源模型的性能远远低于像GPT-3.5这样的封闭源模型所取得的成绩,这凸显了进一步工作的需要,以弥合这些模型之间的性能差距。

image.png

  • 要点:本文对比了六种大型语言模型(包括ChatGPT、Dolly、LLaMA、Vicuna、Guanaco和Bard)在文本到SQL解析任务上的性能。尽管模型在生成语法正确的SQL语句方面表现出色,但在生成语义上仍有挑战。特别是,开源模型的表现普遍低于闭源模型。论文还指出,这些语言模型对少次学习中使用的示例非常敏感。

Enhancing Few-shot Text-to-SQL Capabilities of Large Language Models: A Study on Prompt Design Strategies

  • 链接:https://arxiv.org/abs/2305.12586
  • 摘要:上下文学习(ICL)作为一种新的方法应用于各种自然语言处理任务,利用大型语言模型(LLMs)基于补充了少量示例或特定任务指令的上下文来进行预测。在这篇论文中,我们旨在将这种方法扩展到使用结构化知识源的问答任务,并通过探索使用LLMs的各种提示设计策略来改进文本到SQL系统。我们对不同的示例选择方法和提示LLMs的最佳指令格式进行了系统性的研究。我们的方法涉及利用示例SQL查询的语法结构来检索示例,并证明了在示例选择中追求多样性和相似性会带来性能的提升。此外,我们展示了LLMs从与数据库相关的知识增强中受益。我们最有效的策略在Spider数据集上比最先进的系统高出2.5个百分点(执行准确率),比最佳微调系统高出5.1个百分点。这些结果凸显了我们的方法在适应文本到SQL任务中的有效性,并且我们对促成我们策略成功的因素进行了分析。

image.png

  • 要点:本文主要探索了ICL中的Few-shot示例的选取原则,作者提出应该使用SQL的表征进行kNN选择而不是问题的表征,通过一系列实验证明了该方法的优越性。
  • 笔记:LLM少样本示例的上下文学习在Text-to-SQL任务中的探索

Error Detection for Text-to-SQL Semantic Parsing

  • 链接:https://arxiv.org/abs/2305.13683
  • 摘要:尽管近年来文本到SQL语义解析取得了显著进展,但现有解析器的性能仍远非完美。与此同时,基于现代深度学习的文本到SQL解析器经常过于自信,因此在实际使用时对其可信度产生了怀疑。为此,我们提出建立一个独立于解析器的文本到SQL语义解析错误检测模型。所提出的模型基于预训练的代码语言模型,并通过图神经网络学习的结构特征进行增强。我们在跨领域环境中收集的真实解析错误上训练我们的模型。使用具有不同解码机制的三个强大的文本到SQL解析器进行的实验表明,我们的方法超越了依赖解析器的不确定性指标,并能有效地提高文本到SQL语义解析器的性能和可用性,无论它们的架构如何。

image.png

  • 要点:本文基于CodeBERT训练了一个独立于解析器的SQL语义检查器,可以用于Text-to-SQL系统交互式触发检测和输出beam的重排序。

ReFSQL: A Retrieval-Augmentation Framework for Text-to-SQL Generation

  • 链接:https://openreview.net/pdf/39418589877bfe8b6dae6abbd727bcdb81a46d15.pdf
  • 摘要:文本到SQL是将自然语言问题转换为SQL查询的任务。现有方法直接将自然语言与SQL语言对齐,并训练一个基于编码器-解码器的模型来适应所有问题。然而,它们低估了SQL的固有结构特征,以及特定结构知识与一般知识之间的差距。这导致生成的SQL中出现结构错误。为了解决上述挑战,我们提出了一个检索增强框架,即ReFSQL。它包含两个部分:结构增强检索器和生成器。结构增强检索器旨在以无监督的方式识别具有可比特定知识的样本。随后,我们将检索到的样本的SQL纳入输入,使模型能够获得类似SQL语法的先验知识。为了进一步弥合特定知识与一般知识之间的差距,我们提出了一种马哈拉诺比斯对比学习方法,该方法有助于将样本转移到由检索样本构建的特定知识分布。在五个数据集上的实验结果验证了我们的方法在提高文本到SQL生成的准确性和鲁棒性方面的有效性。我们的框架在与许多其他主干模型(包括11B flan-T5)结合时取得了改进的性能,并在与采用微调方法的现有方法进行比较时,也取得了最先进的性能。

image.png

  • 要点:提出使用检索式增强Text-to-SQL生成,并利用对比学习帮助解码器更好的学习到检索样本构建的特定知识分布。

Selective Demonstrations for Cross-domain Text-to-SQL

  • 链接:https://arxiv.org/abs/2310.06302
  • 摘要:具有上下文学习能力的大型语言模型(LLMs)在跨领域文本到SQL任务中展示了令人印象深刻的泛化能力,而无需使用领域内注释。然而,已发现纳入领域内的示例演示能大大提高LLMs的性能。在本文中,我们深入研究了领域内示例中对改善贡献的关键因素,并探索我们是否可以在不依赖领域内注释的情况下利用这些优势。基于我们的发现,我们提出了一个示例选择框架ODIS,该框架利用领域外示例和合成生成的领域内示例来构建演示。通过从混合来源检索演示,ODIS利用了两者的优势,与依赖单一数据源的基线方法相比,展示了其有效性。此外,ODIS在两个跨领域文本到SQL数据集上均超过了最先进的方法,执行准确率分别提高了1.1和11.8个百分点。

image.png

  • 要点:本文介绍了ODIS框架,这是一种新颖的Text-to-SQL方法,它结合了领域外示例和合成生成的领域内示例,以提升大型语言模型在In-context Learning中的性能。
  • 笔记:从领域外到领域内:LLM在Text-to-SQL任务中的演进之路

Semantic Decomposition of Question and SQL for Text-to-SQL Parsing

  • 链接:https://arxiv.org/pdf/2310.13575v1.pdf
  • 摘要:文本到SQL语义解析面临着泛化到跨领域和复杂查询的挑战。最近的研究采用了问题分解策略来增强复杂SQL查询的解析。然而,这种策略遇到了两个主要障碍:(1)现有数据集缺乏问题分解;(2)由于SQL的语法复杂性,大多数复杂查询无法分解为可以轻松重组的子查询。为了应对这些挑战,我们提出了一种新的模块化查询计划语言(QPL),它系统地将SQL查询分解为简单和规则的子查询。我们利用SQL服务器查询优化计划的分析,开发了从SQL到QPL的转换器,并用QPL程序增强了Spider数据集。实验结果表明,QPL的模块化特性有利于现有的语义解析架构,并且训练文本到QPL解析器比文本到SQL解析更有效,用于语义上等价的查询。
    QPL方法还提供了两个额外的优势:(1)QPL程序可以被释义为简单的问题,这使我们能够创建一个(复杂问题,分解问题)的数据集。在这个数据集上训练,我们获得了一个对数据库模式敏感的数据检索问题分解器。(2)对于复杂查询,QPL对非专家来说更容易访问,导致语义解析器的输出更具可解释性。

image.png

  • 要点:本文提出了一种叫做Query Plan Language (QPL)的语言,用来将复杂SQL语句分解为更加简单的子语句。QPL可以将复杂问题转述为简单问题,提供了一种复杂问题分解方案。同时,QPL对于非专家处理复杂查询更易于接近,使语义解析器的输出更易于理解。
  • 笔记:QPL:一种新型的Text-to-SQL任务中间表示形式

SQLPrompt: In-Context Text-to-SQL with Minimal Labeled Data

  • 链接:https://arxiv.org/abs/2311.02883
  • 摘要:文本到SQL旨在自动化从自然语言文本生成数据库SQL查询的过程。在这项工作中,我们提出了“SQLPrompt”,专门用于提高大型语言模型(LLMs)的文本到SQL的少样本提示能力。我们的方法包括创新的提示设计、基于执行的一致性解码策略(在其他SQL提议中选择执行结果最一致的SQL),以及一种旨在通过在一致性选择期间使用不同的提示设计(“MixPrompt”)和基础模型(“MixLLMs”)多样化SQL提议来提高性能的方法。我们展示了SQLPrompt在少量标注数据的上下文学习中超过了以前的方法,以大幅度提升,缩小了与使用数千个标注数据进行微调的最新技术的差距。

image.png

  • 要点:本文提出了SQLPrompt,通过创新的Prompt设计、基于执行一致性的解码策略,以及混合不同格式的Prompt和不同LLMs输出的方式,提高了LLM在Few-shot In-context Learning下的能力。
  • 笔记:论文笔记:SQLPrompt: In-Context Text-to-SQL with Minimal Labeled Data

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

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

相关文章

Vue代理模式和Nginx反向代理(Vue代理部署不生效)

在使用axios时,经常会遇到跨域问题。为了解决跨域问题,可以在 vue.config.js 文件中配置代理: const { defineConfig } require(vue/cli-service) module.exports defineConfig({transpileDependencies: true,devServer: {port: 7070,prox…

Linux设备树实现方式

设备树是用来管理板级设备的,就是用来描述开发板上CPU,内存,外设等信息的文件。 举个例子,某款芯片很火,很多厂商都选择该芯片来制作自己的开发板,这些开发板上的外设资源数目不一致,有可能用到相同外设但确…

代码随想录第28天|● 93.复原IP地址 ● 78.子集 ● 90.子集II

文章目录 93.复原IP地址思路:切割问题代码: 78.子集思路-找所有节点coding: 90.子集II思路-去重 93.复原IP地址 思路:切割问题 代码: 使用stringBuilder,故优化时间、空间复杂度,因为向字符串插入字符时无…

C++入门篇(3)auto关键字、内联函数、nullptr关键字

目录 1.auto关键字(C11) 1.1 typedef取别名的缺陷 1.2 auto 1.3 auto使用细则 1.3.1 auto与指针引用结合使用 1.3.2 同一行定义多个变量 1.4 auto不能推导的场景 1.4.1 auto不能作为函数的形参 1.4.2 auto不能直接用来声明数组 2. 内联函数 2…

net start mysql服务名无效|发生系统错误 解决办法

未输入正确的mysql服务名 解决办法: 使用net start命令查看可用的服务名,找到mysql的服务名 未使用管理员身份运行命令提示符 解决方法: 使用管理员身份运行命令提示符

【Yi-VL-34B】(5):使用3个3090显卡24G版本,运行Yi-VL-34B模型,支持命令行和web界面方式,理解图片的内容转换成文字

1,视频地址 https://www.bilibili.com/video/BV1BB421z7oA/ 2,关于Yi-VL-34B https://www.modelscope.cn/models/01ai/Yi-VL-34B/summary 易视觉语言(Yi-VL)模型是易大型语言模型(LLM)系列的开源多模态…

人工智能|深度学习——使用多层级注意力机制和keras实现问题分类

代码下载 使用多层级注意力机制和keras实现问题分类资源-CSDN文库 1 准备工作 1.1 什么是词向量? ”词向量”(词嵌入)是将一类将词的语义映射到向量空间中去的自然语言处理技术。即将一个词用特定的向量来表示,向量之间的距离(例…

【buuctf--九连环】

这题主要是记录一下新的隐写工具 steghide 用binwalk 看一下 jpg 图片,还是有不少东西,那么-e 提取一下实际上通过binwalk 提取就避免了伪加密的问题,详见BUUCTF-九连环_九连环 buuctf-CSDN博客 其中 qwe.zip为真加密,需要找出密码&#xff…

计算机设计大赛 深度学习+opencv+python实现车道线检测 - 自动驾驶

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络3.1卷积层3.2 池化层3.3 激活函数:3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV56 数据集处理7 模型训练8 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 &am…

龙芯安装Nodejs

由于龙芯3A5000/6000使用的是LoongArch指令集,然而Nodejs只支持X64和ARM指令集,无法使用常规的安装方法,虽然官方提供了源码,能在电脑上自行编译执行,但本人尝试后显示编译失败,在网络上查找解决方法得知还…

RBAC权限控制实现方案

上一文章讲述了利用RBAC实现访问控制的思路(RBAC实现思路),本文主要详细讲解利用vuex实现RBAC权限控制。 一、准备工作 从后台获取到权限对照表,如下: 1、添加/编辑楼宇 park:building:add_edit 2、楼宇管理 pa…

MySQL数据引擎、建库及账号管理

目录 一、MySQL数据库引擎 1.1.MySQL常见数据库引擎 1.InnoDB(MySQL默认引擎) 2.MyISAM 3.MEMORY(Heap) 1.2.存储引擎查看 二、建库 1.默认数据库介绍 2.建库 3.查看数据库 4.删除数据库 三、账号管理 1.创建用户 1.创建用户并设置登陆密码…

【电路笔记】-互感

互感 文章目录 互感1、概述2、互感3、耦合系数4、互感示例15、互感示例2 互感是一个线圈磁场与另一个线圈的相互作用,因为它在相邻线圈中感应出电压。 1、概述 互感是两个磁耦合线圈之间的电路参数,定义了一个线圈产生的时变磁通量被感应到相邻的第二个…

python coding with ChatGPT 打卡第17天| 二叉树:找树左下角的值、路径总和

相关推荐 python coding with ChatGPT 打卡第12天| 二叉树:理论基础 python coding with ChatGPT 打卡第13天| 二叉树的深度优先遍历 python coding with ChatGPT 打卡第14天| 二叉树的广度优先遍历 python coding with ChatGPT 打卡第15天| 二叉树:翻转…

Cpp-2

类与对象 /*类与对象:1.类是一种用户自定义的数据类型(函数,数据)2.类是具有相同的属性和行为的对象的集合3.类是对象的抽象,对象是类的具体4.对象:通过使用类类型定义的变量 */定义类 /*如何定义类&…

LabVIEW汽车自燃监测预警系统

LabVIEW汽车自燃监测预警系统 随着汽车行业的飞速发展,汽车安全问题日益受到公众的关注。其中,汽车自燃现象因其突发性和破坏性,成为一个不可忽视的安全隐患。为了有效预防和减少自燃事故的发生,提出了LabVIEW的汽车自燃监测预警…

ES节点故障的容错方案

ES节点故障的容错方案 1. es启动加载逻辑1.1 segment和translg组成和分析1.2 es节点启动流程1.3 es集群的初始化和启动过程 2. master高可用2.1 选主逻辑2.1.1 过滤选主的节点列表2.1.2 Bully算法2.1.2 类Raft协议2.1.3 元数据合并 2.2 HA切换 3. 分片高可用3.1 集群分片汇报3.…

前端常用代码整理(不断更新中)— js,jquery篇

1.随机函数代码 function getRandom(min, max) {return Math.floor(Math.random() * (max - min 1)) min}2.倒计时代码 let now new Date()// 2. 得到指定时间的时间戳let last new Date(这里写想要达到的时间)// 3. (计算剩余的毫秒数) / 1000 剩余…

ChinaXiv:中科院科技论文预发布平台

文章目录 Main彩蛋 Main 主页:https://chinaxiv.org/home.htm 彩蛋

11.0 Zookeeper watcher 事件机制原理剖析

zookeeper 的 watcher 机制,可以分为四个过程: 客户端注册 watcher。服务端处理 watcher。服务端触发 watcher 事件。客户端回调 watcher。 其中客户端注册 watcher 有三种方式,调用客户端 API 可以分别通过 getData、exists、getChildren …