EXPO-SQL: Execution-based Clause-level Policy Optimization for Text-to-SQL

EXPO-SQL: Execution-based Clause-level Policy Optimization for Text-to-SQL

EXPO-SQL:基于执行的 Text-to-SQL 子句级策略优化

Abstract: Text-to-SQL enables users to query databases using natural language by generating executable SQL queries. Recent methods have increasingly adopted Large Language Models based reinforcement learning (RL) to leverage execution feedback for training. 摘要: Text-to-SQL 技术通过生成可执行的 SQL 查询,使用户能够使用自然语言查询数据库。近期,越来越多的方法采用基于大语言模型的强化学习(RL),利用执行反馈进行训练。

However, existing RL methods assign uniform query-level rewards to all clauses in a SQL query, treating correct and incorrect clauses equally. This coarse-grained reward design leads to insufficient learning signals for correct SQL generation. 然而,现有的强化学习方法为 SQL 查询中的所有子句分配统一的查询级奖励,将正确和错误的子句同等对待。这种粗粒度的奖励设计导致在生成正确 SQL 时学习信号不足。

To address this issue, we propose EXPO-SQL (EXecution-based clause-level Policy Optimization for Text-to-SQL) which provides fine-grained supervision through clause-level rewards. To assign clause-level rewards, our method identifies erroneous clauses by analyzing execution results, including error messages and clause-wise incremental execution. 为了解决这一问题,我们提出了 EXPO-SQL(基于执行的 Text-to-SQL 子句级策略优化),通过子句级奖励提供细粒度的监督。为了分配子句级奖励,我们的方法通过分析执行结果(包括错误信息和子句级的增量执行)来识别错误的子句。

Experiments on widely-used Text-to-SQL benchmarks demonstrate that EXPO-SQL significantly outperforms existing supervised fine-tuning, prompting, and RL-based methods through fine-grained clause-level learning. Our code is available at https://github.com/jhn25/EXPO-SQL. 在广泛使用的 Text-to-SQL 基准测试上的实验表明,通过细粒度的子句级学习,EXPO-SQL 显著优于现有的监督微调、提示工程(Prompting)和基于强化学习的方法。我们的代码已开源至:https://github.com/jhn25/EXPO-SQL。