Query and Conquer: Execution-Guided SQL Generation

作者: Łukasz Borchmann, Marek Wydmuch

发布时间: 2025-04-02

来源: arxiv

研究方向: 自然语言处理与数据库查询生成

主要内容

该研究提出了一种基于执行结果的SQL生成方法,通过评估多个候选查询的语义一致性,在保证准确性的同时显著降低了推理成本。该方法能够有效地处理结构相似但语义不同的查询,使得小型模型能够超越计算密集型方法,并在成本效益方面取得显著提升。

主要贡献

1. 提出了一种基于执行结果的SQL生成方法,提高了生成SQL查询的准确性。

2. 通过最小贝叶斯风险解码框架,将自一致性方法扩展到执行行为定义的输出空间。

3. 利用SQL方言的prefix可执行性,在中间查询生成阶段增量应用基于执行的自我一致性。

4. 展示了小型模型在结合该方法后能够达到大型模型的性能,同时降低推理成本。

5. 通过实验验证了该方法在BIRDSQL数据集上的有效性,并与其他方法进行了比较。

研究方法

1. 执行相似性:比较候选查询的执行结果,以评估其语义一致性。

2. 近似执行相似性:比较逻辑执行计划,而不是实际结果,以降低计算成本。

3. 最小贝叶斯风险解码:提供理论依据,选择最有可能的输出。

4. 部分可执行SQL:利用PipeSQL方言的部分可执行性,在生成过程中逐步应用自一致性。

5. 耐心参数:在中间SQL步骤中容忍临时差异,提高准确性。

实验结果

实验结果表明,该方法在BIRDSQL数据集上优于贪婪解码和计算密集型基线,同时成本效益更高。小型模型在结合该方法后,其准确性可以显著提升,甚至超过大型模型。

未来工作

进一步研究包括:探索该方法在其他编程语言和代码生成任务中的应用,提高部分可执行SQL的性能,以及针对具有较低初始错误率或高基准准确率的模型进行改进。