论文阅读:Interleaving Pre( 四 )


?
因此 , 的设计是生成SQL查询质量的关键 。现有方法仅使用任务描述(例如 “ the userinto an SQL query. ”)作为 。或在添加一些手动注释的示例对(、SQL) 。
最近的研究表明 , LM 可以从给定上下文中的几个例子中学习(即上下文学习) 。这些工作表明 , 上下文学习可以有效地使 LM 执行一系列复杂的任务 。因此 , 考虑到任务的复杂性 , 可以采用上下文学习来指导LM更好地生成SQL查询 。
3、ANOF
我们引入了一个框架  , 它交错可调 PLM 和固定 LLM 以实现零样本生成 。如图6所示 , 主要由以下两个关键步骤组成 。
? 图 6
概述 。给定用户问题 Q 和数据库模式  , (1) SQL 草图生成模块生成 SQL 草图候选列表 , (2) SQL 查询完成模块完成 SQL 查询并选择最佳 SQL 查询作为最终查询结果 。
(1)由 PLM 生成 SQL 草图 。给定用户问题 Q和数据库模式  , SQL生成模块会生成 SQL 草图候选列表= (, FROM, ) 并将其传递给固定的 LLM 。
(2)由 LLM 完成 SQL 查询 。给定一组 SQL候选  , 由 LLM 提供支持的 SQL 查询完成模块会完成详细信息 , 并选择最佳 SQL 查询作为最终输出 。
示例 1 。图 5 说明了我们的想法 , 它通过两个连续步骤处理。
步骤1:首先使用PLM生成SQL 并执行数据库模式对齐的子任务 , 即完成和FROM子句 。
步骤2:然后使用LLM来填补缺失的信息 , 因为LLM擅长复杂的自然语言推理 。最后 , 它通过与数据库中的数据值对齐来校准谓词 , 例如从“”到“timmy” 。
为了支持上述框架 , 我们开发了两个关键模块 , 即 SQL和 SQL Query  , 以有效地统一可调 PLM(例如 T5、Bart)和固定 LLM(例如 )的优势 。 , 现将其介绍如下 。SQL 草图生成 。给定用户问题 Q和数据库模式  , 该模块会生成 SQL候选的排名列表 。SQL 草图生成的一个简单实现是将其建模为序列到序列生成问题 , 并使用基于编码器-解码器的 PLM 来生成 SQL 草图 , 即
?
其中
是 PLM 的编码器 , 用于将输入
转换为高维隐藏向量 x , 而
是 PLM 的解码器 , 用于基于 x通过beam算法生成 SQLt。然而 , 训练这样的 SQL生成模块以在测试数据与训练数据不同的零样本设置中提供准确的 SQL并非易事 。为此 , 我们首先使用配备数据库感知序列化策略的 SQL学习框架 , 使模型能够在不同的测试环境中生成有效的 SQL列表 。然后 , 我们引入一个问题感知对齐器 , 根据用户问题的细粒度语义进一步对 SQL 草图进行排名 。SQL生成的更多细节将在第 4 节中讨论 。
SQL 查询完成 。给定 SQL 草图的排名列表 , 该模块利用 LLM 完成 SQL 查询并选择最佳 SQL 查询作为最终输出 。该模块主要面临两个挑战:(1)如何实现数据库实例对齐 , (2)如何选择最优的SQL查询 。
为了解决第一个挑战 , 我们设计了一种谓词校准方法 , 为法学硕士提供适当的谓词建议 , 这些建议既符合原始 SQL 查询 , 又基于数据库 。具体来说 , 该模块将LLM预测的谓词作为输入 , 表示为
。我们从
开始 , 逐步将
的匹配范围扩大到整个数据库 , 以获得最佳谓词
 , 然后反馈给LLM重写SQL查询 。此外 , 我们还根据值的类型(例如缩写或同义词)探索不同的相似度计算方法 。