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

本文主要是介绍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上达到了与专家相当的注释准确性,并揭示了原始注释中的一些错误。

这篇关于EMNLP 2023精选:Text-to-SQL任务的前沿进展(上篇)——正会论文解读的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/682165

相关文章

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

mysql中insert into的基本用法和一些示例

《mysql中insertinto的基本用法和一些示例》INSERTINTO用于向MySQL表插入新行,支持单行/多行及部分列插入,下面给大家介绍mysql中insertinto的基本用法和一些示例... 目录基本语法插入单行数据插入多行数据插入部分列的数据插入默认值注意事项在mysql中,INSERT I

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

MySQL 衍生表(Derived Tables)的使用

《MySQL衍生表(DerivedTables)的使用》本文主要介绍了MySQL衍生表(DerivedTables)的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学... 目录一、衍生表简介1.1 衍生表基本用法1.2 自定义列名1.3 衍生表的局限在SQL的查询语句select

MySQL 横向衍生表(Lateral Derived Tables)的实现

《MySQL横向衍生表(LateralDerivedTables)的实现》横向衍生表适用于在需要通过子查询获取中间结果集的场景,相对于普通衍生表,横向衍生表可以引用在其之前出现过的表名,本文就来... 目录一、横向衍生表用法示例1.1 用法示例1.2 使用建议前面我们介绍过mysql中的衍生表(From子句