1500 个精心标注问答对!DeKeyNLU 数据集助力 NL2SQL 模型微调,SQL 生成准确率最高提 7%
自然语言到 SQL(NL2SQL)技术提供了一种以模型为核心的新型范式,它能将自然语言查询转换为 SQL 命令,从而为非技术用户简化数据库访问流程。近年来的技术进展,尤其是融合检索增强生成(RAG)与思维链(CoT)推理的技术,在提升 NL2SQL 性能方面取得了显著成效。然而,大型语言模型(LLMs)在任务分解不准确、关键词提取不精准等方面仍面临挑战,这些问题已成为导致 SQL 生成出错的主要瓶颈。尽管现有数据集试图通过模型微调来缓解这些问题,但它们普遍存在任务过度碎片化、缺乏领域特定关键词标注等缺陷,致使其效果受限。为解决这些不足,本文提出 DeKeyNLU 数据集 —— 该数据集包含 1500 个经过精心标注的问答对,旨在优化任务分解过程,并提高 RAG 流程中的关键词提取精度。基于 DeKeyNLU 数据集进行微调后,我们进一步提出 DeKeySQL—— 这是一种基于 RAG 的 NL2SQL 流程,它通过三个独立模块分别实现用户问题理解、实体检索与生成功能,进而提升 SQL 生成的准确性。我们在 DeKeySQL 的 RAG 流程中对多种模型配置进行了基准测试。实验结果表明,使用 DeKeyNLU 数据集进行微调后,模型在 BIRD 开发数据集(准确率从 62.31% 提升至 69.10%)和 Spider 开发数据集(准确率从 84.2% 提升至 88.7%)上的 SQL 生成准确性均显著提高。
数据可访问性领域的快速发展,使得人们对直观交互界面的需求日益迫切 —— 这类界面需助力非技术用户与复杂数据库进行交互。自然语言到 SQL(NL2SQL)系统恰好满足了这一需求:它能将用户友好的自然语言指令转换为精确的 SQL 命令,从而实现无缝的信息检索,无需用户掌握数据库问答(Database QA)所需的编程技能。
尽管 NL2SQL 方法已取得长足进步,但准确性仍是亟待解决的关键问题。现代混合方法融合了思维链(CoT)推理、检索增强生成(RAG)以及各类专用模块,例如 CHASE-SQL、CHESS、PURPLE、DTSSQL和 MAC-SQL,这些方法虽成效显著,却仍面临两大核心障碍:一是任务分解不够完善,二是从用户查询中提取关键词的精度不足。这些问题常常导致逻辑错误与字段识别偏差,在查询涉及复杂多表关系时,问题尤为突出。
该领域的已有研究尝试解决这些挑战。例如,QDecomp 和 QPL 通过大型语言模型提示(prompting)优化查询分解技术;DARA 则借助智能体框架提升自然语言理解(NLU)能力。然而,这些方法往往会导致任务过度碎片化,且无法充分评估数据库问答场景下模型的整体性能。此外,尽管利用领域特定数据对现有模型进行微调已显现出一定潜力,但主流数据集(如 BREAK)缺乏用于数据库问答评估的全面领域特定标注,也未着重关注数据库检索所需的精准关键词提取功能。
为填补这些空白,本文提出 DeKeyNLU 数据集 —— 这是一个专为提升 NL2SQL 系统自然语言理解能力而设计的新型数据集。DeKeyNLU 包含 1500 个经过精心标注的问答对,重点关注两个核心方面:任务分解与关键词提取。该数据集源于 BIRD 数据集,为评估和改进数据库问答场景下的 NL2SQL 方法提供了高质量基准。
此外,本文还提出 DeKeySQL—— 一种针对 NL2SQL 任务优化的基于 RAG 的流程。DeKeySQL 包含三个关键模块:(1)用户问题理解(UQU)模块,利用 DeKeyNLU 数据集实现任务分解与关键词提取;(2)实体检索模块,通过检索与重排序功能识别与用户问题相关的数据库元素;(3)生成模块,结合任务推理与反馈驱动的错误修正功能,生成准确的 SQL 语句。
我们在 DeKeySQL 的基于 RAG 的流程中,对多种模型配置进行了基准测试。结果显示,使用 DeKeyNLU 数据集对 UQU 模块进行微调后,模型在 BIRD 开发数据集上的 SQL 生成准确率从 62.31% 提升至 69.10%,在 Spider 开发数据集上从 84.2% 提升至 88.7%。实验还发现,较大规模的模型(如 GPT-4o-mini)在任务分解方面表现更优,而较小规模的模型(如 Mistral-7B)则在关键词提取任务上效果更佳。同时,实验表明,模型的最优性能会随数据集规模与模型架构的变化而变化。此外,在整个流程的各个组件中,用户问题理解是影响 SQL 生成整体准确性的最关键因素,其次是实体检索与修正机制。
数据库问答
数据库问答(Database QA)旨在通过高级推理从表格数据中获取精准答案。早期研究聚焦于离散推理,例如 TAT-QA、FinQA和 MVGE等研究,分别探索了微调、预训练和上下文学习等方法。尽管这些方法推动了该领域的发展,但在多表场景下的泛化能力仍存在不足。
与此同时,NL2SQL 方法实现了自然语言问题到 SQL 命令的映射,提供了高效的解决方案。该领域涵盖基于规则、基于神经网络、基于预训练语言模型(PLM)以及基于大型语言模型(LLM)的多种策略。基于规则的系统逐渐被神经网络和基于 Transformer 的方法取代,例如 BERT—— 这类方法在 ScienceBenchmark等基准测试中表现更优。近年来,借助大型语言模型(如 GPT-4)的技术进展,催生了 CHESS、DAIL-SQL和 MAC-SQL等系统,它们通过专用模块进一步提升了准确性与输出质量。然而,基于大型语言模型的方法仍面临准确性有限、资源成本高、运行时约束严格等问题,这些问题制约了其实际应用。
NL2SQL 中的自然语言理解
自然语言理解(NLU)是实现机器解读人类语言的核心技术,其应用场景涵盖从关键词提取到复杂问答等多个任务。自然语言理解的应用不仅限于查询系统,还延伸到多个领域。随着大型语言模型(如 Gemini-Pro、GPT-4 和 Mistral)的发展,自然语言理解性能得到显著提升。为进一步增强其能力,学界广泛研究了多种技术,例如高级文本对齐、人工提供的解释以及显性推理框架(如思维链(CoT)和思维树(Tree-of-Thought))。自然语言理解的鲁棒性与泛化能力通常通过 Adversarial NLI、OTTA和 SemEval-2024 Task 2等基准测试进行评估。
在数据库问答与 NL2SQL 领域,强大的自然语言理解能力对于查询理解与分解至关重要。QDecomp和 QPL等方法可对复杂用户问题进行分解;DARA和迭代分解(Iterated Decomposition)等方法则通过迭代方式优化意图理解。基于语法的模型(如 IRNet)和 ValueNet等技术,有助于实现自然语言与结构化模式元素的对齐。然而,准确处理含细微差别的查询仍具挑战性。尽管 BREAK等数据集为分解相关研究提供了支持,但许多数据集存在过度分割问题,且传统自然语言理解数据集未能涵盖数据库问答的关键方面(如关键词与数据库元素的映射)。因此,亟需更全面的数据集与评估协议,以满足数据库问答系统的实际需求。

图 1:先进 NL2SQL 方法与 DeKeySQL 的对比。GPT-4o 存在任务分解不完整、关键词提取错误的问题,且由于缺乏修正模块,其代码生成准确率较低。MAC-SQL、CHESS、TA-SQL 等方法虽在时间效率或成本方面具备优势,但无法同时兼顾二者。
DeKeyNLU 数据集构建
如图 1 所示,当前大型语言模型在数据库问答场景下的自然语言理解能力存在不足,这对 NL2SQL 的准确性产生了不利影响。现有数据集(如 BREAK)虽有一定用途,但往往缺乏与复杂 SQL 生成核心任务直接相关的数据。此外,这些数据集的关键词提取功能不够全面,或存在较多噪声,难以满足数据库问答场景下自然语言理解性能评估的严格要求。为解决这些挑战,我们构建了 DeKeyNLU 数据集。
数据来源
DeKeyNLU 数据集源于 BIRD 数据集。选择该数据集的原因在于其来源可靠、规模庞大,且在 NL2SQL 研究中应用广泛。BIRD 数据集包含 95 个数据库(33.4 GB)中的 12751个文本 - SQL 对,覆盖 37 个专业领域,专为 NL2SQL 模型的评估与训练设计。该数据集整合了来自 Kaggle¹ 和 Relation.vit 等平台的 80 个开源关系型数据库,同时为避免数据泄露,额外构建了 15 个关系型数据库用于隐藏测试集。BIRD 团队通过众包方式收集了自然语言问题及其对应的 SQL 命令。

图 2:DeKeyNLU 数据集构建流程。首先由 GPT-4o 对用户问题进行初步标注,标注内容包括任务(主任务与子任务)、对象类关键词及实现类关键词。随后,这些初步标注结果会进入严格的人工验证环节 —— 标注人员会对任务分解结果与关键词提取结果进行修正和优化,并通过三轮交叉验证确保标注质量。在此之后,进入最终评分阶段:识别出评分较低的标注内容,通过集体审核进一步优化,最终生成高质量的 DeKeyNLU 数据集。
数据筛选与标注
我们从 BIRD 训练数据集中随机选取了 1500 个样本,每个样本均包含一个用户问题及其对应的基准 SQL 查询。如图 2 所示,我们的标注流程首先利用 GPT-4o 进行初步任务分解与关键词提取。
在任务分解阶段,我们将用户问题拆分为一个主任务(核心目标)和多个子任务(主任务的细化步骤)。在关键词提取阶段,我们将术语分为对象类(与表 / 列名相关)和实现类(过滤条件,以 “动作 - 条件” 字典形式呈现)。这些元素有助于在数据库中进行相似度匹配。
尽管采用了思维链(CoT)和少样本学习(few-shot)技术,GPT-4o 的初步解读结果仍存在不足,例如生成冗余或不完整的任务,或提取错误的关键词(见图 2 左侧面板)。因此,我们需要进行人工修正。我们邀请了三名专业标注人员对 GPT-4o 的输出结果进行审核与修正,并采用三阶段循环流程确保交叉验证的有效性:标注人员首先分别处理不同子集(A、B、C),然后交换子集进行审核,最终确保每个样本都经过所有标注人员的评估。具体流程如下:
-
任务分解评估:标注人员人工评估 GPT-4o 生成的主任务与子任务的逻辑一致性,删除冗余任务,并手动补充缺失的相关任务。
-
关键词提取评估:将提取的关键词(对象类与实现类)与用户问题及基准 SQL 元素(过滤器、表 / 列名)进行对比。补充缺失的关键词,删除无关关键词。为确保标注质量,我们首先对标注人员进行了 50 个数据样本的培训,以统一标注标准。
-
最终评分:经过三轮轮换评估后,标注人员采用 5 分李克特量表(1 分 = 不满意,5 分 = 优秀)对修正后的关键词与任务进行评分。对于平均分低于 4 分的样本,标注人员通过共同讨论确定最终修正方案。人工验证的标注者间一致性(Krippendorff’s Alpha)为 0.762,表明标注结果的一致性较高。

图 3:DeKeyNLU 数据集中每个问题对应的主任务数量、子任务数量及关键词数量分布。这些分布反映了问题本身固有的复杂程度,也体现了 NL2SQL(自然语言到 SQL)模型所需具备的推理与整合能力。
数据集统计
经过三轮审核后,我们最终确定了包含 1500 个问答对(含分解后的任务与关键词)的数据集,并将其划分为训练集(70%)、验证集(20%)和测试集(10%),以支持模型的稳健开发与评估。图 3 展示了主任务、子任务和关键词的分布情况,这些分布反映了问题的复杂程度。任务数量越多,对模型的推理与整合能力要求越高;关键词数量越多,则表明表 / 列结构越复杂,越容易出现错误。在主任务分布方面:68.2% 的问题包含 1 个主任务,24.9% 的问题包含 2 个主任务,6.9% 的问题包含 3 个及以上主任务。在子任务分布方面:31.7% 的问题包含 1-2 个子任务,60% 的问题包含 3-4 个子任务,8.3% 的问题包含 5 个及以上子任务。在关键词分布方面:20.3% 的问题关联 1-2 个关键词,60.6% 的问题关联 3-4 个关键词,19.2% 的问题关联 5 个及以上关键词。

图 4:DeKeySQL 框架流程。(1)用户问题由用户问题理解(UQU)模块通过提示模板进行处理,该模块引导一个基于 DeKeyNLU 微调的大型语言模型(LLM)执行关键词提取与任务分解操作。(2)提取出的关键词被输入至实体检索模块,以从数据库中识别相关的列名、表值及描述信息。(3)随后,任务分解结果、检索到的实体数据以及原始用户问题被一同输入至生成型大型语言模型(Generation LLM),从而生成 SQL 代码。(4)若生成过程中出现错误,错误信息与生成的 SQL 会被传递至修正型大型语言模型(revision LLM)进行修正。(5)最终,执行修正后的 SQL 以获取答案。
基于 RAG 的 NL2SQL 框架:DeKeySQL
本文提出 DeKeySQL—— 一种新型的基于 RAG 的 NL2SQL 生成框架,旨在解决现有方法(如 MAC-SQL和 CHESS)存在的运行时间长、成本高、准确性有限等问题。如图 4 所示,DeKeySQL 包含三个核心组件:用户问题理解(UQU)、实体检索和生成。
用户问题理解(UQU)
DeKeySQL 的初始阶段聚焦于理解用户问题(见图 4)。我们将用户问题嵌入到提示模板中,并输入至基于 DeKeyNLU 微调的大型语言模型,生成包含两大核心任务的结构化输出:任务分解与关键词提取。
任务分解
受思维链(CoT)推理的启发,我们将复杂用户问题分解为可管理的组件。我们采用两步思维链方法,将问题拆分为一个主任务(核心目标)和多个子任务(细化步骤)。这种层级结构通过明确任务间的依赖关系,为生成模型提供助力。例如,主任务通常对应 SQL 中的主要 SELECT 组件,而子任务则对应 INNER JOIN、WHERE 等操作。如图 2 所示,GPT-4o 等通用大型语言模型在这一任务上表现欠佳;因此,我们通过 DeKeyNLU 数据集进行有监督微调,以提升任务分解的稳定性与可靠性。
关键词提取
与以往仅将句子拆分为关键词(易导致无关信息)的方法不同,我们将关键词分为对象类(与表 / 列名相关的术语)和实现类(以键值字典形式呈现的过滤条件)。尽管通过多示例上下文学习(ICL)可对大型语言模型进行引导,但如图 2 所示,GPT-4o 等模型仍可能生成无关关键词。为解决这一问题,我们利用 DeKeyNLU 数据集对 Mistral-7B等小型模型进行微调,以提高关键词提取的准确性。
实体检索
在关键词提取完成后,该模块负责检索对应的数据库实体,包括表名、列名、表值以及文本描述(列 / 值描述)。该模块由嵌入器(embedder)、检索器(retriever)和重排序器(re-ranker)组成。首先,我们对所有表数据进行编码,并存储在 Chroma 数据库中。嵌入器对来自用户问题理解模块的关键词进行编码后,检索器从数据库中筛选出 Top-5 相似实体,并将其输入至重排序器。重排序器重新计算相似度得分,最终选择 Top-2 相似实体。该过程包含两个子任务:
数据库检索
该子任务负责检索列名与表值。为高效处理大规模数据库值,我们采用 MinHash+ 杰卡德系数(Jaccard Score)或 BM25 算法。MinHash 通过生成固定大小的集合签名来近似计算杰卡德相似度;BM25 则是一种基于词频和逆文档频率的概率模型。在列名检索中,我们选择得分大于 0 的 Top-5 实体;对于纯数值关键词,仅考虑表值的精确匹配;对于文本 - 数值混合关键词,不设阈值直接选择 Top-5 实体。随后,通过重排序确定 Top-2 相似实体。最后,对检索到的实体进行交叉验证,获取表 / 列名,并进行去重与分类(见图 4)。
文本描述检索
该子任务负责检索列与值的描述。由于该任务的数据集规模较小,我们直接使用嵌入模型对数据进行编码,然后通过检索器中的余弦相似度筛选出 Top-5 实体,最后由专用重排序器确定最终的相关性排序。
生成
生成过程包含两个阶段:SQL 生成与修正。
SQL 生成
我们利用上下文学习(ICL)技术,通过 GPT-4o等通用大型语言模型生成初始 SQL 语句。提示(见附录图 6)的结构包含:数据模式(来自实体检索的格式、名称、示例)、用户问题推理(问题、来自用户问题理解的主 / 子任务、数据集提示)、约束条件和激励信息。这些信息可引导模型生成初始 SQL 语句。
修正
初始 SQL 语句可能存在错误(如表名错误、列匹配偏差等,见图 4)。我们将错误 SQL 语句及对应的错误信息输入至大型语言模型进行修正(见附录图 7)。通过这种迭代过程,最终生成语法正确、可执行的 SQL 命令。
实验
为评估 DeKeyNLU 数据集与 DeKeySQL 系统的性能,我们开展了全面实验。实验目标包括:(1)验证 DeKeyNLU 数据集在模型微调中的有效性;(2)将 DeKeySQL 与开源的最先进(SOTA)方法进行性能对比。
实验设置
数据集
实验采用三个数据集:DeKeyNLU(本文提出的数据集)、BIRD 开发数据集和 Spider 数据集。
NL2SQL 基准方法选择
我们选择了开源 NL2SQL 方法或已有论文发表的方法作为基准,包括 GPT-4o。具体方法如下:Distillery(模式链接增强)、CHESS(融合数据目录 / 值)、MAC-SQL(多智能体框架)、DAIL-SQL(结合高级问题 / 示例处理的提示工程)、CodeS-15B(基于 SQL 语料库的增量预训练)。
基础模型选择
在用户问题理解(UQU)模块中,采用的模型包括 GPT-4o-mini、GPT-4、Mistral-7B、LLaMA3-8B、Baichuan2-7B 和 Baichuan2-13B。在实体检索模块中,对比了 MinHash+ 杰卡德系数与 BM25算法,并评估了 text-embedding-3-large、Stella-1.5B 和 Stella-400M 等嵌入模型。在代码生成微调中,采用的模型包括 DeepSeek-Coder-V2-Instruct、DeepSeek-Coder-V2-Base和 Qwen-1.5-Coder。
微调过程
微调实验在 4 台 NVIDIA 4090 GPU 上进行,采用分布式数据并行(Distributed Data Parallel)和 DeepSpeed 技术。实验设置统一批次大小为 1,训练轮次(epoch)为 1,学习率为 2e-4。采用低秩适应(LoRA)技术,设置秩(rank)=64、α=16、丢弃率(dropout)=0.05,位精度为 4。使用 DeKeyNLU 数据集微调 UQU 模型耗时 30 分钟;微调代码生成模型耗时 4-5 小时。
评估指标
BLEU、ROUGE 与 GPT-4o 评分
在评估自然语言理解中的任务分解性能时,我们将生成的推理结果与人工标注的基准结果进行对比,采用的指标包括:
-
BLEU(BLEU-1、BLEU-2):通过 n-gram 匹配评估语言准确性;
-
ROUGE(ROUGE-1、ROUGE-2、ROUGE-L):通过 n-gram、序列和词对重叠评估完整性与相关性;
-
GPT-4o 评分:采用 5 分李克特量表,结合人工判断校准,评估整体相似度。
F1 分数
在评估自然语言理解中的关键词提取性能时,采用精确率(precision)、召回率(recall)和 F1 分数作为指标,综合衡量提取的准确性与完整性。
执行准确率(EX)
通过对比预测查询与基准查询在特定数据库实例上的执行结果,评估 SQL 查询的正确性。该指标可确保语义正确性,并能处理不同 SQL 表述方式产生相同结果的情况。
表 1:在 DeKeyNLU 测试集上,不同微调模型在任务分解(BLEU、ROUGE、GPT-4o 评分)与关键词提取(F1 分数)任务中的性能对比。其中,GPT-4 在任务分解相关指标上表现最优,而 Mistral-7B 在关键词提取任务中取得了最佳 F1 分数。

表 2:以 GPT-4 为基础模型,在 BIRD 开发集上对 DeKeySQL 进行的模块消融实验结果。该表显示,每增加一个组件,开发集执行准确率(Dev EX)均会有所提升。其中,完整流程(用户问题理解(UQU)+ 实体检索 + 修正 + 生成)的准确率最高。

表 3:DeKeyNLU 数据集规模(所用训练数据的百分比)与训练轮次对不同模型关键词提取 F1 分数的影响。其中,Mistral-7B 模型通常能从更多的数据量和训练轮次中获益,而其他模型对数据集规模的反应则呈现出细微差异。

表 4:在 BIRD 数据集的开发集执行准确率(Dev EX)指标下,DeKeySQL 框架中用户问题理解(UQU)、实体检索和生成这三个模块采用不同基础模型时的性能表现。结果凸显了基于 DeKeyNLU 数据集进行微调的显著作用(例如,将 GPT-4o-mini 用于 UQU 模块),同时也体现出 Stella-400M 等小型嵌入模型出人意料的有效性。

表 5:在 BIRD 和 Spider 数据集上的性能对比(以执行准确率 ——EX 为指标)。在所有被评估的方法中,DeKeySQL 展现出了最先进的性能,尤其在开发集上表现突出。“-” 表示相关结果未公布或不适用。如有可用数据,结果均来源于官方排行榜。

表 6:以 GPT-4o 作为基础生成模型时,各类 NL2SQL(自然语言到 SQL)方法的实用性能指标(时间、开发集执行准确率、成本)。其中,DeKeySQL 在效率与准确性之间实现了出色的平衡。“-” 表示相关数据不可获取。

实验结果
基于 DeKeyNLU 的有监督微调
如表 4 所示(对比 UQU 模块影响的第一行与第三行),使用 DeKeyNLU 数据集对 UQU 模块进行微调后,在 BIRD 开发数据集上,模型的开发集执行准确率(Dev EX)从 62.31%(GPT-4o 未通过 DeKeyNLU 微调 UQU 模块)提升至 69.10%(GPT-4o-mini 通过 DeKeyNLU 微调 UQU 模块,GPT-4o 用于生成);在 Spider 开发数据集上,准确率从 84.2% 提升至 88.7%,呈现类似提升趋势。
表 1 显示,模型规模对不同微调任务的适用性有显著影响。较大规模模型(GPT-4、GPT-4o-mini)在微调后,在任务分解等复杂任务上表现更优;较小规模模型(Mistral-7B)则在关键词提取等无需深度理解的任务上表现更佳。这表明,针对特定任务选择合适的模型进行微调至关重要。
表 3 展示了数据集规模与训练轮次对关键词提取微调的影响。Mistral-7B 整体表现最佳,其次是 LLaMA-8B。除 Mistral-7B 外,其他模型的 F1 分数均随训练数据量增加先上升后下降,这表明更多数据并非总是更优。增加训练轮次则持续提升 F1 分数,表明这是提高关键词提取准确性的有效方法。
消融实验
以 GPT-4 为基础模型的模块消融实验(表 2)显示,每增加一个模块,模型准确率均显著提升。其中,UQU 模块(关键词提取与任务分解)的提升效果最为显著,准确率提高了 9.18%(对比 “实体检索 + 生成” 与完整流程,从 51.25% 提升至 60.36%);实体检索模块也贡献显著,准确率提高了 4.9%(对比 “生成” 与 “实体检索 + 生成”,从 46.35% 提升至 51.25%)。UQU、实体检索和修正模块均不可或缺。
模型消融实验(表 4)表明,在实体检索中,MinHash 算法的性能优于 BM25(例如,在其他组件为 GPT-4 和 text-embedding-3-large 的情况下,准确率分别为 51.25% 和 49.34%),且计算成本更低。令人意外的是,较小规模的 Stella-400M 嵌入模型性能超过了较大规模的 Stella-1.5B(例如,在 UQU / 生成模块为 GPT-4、检索器为 MinHash 的情况下,开发集执行准确率分别为 53.17% 和 51.36%),这表明参数规模并非衡量模型性能的唯一标准。在代码生成方面,在本实验设置中,GPT-4o 和 GPT-4 等通用大型语言模型的性能优于微调后的小型代码模型,这凸显了参数规模与预训练质量对复杂代码生成准确性的重要影响。这些发现强调,需在模型架构、参数规模与任务特定优化之间寻求平衡。
BIRD 与 Spider 数据集评估
由于 BIRD 数据集的测试集匿名政策,我们仅报告其开发集执行准确率;测试集执行准确率与 VES(验证集执行分数)将在后续更新中补充。表 5 显示,与其他最先进模型相比,DeKeySQL 在 BIRD 开发数据集上的执行准确率最高,是当前性能最佳的开源方法。在 Spider 数据集上,DeKeySQL 在开发集和测试集上均实现了最高执行准确率。
在实际效用评估中(表 6),DeKeySQL 在时间效率、运行成本和准确性方面均表现出色。与 CHESS 相比,DeKeySQL 的运行时间减少了 52.4%,运行成本降低了 97%,展现出巨大的工业应用潜力。DeKeySQL 是所评估的开源 NL2SQL 方法中性能最优的。
结论
本文提出 DeKeyNLU 数据集 —— 该数据集包含 1500 个标注的问题 - SQL 对,专为解决 NL2SQL 系统中任务分解与关键词提取的关键挑战而设计。DeKeyNLU 基于 BIRD 数据集构建,提供了领域特定标注,并为评估和改进大型语言模型在该领域的性能建立了高质量基准。
全面实验表明,使用 DeKeyNLU 数据集进行微调可显著提升 SQL 生成准确性:在 BIRD 开发集上,准确率从 62.31% 提升至 69.10%;在 Spider 开发集上,准确率从 84.2% 提升至 88.7%。实验还发现,GPT-4o-mini 等较大规模模型在任务分解方面表现突出,而 Mistral-7B 等较小规模、更灵活的模型则在关键词提取任务上更具优势。在 NL2SQL 流程中,实体检索是影响整体准确性的最关键组件,其次是用户问题理解和修正机制。
这些发现凸显了以数据集为核心的方法与精心设计的流程在提升 NL2SQL 系统能力方面的重要价值,为实现用户与数据的直观、准确交互奠定了基础。
局限性
尽管 DeKeyNLU 与 DeKeySQL 取得了显著进展,但仍存在一些局限性,未来研究可围绕这些方向展开。主要局限在于 DeKeyNLU 数据集的规模(1500 个样本),这是受资源限制所致。尽管该数据集经过精心构建,但规模较小可能影响 UQU 模型的鲁棒性与泛化能力,尤其在高度多样化的实际场景中。未来的重要研究方向包括:通过半自动化标注技术或针对结构化自然语言理解任务设计的数据增强策略,扩大数据集规模。此外,高质量标注数据的获取受限(常因源数据版权问题加剧),仍是数据集扩展与社区共享面临的长期挑战。
受计算资源限制,我们的基准测试未能涵盖最大规模的现有大型语言模型(如 DeepSeek-V2-Coder-236B、Llama3.1-70B),也未能将其与更先进的 RAG 模块集成。这类大型模型与组件有望进一步提升准确性与鲁棒性。未来研究应评估这些前沿模型与多样化 RAG 配置,以建立更全面的基准。此外,探索基于 DeKeyNLU 训练的模型在 BIRD 数据集之外的未知数据库模式与问题类型上的泛化能力,以及研究可根据查询复杂度动态调整粒度的自适应任务分解策略,均是极具潜力的研究方向。
更多推荐

所有评论(0)