CHS-SQL:一种基于置信度引导的启发式搜索模式链接过程的Text-to-SQL方法
摘要
CHS-SQL提出了一种基于置信度引导的启发式搜索模式链接过程,用于使用小语言模型进行Text-to-SQL,通过在模式选择中平衡精确率和召回率,取得了SOTA结果。
查看缓存全文
缓存时间: 2026/07/28 06:26
# CHS-SQL: 一种基于置信度引导的启发式搜索模式链接方法的文本到SQL方法 来源: https://arxiv.org/html/2607.22624 杨明浩 海南中远海运科技有限公司 海口市数字供应链联合创新重点实验室 智能港产城协同发展工程技术研究中心 许艳军 通讯作者: 许艳军(生于1979年),硕士生导师,研究员级高级工程师,博士研究生。研究方向:数字供应链、智能港产城融合、人工智能、交通信息工程及控制。邮箱:[email protected] 海南中远海运科技有限公司 海口市数字供应链联合创新重点实验室 智能港产城协同发展工程技术研究中心 人工智能应用研发中心 (2026年3月) ###### 摘要 近期,文本到SQL领域出现了一些利用小语言模型(SLMs)[wang2025comprehensive]进行训练的工作。这些方法仅使用单个NVIDIA RTX 4090 GPU的计算能力,在生成SQL时就能达到接近大模型的性能,同时还能确保数据安全。大多数现有方法在模式链接过程中会过滤掉冗余的表和列,以提高文本到SQL的准确性。然而,它们在选择候选模式子集时没有考虑精确率-召回率的权衡。我们的研究发现,模式链接的精确率和召回率都会直接影响最终的SQL准确率。因此,我们提出了一种新颖的框架CHS-SQL,用于在文本到SQL任务上高效微调小语言模型,该框架不仅平衡了精确率和召回率,还提升了文本到SQL任务的整体性能。其主要创新点在于模式链接阶段,采用启发式搜索结合模型内部置信度,以实现最优的精确率-召回率权衡。这种精心设计的机制最大化了生成SQL查询的相关模式候选的精确率,同时抑制了不相关的噪声。相同的策略进一步应用于SQL生成阶段,以优化候选查询,同时帮助小语言模型避免陷入局部最优。我们的方法通过小语言模型在文本到SQL任务上实现了最先进的(SOTA)结果。 ## 1 引言 文本到SQL任务使数据分析师能够通过自然语言交互从数据库中检索结构化数据,无需手动理解数据库模式结构或设计SQL查询语句。这极大地加快了BI报告的开发速度,并提高了数据分析师的生产力。 基于LLM(大型语言模型)的SQL生成的主流方法大致可分为三类:提示工程、高效微调以及多智能体协作。目前,多项研究表明,过滤掉不相关的模式信息可以有效提升基于LLM的文本到SQL系统的性能。为了提高生成准确性,其中一些方法采用了模式链接过程来过滤冗余的模式信息。 常见的提示工程技术包括少样本学习[18 (https://arxiv.org/html/2607.22624#bib.bib28)]和思维链(CoT)提示[29 (https://arxiv.org/html/2607.22624#bib.bib29)]。少样本学习通过向模型提供若干输入-输出示例,提高模型对文本到SQL任务的适应性,从而提升SQL生成准确性。CoT技术将复杂查询分解为顺序的子任务,引导大模型生成中间推理步骤,逐步解决复杂问题。DAIL-SQL[8 (https://arxiv.org/html/2607.22624#bib.bib21)]和DIN-SQL[19 (https://arxiv.org/html/2607.22624#bib.bib19)]等方法主要依赖于大型语言模型(LLM)的内在能力及其对提示中模式链接指令的理解,来过滤掉不相关的模式项。虽然这种方法利用了LLM的推理能力,但往往导致召回率较低,因为模型可能会忽略一些相关的模式组件——尤其是那些在自然语言问题中隐含或间接提及的组件。 高效微调方法通过仅更新一小部分参数,使大模型适应特定的下游任务。这类方法中一种常见的策略采用类似集成的做法,使用两个专门的微调模型——一个用于模式链接,另一个用于SQL生成——来协作完成文本到SQL任务。例如,RESD-SQL[16 (https://arxiv.org/html/2607.22624#bib.bib10)]是一种基于判别模型的SOTA方法,它首先对所有表和列的相关性进行评分,然后严格选择前4个表和前5个列作为SQL生成模型的输入。虽然有效,但这种固定阈值策略由于选择标准不灵活,可能会包含边缘相关甚至不相关的模式元素,导致精确率欠佳。 多智能体协作框架将复杂的文本到SQL过程分解为不同的子任务,协调多个专用智能体来实现最终的SQL输出。MAC-SQL[28 (https://arxiv.org/html/2607.22624#bib.bib23)]框架在BIRD基准上实现了最先进(SOTA)的性能。它使用一个精心设计的选择器智能体来过滤掉不相关的表和列名,有效减少了模式噪声。在MAC-SQL选择器智能体中,如果一个表被认为与问题相关且包含不超过十个列,那么它的所有列都会被保留,并在排序后传递给后续阶段。虽然这种策略有助于保留潜在相关的属性从而提高召回率,但它也不可避免地引入了这些表中的不相关列,从而降低了模式链接步骤的整体精确率。然而,它没有定量衡量模式链接过程中的精确率-召回率权衡,也没有明确解决两者之间的平衡问题。 然而,许多流行的基于LLM的方法未能充分量化模式链接过程中固有的精确率-召回率权衡。它们通常缺乏对模式链接结果中固有的精确率-召回率权衡的定量评估,从而限制了其系统性地进一步提升SQL生成性能的能力。因此,有效解决模式链接阶段的精确率-召回率权衡是提升文本到SQL系统整体性能的关键因素。实现自适应且平衡的模式元素选择,而不是依赖固定阈值或未经校准的模型判断,对于最大化准确性和鲁棒性至关重要。 CHS-SQL提出了一种基于SLM的文本到SQL任务框架。在模式链接阶段,它引入了一种新颖的方法,将束搜索与模型内部置信度相结合,以过滤掉不相关的表和列名。束搜索方法有效地提高了模式链接阶段候选模式子集的召回率。相比之下,使用模型内部置信度过滤不相关的模式元素则有效提升了精确率。通过结合超参数束宽和轨迹置信度,我们可以实现对模式链接过程的定量控制。这种整合形成了一个更加精细和自适应的选择过程,有效地以原则性的方式实现了最优的精确率-召回率权衡。 在SQL生成阶段,CHS-SQL方法使用平衡了精确率和召回率的模式链接结果作为SQL生成的输入,从而有效提高了SQL准确性。此外,在SQL推理过程中使用束搜索帮助小语言模型避免陷入局部最优,同时利用模型内部置信度从SLM的多次生成中选择置信度最高的SQL语句。这些多种方法的共同作用最终提升了SLM在文本到SQL任务上的性能。 这种名为CHS-SQL的方法,通过在文本到SQL任务上微调小语言模型,在SPIDER和BIRD两个基准上都达到了SOTA性能,有力地证明了其在平衡精确率和召回率方面的有效性。为了便于我们提出的方法的可复现性,所有源代码均已公开在我们的GitHub仓库中。111https://github.com/ymhaolove-maker/chs-sql.git ## 2 相关工作 近年来,由于深度学习技术的快速发展和大量训练数据的可用性,文本到SQL任务取得了重大进展。 早期代表性模型之一是Seq2Seq[24 (https://arxiv.org/html/2607.22624#bib.bib1)]模型,它是一种用于解决序列到序列映射问题的通用模型架构。Seq2Seq的编码器-解码器结构使其能够处理不同序列长度的输入和输出文本,并且这种架构在一定程度上反映了人类信息传递模型。Seq2Seq模型在文本翻译、文本摘要和对话问答等任务中取得了SOTA结果。自然地,早期研究认为将自然语言转换为SQL的任务是一个序列到序列的任务,并且在很长一段时间内,基于编码器-解码器架构的模型成为文本到SQL的主流方法。 基于编码器-解码器架构,文本到SQL首先通过编码器学习自然语言问题和用户本地数据库元数据的联合表示。在此过程中,编码器根据用户本地数据库元数据,识别与问题相关的表、列或数值条件,这被称为模式链接[22 (https://arxiv.org/html/2607.22624#bib.bib2)]。然后,解码器根据学习到的问题和来自编码器的元数据表示,生成相应的SQL查询,然后进行验证和纠错[22 (https://arxiv.org/html/2607.22624#bib.bib2)]。 在编码器部分,代表性工作包括IRNet[10 (https://arxiv.org/html/2607.22624#bib.bib3)],它利用NL编码器和模式编码器实现问题表示和模式链接。该编码器选择BiLSTM[9 (https://arxiv.org/html/2607.22624#bib.bib4)]和BERT[4 (https://arxiv.org/html/2607.22624#bib.bib5)]作为基础模型,并且还应用了注意力机制。RYANSQL[3 (https://arxiv.org/html/2607.22624#bib.bib6)]的编码器使用CNN模型捕获局部信息,并使用Transformer模型学习问题的上下文。近年来,一些工作使用图来表达模式链接过程中问题与元数据之间的关系,增强了编码器对关系的学习和表示。RASAT[21 (https://arxiv.org/html/2607.22624#bib.bib7)]基于T5模型,从输入问题序列和模式信息生成交互图。然后,它使用两个可训练的查找表,能够生成图关系嵌入,以实现关系感知注意力。类似的工作包括LGESQL[2 (https://arxiv.org/html/2607.22624#bib.bib8)]和SADGA[1 (https://arxiv.org/html/2607.22624#bib.bib9)]。RESDSQL[16 (https://arxiv.org/html/2607.22624#bib.bib10)]首先使用排序增强编码器过滤掉不相关的表和字段,从而减轻SQL解析过程中模式链接的难度。 在解码器方面,主要分为基于草稿的方法[30 (https://arxiv.org/html/2607.22624#bib.bib11)][14 (https://arxiv.org/html/2607.22624#bib.bib12)][13 (https://arxiv.org/html/2607.22624#bib.bib13)]和基于生成的方法。基于草稿的方法根据语法将SQL生成任务分解为不同的子模块,然后用元数据信息或列值填充不同子模块中的槽位,最后将所有子模块整合成最终的SQL语句。例如,SQLNet[30 (https://arxiv.org/html/2607.22624#bib.bib11)]将SQL语句生成拆分为“WHERE”子句和“SELECT”子句两个子任务。然后,它使用序列到集合模型和列注意力机制来预测和填充槽位内容,形成最终的SQL语句。然而,基于草稿的方法的缺点是需要预定义模板,导致泛化能力较差。基于生成的方法[10 (https://arxiv.org/html/2607.22624#bib.bib3)][27 (https://arxiv.org/html/2607.22624#bib.bib14)][12 (https://arxiv.org/html/2607.22624#bib.bib15)]使用带有语法规则的抽象语法树作为先验知识来生成SQL语句。PICARD[23 (https://arxiv.org/html/2607.22624#bib.bib16)]利用约束解码器,通过在每一步解码时拒绝不允许的标记,来寻找有效的输出序列。 在使用自然语言生成SQL的过程中,文献[22 (https://arxiv.org/html/2607.22624#bib.bib2)]中存在一个不匹配问题。这是因为SQL语言最初是设计为用于查询数据库的结构化编程语言,与翻译任务不同,它很难映射自然语言中人类意图的各种表达。为了弥合自然语言和SQL之间的差距,一些工作设计了SQL中间表示(IR)[22 (https://arxiv.org/html/2607.22624#bib.bib2)]。IRNet[10 (https://arxiv.org/html/2607.22624#bib.bib3)]、Syntaxsqlnet[31 (https://arxiv.org/html/2607.22624#bib.bib17)]和NaturalSQL[7 (https://arxiv.org/html/2607.22624#bib.bib18)]基于自然语言查询和模式信息生成一个IR,然后根据IR推导出相应的SQL查询。类似的工作包括RESDSQL[16 (https://arxiv.org/html/2607.22624#bib.bib10)],它首先生成一个SQL骨架,然后让解码器填充骨架以生成SQL语句。 以OpenAI GPT-3.5为代表的LLM的发布令世界惊叹,展示了这些模型在语义理解和文本生成方面的巨大潜力。越来越多的工作转向LLM,包括像文本到SQL这样的任务。Din-SQL[19 (https://arxiv.org/html/2607.22624#bib.bib19)]和C3[5 (https://arxiv.org/html/2607.22624#bib.bib20)]将文本到SQL分解为不同的子任务,并设计相应的提示模板来引导LLM生成正确的SQL查询。这些提示方法无需对LLM进行预训练或微调,省去了准备大量训练数据和消耗大量计算资源的精力。Dail-SQL[8 (https://arxiv.org/html/2607.22624#bib.bib21)]在不同LLM上采用监督式微调,以增强其在文本到SQL任务上的性能。 先前的大量工作已经证明,减少不相关的模式信息可以有效提高SQL生成的准确性[32 (https://arxiv.org/html/2607.22624#bib.bib22)]。因此,许多近期基于LLM的文本到SQL方法将模式链接视为一个专门的子任务。然而,这些方法通常未能解决模式元素的检索效率问题——即精确率-召回率的权衡。 例如,RESDSQL[16 (https://arxiv.org/html/2607.22624#bib.bib10)]将其输出固定为得分最高的前4个表和前5个属性,而不考虑实际相关性。DTS-SQL[20 (https://arxiv.org/html/2607.22624#bib.bib24)]首先使用微调过的
相似文章
AttnLink: Turning Attention into Schema Links for Text-to-SQL
AttnLink is a research paper presenting an attention-based framework for schema linking in Text-to-SQL, converting LLM internal attention into continuous relevance scores for schema items. Experiments on Spider, BIRD, and Spider2-SQLite show high mAP scores and millisecond-scale latency.
SQuaD-SQL: 利用LLM引导的知识蒸馏实现小型语言模型的高效文本到SQL
SQuaD-SQL使用LLM引导的知识蒸馏训练小型语言模型进行Text-to-SQL,在WikiSQL上达到86.9%的执行准确率,同时提供更快的推理速度和更低的内存占用。
通过自增强微调在Text-to-SQL中整合推理与泛化
本文提出CoTE-SQL,一种面向text-to-SQL的自增强微调框架,它整合了自推理轨迹、结构化思维链提示和执行反馈,在Spider和Bird基准上取得了最先进的性能。
DecoSearch:面向文本到SQL的复杂度感知路由与计划级修复
DecoSearch提出了一种无需训练的文本到SQL框架,根据复杂度路由查询,使用模式选择、分解为有向无环图、RAG和计划级修复,在DeepSeek骨干上取得了BIRD 70.53%和Spider 88.31%的准确率。
超越静态规则:Text-to-SQL 中潜在漏洞的自动发现
提出 SAGE 框架,通过生成漏洞假设并迭代验证,自动揭示基于 LLM 的 Text-to-SQL 生成中的潜在失效模式。实验表明,SAGE 揭示了模型的显著脆弱性,且发现的模式可在模型间迁移,初步微调显示出有前景的修复效果。