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

导语

本文记录了今年的自然语言处理国际顶级会议EMNLP 2023中接收的所有与Text-to-SQL相关(通过搜索标题关键词查找得到,可能不全)的论文,共计12篇,包含5篇正会论文和7篇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

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

正会论文(Main Conference)

中稿的这5篇正会论文来看,主要还是围绕着Text-to-SQL的评测、实际系统交互和LLM在Text-to-SQL任务的应用为主。

Benchmarking and Improving Text-to-SQL Generation under Ambiguity

  • 链接:https://arxiv.org/pdf/2310.13659v1.pdf
  • 摘要:在文本到SQL转换的研究中,大多数基准测试都是针对每个文本查询对应一个正确的SQL的数据集。然而,现实生活中的数据库上的自然语言查询经常由于模式名称的重叠和多个令人困惑的关系路径,而涉及对预期SQL的显著歧义。为了弥合这一差距,我们开发了一个名为AmbiQT的新基准,其中包含超过3000个示例,每个文本都可以由于词汇和/或结构上的歧义而被解释为两个合理的SQL。 面对歧义时,理想的top-k解码器应该生成所有有效的解释,以便用户可能的消歧(Elgohary等,2021年;Zhong等,2022年)。我们评估了几个文本到SQL系统和解码算法,包括那些使用最先进的大型语言模型(LLMs)的系统,发现它们距离这一理想还很远。主要原因是流行的束搜索算法及其变体将SQL查询视为字符串,并在top-k中产生无益的令牌级别多样性。 我们提出了一种名为LogicalBeam的新解码算法,该算法使用基于计划的模板生成和受限填充的混合方法来导航SQL逻辑空间。逆向生成的计划使模板多样化,而仅在模式名称上分支的束搜索填充提供了值多样性。LogicalBeam在生成top-k排名输出中的所有候选SQL方面,比最先进的模型高出2.5倍的效果。它还提高了SPIDER和Kaggle DBQA上的前5名精确匹配和执行匹配准确率。

image.png

  • 要点:主要关注于自然语言到SQL转换时的歧义现象,作者先是自己设计了一个评测基准AmbiQT,然后针对性设计了一种LogicalBeam的新解码算法,改善原有的beam-search带来的token-level的beam差异。

Evaluating Cross-Domain Text-to-SQL Models and Benchmarks

  • 链接:https://arxiv.org/pdf/2310.18538v1.pdf
  • 摘要:文本到SQL的基准测试在评估该领域的进展和不同模型的排名方面起着关键作用。然而,由于各种原因,比如自然语言查询的不明确、模型生成的查询和参考查询中固有的假设、以及在某些条件下SQL输出的非确定性特性,导致基准测试中模型生成的SQL查询与参考SQL查询的准确匹配失败。在本文中,我们对几个著名的跨领域文本到SQL基准测试进行了广泛的研究,并对这些基准测试中表现最佳的一些模型进行了重新评估,包括手动评估SQL查询和用等效表达式重写它们。我们的评估揭示,由于可以从提供的样本中得出多种解释,所以在这些基准测试中达到完美表现是不可行的。此外,我们发现这些模型的真实性能被低估了,而且在重新评估后它们的相对性能发生了变化。最值得注意的是,我们的评估揭示了一个令人惊讶的发现:在我们的人类评估中,一种基于最新GPT4模型的模型超越了Spider基准测试中的金标准参考查询。这一发现突显了谨慎解读基准测试评估的重要性,同时也认识到进行额外独立评估在推动该领域进步中的关键作用。

image.png

  • 要点:主要讨论了现有Text-to-SQL评测基准中存在的语言不明确、数据值不明确等导致的评估标准失真的现象,作者对部分存在上述问题的Question-SQL Pair进行重写后对现有的一些SOTA模型进行了再评估。

Exploring Chain of Thought Style Prompting for Text-to-SQL

  • 链接:https://arxiv.org/abs/2305.14215
  • 摘要:使用大型语言模型(LLMs)进行上下文学习由于在各种任务上的卓越的少样本表现,近来引起了越来越多的关注。然而,其在文本到SQL解析上的表现仍有很大的提升空间。在本文中,我们假设改善LLMs在文本到SQL解析上的一个关键方面是其多步推理能力。因此,我们系统地研究了如何通过思维链(CoT)风格的提示来增强LLMs的推理能力,包括原始的思维链提示(Wei等,2022b)和最少到最多提示(Zhou等,2023)。我们的实验表明,像Zhou等(2023)中的迭代提示可能对文本到SQL解析来说并不必要,而使用详细的推理步骤往往会有更多的错误传播问题。基于这些发现,我们提出了一种新的CoT风格的提示方法,用于文本到SQL解析。与不带推理步骤的标准提示方法相比,它在Spider开发集和Spider真实集上分别带来了5.2和6.5点的绝对提升;与最少到最多提示方法相比,分别带来了2.4和1.5点的绝对提升。
  • 要点:本文探索了应用LLM解决Text-to-SQL任务时的Prompt Engineering。作者设计了一种“问题分解”的Prompt格式并结合每个子问题中的表列名进行融合,实现了与RASAT+PICARD模型相当的表现。

image.png

  • 笔记:Text-to-SQL任务中的思维链(Chain-of-thought)探索

Interactive Text-to-SQL Generation via Editable Step-by-Step Explanations

  • 链接:https://arxiv.org/abs/2305.07372
  • 摘要:关系数据库在这个大数据时代扮演着重要角色。然而,对于非专家来说,由于他们不熟悉SQL等数据库语言,充分释放关系数据库的分析能力是具有挑战性的。虽然已经提出了许多技术来自动从自然语言生成SQL,但它们存在两个问题:(1)特别是对于复杂查询,它们仍然会犯许多错误,(2)它们没有为非专家用户提供一种灵活的方式来验证和修正错误的查询。为了解决这些问题,我们引入了一种新的交互机制,允许用户直接编辑不正确的SQL的逐步解释来修复SQL错误。在Spider基准测试上的实验表明,我们的方法在执行准确性方面至少比三种最先进的方法高出31.6%。另外,一项包括24名参与者的用户研究进一步表明,我们的方法帮助用户在更少的时间内以更高的信心解决了更多的SQL任务,展示了其拓宽数据库访问,特别是对于非专家的潜力。

image.png

  • 要点:提出了一个名为STEPS的交互式文本到SQL系统,允许用户通过直接编辑逐步解释来修正错误的SQL查询。Spider上实验显示,STEPS在提高任务完成速度、准确性和用户自信度方面相比现有方法有显著优势。

Non-Programmers Can Label Programs Indirectly via Active Examples: A Case Study with Text-to-SQL

  • 链接:https://arxiv.org/abs/2205.12422
  • 摘要:非程序员能否通过自然语言标注来间接地表示其含义的复杂程序?我们介绍了APEL框架,其中非程序员通过选择由种子语义解析器(例如Codex)生成的候选程序来进行标注。由于他们无法理解这些候选程序,我们要求他们通过检查程序的输入输出示例来间接选择。对于每个表达,APEL会主动搜索一个简单的输入,在此输入上候选程序倾向于产生不同的输出。然后,我们仅要求非程序员选择合适的输出,从而推断出哪个程序是正确的,并可以用来微调解析器。作为一个案例研究,我们招募了非程序员人类使用APEL重新标注SPIDER,一个文本到SQL数据集。我们的方法达到了与原始专家标注者相同的标注准确率(75%),并揭露了原始标注中的许多微妙错误。

image.png

  • 要点:本文提出了APEL框架,使非程序员能通过选择候选程序的示例输出来注释文本到SQL的语义。这一方法在文本到SQL数据集SPIDER上达到了与专家相当的注释准确性,并揭示了原始注释中的一些错误。

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

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

相关文章

安卓动态链接库文件体积优化探索实践

背景介绍 应用安装包的体积影响着用户下载量、安装时长、用户磁盘占用量等多个方面,据Google Play统计,应用体积每增加6MB,安装的转化率将下降1%。 安装包的体积受诸多方面影响,针对dex、资源文件、so文件都有不同的优化策略&…

爬虫实战--人民网

文章目录 前言发现宝藏 前言 为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,欢迎读者朋友们…

[UI5 常用控件] 07.SplitApp,SplitContainer

文章目录 前言1. SplitApp1.1 组件结构1.2 Demo1.3 mode属性 2. SplitContainer 前言 本章节记录常用控件SplitApp,SplitContainer。主要功能是在左侧显示Master页面,右侧显示Detail页面。 Master页面和Detail页面可以由多个Page组成,并支持…

Kubernetes基础(十一)-CNI网络插件用法和对比

1 CNI概述 1.1 什么是CNI? Kubernetes 本身并没有实现自己的容器网络,而是借助 CNI 标准,通过插件化的方式来集成各种网络插件,实现集群内部网络相互通信。 CNI(Container Network Interface,容器网络的…

【Mysql】事务的隔离级别与 MVCC

事务隔离级别 我们知道 MySQL 是一个 C/S 架构的服务,对于同一个服务器来说,可以有多个客户端与之连接,每个客户端与服务器连接上之后,就是一个会话( Session )。每个客户端都可以在自己的会话中向服务器发…

DockerUI如何部署结合内网穿透实现公网环境管理本地docker容器

文章目录 前言1. 安装部署DockerUI2. 安装cpolar内网穿透3. 配置DockerUI公网访问地址4. 公网远程访问DockerUI5. 固定DockerUI公网地址 前言 DockerUI是一个docker容器镜像的可视化图形化管理工具。DockerUI可以用来轻松构建、管理和维护docker环境。它是完全开源且免费的。基…

Node.js+Express+Mysql服务添加环境变量

1、使用dotenv插件 1)安装插件:npm install dotenv-cli --save-dev 2)在项目根目录下添加对应的 .env 配置文件; // .env配置文件内容 MODEdevelopment, BASE_URLhttp://127.0.0.1:80813) 在启动命令中设置对应的加载文件&#…

springboot158基于springboot的医院资源管理系统

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

chisel RegInit/UInt/U

val reg RegInit(0.U(8.W)) //ok val reg RegInit(0.UInt(8.W)) //errU 使用在数字 . 后边50.U UInt 使用在IO(new Bundle val a Input(UInt(8.W)) 或者 def counter(max:UInt, a1:UInt) package emptyimport chisel3._ import chisel3.util._class MyCounter extends …

02-Java抽象工厂模式 ( Abstract Factory Pattern )

抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂 该超级工厂又称为其他工厂的工厂 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类 每个生成的工厂都能按照工厂模式提供对象 …

rust开发wasm

首先需要安装wasm-pack cargo install wasm-pack 使用cargo创建工程 cargo new --lib mywasm 编辑Cargo.toml文件,修改lib的类型为cdylib,并且添加依赖wasm-bindgen [package] name "mywasm" version "0.1.0" edition "…

Micro micro controller一览

https://www.microchip.com.cn/, Microchip中文网站 https://www.microchip.com.cn/newcommunity/index.php?mSearch&adosearch&moduleDownload&keyworddsPIC33&p3 Microcontrollers and microProcessors dsPIC33 Digital Signal Controllers (D…

【数据结构和算法】--- 基于c语言排序算法的实现(1)

目录 一、排序的概念及其应用1.1排序的概念1.2 排序的应用1.3 常见的排序算法 二、插入排序2.1直接插入排序2.2 希尔排序2.2.1 预排序2.2.2 缩小gap2.2.3 小结 三、选择排序3.1 直接选择排序3.2 堆排序 一、排序的概念及其应用 1.1排序的概念 排序: 所谓排序&…

【Spring Boot】第一篇 创建简单的Spring Boot项目

导航 一. 简介二. 创建简单的Spring Boot项目1. 工具选择和版本确定2. 创建步骤 三. 部署项目四. 测试验证 一. 简介 Spring Boot是一个用于构建独立的、生产级别的Spring应用程序的框架。它简化了Spring应用程序的创建和配置过程,同时提供了很多开箱即用的功能&am…

C++ map和set

1. 关联式容器 序列式容器:因为其底层为线性序列的数据结构,里面存储的是元素本身,比如:vector、list、deque 关联式容器也是用来存储数据的,与序列式容器不同的是,其里面存储的是结构的键值对&#xff0…

C# Socket通信从入门到精通(21)——Tcp客户端判断与服务器断开连接的三种方法以及C#代码实现

前言 我们开发的tcp客户端程序在连接服务器以后,经常会遇到服务器已经关闭但是作为客户端的我们不知道,这时候应该应该有一个机制我们可以实时监测客户端和服务器已经断开连接,如果已经断开了连接,我们应该及时报警提示用户客户端和服务器已经断开连接,本文介绍三种可以监…

CICD注册和使用gitlab-runner常见问题

1、现象 fatal: unable to access https://github.com/homebrew/brew/: 2、解决 git config --global --unset http.proxy git config --global --unset https.proxy 查看gitlab-runner是否成功: userusers-MacBook-Pro ~ % gitlab-runner -h 查看gitlab-run…

Google Chrome Close AutoUpdate

DOMException: play() failed because the user didn‘t interact with the document first.-CSDN博客 html5 audio video-CSDN博客 Google Chrome Close AutoUpdate 关闭google浏览器自动更新 1:检查是否已安装google浏览器,并卸载: 2&…

RabbitMQ 安装

下载erlang语言: erlang语言 下载RabbitMQ rabbitmq 安装erlang 1.以管理员身份安装erlang 2.弹出框选择next 3.选择安装路径,亦可以安装在默认路径 4.接下来一路点击下一步,无需任何修改,直到 install安装为止&#xff…

Intellij Idea的数据库工具 DataGrip

DataGrip DataGrip: IDEA自带,非常好用。智能提示很强大,快捷键跟IDEA自身一致。 如果下载不了 DataGrip,也可以直接用 IDEA 自带的。 常用的快捷键 alt8: 打开数据库Service ctrlshiftF10:打开常用的数…