FD-NL2SQL:反馈驱动的临床NL2SQL系统,使用中不断改进

arXiv cs.CL 论文

摘要

FD-NL2SQL是一个反馈驱动的自然语言转SQL系统,专门用于临床肿瘤学数据库,通过临床医生编辑和基于逻辑的SQL增强实现持续学习。该系统将自然语言问题分解为谓词,检索专家验证的范例,并综合可执行的SQL,具备持续学习能力。

arXiv:2604.15646v1 公告类型:新投稿 摘要: 临床医生在探索肿瘤学试验库时,通常需要对生物标志物、终点、干预措施和时间进行临时的多约束查询,但编写SQL需要具备模式专业知识。我们演示FD-NL2SQL,一个针对基于SQLite的肿瘤学数据库的反馈驱动临床NL2SQL助手。给定自然语言问题,模式感知的LLM将其分解为谓词级子问题,通过句子嵌入检索语义相似的专家验证NL2SQL范例,并基于分解、检索的范例和数据库模式综合可执行的SQL,进行后处理有效性检查。为了在使用中不断改进,FD-NL2SQL采用两个更新信号:(i)临床医生对生成SQL的编辑被审批后加入范例库;(ii)轻量级基于逻辑的SQL增强应用单个原子变异(例如运算符或列的改变),仅保留返回非空结果的变体。第二个LLM为已接受的变体生成对应的自然语言问题和谓词分解,自动扩展范例库而无需额外标注。演示界面展示分解、检索、综合和执行结果,支持交互式细化和持续改进。
查看原文
查看缓存全文

缓存时间: 2026/04/20 08:28

# FD-NL2Sql:反馈驱动的临床 NL2SQL,随着使用而改进

来源:https://arxiv.org/html/2604.15646

¹Suparno Roy Chowdhury ¹Tejas Anvekar ¹¹注脚¹¹Manan Roy Choudhury ¹¹注脚¹ ²Muhammad Ali Khan ²Kaneez Zahra Rubab Khakwani ²Mohamad Bassam Sonbol ²Irbaz Bin Riaz ¹Vivek Gupta ²²注脚²

![无标题图像](https://arxiv.org/html/2604.15646v1/x1.png)亚利桑那州立大学¹ ![无标题图像](https://arxiv.org/html/2604.15646v1/x2.png)梅奥诊所²

[项目页面](https://tejasanvekar.github.io/FD-NL2SQL/) [演示](https://tejasanvekar.github.io/FD-NL2SQL/try) [视频](https://youtu.be/VMfOc440JKM) [代码](https://github.com/TejasAnvekar/FD-NL2SQL)

riaz\.irbaz@mayo\.edu, vgupt140@asu\.edu

###### 摘要

临床医生在探索肿瘤学临床试验库时经常需要对生物标志物、终点、干预措施和时间进行多约束的临时查询,但编写 SQL 需要数据库架构专业知识。我们展示了 FD-NL2Sql,一个为基于 SQLite 的肿瘤学数据库设计的反馈驱动的临床 NL2SQL 助手。给定自然语言问题,一个架构感知的大语言模型将其分解为谓词级别的子问题,通过句子嵌入检索语义相似的专家验证的 NL2SQL 示例,并合成基于分解、检索的示例和架构的可执行 SQL,配合后处理有效性检查。为了随着使用而改进,FD-NL2Sql 融合了两个更新信号:(i)临床医生编辑的生成 SQL 被批准并添加到示例库中;(ii)轻量级的基于逻辑的 SQL 增强应用单个原子突变(例如运算符或列更改),仅保留返回非空结果的变体。第二个大语言模型为接受的变体生成相应的自然语言问题和谓词分解,自动扩展示例库而无需额外的标注。演示界面展示分解、检索、合成和执行结果,以支持交互式细化和持续改进。

FD-NL2Sql:反馈驱动的临床 NL2SQL,随着使用而改进

¹Suparno Roy Chowdhury ††注脚†这些作者的贡献相等。¹Tejas Anvekar ¹¹注脚¹¹Manan Roy Choudhury ¹¹注脚¹²Muhammad Ali Khan ²Kaneez Zahra Rubab Khakwani ²Mohamad Bassam Sonbol ²Irbaz Bin Riaz ††注脚†通讯作者。¹Vivek Gupta ²²注脚²

![无标题图像](https://arxiv.org/html/2604.15646v1/x3.png)亚利桑那州立大学¹ ![无标题图像](https://arxiv.org/html/2604.15646v1/x4.png)梅奥诊所²

[项目页面](https://tejasanvekar.github.io/FD-NL2SQL/) [演示](https://tejasanvekar.github.io/FD-NL2SQL/try) [视频](https://youtu.be/VMfOc440JKM) [代码](https://github.com/TejasAnvekar/FD-NL2SQL)

riaz\.irbaz@mayo\.edu, vgupt140@asu\.edu

## 1 引言

![引用](https://arxiv.org/html/2604.15646v1/x5.png)

**图 1:** 临床医生的问题被分解为架构对齐的谓词子问题;对于每个谓词,检索语义相似的专家批准的示例;这指导架构基础的 SQL 合成器。用户可以编辑和批准最终的 SQL 以更新示例库。为了以最少的标注扩展覆盖范围,已批准的 SQL 通过单个原子突变(例如运算符或列替换)进行增强,且仅在返回非空结果时保留。第二个大语言模型将增强的 SQL 反向翻译成自然语言问题和谓词子问题,新样本被添加到库中以实现持续改进。

临床试验数据库是现代肿瘤学研究和药物开发的核心。公共登记处如 ClinicalTrials.gov [Zarin et al. (2011)](https://arxiv.org/html/2604.15646#bib.bib1) 和机构知识库包含丰富的结构化数据,包括试验阶段、生物标志物、入选标准、终点、招募状态和赞助商信息,支持竞争情报、假设生成、监管规划和转化研究。随着肿瘤学越来越多地转向生物标志物驱动和精准试验,对这些结构化数据的高效访问至关重要。然而,这些数据库仍然难以查询。访问通常需要 SQL 专业知识和详细的架构知识,架构通常很复杂,涵盖多个关系表的入选标准、干预措施、终点和疾病本体。临床医生和转化研究人员虽然是领域专家,但很少接受过数据库查询培训,导致分析师中介工作流程速度缓慢,影响迭代探索。在肿瘤学药物开发的高风险环境中,这种摩擦直接影响研究速度和决策质量。

现有工具只能部分缓解这一差距。注册处界面依赖关键字搜索 [Zarin et al. (2011)](https://arxiv.org/html/2604.15646#bib.bib1),无法可靠地执行结构化多约束过滤(例如生物标志物 + 阶段 + 终点 + 招募标准)。商业智能仪表板 [Chen et al. (2012)](https://arxiv.org/html/2604.15646#bib.bib2) 提供预定义报告,但仍然僵化,无法涵盖探索性临床查询的组合空间。自然语言到 SQL(NL2SQL)系统近年来取得了实质性进展,从神经方法如 Seq2SQL [Zhong et al. (2017)](https://arxiv.org/html/2604.15646#bib.bib3) 和大规模基准如 Spider [Yu et al. (2018)](https://arxiv.org/html/2604.15646#bib.bib4) 开始。最近的工作引入了架构感知推理(例如 RAT-SQL [Wang et al. (2020)](https://arxiv.org/html/2604.15646#bib.bib5))和语法有效性的约束解码(例如 PICARD [Scholak et al. (2021)](https://arxiv.org/html/2604.15646#bib.bib6))。大语言模型(LLM)进一步展示了强大的上下文语义解析能力 [Brown et al. (2020)](https://arxiv.org/html/2604.15646#bib.bib8)。然而,这些系统主要针对通用基准设计,并未明确纳入领域感知的约束分解、基于临床架构的示例检索或针对高风险生物医学查询的交互反馈回路。

在肿瘤学等专业领域,在没有架构对齐基础和领域特定检索的朴素生成可能导致脆弱或临床上不合理的查询。为了解决这些限制,我们引入了一个专为肿瘤学临床试验数据库设计的领域感知 NL2SQL 系统。我们的方法整合了三个核心组件。首先,我们执行 LLM 引导的自我演进分解,将用户的问题分解为原子的、架构对齐的子问题,每个子问题对应一个可过滤的谓词。其次,我们使用 Sentence-BERT 嵌入 [Reimers and Gurevych (2019)](https://arxiv.org/html/2604.15646#bib.bib7) 检索语义相似的种子示例,在先前验证的查询模式中实现结构化基础。第三,我们通过受控解码和后处理执行检索引导的 SQL 合成,以确保结构有效性和约束满足。这种分解-检索-合成架构通过将生成与架构结构和领域特定先例对齐来提高鲁棒性。

除了静态查询翻译,我们的系统作为一个*活跃的临床审查助手*运行。每个生成的查询都可以交互式地预览、细化和纠正。用户对检索的示例和合成 SQL 的反馈被纳入种子库中,随着时间推移改进检索邻域和生成保真度。这种反馈驱动的细化符合交互式和自适应语言模型系统的新兴范例 [Brown et al. (2020)](https://arxiv.org/html/2604.15646#bib.bib8),但在这里在结构化、数据库基础的临床环境中得到了实现。随着临床医生发出更多领域特定的查询,系统逐步与真实世界的肿瘤学推理模式对齐。

从临床医生的角度来看,这种方法大大降低了对技术需求的依赖,加速了假设检验,并实现了对试验标准的实时、多约束探索。通过结合领域感知分解、示例引导合成和迭代反馈,该系统弥合了肿瘤学专业知识与结构化数据访问之间的差距,将静态登记处转变为交互式分析工具。

最后,我们的主要贡献是:

- • 一个架构感知的谓词级分解策略,提高了复杂肿瘤学数据库中临床 NL2SQL 的鲁棒性。
- • 一个检索引导的 SQL 合成管道,在专家验证的示例中基础大语言模型生成,以实现可靠的查询构造。
- • 反馈驱动的、自我演进的临床试验查询助手,通过临床医生交互不断改进。

## 2 相关工作

文本到 SQL 的最近进展已从监督语义解析转向大语言模型(LLM)提示和上下文学习。DIN-SQL [Pourreza and Rafiei (2023)](https://arxiv.org/html/2604.15646#bib.bib9) 展示了分解提示通过将复杂问题分解为中间推理步骤来改进 SQL 生成。类似地,执行引导解码 [Wang et al. (2018)](https://arxiv.org/html/2604.15646#bib.bib10) 通过在生成期间根据数据库约束验证生成的查询来提高鲁棒性。这些方法强调了在生成可执行 SQL 时结构基础的重要性。

检索式提示也已成为改进 LLM 推理的有效策略。上下文示例选择显著影响下游生成质量 [Liu et al. (2022)](https://arxiv.org/html/2604.15646#bib.bib11),检索增强生成(RAG)[Lewis et al. (2020)](https://arxiv.org/html/2604.15646#bib.bib12) 表明在外部记忆中基础输出提高了可靠性。我们的方法通过使用密集嵌入检索语义相似的问题-SQL 示例对和根据谓词对齐分解调节合成(而不仅仅依赖扁平提示演示)来扩展此范例。

在生物医学领域内,预训练的科学语言模型如 SciBERT [Beltawy et al. (2019)](https://arxiv.org/html/2604.15646#bib.bib13) 已在领域特定 NLP 任务中展示了收益。然而,先前的工作主要关注非结构化文本理解,而不是结构化临床数据库查询。我们的系统将生物医学语言理解与架构感知的 SQL 合成相桥接,使临床医生驱动的、对肿瘤学临床试验数据库的多约束探索成为可能。

## 3 FD-NL2Sql

### 3.1 系统架构和工作流

![FD-NL2Sql 演示 UI 和反馈回路](https://arxiv.org/html/2604.15646v1/x6.png)

**图 2:** FD-NL2Sql 演示 UI 和反馈回路。临床医生在聊天界面(右)中发出自然语言查询,并在表格视图(左)中查看执行结果。系统显示生成的 SQL,专家可以*接受*、*修改*或*拒绝*;已接受/编辑的查询被保存回示例库以改进未来的检索和合成(自动填充支持快速细化)。

如[图 1](https://arxiv.org/html/2604.15646#S1.F1) 所示,FD-NL2Sql 是一个用于肿瘤学临床试验数据库的交互式 NL2SQL 助手。该系统遵循一个模块化管道,结合了 LLM 推理、对演进示例库的检索以及轻量级程序检查。演示 UI 展示中间工件、检索的示例、合成的 SQL 和结果,以支持透明细化和反馈驱动的改进。

#### 资源

我们假设一个 SQLite 数据库 **D** 具有架构元数据和示例库 **S** = {(sⱼ, yⱼ)}ⱼ₌₁^M,包含专家批准的 NL2SQL 对。我们预计算所有 sⱼ 的句子嵌入 **e**(sⱼ) 并维护一个索引以进行快速 topk 检索。

#### 1) 架构基础

在生成之前,我们内省 **D** 来构建架构字典(表、列、类型和连接键)。这个架构上下文被注入到提示中并用于生成后验证(例如列存在性和连接可行性)。

#### 2) 分解-检索

给定用户问题 x,一个 LLM 产生一个架构对齐的、面向 WHERE 的分解 **X**(x) = {x₁, ..., xₙ},其中每个 xᵢ 针对一个原子谓词(列、运算符、值)。对于每个 xᵢ,我们使用嵌入空间中的余弦相似度从 **S** 中检索前 k 个最近示例,存储 (sⱼ, yⱼ, score(xᵢ, sⱼ))。为了减少提示噪声,我们另外从每个检索的 SQL 中提取紧凑的 WHERE 模式提示(如果可用)。

#### 3) 检索引导的 SQL 合成与执行

第二个 LLM 合成最终 SQL ŷ,以 (i) x、(ii) **X**(x) 和 (iii) 检索的示例包 {(xᵢ, **N**ᵢ)}ᵢ₌₁^n 为条件。模型被指示使用检索的 SQL 作为结构模板,同时满足 x 中的所有约束,并避免无关的字面复制。我们将输出解析为单个可执行的 SELECT/WITH 语句,应用轻量级防护(只读策略、架构检查、超时),并对 SQLite 执行 ŷ 以在 UI 中呈现结果。

### 3.2 反馈和示例库扩展

#### 4) 专家批准

[图 2](https://arxiv.org/html/2604.15646#S3.F2) 界面允许用户编辑生成的 SQL。如果专家为问题 x 批准更正的查询 y*,则对 (x, y*) 被附加到示例库 **S** 并嵌入以供将来检索。

#### 5) SQL 增强以支持库增长

为了以最少的手动标注扩展示例覆盖范围,FD-NL2Sql 在两个子步骤中增强批准的查询:

a) **基于逻辑的 SQL 突变**。从批准的查询 y* 开始,我们应用恰好一个原子转换,例如 (i) 运算符更改(= → >=, LIKE 等)、(ii) 兼容类型组内的列替换,或 (iii) 受控值编辑(例如年份阈值)。突变后的查询 ỹ 仅在成功执行且在 **D** 上返回非空结果时保留;否则被丢弃。

b) **NL 反向翻译**。对于每个保留的 ỹ,一个单独的 LLM 生成 (i) 与 ỹ 一致的自然语言问题 x̃ 和 (ii) 与突变约束对齐的谓词级子问题 **X**(x̃)。生成的对 (x̃, ỹ)(和可选的分解)被添加回 **S**,随着时间推移改进检索和合成覆盖范围。

## 4 实验设置

### 4.1 数据集构造

#### 种子集

我们从 500 个由梅奥诊所肿瘤学科学家编写的种子问题开始,这些问题反映了对 IOTOX¹¹https://iotox\.living\-evidence\.com/table 的真实证据审查查询(例如癌症类型、ICI 类别、试验阶段、终点/随访、时间过滤)。每个问题都与一个黄金 SQLite 查询配对,通过执行验证,并存储为 JSON(问题、SQL、可选元数据)。种子集用作 (i) 检索的初始示例库和 (ii) 少量演示的池。

#### 程序化基准扩展

为了评估超越种子分布的泛化,我们通过对每个种子对 (x, y) 应用*单个*原子转换来创建基准:(x̃, ỹ) = T(x, y),其中 T 编辑投影(SELECT)或约束(WHERE)同时保留整体查询意图。我们生成以下变体类型:

相似文章

用于模式约束临床信息抽取的检索增强型大语言模型

arXiv cs.CL

本文提出了一种模块化的检索增强生成(RAG)流水线,用于从护理人员与患者的对话转录中提取结构化临床观察结果,采用模式约束提示和第二遍审核,基于Llama和GPT骨干模型,取得了80.36%的F1分数。

SANE:面向生物数据的模式感知自然语言评估框架

arXiv cs.CL

SANE 是一种新颖的模式感知评估范式,专为生物/药理学数据集的自然语言(文本转SQL)查询而设计,能够基于真实实验模式自动生成基准测试。研究表明,采用结构化提示的少样本 LLM 无需微调即可实现准确的 SQL 生成,大多数失败案例源于输入歧义,而非查询生成错误。

ROSE: 一个面向意图的NL2SQL评估指标

Hugging Face Daily Papers

ROSE是一个新颖的面向意图的NL2SQL评估指标,采用Prover-Refuter级联框架来评估语义正确性,无需依赖真实SQL,与人类专家的一致性比现有指标高24%。该论文解决了执行准确度的局限性,并对19个NL2SQL方法进行了重新评估,并公开发布了相关资源。