可靠的文本转SQL与自适应弃权
论文地址:https://arxiv.org/abs/2501.10858
摘要
大型语言模型(LLMs)已彻底改变了数据库的自然语言接口,尤其是在文本转SQL转换方面。然而,目前的方法在面对模糊性或上下文不足时,通常会生成不可靠的输出。
我们提出了可靠文本转SQL(RTS),这是一种新颖的框架,通过引入弃权和人机互动机制来提高查询生成的可靠性。RTS专注于关键的模式链接阶段,该阶段旨在识别生成SQL查询所需的主要数据库元素。它能够在答案生成过程中自动检测潜在错误,并通过选择弃权或进行用户互动来作出响应。RTS的一个重要组成部分是分支点预测(BPP),它利用LLM模型隐藏层上的统计一致性技术进行模式链接,为模式链接的准确性提供概率保证。
我们通过在BIRD基准上的综合实验验证了我们的方法,展示了在稳健性和可靠性方面的显著改善。我们的研究结果强调了将透明盒LLMs与人机交互过程结合的潜力,以创建更稳健的数据库自然语言接口。对于BIRD基准,我们的方法实现了近乎完美的模式链接准确性,在需要时能够自动涉及人类。结合查询生成,我们展示了近乎完美的模式链接加上一个小型查询生成模型几乎可以与比我们使用的模型大几个数量级的SOTA准确性相匹配。
1 引言
大语言模型(LLMs)的出现促使了解决经典数据库挑战的范式转变,涵盖数据集成、信息检索和查询理解。这些模型复杂的自然语言理解能力促使从非结构化文本中提取结构化数据,达到了前所未有的语义准确度。通过利用变换器架构和对广泛语料的自监督学习,LLMs在辨别复杂语言模式和上下文细微差别方面展现了显著的效率,从而提升了传统数据库操作的语义解读。例如,LLMs能够无缝集成不同的数据源 [ 20 , 104 ] \left\lbrack {{20},{104}}\right\rbrack [20,104] ,提高信息检索系统的精度 [60],并改善对复杂查询的理解和处理 [13]。
LLMs应用于文本转SQL转换 [34,40,42,69] 已成为数据库社区的研究重点。文本转SQL涉及将自然语言查询转换为相应的SQL语句,利用关系数据库的基本结构。此研究领域的重要性在于其潜在的民主化数据访问,使非技术用户能够有效地与数据库互动。文本转SQL系统在交互式数据探索、自动查询生成和数据库系统的自然语言接口等领域具有广泛的应用。然而,该任务存在多个非平凡的挑战,包括自然语言固有的模糊性、SQL的严格语法和语义约束,以及在查询上下文中进行精确的模式映射和实体解析的必要性。
(b) 模式下缺乏元数据描述
图1:BIRD基准中易出错的文本转SQL示例
幸运的是,LLMs的出现使得在各种基准上文本转SQL的准确性和性能有了显著改善,包括在挑战性的BIRD [58]基准上比传统方法的执行准确性提高了超过 30 % {30}\% 30% 。这一显著进展催化了该不断发展的领域中的研究优先级转变,目前的努力集中在文本转SQL提示工程 [ 6 , 34 , 69 , 89 ] \left\lbrack {6,{34},{69},{89}}\right\rbrack [6,34,69,89] ,利用大量SQL示例库对LLMs进行微调 [ 34 , 56 ] \left\lbrack {{34},{56}}\right\rbrack [34,56] 以改善SQL生成的准确性,以及关键地改善模式链接 [75]。
现有文本转SQL方法面临的主要挑战是无法量化和评估生成的SQL查询的置信度,因为它们主要将LLMs作为不透明的处理单元。重要的是,这些系统被设计为对每个接收的输入生成输出,即便在它们可能未被充分装备的情况下,因为缺乏特定领域的知识或额外的上下文信息。这通常导致输出基本上是经过教育的猜测,这可能会影响结果的准确性和相关性。
为了阐明这个问题,我们展示了来自BIRD基准的案例研究,如图1(a)所示。在这个例子中,用户查询寻求识别第一个圈速最低的比赛。术语“比赛”引入了语义模糊性,因为它可以指的是“比赛”关系中的比赛名称,或者是“lapTimes”关系中的raceId。因此,尽管真实的SQL和模型生成的查询可能会产生不同的结果集,但鉴于自然语言查询内在的模糊性,双方都应被视为有效的解释。类似地,考虑图1(b)中所示的场景,其中语言模型生成错误并非因语义模糊性,而是因为模式提供的信息不足以帮助正确生成。在这个例子中,即使有数据库描述的辅助,EdOps 或 Rtype 是否代表教育类型也不清楚。
图2:RTS框架示例:当在答案生成过程中检测到可能的错误时,模型将选择弃权(左),询问用户确认潜在的模式(中间),或提示用户提供提示(右)。
以上示例中所阐明的问题在查询生成的模式链接阶段尤为明显。模式链接涉及将查询的自然语言组件映射到数据库模式中的相应元素。由于准确解析实体并将其与正确的模式元素对齐的复杂性,这一阶段在文本转SQL流程中尤其容易出错 [75],并已成为该领域近期进展的主要关注点 [ 16 , 19 , 43 , 57 , 113 ] \left\lbrack {{16},{19},{43},{57},{113}}\right\rbrack [16,19,43,57,113] 。
考虑到这些挑战,我们引入了一种称为可靠文本转SQL(RTS)的新框架,以增强查询生成的可靠性。我们提案的特点是能够在答案生成过程中选择弃权,特别设计用于识别不确定性,并允许用户通过选择最符合其意图的解释来解决模糊性。我们的重点是模式链接阶段,因为这是最容易出错并且对文本转SQL系统的整体准确性至关重要。如图2所示,我们的框架可以在模式链接过程中自动检测错误并独立响应。例如,如最左侧的聊天框所示,当模型在生成答案时检测到可能的错误时,我们可以选择停止自动映射过程,以避免可能的错误链接。或者,我们可以参与交互式的细化过程。这个过程涉及向人类用户呈现针对特定消歧问题的确认问题(中间聊天框)。或者,可能的映射候选列表(最右侧聊天框)可以呈现给人类用户或专家LLM以供选择。我们的方法利用语言模型并在推理过程中整合学习的模糊检测机制。此外,通过采用一致性预测技术 [ 8 , 72 , 93 ] \left\lbrack {8,{72},{93}}\right\rbrack [8,72,93] ,我们在模式链接过程中对数据生成的准确性提供统计保证,从而增强了整个查询生成过程的稳健性和可靠性。
我们通过在BIRD基准 [58] 上的一系列实验验证了我们提议的框架的有效性。我们的结果强调了将透明盒LLMs与人机交互过程结合的潜力,以创造更为稳健和行业准备的数据库自然语言接口解决方案。
总结来说,在本文中我们做出以下贡献:
(1)我们对文本转SQL生成的可靠性进行了全面调查,识别出关键挑战和改进机会。
(2)我们提出了一种新颖的框架RTS,能够在模式链接过程中自动检测不确定性,并选择弃权以避免生成潜在错误的查询。RTS可作为任何负责模式链接的透明盒LLM的附加模块。
(3)我们对框架的重要部分进行了理论分析,建立了对其整体准确性的概率保证。
(4)RTS引入了在需要时激励人类介入的技术,允许模型根据专家反馈采用自动校正。
(5)我们通过一系列严格的实验评估了我们提议的框架,利用基准数据集。总体而言,在面临挑战性的BIRD基准时,我们实现了近乎完美的模式链接准确性,并在需要时能够获得人类介入。这对后续的SQL生成具有强大的准确性影响。
本文的组织结构如下:第二节讨论与论文其余部分相关的背景材料和观察。第三节介绍RTS框架及其完整规范。在第四节中,我们展示了详细实验评估的结果,随后在第五和第六节中讨论相关工作和结论。
2 背景和问题陈述
2.1 通用文本到SQL框架
文本到SQL将自然语言问题 Q Q Q 转换为数据库 D 的 SQL 查询。我们概述了LLM驱动的文本到SQL框架的步骤和设计空间。
预处理:预处理将模式与问题链接,有助于生成SQL。模式链接至关重要,但在基于LLM的系统中容易出错[75]。
SQL生成:SQL生成使用LLM将问题翻译为查询。模型将链接的模式和问题作为输入,输出SQL [34, 75, 80]。新的表现更好的模型不断涌现。提示工程通过零-shot [17] 或 few-shot 学习 [34] 增强微调模型。多步生成 [ 34 , 69 , 75 , 80 , 100 ] \left\lbrack {{34},{69},{75},{80},{100}}\right\rbrack [34,69,75,80,100] ,如链式思维推理 [89],提高了准确性。
后处理:后处理精炼生成的SQL。常见策略包括:
(1)自我纠正:模型审查生成的SQL,以解决问题[75]。
(2)自我一致性:执行多个有效查询;投票确定最一致者[69]。
(3)执行指导SQL选择器:顺序执行生成的SQL,选择第一个无错误的执行[39, 70]。2025年1月22日01:35。第3页,共1-17页。
2.2 模式链接
模式链接涉及准确识别大型数据库中回答给定自然语言查询所需的所有相关列和表。在高层次上,在基于LLM的方法中,这个过程涉及在监督微调之后查询LLM 1 {}^{1} 1 。这个LLM(称为模式链接模型)接受自然语言查询作为输入(以及数据库模式和其他适用的元数据),并输出与查询相关的表和列。
具体来说,给定一个包含表 T = { T 1 , T 2 , … , T v } \mathcal{T} = \left\{ {{T}_{1},{T}_{2},\ldots ,{T}_{v}}\right\} T={T1,T2,…,Tv} 的数据库 D \mathbf{D} D ,每个表的列 c i = { c i 1 , c i 2 , … , c i κ } {\mathbf{c}}_{i} = \left\{ {{c}_{i1},{c}_{i2},\ldots ,{c}_{i\kappa }}\right\} ci={ci1,ci2,…,ciκ} ,以及自然语言问题 Q Q Q ,模式链接的目标是:
(1)识别形成回答 Q Q Q 所需的相关表 T ′ ⊆ T {\mathcal{T}}^{\prime } \subseteq \mathcal{T} T′⊆T (称为表链接)
(2)从每个表 T i ∈ T ′ {T}_{i} \in {\mathcal{T}}^{\prime } Ti∈T′ 中提取形成回答 Q Q Q 所需的相关列 c i ′ {\mathbf{c}}_{i}^{\prime } ci′ (称为列链接)
这些表的列表 T ′ {\mathcal{T}}^{\prime } T′ 和列 c ′ {\mathbf{c}}^{\prime } c′ 将用于制定回答问题 Q Q Q 的SQL查询。
表1:使用Chess[90]的文本到SQL性能在BIRD开发集上
模式链接配置 | 执行准确率(EX) |
正确的表 + 正确的列 | 72.4 |
完整的表 + 完整的列 | 64.52 |
最佳报告的基于方法 [74] | 73.01 |
准确的模式链接对于增强复杂SQL查询的下游构建至关重要。为了展示模式链接对生成复杂SQL查询准确性的显著影响,我们进行了实验,涉及对小规模语言模型Deepseek-7B [23] 在BIRD训练数据集[58]上的监督微调,使用各种模式配置:(1)仅提供相关的表和列(正确的表 + 正确的列),(2)提供相关表但可能包括不相关列(正确的表 + 完整的列),以及(3)使用整个数据库模式(完整的表 + 完整的列)。我们根据执行准确性测量每种配置的有效性,该准确性通过将预测查询(文本到SQL模型提供的查询)和金标准查询(带有真实注释的SQL查询)相较于BIRD数据库的执行结果来确定。
如表1所示,即使是小规模语言模型(34B),当与准确的模式链接结合时,其性能可与大型语言模型如Gemini的数据(称为表1中的最佳报告的基于方法)相媲美,正如在BIRD排行榜上报道的那样[1]。
完美的模式链接面临挑战,因为:
-
语义复杂性:模式包含细致的关系和命名约定,需在各领域拥有深入理解。
-
外部知识整合:链接通常需要超出模式的领域特定信息,这可能难以获取和整合。
-
语言歧义:查询可能包含模糊术语,需要上下文理解以准确解析。
模式链接的复杂性要求在优化、策划和定制方面付出努力,尤其是在新环境中。我们提出一种错误意识的弃权机制,以增强模型的可靠性。这允许标记潜在错误,减轻错误映射并提高管道的可信度。集成弃权对于采纳和可靠性至关重要。它减少了新领域的工程维护成本,并建立了持续学习的反馈循环,促进集成到现有工作流程中。
2.3 带弃权的文本到SQL
使用模式链接模型,我们旨在通过识别关键分叉点来改善答案形成过程中的令牌生成——特别是在预测与查询相关的表和列时。这些分叉点是那些生成的令牌,它们是错误的并使生成偏离正确答案(或导致偏离正确答案)。此外,我们将建立保证在生成过程中检测分叉点的概率。检测分叉点形成我们弃权机制的基础。
请注意,我们允许模式链接模型在预处理步骤中弃权,这有两个主要优点:
(1)计算效率:允许模型在预处理阶段弃权,可以显著减少不必要的计算,这些计算最可能导致错误的SQL查询,从而提高SQL生成过程的效率。
(2)与先进模型的无缝集成:我们的方法促进新开发的文本到SQL模型在SQL生成阶段的无缝集成,而无需广泛的重新工程。我们认为这非常重要,因为SQL生成模型迅速发展,新的模型频繁出现。作为设计原则,我们的提案对SQL生成模型无关,我们可以采用表现最佳的模型。在模式链接过程中弃权确保仅高置信度的模式被提供给SQL生成模型,从而提高整体性能并减少错误。
弃权机制还防范低置信度的预测,提高了系统的整体可靠性。当模型选择弃权时,正如我们将详细说明的,可以采用人机协作等替代策略,以确保计算在准确性方面的进展。这涉及人类专家审查模型输出及可能的建议,并解决引发弃权的问题,从而使模型能够继续生成,同时保持系统的可靠性。
3 可靠的文本到SQL
在本节中,我们展示我们提出的框架——可靠的文本到SQL(RTS),详细说明其所有组件。
图3:Fine-tuned Deepseek模型在BIRD开发数据集上的统计数据
3.1 模式链接中的分叉点
在本节中,我们概述了我们在文本到SQL模式链接过程中开发弃权机制的策略。在文献中,量化LLM预测的不确定性是一个积极的研究课题,但由于语言语义和形式的细微差别被认为是具有挑战性的[37]。最近的研究提出了方法来解决这些自由形式语言生成中的挑战[37, 63]。这些方法利用熵[92]、语义分析[50]以及logits或隐藏状态信息 [ 7 , 59 , 79 ] \left\lbrack {7,{59},{79}}\right\rbrack [7,59,79] 来量化预训练的LLM在生成过程中的不确定性。
我们的关注问题与自由形式语言生成在两个关键方面不同。首先,我们的生成任务是半结构化的,期望模型仅输出给定模式中存在的表和列的列表。其次,也是最重要的,我们关注的是用于模式链接的监督微调的LLM。如前所述,监督微调的LLM在其预测中表现出过度自信[101]。也就是说,在回答生成期间,生成的下一个令牌的概率分布高度倾斜,无论生成的正确性如何。为证明这一点,我们记录了在使用监督微调的Deepseek模型在BIRD开发数据集上进行模式链接生成时的softmax概率。如图3a所示,输出概率在正确和错误的模式预测中都集中在1附近。这一现象使得建立在直观期望基础上的任何logit方法变得无用,即生成错误的可能性与低概率值生成的令牌呈正相关[92]。
出于这些原因,我们开发了技术来识别在 Text-to-SQL 中针对模式链接问题量身定制的错误标记生成技术。为了实现这一点,我们首先检查模式链接过程中所犯的错误(假设可以访问真实数据),这对于准确的 Text-to-SQL 生成至关重要。在本节中,我们将以表链接作为例子,因为列链接的方法类似。
设 T \mathcal{T} T 为我们需要进行模式链接的表的集合。设 T t {\mathcal{T}}^{t} Tt 为这些表中的标记集合。我们将模型的标记级生成限制为仅生成 T t {\mathcal{T}}^{t} Tt 中的标记,利用约束生成 [10]。我们将模型在特定模式链接实例中的标记级生成标记为 x ^ 1 , … , x ^ m {\widehat{x}}_{1},\ldots ,{\widehat{x}}_{m} x 1,…,x m ,而真实标记为 x 1 , … , x m {x}_{1},\ldots ,{x}_{m} x1,…,xm 。每个生成的标记 x ^ i {\widehat{x}}_{i} x i 都与相应的真实标记 x i {x}_{i} xi 进行比较,并且模型生成首次偏离真实值的标记被称为分叉点,生成的标记用 x ^ b {\widehat{x}}_{b} x b 表示,真实标记用 x b {x}_{b} xb 表示。形式上,分叉点满足以下条件: x ^ b ≠ x b {\widehat{x}}_{b} \neq {x}_{b} x b=xb ,并且对所有 i < b , x ^ i = x i i < b,{\widehat{x}}_{i} = {x}_{i} i<b,x i=xi 。换句话说,分叉点指示模型生成开始与正确序列偏离的位置,标记了模型所犯的第一个错误。
图 4:分叉点:在模式链接标记的生成过程中,我们将预测标记与真实标记进行比较。如果预测偏离真实标记,如上文中的预测 x 3 ^ \widehat{{x}_{3}} x3 ,教师强迫将提供正确的标记 x 3 {x}_{3} x3 作为输入以继续生成。
进一步地,在分叉点,我们采用教师强迫 [99],用相应的真实标记替换错误的标记,并允许模型继续生成,如图 4 中的红箭头所示。这个过程重复,直到模型的整个生成与真实值相匹配。值得注意的是,在每次教师强迫步骤中,我们手动介入以纠正模型所犯的错误,并继续生成,直到(可能)使用相同标准遇到新的分叉点。因此,在一次答案生成过程中,有可能识别出多个分叉点。(即,模型在纠正前一个错误后错误地偏离正确生成一次或多次。)
为此,我们在 BIRD 开发数据集上进行了上述实验,并针对相应的训练数据对精细调整后的 DeepSeek 模型进行了监督。我们记录每个错误生成中的分叉点数量,如图 3b 所示。在这个实验中,我们做出了两个重要观察:
(1)在每次模式链接操作中,错误模式链接期间的分叉点数量都很少,超过 90 % {90}\% 90% 的错误生成序列仅包含一个或两个分叉点。
(2)如果能够检测并修正这些分叉点,模型将生成正确的模式链接结果。
基于这一观察,如果可以准确有效地识别答案生成中的分叉点,那么这种识别可以作为一种放弃机制的基础。此外,由于每次生成中的分叉点数量较少,因此可以通过人工干预逐步纠正模型输出。因此,我们建议将分叉点用作模式链接生成过程中的不确定性衡量指标。具体来说,产生下一个标记 x i {x}_{i} xi 的不确定性表示为生成的标记是分叉点的概率。
我们在每个隐藏状态的基础上构建了我们的分叉点预测器。我们为每个隐藏状态构建一个分类器,并利用每次标记生成的结果来量化该标记作为分叉点的概率。具体地,我们观察到 N \mathcal{N} N 个提出给模式链接模型的模式链接查询,这些查询包含正确和错误的生成。对于每个模式链接查询,我们假设可以获得正确的模式链接输出(真实值)。我们逐个跟踪每个答案生成的标记,并构建数据集 d l = { ( h 1 i , … h n i ) , ( s 1 i , … , s n i ) } i = 1 m {d}_{l} = {\left\{ \left( {h}_{1}^{i},\ldots {h}_{n}^{i}\right) ,\left( {s}_{1}^{i},\ldots ,{s}_{n}^{i}\right) \right\} }_{i = 1}^{m} dl={(h1i,…hni),(s1i,…,sni)}i=1m D branch = { d l } l = 1 N {\mathcal{D}}_{\text{branch }} = {\left\{ {d}_{l}\right\} }_{l = 1}^{N} Dbranch ={dl}l=1N 其中 d l {d}_{l} dl 表示单个生成过程(即,给定查询的特定模式链接任务的 LLM 的答案),涉及 m m m 个在具有 n n n 层的网络中的标记。在此生成过程中, h j i {h}_{j}^{i} hji 是第 i i i 个标记的第 j j j 个隐藏状态向量,而 s 1 i = ⋯ = s n i {s}_{1}^{i} = \cdots = {s}_{n}^{i} s1i=⋯=sni 是一组布尔变量,指示相应标记的真实值(第 i i i 个标记是否对应于分叉点,如果是则赋值为 1,否则为 0)。 D branch {\mathcal{D}}_{\text{branch }} Dbranch 是所有 d l {d}_{l} dl 对于 N \mathcal{N} N 个模式链接查询的集合。 D branch {\mathcal{D}}_{\text{branch }} Dbranch 用于训练 n n n 个分类器,每个隐藏层一个,记为 u 1 … u n {u}_{1}\ldots {u}_{n} u1…un ,每个分类器由两个层的感知器(MLP)分类器组成。在一个全新的模式链接查询期间,每个标记在推理时将产生一组隐藏状态向量(每层一个)。分类器 u 1 … u n {u}_{1}\ldots {u}_{n} u1…un 在提供与其层对应的隐藏状态向量时,将为相应标记输出分数 s ^ 1 , … s ^ n {\widehat{s}}_{1},\ldots {\widehat{s}}_{n} s 1,…s n 。分数 s ^ i , 1 ≤ i ≤ n {\widehat{s}}_{i},1 \leq i \leq n s i,1≤i≤n 表示在每层的预测,表示生成的特定标记是否为分叉点,根据分类器 u i {u}_{i} ui 。我们在图 5 中展示了高层架构。
3.2 分叉点预测器(BPP)
我们现在介绍我们的分叉点预测器(BPP)的设计,它利用预测器 u 1 , … , u n {u}_{1},\ldots ,{u}_{n} u1,…,un 来提供在模式链接标记生成过程中检测分叉点的概率保证。我们首先引入将在后续部分中使用的合规预测的形式。
3.2.1 合规预测。设 ( x , y ) (x, y) (x,y) 为一对随机数,联合分布为 D D D 在 X × Y \mathcal{X} \times \mathcal{Y} X×Y 上,其中 X \mathcal{X} X 是特征空间, Y \mathcal{Y} Y 是标签空间。对于给定的错误水平 α ∈ ( 0 , 1 ) \alpha \in \left( {0,1}\right) α∈(0,1) ,对于任何分类器,合规预测构造一个预测集 C : X → 2 Y C : \mathcal{X} \rightarrow {2}^{\mathcal{Y}} C:X→2Y 使得 [ 72 , 93 ] \left\lbrack {{72},{93}}\right\rbrack [72,93] : p ( y ∈ C ( x ) ) ≥ 1 − α (1) p\left( {y \in C\left( x\right) }\right) \geq 1 - \alpha \tag{1} p(y∈C(x))≥1−α(1) 请注意, C ( x ) C\left( x\right) C(x) 是标签空间的一个子集,合规预测界定了正确标签属于该集合的概率的界限。这个保证是在数据可交换性假设的基础上有效的,这是一种比独立同分布(i.i.d.)假设更弱的条件 [93]。即使这一假设未满足 [8],它仍然可以以修改后的形式适用,从而扩展了其普遍性和适用性。设 ( x 1 , y 1 ) , … , ( x N d , y N d ) \left( {{x}_{1},{y}_{1}}\right) ,\ldots ,\left( {{x}_{{N}_{d}},{y}_{{N}_{d}}}\right) (x1,y1),…,(xNd,yNd) 为保留的校准数据,而 ( x test , y test ) \left( {{x}_{\text{test }},{y}_{\text{test }}}\right) (xtest ,ytest ) 为测试点。合规预测如下进行:首先定义一个非一致性度量 A : ( X × Y × ( X × A : (\mathcal{X} \times \mathcal{Y} \times (\mathcal{X} \times A:(X×Y×(X× Y ) N d → R ) \left. {\mathcal{Y}{)}^{{N}_{d}} \rightarrow \mathbb{R}}\right) Y)Nd→R) 。 A A A 的目的是量化一个新点与校准数据的相关性/无关性。然后,对于每个 y ∈ Y y \in \mathcal{Y} y∈Y ,我们可以计算其非一致性分数 R i {R}_{i} Ri 如下: R i = A ( ( x i , y i ) , ( x j , y j ) : j ≠ i ) , 对于 i = 1 , … , N d {R}_{i} = A\left( {\left( {{x}_{i},{y}_{i}}\right) ,\left( {{x}_{j},{y}_{j}}\right) : j \neq i}\right) \text{, 对于}i = 1,\ldots ,{N}_{d} Ri=A((xi,yi),(xj,yj):j=i), 对于i=1,…,Nd — 2 {}^{2} 2 由于空间限制,我们只提供主要技术的概述。完整的细节可以在其他地方获得 [ 3 , 9 , 30 , 85 ] \left\lbrack {3,9,{30},{85}}\right\rbrack [3,9,30,85] .
图 5:分叉点预测器:每层的校准分类器被训练以预测分叉点。我们以合乎原则的方式聚合预测以生成最终预测。
并且测试数据点的非一致性分数为:
R
test
y
=
A
(
(
x
test
,
y
)
,
(
x
i
,
y
i
)
:
i
=
1
,
…
,
N
d
)
{R}_{\text{test }}^{y} = A\left( {\left( {{x}_{\text{test }}, y}\right) ,\left( {{x}_{i},{y}_{i}}\right) : i = 1,\ldots ,{N}_{d}}\right)
Rtest y=A((xtest ,y),(xi,yi):i=1,…,Nd) 我们利用非一致性分数来计算每个
y
y
y 的
π
\pi
π -值:
π
(
y
)
=
∣
i
:
R
i
≥
R
test
y
∣
+
1
N
d
+
1
\pi \left( y\right) = \frac{\left| {i : {R}_{i} \geq {R}_{\text{test }}^{y}}\right| + 1}{{N}_{d} + 1}
π(y)=Nd+1∣i:Ri≥Rtest y∣+1 最后,预测集被定义为:
C
(
x
test
)
=
{
y
∈
Y
:
π
(
y
)
>
α
}
C\left( {x}_{\text{test }}\right) = \{ y \in \mathcal{Y} : \pi \left( y\right) > \alpha \}
C(xtest )={y∈Y:π(y)>α} 在假设
X
×
Y
\mathcal{X} \times \mathcal{Y}
X×Y 是可交换的情况下,预测集满足方程 1。需要强调的是,这种保证形式是边际的 [93],表明概率是通过从校准数据和测试点的随机抽样计算得出的。对不可交换分布也可以提供类似的保证 [8]。
3.2.2 适应性单层BPP (sBPP)。我们建议采用适应性预测方法来构建分类器
u
i
{u}_{i}
ui 的预测集。该分类器对模式链接模型第
i
i
i 层生成的标记分配分数,指示每个标记作为分支点的概率(即分数),如图5所示。
分类器 u i {u}_{i} ui 将使用来自 D branch {\mathcal{D}}_{\text{branch }} Dbranch 的数据进行训练,具体而言,第 i i i 个隐状态向量和来自模式链接任务的所有标记 d l ∈ D branch {d}_{l} \in {\mathcal{D}}_{\text{branch }} dl∈Dbranch ,以及它们对应的真实值 ( h i j , s i j , 1 ≤ j ≤ m , ∀ l , d l ∈ D branch ) \left( {{h}_{i}^{j},{s}_{i}^{j},1 \leq j \leq m,\forall l,{d}_{l} \in {\mathcal{D}}_{\text{branch }}}\right) (hij,sij,1≤j≤m,∀l,dl∈Dbranch ) 。设 D i {D}^{i} Di 表示该数据集,而 D c i {D}_{c}^{i} Dci 为 D i {D}^{i} Di 的一个子集,被指定为校准集。分类器 u i {u}_{i} ui 的训练将利用数据 D i ∖ D c i {D}^{i} \smallsetminus {D}_{c}^{i} Di∖Dci 。
校准集中的每个观察都包含一个特征向量 x i ∈ X {x}_{i} \in \mathcal{X} xi∈X (即给定标记的隐状态向量 h i {h}_{i} hi )及其关联的真实标签 y i ∈ Y {y}_{i} \in \mathcal{Y} yi∈Y (即该标记的值 s i {s}_{i} si ,指示它是否是一个分支点)。
利用这个校准数据集,我们定义数据点 x x x 的非适应性分数为 1 − p ( y ∗ ∣ x ) 1 - p\left( {{y}^{ * } \mid x}\right) 1−p(y∗∣x) ,其中 p ( y ∗ ∣ x ) p\left( {{y}^{ * } \mid x}\right) p(y∗∣x) 是分类器 u i {u}_{i} ui 对真实类 y ∗ {y}^{ * } y∗ 的 softmax 概率。该分数量化了新观察与训练数据分布的偏离或非适应性程度。请注意,当分类器 u i {u}_{i} ui 做出错误预测时,非适应性分数会增加(因为在这个阶段的评估利用的是真实数据)。
然后,我们建立阈值 ϵ \epsilon ϵ ,作为校准集上计算的非适应性分数的 ⌈ ( ∣ D c i ∣ + 1 ) ( 1 − α ) / ∣ D c i ∣ ⌉ \left\lceil {\left( {\left| {D}_{c}^{i}\right| + 1}\right) \left( {1 - \alpha }\right) /\left| {D}_{c}^{i}\right| }\right\rceil ⌈( Dci +1)(1−α)/ Dci ⌉ -th 分位数,其中 ∣ D c i ∣ \left| {D}_{c}^{i}\right| Dci 表示校准集的基数。对于新的测试点 x test {x}_{\text{test }} xtest ,我们生成预测集: C ( x test ) = { y ∣ p ( y ∣ x test ) ≥ 1 − ϵ } C\left( {x}_{\text{test }}\right) = \left\{ {y \mid p\left( {y \mid {x}_{\text{test }}}\right) \geq 1 - \epsilon }\right\} C(xtest )={y∣p(y∣xtest )≥1−ϵ} 在假设校准数据集 D c i {D}_{c}^{i} Dci 具有可交换性下,我们可以保证: p ( y ∗ ∈ C ( x test ) ) ≥ 1 − α p\left( {{y}^{ * } \in C\left( {x}_{\text{test }}\right) }\right) \geq 1 - \alpha p(y∗∈C(xtest ))≥1−α 其中 y ∗ {y}^{ * } y∗ 代表 x test {x}_{\text{test }} xtest 的真实标签。这种方法使我们能够构建具有指定错误水平的预测集,为检测分支点提供了基础。
在一般情况下,不能假设可交换性,可以利用非可交换适应性预测 [8]。框架类似,但处理校准集和阈值 ϵ \epsilon ϵ 的确定方式有所调整,以考虑测试数据和校准数据之间分布的差异。
具体而言,我们通过将每个隐状态向量 h i ∈ D c i {h}_{i} \in {D}_{c}^{i} hi∈Dci 与其非适应性分数 σ i = 1 − p ( y ∣ h i ) {\sigma }_{i} = 1 - p\left( {y \mid {h}_{i}}\right) σi=1−p(y∣hi) 关联,来转换 D c i {D}_{c}^{i} Dci 。设 D c i ′ {D}_{c}^{{i}^{\prime }} Dci′ 为转换后的成对数据集 ( h i , σ i ) \left( {{h}_{i},{\sigma }_{i}}\right) (hi,σi) 。在测试时,给定测试隐状态 h ∗ {h}^{ * } h∗ ,我们计算其在 D c i ′ {D}_{c}^{{i}^{\prime }} Dci′ 中的 K K K 个最近邻,并计算权重 w k = exp ( − ∥ h ∗ − h k ∥ 2 2 / τ ) {w}_{k} = \exp \left( {-{\begin{Vmatrix}{h}^{ * } - {h}_{k}\end{Vmatrix}}_{2}^{2}/\tau }\right) wk=exp(− h∗−hk 22/τ) ,其中 τ \tau τ 是一个超参数,且 1 ≤ k ≤ K 1 \leq k \leq K 1≤k≤K 。本质上,我们评估每个校准点对当前测试点的“影响”。归一化后 w ^ i = w i / ( 1 + ∑ i = 1 K w i ) {\widehat{w}}_{i} = {w}_{i}/\left( {1 + \mathop{\sum }\limits_{{i = 1}}^{K}{w}_{i}}\right) w i=wi/(1+i=1∑Kwi) ,我们计算新的阈值 ϵ ^ = inf { ϵ ∣ ∑ i = 1 K w ^ i 1 { σ i < ϵ } ≥ 1 − α } \widehat{\epsilon } = \inf \left\{ {\epsilon \mid \mathop{\sum }\limits_{{i = 1}}^{K}{\widehat{w}}_{i}\mathbf{1}\left\{ {{\sigma }_{i} < \epsilon }\right\} \geq 1 - \alpha }\right\} ϵ =inf{ϵ∣i=1∑Kw i1{σi<ϵ}≥1−α} ,其中 1 { 1\{ 1{ . } \} } 是指示函数。估计过程与可交换情况相同;非可交换情况的第1个方程的界限稍微宽松,包含修正项 [8]。详细信息和相关分析可见其他文献 [8]。
3.2.3 适应性多层BPP (mBPP)。我们对每个 n n n 个分类器 u 1 … u n {u}_{1}\ldots {u}_{n} u1…un 重复第3.2.2节中的构建。设 C i = {C}_{i} = Ci= C i ( x ) ⊆ { 0 , 1 } {C}_{i}\left( x\right) \subseteq \{ 0,1\} Ci(x)⊆{0,1} 表示由分类器 u i {u}_{i} ui 在某些输入 x x x 上所导出的适应性预测集。该集合包括分类器 u i {u}_{i} ui 针对相应标记预测的标签(0,1,或两者)。为方便表示,我们假设每个 u i {u}_{i} ui 的校准集具有可交换性,但所有讨论同样适用于非可交换情况。
多数投票。我们首先提出一种直观且可靠的程序,通过多数投票来聚合分类器的预测,以声明测试标记是否为分支点。具体而言,设 C 1 , C 2 , … C n {C}_{1},{C}_{2},\ldots {C}_{n} C1,C2,…Cn 表示由 n n n 个分支点预测器 u i {u}_{i} ui 生成的预测集,每个预测器基于模式链接模型中的不同隐层。给定一个阈值 θ ∈ [ 0 , 1 ) \theta \in \lbrack 0,1) θ∈[0,1) ,我们定义 C θ {C}^{\theta } Cθ 包含在至少 θ \theta θ 分数的预测集中出现的所有预测(0或1), C θ = { c ∈ { 0 , 1 } : 1 n ∑ i = 1 n 1 { c ∈ C i } > θ } , {C}^{\theta } = \left\{ {c \in \{ 0,1\} : \frac{1}{n}\mathop{\sum }\limits_{{i = 1}}^{n}\mathbf{1}\left\{ {c \in {C}_{i}}\right\} > \theta }\right\} , Cθ={c∈{0,1}:n1i=1∑n1{c∈Ci}>θ}, 这个集合具有以下重要性质:
定理 1. 设 C 1 , … , C n {C}_{1},\ldots ,{C}_{n} C1,…,Cn 是根据第1个方程具有属性的预测集,且 c ∗ {c}^{ * } c∗ 表示正确标签。那么, p ( c ∗ ∈ C θ ) ≥ 1 − α / ( 1 − θ ) p\left( {{c}^{ * } \in {C}^{\theta }}\right) \geq 1 - \alpha /\left( {1 - \theta }\right) p(c∗∈Cθ)≥1−α/(1−θ) 证明。 p ( c ∗ ∉ C θ ) = p ( 1 n ∑ i = 1 n 1 { c ∗ ∉ C i } ≥ 1 − θ ) p\left( {{c}^{ * } \notin {C}^{\theta }}\right) = p\left( {\frac{1}{n}\mathop{\sum }\limits_{{i = 1}}^{n}1\left\{ {{c}^{ * } \notin {C}_{i}}\right\} \geq 1 - \theta }\right) p(c∗∈/Cθ)=p(n1i=1∑n1{c∗∈/Ci}≥1−θ) 注意到 1 { c ∗ ∉ C i } 1\left\{ {{c}^{ * } \notin {C}_{i}}\right\} 1{c∗∈/Ci} 是一个伯努利随机变量(称为 ϕ i {\phi }_{i} ϕi ),其期望 E ( ϕ i ) ≤ α E\left( {\phi }_{i}\right) \leq \alpha E(ϕi)≤α 。因此,根据马尔可夫不等式, p ( c ∗ ∉ C θ ) = p ( 1 n ∑ i = 1 n ϕ i ≥ 1 − θ ) p\left( {{c}^{ * } \notin {C}^{\theta }}\right) = p\left( {\frac{1}{n}\mathop{\sum }\limits_{{i = 1}}^{n}{\phi }_{i} \geq 1 - \theta }\right) p(c∗∈/Cθ)=p(n1i=1∑nϕi≥1−θ) ≤ E ( 1 n ∑ i = 1 n ϕ i ) 1 − θ = 1 n ∑ i = 1 n E ( ϕ i ) 1 − θ \leq \frac{E\left( {\frac{1}{n}\mathop{\sum }\limits_{{i = 1}}^{n}{\phi }_{i}}\right) }{1 - \theta } = \frac{\frac{1}{n}\mathop{\sum }\limits_{{i = 1}}^{n}E\left( {\phi }_{i}\right) }{1 - \theta } ≤1−θE(n1i=1∑nϕi)=1−θn1i=1∑nE(ϕi) ≤ α 1 − θ \leq \frac{\alpha }{1 - \theta } ≤1−θα 因此, p ( c ∗ ∈ C θ ) = 1 − p ( c ∗ ∉ C θ ) ≥ 1 − α / ( 1 − θ ) p\left( {{c}^{ * } \in {C}^{\theta }}\right) = 1 - p\left( {{c}^{ * } \notin {C}^{\theta }}\right) \geq 1 - \alpha /\left( {1 - \theta }\right) p(c∗∈Cθ)=1−p(c∗∈/Cθ)≥1−α/(1−θ) 定理1没有假设预测集 C i {C}_{i} Ci 之间的关系。对于特殊情况, θ = 1 / 2 \theta = 1/2 θ=1/2 ,它成为多数投票,说明通过对标签预测进行聚合,多数投票提供了至少为 1 − 2 α 1 - {2\alpha } 1−2α 的边际概率保证。实际的保证取决于集合 C i {C}_{i} Ci 的属性。例如,如果集合 C i {C}_{i} Ci 是独立的,对于 θ = 1 / 2 \theta = 1/2 θ=1/2 ,可以使用霍夫丁不等式证明虚假否定的概率最多为 exp ( − 2 n ( 1 / 2 − α ) 2 ) {\exp }^{\left( -2n{\left( 1/2 - \alpha \right) }^{2}\right) } exp(−2n(1/2−α)2) ,当 n n n 增加时(网络层的数量,因此对应的分类器数量)很快趋近于0。或者,如果所有集合都相同,虚假否定的概率上限为 α \alpha α 。多数投票在虚假否定(漏掉分支点)和虚假正例(错误声明某个点为分支)之间提供了一种平衡。在我们的应用中,虚假否定是有害的,因为它们会导致错误的模式链接。而虚假正例在出现时并不会导致错误的模式链接信息。相反,会触发弃权或人工干预(见3.3节),但也需要尽量减少。
接下来我们展示在最坏情况下 C θ {C}^{\theta } Cθ 的大小可以被界定:
定理 2. 设 ∣ C 1 ∣ , … , ∣ C n ∣ \left| {C}_{1}\right| ,\ldots ,\left| {C}_{n}\right| ∣C1∣,…,∣Cn∣ 表示每个预测集的大小。那么, ∣ C θ ∣ ≤ 1 n ⋅ θ ∑ i = 1 n ∣ C i ∣ \left| {C}^{\theta }\right| \leq \frac{1}{n \cdot \theta }\mathop{\sum }\limits_{{i = 1}}^{n}\left| {C}_{i}\right| Cθ ≤n⋅θ1i=1∑n∣Ci∣ 2025-01-22 01:35. 第 7 页,共 1-17。
证明。 ∣ C θ ∣ = ∑ c 1 { 1 n ∑ i = 1 n 1 { c ∈ C i } ≥ θ } ≤ ∑ c 1 n ⋅ θ ∑ i = 1 n 1 { c ∈ C i } \left| {C}^{\theta }\right| = \mathop{\sum }\limits_{c}\mathbf{1}\left\{ {\frac{1}{n}\mathop{\sum }\limits_{{i = 1}}^{n}\mathbf{1}\left\{ {c \in {C}_{i}}\right\} \geq \theta }\right\} \leq \mathop{\sum }\limits_{c}\frac{1}{n \cdot \theta }\mathop{\sum }\limits_{{i = 1}}^{n}\mathbf{1}\left\{ {c \in {C}_{i}}\right\} Cθ =c∑1{n1i=1∑n1{c∈Ci}≥θ}≤c∑n⋅θ1i=1∑n1{c∈Ci} = 1 n ⋅ θ ∑ i = 1 n ( ∑ c 1 { c ∈ C i } ) = 1 n ⋅ θ ∑ i = 1 n ∣ C i ∣ = \frac{1}{n \cdot \theta }\mathop{\sum }\limits_{{i = 1}}^{n}\left( {\mathop{\sum }\limits_{c}1\left\{ {c \in {C}_{i}}\right\} }\right) = \frac{1}{n \cdot \theta }\mathop{\sum }\limits_{{i = 1}}^{n}\left| {C}_{i}\right| =n⋅θ1i=1∑n(c∑1{c∈Ci})=n⋅θ1i=1∑n∣Ci∣ 其中第一个不等式基于事实 1 { x ≥ 1 } ≤ x 1\{ x \geq 1\} \leq x 1{x≥1}≤x 。
注意,对于
θ
=
1
2
\theta = \frac{1}{2}
θ=21 ,
∣
C
θ
∣
\left| {C}^{\theta }\right|
Cθ
是
≤
2
⋅
avg
(
∣
C
i
∣
)
\leq 2 \cdot \operatorname{avg}\left( \left| {C}_{i}\right| \right)
≤2⋅avg(∣Ci∣) 。
随机排列。为了进一步限制聚合预测集的大小,我们利用了关于随机排列的观察[35]。我们在算法1中演示了我们的方法。我们通过随机排列它们的索引来聚合预测集
C
1
,
…
,
C
n
{C}_{1},\ldots ,{C}_{n}
C1,…,Cn ,并根据与定理1相似的多数投票标准构造最终的预测集
C
π
{C}^{\pi }
Cπ 。具体而言,我们迭代计算标签0和1在排列中每个元素的出现次数,考虑所有以索引
i
i
i (对于
1
≤
i
≤
n
1 \leq i \leq n
1≤i≤n )结束的排列前缀,如果标签的出现次数达到或超过当前迭代索引
i
i
i 的一半,则将该元素添加到该前缀的预测中
C
π
(
π
1
:
π
i
)
{C}^{\pi }\left( {{\pi }_{1} : {\pi }_{i}}\right)
Cπ(π1:πi) 。最终结果
C
π
{C}^{\pi }
Cπ 包含在所有前缀中由每个预测集支持的元素。
算法1 随机排列方法
需要:预测集 C 1 , … , C n {C}_{1},\ldots ,{C}_{n} C1,…,Cn 确保:聚合预测集 C π {C}^{\pi } Cπ C π ← ∅ {C}^{\pi } \leftarrow \varnothing Cπ←∅ : π 1 … π k ← : {\pi }_{1}\ldots {\pi }_{k} \leftarrow :π1…πk← 随机排列 { 1 , 2 , … , n } \{ 1,2,\ldots , n\} {1,2,…,n} ;
对于每个 i i i 在范围 1 … k 1\ldots k 1…k 中执行 C π ( π 1 : π i ) ← ∅ {C}^{\pi }\left( {{\pi }_{1} : {\pi }_{i}}\right) \leftarrow \varnothing Cπ(π1:πi)←∅ Count 0 ← {\text{ Count }}_{0} \leftarrow Count 0← 计算在 C π 1 … C π i {C}_{{\pi }_{1}}\ldots {C}_{{\pi }_{i}} Cπ1…Cπi 中出现0的次数 Count 1 ← {\text{ Count }}_{1} \leftarrow Count 1← 计算在 C π 1 … C π i {C}_{{\pi }_{1}}\ldots {C}_{{\pi }_{i}} Cπ1…Cπi 中出现1的次数
如果 Count 0 ≥ i 2 {\text{Count}}_{0} \geq \frac{i}{2} Count0≥2i 则 C π ( π 1 : π i ) ← C π ( π 1 : π i ) + { 0 } {C}^{\pi }\left( {{\pi }_{1} : {\pi }_{i}}\right) \leftarrow {C}^{\pi }\left( {{\pi }_{1} : {\pi }_{i}}\right) + \{ 0\} Cπ(π1:πi)←Cπ(π1:πi)+{0} 结束如果
如果 Count 1 ≥ i 2 {\text{Count}}_{1} \geq \frac{i}{2} Count1≥2i 则 C π ( π 1 : π i ) ← C π ( π 1 : π i ) + { 1 } {C}^{\pi }\left( {{\pi }_{1} : {\pi }_{i}}\right) \leftarrow {C}^{\pi }\left( {{\pi }_{1} : {\pi }_{i}}\right) + \{ 1\} Cπ(π1:πi)←Cπ(π1:πi)+{1} 结束如果 C π ← C π ∩ C π ( π 1 : π i ) {C}^{\pi } \leftarrow {C}^{\pi } \cap {C}^{\pi }\left( {{\pi }_{1} : {\pi }_{i}}\right) Cπ←Cπ∩Cπ(π1:πi) 结束循环
我们证明了算法1的最坏情况边际概率保证与定理1在 θ = 1 / 2 \theta = 1/2 θ=1/2 的情况下是相同的;然而,它产生的预测集的大小可能更小。
定理3. 设 C 1 , … , C n {C}_{1},\ldots ,{C}_{n} C1,…,Cn 是根据方程1的预测集。那么, p ( c ∗ ∈ C π ) ≥ 1 − 2 α p\left( {{c}^{ * } \in {C}^{\pi }}\right) \geq 1 - {2\alpha } p(c∗∈Cπ)≥1−2α 并且 ∣ C π ∣ ≤ ∣ C θ ∣ \left| {C}^{\pi }\right| \leq \left| {C}^{\theta }\right| ∣Cπ∣≤ Cθ 当 θ = 1 2 \theta = \frac{1}{2} θ=21 。
证明。设 ϕ k = 1 { c ∈ C k } {\phi }_{k} = \mathbf{1}\left\{ {c \in {C}_{k}}\right\} ϕk=1{c∈Ck} 。通过符合预测,我们知道 E [ ϕ k ] ≤ E\left\lbrack {\phi }_{k}\right\rbrack \leq E[ϕk]≤ α \alpha α 。 p ( c ∗ ∉ C π ) = p ( ∃ k ≤ K : c ∉ C π ( π 1 : π k ) ) p\left( {{c}^{ * } \notin {C}^{\pi }}\right) = p\left( {\exists k \leq K : c \notin {C}^{\pi }\left( {{\pi }_{1} : {\pi }_{k}}\right) }\right) p(c∗∈/Cπ)=p(∃k≤K:c∈/Cπ(π1:πk)) = p ( ∃ k ≤ K : 1 k ∑ i = 1 k ϕ π i ≥ 1 2 ) ≤ 2 E [ ϕ i ] ≤ 2 α = p\left( {\exists k \leq K : \frac{1}{k}\mathop{\sum }\limits_{{i = 1}}^{k}{\phi }_{{\pi }_{i}} \geq \frac{1}{2}}\right) \leq {2E}\left\lbrack {\phi }_{i}\right\rbrack \leq {2\alpha } =p(∃k≤K:k1i=1∑kϕπi≥21)≤2E[ϕi]≤2α 其中第一个不等式基于可交换Markov不等式(EMI)[78]。第二部分 ∣ C π ∣ ≤ ∣ C θ ∣ \left| {C}^{\pi }\right| \leq \left| {C}^{\theta }\right| ∣Cπ∣≤ Cθ 是显而易见的,因为 C π ( π 1 : π n ) {C}^{\pi }\left( {{\pi }_{1} : {\pi }_{n}}\right) Cπ(π1:πn) 与 C θ {C}^{\theta } Cθ 相同。
由于算法1在更小的预测集相比于多数投票中提供了与定理1相同的概率保证,因此我们采用它在mBPP中聚合结果,只有当最终预测集 C π {C}^{\pi } Cπ 中出现1时,我们才将该标记标记为分支点。
3.3 辞职缓解
在识别出分支点后,模型可以被明确指示停止进一步生成。这种方法确保了实施第3.2节中提出的分析结果。随后,我们探讨减轻辞职的方法,无论是通过过程自我修正还是通过请求人工干预。算法2在识别出分支点后启动,生成一个用于检查的表列表。该算法接受三个输入以及链接模型的模式:用于链接的潜在表集 T \mathcal{T} T ,到目前为止生成的标记序列以及识别出的分支点。它利用一个解码函数,该函数作为参数接收标记序列 S S S 和表集 T \mathcal{T} T 。解码函数通过从左到右串联 S S S 中的标记形成表名,然后将它们与 T \mathcal{T} T 中的表进行比较。返回的表列表由在分支点之前和之后计算的解码结果的集合差确定。当在分支点之后的序列中应用解码时,如果 S S S 的标记子序列无法匹配任何表名(注意,这样的子序列无疑将是 S S S 的后缀),我们请求模型继续生成,直到解码识别出 T \mathcal{T} T 中的下一个表。
算法2 表追溯
需要:分支点标记 x b {x}_{b} xb ,生成的标记集 X = X = X= x 1 … x b {x}_{1}\ldots {x}_{b} x1…xb ,可能的表集 T = { T 1 … T v } \mathcal{T} = \left\{ {{T}_{1}\ldots {T}_{v}}\right\} T={T1…Tv} ,模式链接模型 M M M 确保: T b ⊂ { T 1 … T v } {\mathcal{T}}_{b} \subset \left\{ {{T}_{1}\ldots {T}_{v}}\right\} Tb⊂{T1…Tv} 对应的可能错误表。
1: T pre ← {\mathcal{T}}_{\text{pre }} \leftarrow Tpre ← 解码 X [ : − 1 ] = x 1 … x b − 1 X\left\lbrack { : - 1}\right\rbrack = {x}_{1}\ldots {x}_{b - 1} X[:−1]=x1…xb−1 为表集 T pre ⊂ T {\mathcal{T}}_{\text{pre }} \subset \mathcal{T} Tpre ⊂T T after ← {\mathcal{T}}_{\text{after }} \leftarrow Tafter ← 解码 X X X 为表集 T after ⊂ T {\mathcal{T}}_{\text{after }} \subset \mathcal{T} Tafter ⊂T 当 T after − T pre = ∅ {\mathcal{T}}_{\text{after }} - {\mathcal{T}}_{\text{pre }} = \varnothing Tafter −Tpre =∅ 时 x new ← {x}_{\text{new }} \leftarrow xnew ← 使用 M M M 和 X X X 生成下一个标记
如果 x new = {x}_{\text{new }} = xnew = eos则
返回 T b ← T [ − 1 : ] {\mathcal{T}}_{b} \leftarrow \mathcal{T}\left\lbrack {-1 : }\right\rbrack Tb←T[−1:] 结束如果 X ← X + x new X \leftarrow X + {x}_{\text{new }} X←X+xnew T after ← {\mathcal{T}}_{\text{after }} \leftarrow Tafter ← 解码 X X X 为表集 T after ⊂ T {\mathcal{T}}_{\text{after }} \subset \mathcal{T} Tafter ⊂T 结束循环
返回 T b ← T after − T pre {\mathcal{T}}_{b} \leftarrow {\mathcal{T}}_{\text{after }} - {\mathcal{T}}_{\text{pre }} Tb←Tafter −Tpre —
替代过滤器。识别出分支点后,一个潜在的纠正措施是试图修正错误的标记预测。算法2输出一个表集,可能与分支点相关。这些表可能指示模式中的歧义源,或表明模型错误地预测了这些表,进而阻碍进一步生成。
为了自动继续模式链接过程,我们提出以下缓解策略:令 T b {\mathcal{T}}_{b} Tb 表示算法2返回的表集。我们利用替代模型 3 {}^{3} 3 (Deepseek-7B)来分类 T b {\mathcal{T}}_{b} Tb 中的表是否确实与所考虑的查询相关/无关。我们使用BIRD和Spider训练数据集微调替代模型,特别用于提供以下分类问题的答案:给定一个模式和一个查询,提供的表集是否与该查询相关?我们使用 T b {\mathcal{T}}_{b} Tb 、模式和问题作为替代模型的输入,形成以下提示。
{模式}
问题:{问题} KaTeX parse error: Expected '}', got 'EOF' at end of input: { \mathcal{T}_b}$ 与问题相关吗:
(A) 是 (B) 否
只有当替代模型明确确认这些表无关并输出“否”时,模式链接过程才会停止;否则继续。请注意,相同的过程也可以用于列。
请求人类反馈。在识别出分支点后,如果可行修正,我们可以启用继续标记生成,可能会导致正确的答案。这一观察促使开发一个交互式系统,其中模型根据人类反馈执行自我修正。该框架的可行性依赖于假设人类参与者将始终提供有价值的帮助,通过对模式链接模型提出的查询提供准确的信息。
当标记被识别为分支点时,我们使用算法2回溯到对应的表,生成集合 T b {\mathcal{T}}_{b} Tb 。随后,我们启动用户交互。对于每个表 T i ∈ T b {T}_{i} \in {\mathcal{T}}_{b} Ti∈Tb ,我们请求用户确认其与查询的相关性。如果用户确认该表的相关性,则标记生成无须进一步干预,继续利用 T i {T}_{i} Ti 中的标记。如果用户认为所有表 T i ∈ T b {T}_{i} \in {\mathcal{T}}_{b} Ti∈Tb 不相关,则我们请求正确的表名。提供的表名及其相关的标记将用于继续生成过程。
4 实验评估
在本节中,我们呈现详细实验评估的结果,以评估RTS对模式链接准确性和后续SQL生成的影响。我们详细介绍我们的实验环境、使用的基准数据集、评估指标和方法论。我们强调RTS是一个框架,可以被任何使用透明LLM的模式链接方法利用。因此,我们保持模式链接模型简单,专注于评估RTS的影响。在本工作中,我们假设训练分布与测试分布一致。处理数据漂移下的性能一致性可能需要像迁移学习这样的替代方法,超出了本论文的范围。
— 3 {}^{3} 3 虽然“替代模型”通常在机器学习领域具有不同的含义,但在这里它指的是人类专家的替代。
4.1 实验方法论
我们使用两个关系模式到SQL查询生成基准进行实证评估:Spider [109]和BIRD [58]。遵循以往文献中确立的实验协议,我们利用训练语料库训练我们的模型,并在验证和测试数据集上评估其有效性。然而,我们的研究目标集中在增强自然语言到SQL查询翻译的鲁棒性。由于我们的方法产生的输出具有非标准模式(包括放弃),与测试集提交规范不兼容,因此我们无法在保留的测试数据上评估我们的方法。因此,我们的主要性能指标和可靠性评估是在Spider 1.0的公共可访问验证集和测试集上进行的,这允许更细致的分析。此外,训练每个BPP需要一个已标注的数据集,这在基准测试中是现成可得的。在运营数据库环境中,可以通过人类策划添加查询描述,或者直接使用大语言模型(LLM)生成它们,从而增强包含至少SQL查询和潜在结果的数据库日志。
所有实验均在高性能工作站上进行。该工作站配备了16核AMD Ryzen 5955W CPU和一个带有 80 G B {80}\mathrm{{GB}} 80GB GPU RAM的NVIDIA A100 GPU。
4.1.1 基准数据集。我们使用两个流行的文本到SQL基准进行评估。
Spider。Spider基准是评估文本到SQL生成模型的全面数据集,包含8659个样本的训练集、1034个样本的开发集和一个隐藏的测试集。它包括200个具有不同模式和领域的数据库,以及与自然语言问题配对的复杂SQL查询。该基准挑战模型在多样化的数据库之间进行泛化,并处理复杂的SQL结构,广泛用于研究以推动自然语言界面与数据库的结合。
BIRD。BIRD基准评估文本到SQL系统,重点是大规模和更为多样化的数据。它包含9428个样本的训练集、1534个样本的开发集和一个隐藏的测试集。BIRD涵盖了37个不同专业领域的95个数据库,并呈现了具有“脏”值的重大挑战,这些值保留了来自现实场景的原始、通常是非标准格式。此外,BIRD为特定样本提供了外部知识,以促进正确SQL查询的生成。因此,文本到SQL解析器不仅必须在进行推理之前分析这些非标准格式,还必须将外部知识准确地融入文本到SQL生成过程中。
4.1.2 基线模型。由于RTS的独特设置(即在文本到SQL过程中引入放弃),我们选择一个简单透明的基于LLM的模式链接模型。我们强调,任何此类模型都可以与我们的方法一起轻松使用。因此我们关注于我们引入的放弃机制的有效性和准确性及其对后续模式链接任务的影响。我们的主要目标是通过引入放弃机制来增强任何模式链接模型的可靠性,而不牺牲不使用放弃的传统模型的准确性。鉴于我们的硬件限制,我们目前使用简单的、经过微调的模式链接模型,规模上对我们可行。然而,我们强调,基础模式链接模型的选择与我们的方法是正交的;如236B DeepSeek-Coder等更大规模的模型也将受益于RTS框架,该框架不仅提高了整体准确性,还通过允许模型在不确定时放弃来显著增强可靠性。
然而,我们强调,基础模式链接模型的选择与我们的方法是独立的,我们坚信更大的模型,如236B DeepSeek-Coder,也将从RTS框架中受益。该框架不仅提高了整体准确性,还通过使模型在不确定时能够放弃来大大改善可靠性。
因此,我们使用一个简单的微调模式链接模型,强调基础模式链接模型的选择与我们的方法是正交的。
模式链接模型。我们的方法采用大型语言模型专门用于表链接和列链接。我们使用Deepseek-7B [23]作为模式链接模型,因为它在小规模模型中表现最佳 [76]。我们在模式链接任务上对Deepseek-7B进行了监督微调,使用每个基准的相应训练数据,并在开发数据集上评估其性能。若干文献 [ 53 , 75 ] \left\lbrack {{53},{75}}\right\rbrack [53,75] 提出了如何在微调的基础上提高模式链接准确性的想法(例如,检索样本列值),这些想法也可以很容易地在这里进行调整,而不会影响RTS的操作。
文本到SQL模型。文本到SQL模型的选择同样与RTS无关,因为我们专注于生成更可靠的模式链接。为了演示我们方法的效果,我们考虑了两个可解释的LLM:Deepseek-7B [23]和CodeS [56]。CodeS是一个专门为文本到SQL生成量身定制的开源LLM,具有更小的参数规模但实现了更高的准确性。对于Deepseek-7B和CodeS,我们在各自的训练数据集上进行了监督微调,确保模型能够很好地适应每个基准的文本到SQL生成。
实现细节。除非另有说明,我们将错误级别 α \alpha α 设置为0.1。考虑到实施模式链接模型的LLM具有 n n n 层,我们选择表现最佳的 k k k 个sBPP分类器来形成mBPP。为了评估sBPP的质量,我们计算校准数据集上的AUC分数。除非另有说明,我们在实验中使用 k = 5 k = 5 k=5 。此外,我们使用大约 10 % {10}\% 10% 的训练集来训练每个BPP,这一直产生良好的性能。对于所有LLM,我们使用贪婪解码,温度设置为0以确保可重复性。
4.2 评估指标
模式链接模型。根据以往的工作 [76],模式链接模型的评估基于精确集合匹配、精度和召回率。以表链接为例,设 T i {\mathcal{T}}_{i} Ti 为特定查询的真实表集合, T ^ i {\widehat{\mathcal{T}}}_{i} T i 为预测的表集合。精确集合匹配(EM)衡量的是预测集合与真实集合完全匹配的实例百分比,即 1 n ∑ i = 1 n 1 ( T i = T ^ i ) \frac{1}{n}\mathop{\sum }\limits_{{i = 1}}^{n}\mathbf{1}\left( {{\mathcal{T}}_{i} = {\widehat{\mathcal{T}}}_{i}}\right) n1i=1∑n1(Ti=T i) 。精度的计算方法是预测的正确表数(真阳性)除以预测的表的总数(真阳性加假阳性),即 1 n ∑ i = 1 n ∣ T i ∩ T ^ i ∣ ∣ T ^ i ∣ \frac{1}{n}\mathop{\sum }\limits_{{i = 1}}^{n}\frac{\left| {\mathcal{T}}_{i} \cap {\widehat{\mathcal{T}}}_{i}\right| }{\left| {\widehat{\mathcal{T}}}_{i}\right| } n1i=1∑n∣T i∣∣Ti∩T i∣ 。召回率的计算方法是预测的正确表数(真阳性)除以真实表的总数(真阳性加假阴性),即 1 n ∑ i = 1 n ∣ T i ∩ T ^ i ∣ ∣ T i ∣ \frac{1}{n}\mathop{\sum }\limits_{{i = 1}}^{n}\frac{\left| {\mathcal{T}}_{i} \cap {\widehat{\mathcal{T}}}_{i}\right| }{\left| {\mathcal{T}}_{i}\right| } n1i=1∑n∣Ti∣∣Ti∩T i∣ 。
表2:模式链接模型性能
类型 | 数据集 | 精确匹配 (%) | 精度 (%) | 召回率 (%) |
表 | Bird | 79.70 | 92.85 | 95.00 |
列 | Bird | 75.32 | 89.87 | 88.79 |
表 | Spider-dev | 93.71 | 98.17 | 96.95 |
列 | Spider-dev | 88.98 | 94.41 | 94.09 |
表 | Spider-test | 92.72 | 97.64 | 96.74 |
列 | Spider-test | 87.99 | 92.21 | 93.02 |
分支点。我们使用AUC分数来评估每个分支点预测器(sBPP)的性能,该分数衡量模型区分正类和负类的能力。
为了评估基于多个BPP的符合预测(mBPP)的性能,我们考虑以下指标:覆盖率和额外放弃率(EAR)。设 S = { s 1 … s n } S = \left\{ {{s}_{1}\ldots {s}_{n}}\right\} S={s1…sn} 为每个标记的真实标签, { s ^ 1 … s ^ n } \left\{ {{\widehat{s}}_{1}\ldots {\widehat{s}}_{n}}\right\} {s 1…s n} 为预测标签。覆盖率和EAR的定义如下:
(1) 覆盖率计算为mBPP在所有分支点中正确检测到的分支点的百分比
Coverage
=
∣
{
i
∣
s
^
i
=
s
i
=
1
,
i
∈
1
,
2
…
n
}
∣
∣
{
i
∣
s
i
=
1
,
i
∈
1
,
2
…
n
}
∣
\text{ Coverage } = \frac{\left| \left\{ i \mid {\widehat{s}}_{i} = {s}_{i} = 1, i \in 1,2\ldots n\right\} \right| }{\left| \left\{ i \mid {s}_{i} = 1, i \in 1,2\ldots n\right\} \right| }
Coverage =∣{i∣si=1,i∈1,2…n}∣∣{i∣s
i=si=1,i∈1,2…n}∣ (2) 额外放弃率计算为整个数据集中分支点预测错误的百分比。这是一个指示不必要放弃比例的指标。
E
A
R
=
∣
{
i
∣
s
^
i
=
1
,
s
i
=
0
,
i
∈
1
,
2
…
n
}
∣
n
{EAR} = \frac{\left| \left\{ i \mid {\widehat{s}}_{i} = 1,{s}_{i} = 0, i \in 1,2\ldots n\right\} \right| }{n}
EAR=n∣{i∣s
i=1,si=0,i∈1,2…n}∣ 理想情况下,我们的目标是以较小的EAR实现更高的覆盖率。增加
α
\alpha
α 可能会增加覆盖率;然而,这可能会同时增加EAR,因为不分支点更有可能被识别为分支点。因此,我们主要关注研究BPP在覆盖率和EAR之间的权衡。
架构链接与弃权。为了评估RTS,我们考虑三个关键指标:完全集合匹配、错误弃权率和真实弃权率。以表链接为例(预测与查询q相关的表),设
s
^
1
…
s
^
n
{\widehat{s}}_{1}\ldots {\widehat{s}}_{n}
s
1…s
n 表示是否对测试样本选择弃权的决策。设
T
1
…
T
q
{T}_{1}\ldots {T}_{q}
T1…Tq 表示查询
q
\mathrm{q}
q 的真实表,
T
^
i
…
T
^
q
{\widehat{T}}_{i}\ldots {\widehat{T}}_{q}
T
i…T
q 为预测表。那么,真实弃权率(TAR)计算为模型在未能做出正确预测的情况下选择弃权的实例比例(也就是说,如果我们允许模型预测,它将做出错误的预测)。
T
A
R
=
∣
{
i
∣
s
^
i
=
1
,
T
i
=
T
^
i
}
∣
n
{TAR} = \frac{\left| \left\{ i \mid {\widehat{s}}_{i} = 1,{T}_{i} = {\widehat{T}}_{i}\right\} \right| }{n}
TAR=n
{i∣s
i=1,Ti=T
i}
相对而言,错误弃权率(FAR)计算为模型在可以做出正确预测的情况下选择弃权的实例比例。
F
A
R
=
∣
{
i
∣
s
^
i
=
1
,
T
i
≠
T
^
i
}
∣
n
{FAR} = \frac{\left| \left\{ i \mid {\widehat{s}}_{i} = 1,{T}_{i} \neq {\widehat{T}}_{i}\right\} \right| }{n}
FAR=n
{i∣s
i=1,Ti=T
i}
换句话说,TAR衡量了正确捕捉模型无法做出正确预测的弃权比例,而FAR衡量由于检测错误而产生的不必要弃权。完全集合匹配表示模型在不弃权情况下预测的准确性。
表3:BIRD与SPIDER数据集的平均sBPP AUC(%)
类型 | BIRD | SPIDER-dev | SPIDER-test |
表 | 97.16 | 98.43 | 97.90 |
列 | 96.70 | 96.90 | 96.60 |
表4:BIRD与SPIDER数据集的替代模型准确率(%)
类型 | BIRD | SPIDER-dev | SPIDER-test |
表 | 92.37 | 96.45 | 96.02 |
列 | 94.06 | 96.30 | 96.00 |
评估文本到SQL。我们使用执行准确性(EX)[58, 109]评估下游文本到SQL模型。执行准确性评估模型生成的SQL查询的正确性,将其结果与通过在数据库上执行黄金查询产生的真实结果进行比较,许多先前的工作和基准已广泛采用作为标准指标。
4.3 实验结果
评估单个组件。在本节中,我们通过实验展示RTS的有效性。我们从评估RTS的关键组件开始,即架构链接模型、sBPP和替代模型。
表2中的结果 4 {}^{4} 4 显示了我们在两个数据集(BIRD和Spider)上采用的架构链接模型的基线表现。与更具挑战性的数据集BIRD相比,架构链接模型在Spider数据集上的表和列的表现更好。诚然,相较于其他利用额外元数据(例如匹配样本数据、检查datalog)或涉及重新训练新语言模型的方法 [ 55 , 90 ] \left\lbrack {{55},{90}}\right\rbrack [55,90] ,我们采用的架构链接模型可能并未提供最佳的架构链接准确性。然而,我们强调我们的目标不是最大化架构链接的基本准确性。相反,我们引入了一种机制,允许模型在某些情况下弃权,从而增强整体的鲁棒性和适应性。我们的提议可以被任何透明的架构链接模型采纳。因此,架构链接模型的选择与我们提议是正交的。
— 4 {}^{4} 4 我们在实验中包括了Spider开发集和测试集的结果。由于其性能始终一致,我们在后续分析中将其称为Spider数据集。
为了评估sBPP的有效性,我们计算所有在保形预测中使用的sBPP模型的平均AUC(曲线下面积)分数。表3总结了BIRD和Spider数据集的结果。显然,从表中可以看出,sBPP在这两个数据集上达到了近乎完美的AUC分数,表明sBPP模型在此背景下是有效的。
最后,我们使用替代模型作为二元分类器(评估给定架构描述的查询相关的表/列)并评估其在表4中BIRD和Spider基准的开发集上的分类准确性。如表中所示,对于两个基准,准确率均很高 ( > 94 % ) \left( { > {94}\% }\right) (>94%) 。然而,需要注意的是,所呈现的准确率是用于分类表或列的相关性,以继续生成的目的,并不对应于使用该模型的架构匹配准确性。
含有弃权和替代模型的 m B P P {mBPP} mBPP 。我们首先考虑在mBPP检测到分支点时模型弃权的情况。在这种情况下,我们独立测试表链接和列链接的架构链接模型(即列链接不会接收表链接结果的输入)。这样做是为了最小化这两个过程之间的依赖关系并独立评估它们。稍后,我们将展示它们的联合作用(即先识别相关表,然后为每个表找到列)及其对弃权率的影响。表5总结了结果。
观察表5的第一行(mBPP-Abstention),无论是表级还是列级的结果都在模型决定不弃权的所有情况下表现出高的完全匹配得分,对于BIRD和Spider分别达到98.89%和97.38%的EM。然而,这种方法也有高FAR,这表明在推理过程中,大约有超过12.77%的表和13.53%的列在BIRD中展示了不必要的弃权。对于Spider,数字为表的 5.27 % {5.27}\% 5.27% 和列的 7.46 % {7.46}\% 7.46% 。从BIRD提出的100个查询中,我们会决定对68.13%进行表链接,表链接准确率为98.89%,对其余查询选择弃权。同样,在这些查询中的64.46%中我们会进行列链接,达到 97.38 % {97.38}\% 97.38% 的完全匹配得分,并对其余查询选择弃权。
观察表5的第二行,我们分析利用替代模型的影响。在这种情况下,FAR大幅降低,但EM和TAR也降低了。似乎替代模型能够正确识别模型不应弃权的情况(从而减少FAR)。然而,同时似乎替代模型错误评估出某些实例不应弃权,因此强迫架构链接模型生成错误输出(降低EM和TAR)。
总之,实际上这两种方法(mBPP-Abstention和替代模型的应用)在EM上均优于理论错误水平 α \alpha α (在这种情况下使用 α = 0.1 \alpha = {0.1} α=0.1 为80%)。替代模型在EM和FAR之间引入了一种权衡。虽然它减少了不必要的弃权,但它也通过未能识别超出替代模型能力范围的实例而限制了整体EM。
含有人工反馈的 m B P P {mBPP} mBPP 。我们现在讨论RTS,假设在遇到分支点时能够请求人类协助。在这种方法中,我们考虑一个架构链接模型,首先识别相关表,再识别每个表对应的列进行表和列预测。在这种情况下,如果表链接或列链接选择弃权,我们将选择弃权。请注意,如果表和列链接在完全不同的实例上弃权,则在这一联合过程中获得的FAR和TAR应与各组件的FAR和TAR的总和成正比。
表6显示了每当检测到分支点时请求人类反馈的结果。由于表链接和列链接是联合进行的,因此我们共同计算TAR和FAR指标,因此每个基准数据集都有一个TAR和FAR值。在两个基准中,我们的表和架构链接准确率至少达到
96
%
{96}\%
96% 。请注意FAR值也很低,表明与人类不必要地参与的案例数量很少(即模型可以独立做出正确预测)。将表6的结果与表5中相关的mBPP-Abstention(第一行)的结果进行比较,我们观察到BIRD和Spider的错误弃权率(FAR)和真实弃权率(TAR)均显著低于当独立考虑表和列链接时获得的FAR和TAR之和。这表明在退出时两种链接操作推理之间存在显著重叠。具体来说,如果表链接操作选择弃权,则列链接操作也可能会选择弃权。这是可以预期的,因为如果仅链接表的架构链接模型对与问题相关的表的不确定,它仅链接列的架构链接模型也将难以链接对应的列。
文本到 SQL。最后,我们展示了利用来自 RTS 的模式进行文本到 SQL 的性能,这需要人类在下游 LLM 中的反馈。我们还比较了利用完美模式链接模型的结果,其中模式仅包含提供给微调 SQL 生成器的相关表和列。此外,我们将这些结果与利用该模型的最佳报告方法进行比较(即,对于 DeepSeek-7B 的 DTS-SQL 和对于 CodeS-15B 的 CodeS)。结果如表 7 所示。我们注意到,利用黄金模式的结果为该文本到 SQL 模型提供了上界。显然,这一上界分数远高于相应的最佳报告方法,突显了正确模式链接的重要性。在人类的协助下,我们能够实现近乎完美的模式链接(如表 6 所示),因此达到了与上界相当的 EX 值。我们强调,通过 RTS-Schema 和 DeepSeek-7B 实现的 EX 值为 65.19%,而当前 SOTA 技术在 BIRD 领导板上利用 Gemini(一个比 Deepseek-7B 大几个数量级的模型)的 EX 值为 66.95%。重要的是要强调,在此过程中,我们寻求帮助的人不需要编写 SQL 查询;当询问时,他们需熟悉模式以评估与查询相关的表和列。
消融研究。我们进行了一项消融研究,利用 BIRD 数据集为简洁起见;我们强调,在 Spider 数据集中也观察到了类似的趋势。
表 5:RTS 模式链接模型性能
方法 | 类型 | Bird | Spider-dev | Spider-test | ||||||
EM (%) | TAR (%) | FAR (%) | EM (%) | TAR (%) | FAR (%) | EM (%) | TAR (%) | FAR (%) | ||
mBPP-Abstention | 表 | 98.89 | 19.10 | 12.77 | 99.86 | 6.51 | 5.27 | 99.67 | 6.28 | 4.98 |
列 | 97.38 | 22.01 | 13.53 | 97.73 | 8.75 | 7.46 | 97.52 | 9.25 | 8.32 | |
替代过滤器 | 表 | 90.80 | 10.90 | 2.2 | 96.77 | 3.05 | 1.70 | 95.47 | 4.10 | 2.03 |
列 | 89.76 | 14.34 | 5.98 | 92.71 | 3.70 | 3.35 | 90.18 | 4.63 | 4.12 |
表 6:带有人类反馈的模式链接性能
数据集 | 类型 | EM (%) | TAR (%) | FAR (%) |
Bird | 表 | 96.90 | 18.95 | 13.65 |
Bird | 列 | 96.02 | ||
Spider-dev | 表 | 98.93 | 6.46 | 8.15 |
Spider-dev | 列 | 96.71 | ||
Spider-test | 表 | 99.02 | 6.61 | 8.20 |
Spider-test | 列 | 96.11 |
表 7:不同模式下下游文本到 SQL 模型的执行准确率 (%)
模型 | 模式类型 | Bird | Spider-dev | Spider-test |
Deepseek-7B | 黄金模式 | 66.21 | 90.13 | 90.02 |
RTS-Schema | 64.72 | 88.90 | 88.20 | |
DTS-SQL[76] | 55.8 | 85.50 | 84.4 | |
CodeS-15B | 黄金模式 | 66.27 | 90.02 | 90.10 |
RTS-Schema | 65.19 | 89.10 | 88.68 | |
CodeS[56] | 58.47 | 84.90 | 85.01 |
图 6:每个错误级别的覆盖率与 EAR 的关系。灰线表示理论保证的错误水平。 α \alpha α 的影响。我们在图 6 中展示了覆盖率和 EAR 随 α \alpha α 的变化。如图所示,mBPP 的经验覆盖率始终超过理论阈值 α \alpha α 。理论保证以黑色虚线呈现,并始终被覆盖率包围。此外,当阈值较小时( < 0.15 < {0.15} <0.15 ),经验覆盖率保持相对稳定。此行为表明,mBPP 在低阈值的情况下能够提供可靠的错误量化。 k k k 和随机排列的影响。最后,我们研究了 k k k (在 mBBP 中使用的 sBPP 数量)以及算法 1 中使用的随机排列的影响。在这项消融研究中,我们将错误水平固定为 α = 0.1 \alpha = {0.1} α=0.1 并使用表链接进行
图 7:不同 k k k 值的覆盖率与 EAR 的关系
表 8:按专业水平示范的模式链接性能。我们也在列链接中观察到类似的趋势。在图 7 中,我们绘制了不同 k k k 值的覆盖率和 EAR 曲线。我们考虑两种方法,按多数投票(根据定理 1)和随机排列(算法 1),将每个 sBPP 的结果进行合并。如图所示,两种聚合方法在不同 k k k 值下都能实现近乎恒定的覆盖率。然而,当使用算法 1 时,任何 k k k 的 EAR 都保持不变,而多数投票的 EAR 在 k k k 较小时往往会波动,且在 k k k 较大时会增加。这表明多数投票的性能对在评估中得分较低的噪声 sBPP 极为脆弱。相比之下,随机排列对噪声 sBPP 更加稳健, k k k 的选择对最终性能的影响不大。
参与者组 | 类型 | EM (%) |
初学者 | 表 | 96.2 |
列 | 93.3 | |
专家 | 表 | 98.3 |
列 | 95.8 |
用户研究:评估 RTS 问题。由于 RTS 依赖用户交互提供反馈并增强其可靠性,我们使用 BIRD 基准进行了用户研究,以评估不同背景的最终用户如何看待 RTS 系统生成的问题。在此任务中,参与者被要求确定给定的表或列是否与自然语言查询相关。我们在基准定义的三种难度等级中抽样了 100 个问题:简单、中等和有挑战性。参与者来自数据管理领域的不同专业水平:初学者组由没有 SQL 经验的本科生组成,而专家组则由具备 SQL 熟练度的学生组成。每组各有 10 名参与者。我们记录了参与者回答问题的准确性,并评估了他们的整体模式链接性能。2025-01-22 01:35。第 12 页,共 1-17 页。
表 8 显示了最终的模式链接性能,而表 9 呈现了参与者回答 RTS 生成问题以确定表/列是否与给定问题相关的结果。结果表明,初学者和专家参与者都能够通过准确回答 RTS 系统生成的问题来帮助该系统,尤其是在简单和中等难度的问题上。这些类别中的模式链接性能建议 RTS 系统能够有效生成参与者可以理解的问题,无论其专业水平如何。然而,随着问题难度的增加,初学者组和专家组在表和列识别方面的回答准确性之间出现了差距,如表 9 所示。尽管专家组保持高准确性,初学者组的表现则显著下降,尤其是在列匹配中,准确性降至 89 % {89}\% 89% 。
这种下降可归因于两个主要因素:首先,更难的问题中的相关模式部分通常复杂,属性数量显著增加;其次,当前的问题以 DDL 格式呈现,初学者可能不容易理解。这两个因素增加了初学者组全面理解模式以及每个表/列之间关系的难度。此外,具有挑战性的问题中的模式通常需要更详细的描述,尤其是解释列名。例如,在一个包含各种生物标记实验结果的表中,映射缩略列名 “T-BIL” 到关于总血胆红素水平的问题可能很困难,除非结合外部知识和/或更明确的标签。
这些经验促使我们建议未来的 RTS 工作可以关注通过开发用户友好的 HCI 框架以改善问题的可解释性。这可能包括提供适当的上下文(可能通过 LLM 本身增强)以及表格和列的视觉上吸引人且直观的布局,以辅助回答问题。这为该领域的未来工作提供了机会。
5 相关工作
5.1 不确定性量化
LLM被认为表现出过度自信 [101]、校准不良 [24, 46] 和幻觉 [44],使得不确定性量化成为现实世界应用中的一个关键问题。虽然不确定性量化在深度学习中也得到了积极研究 [ 2 , 36 , 71 ] \left\lbrack {2,{36},{71}}\right\rbrack [2,36,71] ,典型方法包括贝叶斯方法 [32] 和集成方法 [51],但由于LLM的独特特性,如输出的空间大和语义相似,这些方法不适用于LLM推理 [36, 37]。LLM的不确定性量化可以分为两类:透明盒和不透明盒方法。透明盒方法利用来自模型内部的附加信息,如logits [68, 92]、内部状态 [7, 59, 79] 或语义 [50] 来量化不确定性。然而,这些方法需要访问内部信息,并且通常需要额外的监督训练 [37]。不透明盒方法,如语言信心方法 [ 61 , 67 ] \left\lbrack {{61},{67}}\right\rbrack [61,67] 能够以自然语言输出不确定性,但需要额外的校准程序 [ 67 , 101 ] \left\lbrack {{67},{101}}\right\rbrack [67,101] ,而一致性方法 [ 66 , 87 , 97 ] \left\lbrack {{66},{87},{97}}\right\rbrack [66,87,97] 是有效的,但计算开销显著。尽管这些方法有所进展,但没有提供正确性保证。另一方面,符合预测 [ 4 , 72 , 85 , 93 ] \left\lbrack {4,{72},{85},{93}}\right\rbrack [4,72,85,93] 提供了统计覆盖保证,同时仅需最少假设,吸引了对各种任务的研究兴趣,如分类 [81]、机器翻译 [38] 和开放领域问答 [5] 等。符合预测尤其吸引人,因为它只需要相对较小的校准集 [4],使其既高效又灵活。
5.2 文本到SQL
文本到SQL的研究已有数十年 [47, 48]。传统方法主要依赖解析树和人工制作的规则 [83],这仅支持自然语言的子集 [ 73 , 98 , 110 ] \left\lbrack {{73},{98},{110}}\right\rbrack [73,98,110] 或需要用户交互 [54],从而限制了其应用。随着深度学习的进步 [47],一条主要的研究路线利用预训练语言模型(PLM),如BERT [25, 105]、Grappa [107]、T5 [77],将问题视为序列到序列学习任务 [88],使用编码器-解码器架构 [26, 91]。为了强制执行SQL的语法规则,大部分工作并不是直接生成SQL令牌 [ 26 , 62 , 84 , 102 , 115 ] \left\lbrack {{26},{62},{84},{102},{115}}\right\rbrack [26,62,84,102,115] ,而是利用基于语法 [ 12 , 16 , 27 , 33 , 41 , 82 , 95 , 108 ] \left\lbrack {{12},{16},{27},{33},{41},{82},{95},{108}}\right\rbrack [12,16,27,33,41,82,95,108] 或基于草图的方法 [ 22 , 31 , 52 , 55 , 65 , 103 , 106 ] \left\lbrack {{22},{31},{52},{55},{65},{103},{106}}\right\rbrack [22,31,52,55,65,103,106] 作为解码器。然而,这些方法需要广泛的训练语料库,且模型能力可能受其大小和架构限制。
基于LLM的方法由于LLM的成功 [20, 104] 近期引起了广泛关注。这些研究主要集中在上下文学习设置 [13],利用LLM与提示工程技术 [ 34 , 58 , 64 , 89 ] \left\lbrack {{34},{58},{64},{89}}\right\rbrack [34,58,64,89] 。虽然在零-shot设置中有对提示设计的探索 [17],但大多数作品集中在few-shot方法 [34]上,在这种方法中,仅提供有限数量的示例。这些上下文学习方法从一个或多个方面解决文本到SQL的问题,包括问题分解 [ 6 , 29 , 34 , 69 , 75 , 80 , 89 , 100 ] \lbrack 6,{29},{34},{69},{75},{80},{89},100] [6,29,34,69,75,80,89,100] 、演示选择 [18, 34, 39, 40, 69, 80]、提示设计 [ 6 , 34 , 40 , 42 , 45 , 89 , 112 ] \left\lbrack {6,{34},{40},{42},{45},{89},{112}}\right\rbrack [6,34,40,42,45,89,112] ,和其他程序如排序 [29, 111, 114]、自我纠正 [75]、多数投票 [69],或利用执行结果 [ 21 , 39 , 40 , 42 , 70 , 86 ] \left\lbrack {{21},{39},{40},{42},{70},{86}}\right\rbrack [21,39,40,42,70,86] 。例如,DIN-SQL [75] 提出将问题分解为若干子任务,包括模式链接、查询分类与分解、SQL生成和自我纠正,而PURPLE [80] 提出专注于演示选择的四个模块,包括模式修剪、骨架预测、演示选择和数据库适应。此外,其他工作探讨在LLM上应用监督微调技术,实现了显著的生成加速 [49] 和质量提升 [34, 56]。
5.3 模式链接
模式链接 [ 48 , 53 ] \left\lbrack {{48},{53}}\right\rbrack [48,53] 在提高SQL生成性能 [ 33 , 41 , 95 ] \left\lbrack {{33},{41},{95}}\right\rbrack [33,41,95] 和领域泛化 [ 53 , 94 ] \left\lbrack {{53},{94}}\right\rbrack [53,94] 中得到了广泛应用。早期工作利用简单的启发式方法,如字符串匹配,从自然语言中识别列/表 [ 14 , 41 , 106 ] \left\lbrack {{14},{41},{106}}\right\rbrack [14,41,106] ,主要作为预处理步骤,这可能导致链接不准确 [28]。为了提高性能,引入了学习方法,将模式链接视为一个单独的问题 [ 19 , 28 , 65 ] \left\lbrack {{19},{28},{65}}\right\rbrack [19,28,65] ,或作为网络中的一个组件,利用冷注意力 [113] 和图编码技术 [ 11 , 12 , 15 , 16 , 16 , 43 , 57 , 95 , 96 ] \left\lbrack {{11},{12},{15},{16},{16},{43},{57},{95},{96}}\right\rbrack [11,12,15,16,16,43,57,95,96] 。在基于LLM的文本到SQL最近的努力中,也将模式链接作为一个组件,以仅包含相关的数据库元素 [75],或基于模式排序 [80] 修剪不相关的元素以提高性能。
表9:根据专业水平和查询难度回答RTS生成问题的性能
参与者组 | 表准确率(%) | 列准确率(%) | ||||
简单 | 适中 | 挑战 | 简单 | 适中 | 挑战 | |
初学者 | 100 | 96 | 93 | 100 | 92 | 89 |
专家 | 100 | 100 | 99 | 100 | 97 | 94 |
6 结论
在本文中,我们提出了可靠的文本到SQL(RTS)框架,专注于模式链接阶段,并自主检测潜在错误。我们提出了分支点预测器(BPP),利用符合预测技术在LLM的隐藏层上进行模式链接,具有概率保证。通过在常用基准上的广泛实验,我们验证了所提出框架的有效性,强调了将LLM与人类反馈结合用于稳健和可靠应用的潜力。