Text-to-SQL Error Correction with Language Models of Code
This addresses the issue of insufficient accuracy for practical use in text-to-SQL systems, representing an incremental advancement in error correction methods.
The paper tackles the problem of low accuracy in text-to-SQL parsing by proposing an automatic error correction model that uses clause-level edits and a novel SQL representation aligned with pre-trained language models of code, resulting in improvements of 2.4-6.5 points in exact set match accuracy and up to 4.3 points over baselines.
Despite recent progress in text-to-SQL parsing, current semantic parsers are still not accurate enough for practical use. In this paper, we investigate how to build automatic text-to-SQL error correction models. Noticing that token-level edits are out of context and sometimes ambiguous, we propose building clause-level edit models instead. Besides, while most language models of code are not specifically pre-trained for SQL, they know common data structures and their operations in programming languages such as Python. Thus, we propose a novel representation for SQL queries and their edits that adheres more closely to the pre-training corpora of language models of code. Our error correction model improves the exact set match accuracy of different parsers by 2.4-6.5 and obtains up to 4.3 point absolute improvement over two strong baselines. Our code and data are available at https://github.com/OSU-NLP-Group/Auto-SQL-Correction.