DAC: Decomposed Automation Correction for Text-to-SQL
Dingzirui Wang, Longxu Dou, Xuanliang Zhang, Qingfu Zhu, Wanxiang Che
TL;DR
This paper tackles the challenge of correcting text-to-SQL outputs produced by LLMs, where direct correction is difficult for models to detect mistakes. It introduces Decomposed Automation Correction (DAC), which splits correction into two sub-tasks—entity linking and skeleton parsing—and uses their inconsistencies with an initial SQL as feedback to generate improved queries. Across Spider, Bird, and KaggleDBQA, DAC yields an average improvement of $3.7\%$ over baselines and shows notable gains across multiple models, with ablations confirming that both sub-tasks contribute to accuracy, while skeleton parsing is often the bottleneck for smaller models. The approach demonstrates that task decomposition provides a robust pathway for error correction in text-to-SQL, with strong implications for practical deployment and future enhancement via oracle-based evaluations and harder query sets.
Abstract
Text-to-SQL is an important task that helps people obtain information from databases by automatically generating SQL queries. Considering the brilliant performance, approaches based on Large Language Models (LLMs) become the mainstream for text-to-SQL. Among these approaches, automated correction is an effective approach that further enhances performance by correcting the mistakes in the generated results. The existing correction methods require LLMs to directly correct with generated SQL, while previous research shows that LLMs do not know how to detect mistakes, leading to poor performance. Therefore, in this paper, we propose to employ the decomposed correction to enhance text-to-SQL performance. We first demonstrate that decomposed correction outperforms direct correction since detecting and fixing mistakes with the results of the decomposed sub-tasks is easier than with SQL. Based on this analysis, we introduce Decomposed Automation Correction (DAC), which corrects SQL by decomposing text-to-SQL into entity linking and skeleton parsing. DAC first generates the entity and skeleton corresponding to the question and then compares the differences between the initial SQL and the generated entities and skeleton as feedback for correction. Experimental results show that our method improves performance by $3.7\%$ on average of Spider, Bird, and KaggleDBQA compared with the baseline method, demonstrating the effectiveness of DAC.
