首页 > 数据库 >【Text2SQL 论文】SQLova:首次将 PLM 应用到 NL2SQL 中

【Text2SQL 论文】SQLova:首次将 PLM 应用到 NL2SQL 中

时间:2024-05-24 22:24:58浏览次数:20  
标签:BERT layer encoding SQLova NL2SQL SQL table PLM LSTM

论文:A Comprehensive Exploration on WikiSQL with Table-Aware Word Contextualization

⭐⭐⭐⭐

KR2ML Workshop at NeurIPS 2019, arXiv:1902.01069

Code: SQLova | GitHub

参考文章:将预训练语言模型引入WikiSQL任务 | CSDN

一、论文速度

这篇论文对 SQLNet 进行改进,首次尝试引入 PLM 来获得 context embedding。在实现思路上与 SQLNet 类似,也是先预先构建一个 SQL sketch,然后再填充 slots。

本文提出的模型 SQLova 分为两个 layers:encoding layer 和 NL2SQL layer:

  • encoding layer:使用 BERT 来获得 table-aware 和 context-aware 的 question word representation
  • NL2SQL layer:使用上一层获得的 encoded representation 来生成 SQL query

在 NL2SQL layer 中,思路与 SQLNet 类似,使用了多个 model 来填充 SQL sketch 中的不同 slots 从而生成 SQL。

二、SQLova

分别介绍 SQLova 的两个 layers。

2.1 encoding layer

WikiSQL dataset 的输入是 question 和 table headers,输出是生成的 SQL query 和相应的执行结果,如下图所示:

20240524102543

我们需要将 question 和 table headers 使用 [SEP] 分隔符连接起来,开头再加一个 [CLS],然后输入给 BERT,BERT 的最后两层输出被拼接起来作为 encoded representation。如下图所示:

20240524103014

这样,通过 encoding layer,我们借助 BERT 对 question 和 table headers 进行编码,得到了一个 table-aware representation

2.2 NL2SQL layer

对于上一层得到的 table-aware representation,还需要使用 LSTM 做进一步的上下文编码,这里使用的是 100 维的两层 BiLSTM:一个 question encoder LSTM-q,一个 header encoder LSTM-h

  • E n E_n En​ 表示 question 的第 n 个 token 经过 LSTM-q 后的 encoding vector
  • D c D_c Dc​ 表示 header c 的经过 LSTM-h 的 encoding vector

之后,我们就使用这两个 encoding 来交给不同的 model 预测 slots,如下图所示(从上往下看,BERT 的输出经过 LSTM 再去预测 slots):

20240524104715

NL2SQL layer 的 6 个 sub-module 不共享参数。这里还用到了 SQLNet 提出的一个关键技术 Column Attention 机制。

2.3 Execution-guided decoding

SQLOVA 使用了 Execution-guided decoding 技术,以减少不可执行的 query 语句。

所谓 Execution-guided decoding 就是在输出返回结果时对检查生成的 SQL 序列是否是一条语法正确的 SQL 语句,使模型最终输出的 SQL 语句一定是可以无语法错误执行的。它是通过将候选列表中的 SQL 查询按顺序提供给执行器来执行的,并丢弃那些执行失败或返回空结果的查询。该技术可以参考论文 Robust Text-to-SQL Generation with Execution-Guided Decoding.

三、实验

文章还给出了 human 的 performance,从结果来看,SQLova 已超过了人类表现。

同时,文章还进行了充分的消融实验以检验各个模块的有效性。可以看出,预训练模型 BERT 的引入对结果有很大提升。即使用词语的上下文对 logical form 的 acc 有很大贡献。

标签:BERT,layer,encoding,SQLova,NL2SQL,SQL,table,PLM,LSTM
From: https://blog.csdn.net/qq_45668004/article/details/139169278

相关文章

  • Agile PLM数据库表结构(Oracle)
    刚进公司,任务是接管PLM系统,但是还在给外包团队开发,没有代码。无妨先看业务和数据库,ok,业务看不懂,只能先看数据库,数据库没有数据字典,这个系统没有任何文档产出......练手时发现数据库类型是Oracle,面对百度不成问题,数据字典只能看前端然后去数据库里面一个个找着对应自己整理了,纯折磨......
  • 产品生命周期管理系统(PLM)
    产品生命周期管理系统(ProductLifecycleManagementSystem,简称PLM系统):一、定义产品生命周期管理系统是一种全面管理产品从概念到退役的整个生命周期的方法和框架。它涵盖了产品的设计、开发、制造、销售、服务和废弃等各个阶段,并通过系统化的流程和信息管理来提升企业的竞争力......
  • 【PLM踩坑记】新建SpringBoot项目,无法使用Java8
    概述今天开始学SpringBoot,需要使用IDEA新建SpringBoot项目。公司使用的Java版本为jdk1.8,这里我选择了这个版本的jdk之后,下面的Java选项不提供Java8。解决方法如下:首先将jdk版本选择为较新的jdk22,然后下面的Java版本随便选择一个。在正式进入项目之后,修改IDEA中的项目设置。点......
  • NL2SQL技术方案系列(1):NL2API、NL2SQL技术路径选择;LLM选型与Prompt工程技巧,揭秘项目落
    NL2SQL技术方案系列(1):NL2API、NL2SQL技术路径选择;LLM选型与Prompt工程技巧,揭秘项目落地优化之道NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(SpidervsBIRD)全面对比优劣分析[Text2SQL、Text2DSL]NL2SQL基础系列(2):主流大模型与微调方法精选集,Text2SQL经典算法......
  • NL2SQL实践系列(2):2024最新模型实战效果(Chat2DB-GLM、书生·浦语2、InternLM2-SQL等)
    SQL实践系列(2):更多模型使用以及工业级案例NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(SpidervsBIRD)全面对比优劣分析[Text2SQL、Text2DSL]NL2SQL基础系列(2):主流大模型与微调方法精选集,Text2SQL经典算法技术回顾七年发展脉络梳理NL2SQL进阶系列(1):DB-GPT-H......
  • NL2SQL实践系列(1):深入解析Prompt工程在text2sql中的应用技巧
    NL2SQL实践系列(1):深入解析Prompt工程在text2sql中的应用技巧NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(SpidervsBIRD)全面对比优劣分析[Text2SQL、Text2DSL]NL2SQL基础系列(2):主流大模型与微调方法精选集,Text2SQL经典算法技术回顾七年发展脉络梳理NL2SQL进......
  • NL2SQL进阶系列(5):论文解读业界前沿方案(DIN-SQL、C3-SQL、DAIL-SQL)、新一代数据集BIRD
    NL2SQL进阶系列(5):论文解读业界前沿方案(DIN-SQL、C3-SQL、DAIL-SQL)、新一代数据集BIRD-SQL解读NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(SpidervsBIRD)全面对比优劣分析[Text2SQL、Text2DSL]NL2SQL基础系列(2):主流大模型与微调方法精选集,Text2SQL经典算法技......
  • NL2SQL进阶系列(2):DAIL-SQL、DB-GPT开源应用实践详解Text2SQL
    NL2SQL进阶系列(2):DAIL-SQL、DB-GPT开源应用实践详解[Text2SQL]NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(SpidervsBIRD)全面对比优劣分析[Text2SQL、Text2DSL]NL2SQL基础系列(2):主流大模型与微调方法精选集,Text2SQL经典算法技术回顾七年发展脉络梳理NL2SQL......
  • NL2SQL进阶系列(1):DB-GPT-Hub、SQLcoder、Text2SQL开源应用实践详解
    NL2SQL进阶系列(1):DB-GPT-Hub、SQLcoder、Text2SQL开源应用实践详解NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(SpidervsBIRD)全面对比优劣分析[Text2SQL、Text2DSL]NL2SQL基础系列(2):主流大模型与微调方法精选集,Text2SQL经典算法技术回顾七年发展脉络梳理1.......
  • NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(Spider vs BIRD)全面对比
    NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(SpidervsBIRD)全面对比优劣分析[Text2SQL、Text2DSL]Text-to-SQL(或者Text2SQL),顾名思义就是把文本转化为SQL语言,更学术一点的定义是:把数据库领域下的自然语言(NaturalLanguage,NL)问题,转化为在关系型数据库中可以执行的......