论文:PURPLE: Making a Large Language Model a Better SQL Writer
会议:ICDE 2024
作者:Tonghui Ren , Yuankai Fan, Zhenying He, Ren Huang, Jiaqi Dai, Can Huang, Yinan Jing, Kai Zhang, Yifan Yang, X.Sean Wang
简介:自然语言到SQL(NL2SQL)的翻译任务是将自然语言查询转换成SQL语句,使得用户能够不需要了解数据库模式或SQL语法的情况下,轻松访问数据库管理系统(DBMS)中的数据。大型语言模型(LLM)在理解自然语言方面表现出色,能在很多任务上表现出优异的性能,但对于自然语言到SQL的翻译任务,它们通常缺乏足够的能力来正确组织和生成包含复杂逻辑运算的SQL查询。这导致即使是在执行结果相同的情况下,生成的SQL语句在逻辑上可能与正确的查询存在显著差异,从而导致生成的查询语句不可靠。
为了解决上述的挑战,我们提出了提出了一种名为PURPLE(Pre-trained models Utilized to Retrieve Prompts for Logical Enhancement,利用预训练模型检索提示以增强逻辑能力)的新方法,旨在改善大型语言模型在自然语言到SQL转换任务中的表现。PURPLE通过几个关键模块来增强大型语言模型的SQL生成能力,包括模式剪枝、骨架预测、示范选择和数据库适配。这种方法通过选取含有所需逻辑运算符组合知识的样本,帮助大型语言模型更好地处理自然语言到SQL的翻译任务中的逻辑组合问题。为了证明PURPLE的有效性,作者在四个主流基准测试集上进行了评估,并探讨了成本与性能之间的权衡。结果显示,PURPLE在准确匹配率方面相较于现有的基于大型语言模型的自然语言到SQL的翻译方法有显著提高,同时也展现出了强大的鲁棒性和成本效益。