[论文解读] Interleaving Pre-Trained Language Models and Large Language Models for Zero-Shot NL2SQL Generation
本文提出 ZeroNL2SQL,一种将预训练语言模型(PLM)与大语言模型(LLM)交错使用的框架,用于零样本 NL2SQL 生成。首先利用 PLM 通过模式对齐生成 SQL 模板,然后使用 LLM 通过复杂推理完成模板,结合谓词校准与基于执行的筛选策略以提升准确性。该方法在真实世界基准测试中实现了最先进(SOTA)的执行准确率,相较于 SOTA 的 PLM 方法提升 3.2%–13%,相较于 SOTA 的 LLM 方法提升 10%–20%。
Zero-shot NL2SQL is crucial in achieving natural language to SQL that is adaptive to new environments (e.g., new databases, new linguistic phenomena or SQL structures) with zero annotated NL2SQL samples from such environments. Existing approaches either fine-tune pre-trained language models (PLMs) based on annotated data or use prompts to guide fixed large language models (LLMs) such as ChatGPT. PLMs can perform well in schema alignment but struggle to achieve complex reasoning, while LLMs is superior in complex reasoning tasks but cannot achieve precise schema alignment. In this paper, we propose a ZeroNL2SQL framework that combines the complementary advantages of PLMs and LLMs for supporting zero-shot NL2SQL. ZeroNL2SQL first uses PLMs to generate an SQL sketch via schema alignment, then uses LLMs to fill the missing information via complex reasoning. Moreover, in order to better align the generated SQL queries with values in the given database instances, we design a predicate calibration method to guide the LLM in completing the SQL sketches based on the database instances and select the optimal SQL query via an execution-based strategy. Comprehensive experiments show that ZeroNL2SQL can achieve the best zero-shot NL2SQL performance on real-world benchmarks. Specifically, ZeroNL2SQL outperforms the state-of-the-art PLM-based methods by 3.2% to 13% and exceeds LLM-based methods by 10% to 20% on execution accuracy.
研究动机与目标
- 解决在无标注训练数据的新环境中进行零样本 NL2SQL 的挑战。
- 克服现有基于 PLM 的方法在复杂推理方面的局限性,以及基于 LLM 的方法在模式对齐方面的不足。
- 在无需微调的前提下,实现跨多样化数据库、语言现象与 SQL 结构的稳健 NL2SQL 生成。
- 通过实例感知的校准,提升自然语言问题与实际数据库值之间的对齐程度。
- 通过两阶段流水线结合 PLM 与 LLM 的优势,实现在零样本设置下的高执行准确率。
提出的方法
- 使用微调过的预训练语言模型(PLM)通过自然语言问题与数据库模式之间的模式对齐,生成 SQL 模板。
- 利用固定且冻结的大语言模型(LLM)通过在问题与模式上进行复杂推理,完成 SQL 模板。
- 提出一种谓词校准方法,利用语义匹配(如 SBERT)将生成的 SQL 谓词与数据库实例中的实际值对齐。
- 采用多级匹配策略,结合列内、库内及多级值匹配,以提升谓词准确性。
- 采用基于执行的策略,对 LLM 生成的多个候选 SQL 查询进行评估与最优选择。
- 在谓词校准中使用 SBERT 进行语义相似度计算,其性能优于 GloVe 与模糊匹配方法。
实验结果
研究问题
- RQ1结合 PLM 与 LLM 的混合框架是否能相比纯 PLM 或 LLM 方法实现更优越的零样本 NL2SQL 性能?
- RQ2PLM 在零样本设置下,能否有效生成用于模式对齐的准确 SQL 模板?
- RQ3在 PLM 生成的模板引导下,LLM 在完成 SQL 模板时,其复杂推理能力能发挥到何种程度?
- RQ4基于数据库实例的谓词校准在零样本 NL2SQL 中,如何提升 SQL 准确率?
- RQ5基于执行的筛选与语义匹配(如 SBERT)是否能显著增强生成 SQL 查询的鲁棒性与准确性?
主要发现
- ZeroNL2SQL 在真实世界 NL2SQL 基准测试中实现了最先进(SOTA)的执行准确率,相较于 SOTA 的 PLM 方法提升 3.2% 至 13%。
- 该框架在执行准确率上超过 SOTA 的 LLM 方法 10% 至 20%,展现出卓越的零样本泛化能力。
- 使用 SBERT 的谓词校准将平均执行准确率提升至 78.5%,显著优于模糊匹配(77.2%)与 GloVe(76.3%)。
- 谓词校准中的多级匹配策略实现了 78.5% 的平均执行准确率,展现出在多样化值类型下的鲁棒性。
- 两阶段流水线——PLM 负责模板生成,LLM 负责完成——有效平衡了模式对齐与复杂推理。
- 基于执行的筛选策略能有效过滤错误的 SQL 查询,通过与实际数据库实例的验证,显著提升最终准确率。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。