MCS-SQL:利用多提示和多选题选择进行Text2SQL生成

原论文:https://arxiv.org/pdf/2405.07467

Dongjun Lee, Choongwon Park, Jaehyuk Kim, Heesoo Park

摘要

近年来,大型语言模型(LLMs)的进步使得基于上下文学习(ICL)的方法在文本到SQL任务中显著优于微调方法。然而,它们在包含复杂模式和查询的基准测试中的表现仍然远低于人类专家的表现,例如BIRD基准测试。本研究考虑了LLMs对提示的敏感性,并引入了一种新方法,通过使用多个提示来探索更广泛的答案搜索空间并有效地聚合这些答案。具体而言,我们通过使用多个提示进行模式链接来稳健地优化数据库模式。然后,我们根据优化后的模式和多样化的提示生成各种候选SQL查询。最后,基于其置信度分数筛选候选查询,并通过呈现给LLM的多选题选择获得最佳查询。在BIRD和Spider基准测试中,所提出的方法分别实现了65.5%和89.6%的执行准确性,显著优于之前的ICL方法。此外,我们在BIRD上建立了新的最先进(SOTA)性能,不仅提高了生成查询的准确性,还提高了效率。

所提方法的概述,包括三个步骤:模式链接、多个SQL生成和选择。

引言

文本到SQL任务涉及将自然语言问题转换为SQL,对于数据库的自然语言接口系统(NLIDB)至关重要。随着大型语言模型(LLMs)的最新进展,基于上下文学习(ICL)的方法在文本到SQL任务中表现出显著的性能提升,超过了传统的微调方法。值得注意的是,这些方法甚至在Spider基准测试中的人类评估中超越了黄金参考查询。然而,在更具挑战性的BIRD基准测试中,由于其复杂的数据库(DB)模式和查询,ICL方法的准确性尚未超过60%,这远低于人类达到的93.0%。这一差距凸显了进一步改进ICL方法以作为NLIDB系统的必要性。

LLMs在各种任务中的一个显著限制是其对提示结构和内容的敏感性。即使对于语义相同的提示,LLMs也会因为句子顺序、示例选择以及示例呈现顺序等因素而生成截然不同的响应。我们的实验确认了在文本到SQL背景下,模式展示和少量示例选择的改变会导致LLM输出的变化。

为了提高LLMs在文本到SQL任务中的准确性和鲁棒性,我们引入了一种新方法,通过使用多个提示生成各种候选答案并有效聚合这些答案。我们利用LLMs对提示的敏感性,通过不同提示探索更广泛的答案搜索空间。

相关工作

提示工程 提示工程是研究设计有效提示的领域,是一个活跃的研究方向,因为提示对LLMs在各种NLP任务中的性能有重大影响。一个突出的例子是链式思维(CoT)提示,它通过手动编写的示例引导LLM生成中间推理步骤,然后再得出答案。这种技术已在各种任务中展示了显著的性能提升。几项研究表明,即使面对语义相同的提示,LLMs的输出也会因句子结构、句子顺序、少量示例的选择及其呈现顺序等因素而有所不同。因此,我们使用多个不同的提示以更广泛地探索潜在答案,从而减轻LLMs的敏感性问题,确保生成更鲁棒的答案。

ICL用于文本到SQL 由于ICL方法在文本到SQL任务中表现出色,许多研究专注于为文本到SQL创建更好的提示。一些研究应用了如CoT或最少到最多等提示技术。然而,这些方法依赖于固定的手动标注示例集,其性能会因这些示例的选择而显著变化。在这项工作中,我们不是依赖固定的由人工标注的示例,而是根据测试样本从训练数据中动态选择少量示例。一些研究旨在确定更有效的少量选择策略。然而,与这些研究不同,我们采用并行方法,使用多种少量选择策略和多个提示并有效聚合它们。

方法论

如图1所示,所提出的方法包括三个步骤:(1)模式链接,排除与问题无关的表和列;(2)多个SQL生成,基于多个提示生成多个候选SQL查询;(3)选择,从候选查询中选择最准确的SQL查询。

模式链接

模式链接涉及从数据库中识别相关的表和列,以将自然语言问题转换为SQL查询。我们分两步进行模式链接:首先,提取与自然语言查询相关的表(表链接)。然后,提取这些表中的必要列(列链接)。我们在这两个阶段都使用多个提示,旨在实现高召回率。

表链接

### 给定数据库模式和问题,提取编写SQL查询所需的表列表。
### 数据库模式: ...
### 问题: ...

您的回答应为json格式:
{
"reasoning": "..." # 选择每个表的原因。
"answer": [...] # 选定的表列表。
}

### 您的回答:

列链接

### 给定数据库模式、问题和知识证据,提取应引用以将问题转换为SQL的列列表。
### SQLite SQL 表及其属性:
# molecule ( molecule_id, label )
# bond ( bond_id, molecule_id, bond_type )

### 问题: 在数据库中识别的所有化学化合物中,有多少百分比的化合物形成三键。
### 知识证据: 三键指的是 bond_type = '#';

您不仅需要选择所需的列,还需要详细解释为什么需要每个列。
您的回答应严格遵循以下json格式。
{
"reasoning": "", // 选择每个列的原因。
"columns": ["table_name_i.column_name_j", ...], // 选定的列列表
}

### 您的回答:

多个SQL生成

为了解决LLM对提示的敏感性,我们基于多个不同的提示生成各种SQL查询。几项研究表明,LLM的输出会因提供的少量示例及其呈现顺序的不同而显著变化。为了有效利用这种变异性,我们通过改变少量示例的选择方法及其呈现顺序生成多个提示,从而确保更广泛的潜在SQL查询探索。

少量示例选择

对于每个测试样本,从训练数据集中选择一组少量示例。为了生成具有不同示例的多个提示,我们使用两种不同的选择策略:一种基于问题相似性,另一种基于屏蔽问题相似性。

SQL生成

### 生成给定数据库模式和问题的正确SQL查询。
### 黄金示例:
- 问题: ...
- 黄金SQL: ...
...

### 数据库模式: ...
### 示例表内容: ...
### 问题: ...

您的回答应为json格式:
{
"reasoning": ".." # 生成SQL查询背后的推理步骤
"sql": ".." # 生成的SQL查询。
}

### 您的回答:

选择

选择步骤旨在从候选查询中选择最准确的查询。最初,基于置信度分数筛选候选池,然后由LLM从精简池中选择最准确的查询。

候选筛选

为了从候选查询中选择最准确的查询,我们首先缩小候选池。执行结果相同的查询被分组在一起,每组中仅保留最快的查询。此外,置信度分数较低的查询被排除在候选之外。

形式上,对于包含 \(N\) 个查询 \(\{q_1, \ldots, q_N\}\) 的候选池 \(C\),查询 \(q_i\) 的置信度计算如下:

\(\text{confidence}(q_i) = \frac{1}{N} \sum_{j=1}^{N} [\text{exec}(q_j) = \text{exec}(q_i)]\)

其中 \(\text{exec}(q_i)\) 表示查询 \(q_i\) 的执行结果。

多选题选择(MCS)

### 给定数据库模式和问题,从候选SQL查询中选择最准确的查询。
### 数据库模式: ...
### 问题: ...
### 候选SQLs:
1. SQL1
2. SQL2
3. SQL3

您的回答应为json格式:
{
"reasoning": ".." # 选择正确SQL查询的推理步骤。
"sql": ".." # 选定的SQL查询。
}

### 您的回答:

实验设置

数据集

Spider Spider 是一个大规模、复杂的跨域文本到SQL基准测试,包含200个数据库中的10,181个问题和5,693个独特查询。此基准要求模型适应未见过的数据库模式,因为训练和测试使用不同的数据库。

BIRD BIRD 是一个新的大规模、跨域文本到SQL基准测试,包含95个大型真实世界数据库中的12,751个独特问题-SQL对。与Spider相比,BIRD包含更复杂的SQL查询,涉及各种SQL关键字和函数。此外,BIRD要求使用外部知识进行推理以生成准确的SQL查询。

评估指标

执行准确性(EX) EX 表示模型生成的SQL执行结果是否与黄金SQL查询相同。由于一个SQL查询可以以多种形式产生相同的结果,基于字符串匹配的评估指标会显著低估模型性能。

有效效率得分(VES) 对于BIRD数据集,VES 根据执行时间测量有效模型生成查询的效率。如果查询的执行结果与黄金SQL不同,则该查询被视为无效并得分为零。

实现细节

在所有实验中,我们使用GPT-4 8K作为LLM,使用text-embedding-ada-002作为句子嵌入模型,通过Azure OpenAI API访问。此外,我们使用FAISS库进行嵌入相似性搜索。在模式链接中,我们使用 \(p_t=3\) 个提示进行表链接和 \(p_c=3\) 个提示进行列链接。为了生成多个候选SQL查询,我们使用 \(p_q=5\) 个不同的提示。对于每次GPT API调用,我们使用温度为1.0并生成 \(n=20\) 个响应。在SQL生成和MCS步骤中,我们使用 \(k=20\) 个问题-SQL对作为少量示例。我们执行所有候选SQL查询,超时时间为180秒,并过滤掉置信度分数低于阈值 \(T=0.2\) 的查询。

结果与分析

主要结果

BIRD 表1展示了所提出的和基线模型在BIRD开发和测试集上的EX和VES。结果表明,所提出的方法在这两个指标上显著优于现有的ICL方法。具体来说,所提出的方法在保留测试集上实现了65.45%的EX和71.35%的VES,分别超过了前一最先进(SOTA)ICL方法5.86%和3.67%。此外,所提出的方法在BIRD上建立了新的SOTA性能,分别在EX和VES上超过了前一SOTA方法4.74%和3.67%。

Spider 表2展示了所提出的方法和基线方法在Spider开发和测试集上的EX。类似于BIRD的结果,所提出的方法显著优于所有现有的ICL方法。具体来说,在开发集上,我们的方法实现了89.5的EX,比前一SOTA ICL方法高出+2.7%。

BIRD开发和测试集的执行准确性(EX)和有效效率得分(VES)。

Spider开发和测试集的执行准确性。

消融研究

我们进行了消融研究,以调查所提方法各组件对EX的增量影响。BIRD开发集的消融结果如表3所示。

BIRD开发集上不同难度级别的消融分析执行准确性。

表4列出了Spider开发集的消融结果,结果显示每个组件都带来了显著的性能提升,类似于BIRD的结果。

Spider开发集上不同难度级别的消融分析执行准确性。

模式链接中使用多个提示的影响

我们比较分析了以下三种情况,以研究在模式链接中使用多个提示的影响:(1)单个提示的贪婪解码;(2)取单个提示生成的多个答案的并集;(3)取多个提示生成的多个答案的并集。表5列出了每种情况下模式链接的召回率,这是根据预测的表和列列表是否包括黄金查询中使用的表和列计算的。

BIRD和Spider开发集下三种不同设置的模式链接召回率。

不同少量选择策略的影响

表6展示了使用不同少量选择策略时的EX。

BIRD和Spider开发集下不同少量示例选择策略的执行准确性。

MCS的影响

在SQL选择阶段,我们探讨了通过LLM进行的MCS是否比多数投票更有效,后者选择置信度分数最高的查询。

BIRD和Spider开发集下不同SQL选择策略的执行准确性。

结论

本研究介绍了一种利用多个提示增强ICL-based文本到SQL生成准确性和鲁棒性的新方法。具体而言,所提方法通过使用不同的提示进行稳健的模式链接。此外,我们使用不同的少量选择策略生成多个查询生成提示,从而产生各种候选SQL查询。这些候选查询随后根据其置信度分数进行筛选,并使用带有MCS的LLM选择最佳查询。在BIRD和Spider基准测试中的评估表明,所提方法显著优于现有ICL方法,并在BIRD上实现了新的最先进性能。


参考文献

  • Achiam, Josh, Steven Adler, Sandhini Agarwal, Lama Ahmad, Ilge Akkaya, Florencia Leoni Aleman, Diogo Almeida, Janko Altenschmidt, Sam Altman, Shyamal Anadkat, et al. 2023. Gpt-4 技术报告 . arXiv preprint arXiv:2303.08774.
  • Besta, Maciej, Nils Blach, Ales Kubicek, Robert Gerstenberger, Lukas Gianinazzi, Joanna Gajda, Tomasz Lehmann, Michal Podstawski, Hubert Niewiadomski, Piotr Nyczyk, et al. 2023. Graph of thoughts: 使用大型语言模型解决复杂问题 . arXiv preprint arXiv:2308.09687.
  • Dong, Xuemei, Chao Zhang, Yuhang Ge, Yuren Mao, Yunjun Gao, Jinshu Lin, Dongfang Lou, et al. 2023. C3: 使用ChatGPT进行零样本文本到SQL . arXiv preprint arXiv:2307.07306.
  • Gao, Dawei, Haibin Wang, Yaliang Li, Xiuyu Sun, Yichen Qian, Bolin Ding, and Jingren Zhou. 2023. 由大型语言模型赋能的文本到SQL:基准评估 . arXiv preprint arXiv:2308.15363.
  • Douze, Matthijs, Alexandr Guzhva, Chengqi Deng, Jeff Johnson, Gergely Szilvasy, Pierre-Emmanuel Mazaré, Maria Lomeli, Lucas Hosseini, and Hervé Jégou. 2024. The faiss 库 . arXiv preprint arXiv:2401.08281.
  • Guo, Chunxi, Zhiliang Tian, Jintao Tang, Pancheng Wang, Zhihua Wen, Kang Yang, and Ting Wang. 2023. 通过去语义化和骨架检索提示GPT-3.5进行文本到SQL . In Pacific Rim International Conference on Artificial Intelligence , pages 262–274. Springer.
  • Guo, Jiaqi, Zecheng Zhan, Yan Gao, Yan Xiao, Jian-Guang Lou, Ting Liu, and Dongmei Zhang. 2019. 跨域数据库中复杂文本到SQL的中间表示 . In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics , pages 4524–4535, Florence, Italy. Association for Computational Linguistics.
  • Hui, Binyuan, Ruiying Geng, Lihan Wang, Bowen Qin, Yanyang Li, Bowen Li, Jian Sun, and Yongbin Li. 2022. S2sql: 将语法注入问题-模式交互图编码器以用于文本到SQL解析器 . In Findings of the Association for Computational Linguistics: ACL 2022 , pages 1254–1262.
  • Jang, Myeongjun, and Thomas Lukasiewicz. 2023. ChatGPT的一致性分析 . In Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing , pages 15970–15985, Singapore. Association for Computational Linguistics.
  • Kojima, Takeshi, Shixiang Shane Gu, Machel Reid, Yutaka Matsuo, and Yusuke Iwasawa. 2022. 大型语言模型是零样本推理者 . Advances in neural information processing systems , 35:22199–22213.
  • Lei, Wenqiang, Weixin Wang, Zhixin Ma, Tian Gan, Wei Lu, Min-Yen Kan, and Tat-Seng Chua. 2020. 重新审视文本到SQL中的模式链接作用 . In Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP) , pages 6943–6954.
  • Li, Haoyang, Jing Zhang, Cuiping Li, and Hong Chen. 2023. Resdsql: 解耦模式链接和骨架解析以进行文本到SQL . In Proceedings of the AAAI Conference on Artificial Intelligence , volume 37, pages 13067–13075.
  • Li, Jinyang, Binyuan Hui, Reynold Cheng, Bowen Qin, Chenhao Ma, Nan Huo, Fei Huang, Wenyu Du, Luo Si, and Yongbin Li. 2023. Graphix-t5: 将预训练变换器与图感知层混合用于文本到SQL解析 . arXiv preprint arXiv:2301.07507.
  • Li, Jinyang, Binyuan Hui, Ge Qu, Binhua Li, Jiaxi Yang, Bowen Li, Bailin Wang, Bowen Qin, Rongyu Cao, Ruiying Geng, Nan Huo, Chenhao Ma, Kevin C. C. Chang, Fei Huang, Reynold Cheng, and Yongbin Li. 2023. LLM能否作为数据库接口?大规模数据库支持的文本到SQL大基准 . arXiv preprint arXiv:2305.03111.
  • Liu, Jiachang, Dinghan Shen, Yizhe Zhang, William B Dolan, Lawrence Carin, and Weizhu Chen. 2022. 什么使GPT-3中的上下文示例变得优秀? . In Proceedings of Deep Learning Inside Out (DeeLIO 2022): The 3rd Workshop on Knowledge Extraction and Integration for Deep Learning Architectures , pages 100–114.
  • Liu, Nelson F, Kevin Lin, John Hewitt, Ashwin Paranjape, Michele Bevilacqua, Fabio Petroni, and Percy Liang. 2023. 迷失在中间:语言模型如何使用长上下文 . arXiv preprint arXiv:2307.03172.
  • Lu, Yao, Max Bartolo, Alastair Moore, Sebastian Riedel, and Pontus Stenetorp. 2022. 神奇的提示及其来源:克服少量提示顺序敏感性 . In Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers) , pages 8086–8098.
  • Nan, Linyong, Yilun Zhao, Weijin Zou, Narutatsu Ri, Jaesung Tae, Ellen Zhang, Arman Cohan, and Dragomir Radev. 2023. 增强大型语言模型的文本到SQL能力:关于提示设计策略的研究 . In Findings of the Association for Computational Linguistics: EMNLP 2023 , pages 14935–14956.
  • Nori, Harsha, Yin Tat Lee, Sheng Zhang, Dean Carignan, Richard Edgar, Nicolo Fusi, Nicholas King, Jonathan Larson, Yuanzhi Li, Weishung Liu, et al. 2023. 通用基础模型能否胜过特殊用途调优?医学案例研究 . arXiv preprint arXiv:2311.16452.
  • Pezeshkpour, Pouya, and Estevam Hruschka. 2023. 大型语言模型对多选题选项顺序的敏感性 . arXiv preprint arXiv:2308.11483.
  • Pourreza, Mohammadreza, and Davood Rafiei. 2023. Din-sql: 分解式上下文学习的文本到SQL自校正 . arXiv preprint arXiv:2304.11015.
  • Pourreza, Mohammadreza, and Davood Rafiei. 2023. 评估跨域文本到SQL模型和基准 . In Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing , pages 1601–1611.
  • Qi, Jiexing, Jingyao Tang, Ziwei He, Xiangpeng Wan, Yu Cheng, Chenghu Zhou, Xinbing Wang, Quanshi Zhang, and Zhouhan Lin. 2022. Rasat: 将关系结构集成到预训练序列到序列模型中以进行文本到SQL . In Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing , pages 3215–3229.
  • Tai, Chang-Yu, Ziru Chen, Tianshu Zhang, Xiang Deng, and Huan Sun. 2023. 探索链式思维风格提示在文本到SQL中的应用 . In Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing , pages 5376–5393, Singapore. Association for Computational Linguistics.
  • Wang, Bing, Changyu Ren, Jian Yang, Xinnian Liang, Jiaqi Bai, Qian-Wen Zhang, Zhao Yan, and Zhoujun Li. 2023. Mac-sql: 多代理协作文本到SQL . arXiv preprint arXiv:2312.11242.
  • Wang, Xuezhi, Jason Wei, Dale Schuurmans, Quoc Le, Ed Chi, Sharan Narang, Aakanksha Chowdhery, and Denny Zhou. 2022. 自一致性改进语言模型中的链式思维推理 . arXiv preprint arXiv:2203.11171.
  • Wang, Yiwei, Yujun Cai, Muhao Chen, Yuxuan Liang, and Bryan Hooi. 2023. ChatGPT的首因效应 . In Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing , pages 108–115.
  • Webson, Albert, and Ellie Pavlick. 2022. 基于提示的模型是否真正理解其提示的含义? . In Proceedings of the 2022 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies , pages 2300–2344.
  • Wei, Jason, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, Fei Xia, Ed Chi, Quoc V Le, Denny Zhou, et al. 2022. 链式思维提示在大型语言模型中激发推理 . Advances in Neural Information Processing Systems , 35:24824–24837.
  • Wu, Zhiyong, Yaoxiang Wang, Jiacheng Ye, and Lingpeng Kong. 2023. 自适应上下文学习:从信息压缩角度选择和排序上下文示例 . In Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers) , pages 1423–1436, Toronto, Canada. Association for Computational Linguistics.
  • Xu, Kuan, Yongbo Wang, Yongliang Wang, Zihao Wang, Zujie Wen, and Yang Dong. 2022. Sead: 端到端文本到SQL生成的模式感知降噪 . In Findings of the Association for Computational Linguistics: NAACL 2022 , pages 1845–1853.
  • Yu, Tao, Rui Zhang, Kai Yang, Michihiro Yasunaga, Dongxu Wang, Zifan Li, James Ma, Irene Li, Qingning Yao, Shanelle Roman, et al. 2018. Spider: 大规模人工标注的复杂和跨域语义解析和文本到SQL任务数据集 . In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing , pages 3911–3921.
  • Zhao, Zihao, Eric Wallace, Shi Feng, Dan Klein, and Sameer Singh. 2021. 使用前校准:提高语言模型的少量示例性能 . In International Conference on Machine Learning , pages 12697–12706. PMLR.
  • Zheng, Chujie, Hao Zhou, Fandong Meng, Jie Zhou, and Minlie Huang. 2023. 大型语言模型不是稳健的多选题选择器 . arXiv e-prints, pages arXiv–2309.
  • Zhou, Denny, Nathanael Schärli, Le Hou, Jason Wei, Nathan Scales, Xuezhi Wang, Dale Schuurmans, Claire Cui, Olivier Bousquet, Quoc Le, et al. 2022. 最少到最多提示使大型语言模型能够进行复杂推理 . arXiv preprint arXiv:2205.10625.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Paper易论

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值