【Text2SQL 论文】T5-SR:使用 T5 生成中间表示来得到 SQL

论文:T5-SR: A Unified Seq-to-Seq Decoding Strategy for Semantic Parsing

⭐⭐⭐

北大 & 中科大,arXiv:2306.08368

文章目录

    • 一、论文速读
    • 二、中间表示:SSQL
    • 三、Score Re-estimator
    • 四、总结

一、论文速读

本文设计了一个 NL 和 SQL 的中间表示 SSQL,然后使用 seq2seq 模型,输入 NL 和 table schema,输出 SSQL,然后再基于 SSQL 构建出 SQL。

论文提出了使用 seq2seq 来做 Text2SQL 的两个挑战:

  1. seq2seq 能否产生模式上正确的 SQL?论文发现,seq2seq 模型能够产生合法的 SQL skeleton,但细节上的 schematic info prediction 容易出错。因此,本文引入 SSQL 作为 seq2seq 的中间表示,SSQL 目标是保留 NL 的语义信息,但去除掉 user query 没有表达的 database-schema-related 信息。
  2. seq2seq 能否产生语义一致的 SQL?论文指出,由于 seq2seq 的单向解码的机制,产生整个语义一致的 sequences 是难以保证的,QA 场景也许有较大容错性,但这在生成 SQL 上会产生灾难性失败。此外,论文发现 seq2seq 模型在使用 beam search 时是能够预测出正确的 SQL,但可能会给他们较低的 scores。为此,这里引入一个 score re-estimator 来重排所有 candidate predictions

二、中间表示:SSQL

Semantic-SQL(SSQL)的设计目标是去除掉标准 SQL 表达式中不必要的 schema-related 信息。主要基于原来的 SQL 语法做了如下改动:

  • 通过消除掉 JOIN 子句来简化 FROM 语句。SSQL 只预测出需要哪些表,但不需要指明如何 JOIN 起来,后序会使用 Steiner Tree Algorithm 来将使用的 tables JOIN 起来,从而生成 SQL。
  • 将 TABLE 和 COLUMN 结合为一个 string。标准 SQL 是 column 名和 table 名分开的,这里将输入的 schema 中将 TABLE 和 COLUMN 连接在一起,那输出中也就自然在一起了。

下面是一个 SSQL 的示例以及 JOIN 子句的预测:

在这里插入图片描述

三、Score Re-estimator

由于 seq2seq 在使用 beam search 时,可能会给 correct prediction 赋予较低的 scores,因此这里引入额外的 score re-estimator 来重新排序所有的 candidate predictions。score re-estimator 就是根据 candidate SQL 和 NL query 之间的语义一致性来计算一个得分。

score re-estimator 的实现图示如下:

在这里插入图片描述

它通过 [CLS] 得到一个分数,并将其与 seq2seq score 进行加权组合来得到最终的 score:

在这里插入图片描述

seq2seq score 是在生成 token 时,根据 seq2seq 生成 token 的概率值来计算得到的,这个 score 可以看作是生成该序列的 log-likelihood,即模型认为这个序列是正确输出的相对可能性。在 beam-search 策略中,会选择概率最高的序列作为最终生成的序列。

训练 score re-estimator 的方法,就是期待它能给正确的 NL-SQL pair 以更高的概率分,在做监督训练时,论文还采用了一个 trick:使用 soft logits 作为监督信号,原论文解释如下:

这样能更加对 beam search 中排名最高的候选者保持怀疑的态度。

四、总结

本文模型是通过引入中间表示并使用 seq2seq(T5)来解决 Text2SQL 任务,同时论文中也指出了使用 seq2seq 在 Text2SQL 任务下的难点。

该工作还引入了 SSQL 这样的中间表示,它比 SemQL、RAT-SQL IR 等中间表示要简单不少。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/664430.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DVWA靶场搭建:Apache、MySQL、PHP、DVWA

最近为了能够较为真实地学习Web渗透的各种技术,就想着自己搭建一个专门用于学习的Web演练平台--DVWA“靶场”。 DVWA可以进行暴力(破解)、命令行注入、跨站请求伪造、文件包含、文件上传、不安全的验证码、SQL注入、SQL盲注、弱会话ID、XSS漏…

Open3D(C++) OTSU点云二值化

目录 一、算法原理二、代码实现三、结果展示1、原始点云2、二值化本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 最大类间方差法(Between-class scatter method)是一种用于分割的方法,它通过计算图…

3225mm晶振SG3225CAN专用于蓝牙模块应用

在无线通信技术迅猛发展的今天,蓝牙技术因其低功耗、高传输速率和广泛的应用范围,成为物联网和智能设备的重要组成部分。晶振在蓝牙模块中无处不在,大部分的智能手机,打开设置工具里面就会有一个是蓝牙功能,蓝牙技术引…

52-QSplitter类QDockWidget类

一 QSplitter类 Qt提供QSplitter(QSplitter)类来进行分裂布局&#xff0c;QSplitter派生于QFrame。 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>class MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~…

Nginx企业级负载均衡:技术详解系列(15)—— 一篇文章教你如何自定义错误日志

你好&#xff0c;我是赵兴晨&#xff0c;97年文科程序员。 在今天的文章中&#xff0c;我将带你深入了解Nginx的一个强大功能——自定义错误日志。无论是对于运维人员还是开发者&#xff0c;掌握这一技能都是提升工作效率、优化系统监控的关键。主要是能装13。图片 自定义错误…

WEB攻防-JAVAWEB项目常见漏洞

知识点 1.JavaWeb常见安全及代码逻辑 2.目录遍历&身份验证&逻辑&JWT 3.访问控制&安全组件&越权&三方组件 本篇主要了解以上问题在javaweb中的呈现&#xff0c; 第一个重点理解URL与javaweb代码框架的对应方式&#xff0c;java在没有代码的情况下是很难…

Echarts 让柱状图在图表中展示,离开X轴

文章目录 需求分析需求 分析 话不多说,直接源码展示 option = {title: {text: Waterfall Chart,subtext: Li

PDF高效编辑器革新:一键智能转换PDF至HTML,轻松开启文件处理全新时代!

信息爆炸的时代&#xff0c;PDF文件因其跨平台、不易修改的特性&#xff0c;成为了商务、教育、出版等领域不可或缺的文件格式。然而&#xff0c;PDF文件的固定性也带来了诸多不便&#xff0c;特别是在需要对其内容进行编辑或格式转换时。这时&#xff0c;一款高效、易用的PDF编…

旅游行业景点门票预订导游入驻攻略社区分享小程序开发

构建一款全新的旅游服务H5小程序&#xff0c;致力于为旅游行业提供全方位的旅游预订、导游服务、行程核销以及旅行见闻分享功能&#xff0c;为用户提供前所未有的便捷与愉悦体验。 以下是该小程序的核心功能概述&#xff1a; 用户端功能亮点&#xff1a; 账户管理多样化的注…

惠普发布最新财报,对AIPC寄予厚望

KlipC报道&#xff1a;5月29日&#xff0c;惠普发布了第二财季财报&#xff08;截止2024年4月30日&#xff09;&#xff0c;净营收128亿美元&#xff0c;同比下降0.8%&#xff0c;但是高于市场预期的126亿美元&#xff1b;净利润6亿美元同比下降42%。调整后美股净利0.82美元&am…

小白跟做江科大32单片机之按键控制LED

原理部分 1.LED部分使用的是这样的连接方式 2.传感器模块的电路图 滤波电容如果接地&#xff0c;一般用于滤波&#xff0c;在分析电路时就不用考虑。下面这个电路就是看A端和B端哪端的拉力大&#xff0c;就能把电压值对应到相应的电压值 比较器部分 如果A端电压>B端电压&am…

数据挖掘 | 实验三 决策树分类算法

文章目录 一、目的与要求二、实验设备与环境、数据三、实验内容四、实验小结 一、目的与要求 1&#xff09;熟悉决策树的原理&#xff1b; 2&#xff09;熟练使用sklearn库中相关决策树分类算法、预测方法&#xff1b; 3&#xff09;熟悉pydotplus、 GraphViz等库中决策树模型…

Ollama 本地大模型框架

该篇教程主要讲解*Ollama的安装和简单使用* Ollama&#xff1a; 在本地启动并运行大型语言模型。 主要流程目录&#xff1a; 1.安装 2.使用 2.1.下载模型 2.2.简单使用 2.3.中文模型 2.4.中文社区 3.总结 1.安装 创建一个容器 切换”高级视图“ 参考填写 ollama oll…

07.爬虫---使用session发送请求

07.使用session发送请求 1.目标网站2.代码实现 1.目标网站 我们以这个网站作为目标网站 http://www.360doc.com/ 注册用户 注册后从登录界面获取到这些信息 2.代码实现 import requestssession requests.Session() url http://www.360doc.com/ajax/login/login.ashx u…

Thingsboard物联网网关接入ThingsBoard物联网平台的操作说明

本文包含关于如何配置ThingsBoard 平台和连接钡铼技术R40设备的说明。ThingsBoard平台是一个用于数据收集、处理、可视化和设备管理的开源物联网平台。它通过行业标准MQTT协议实现设备连接。ThingsBoard结合了可扩展性、容错性和性能&#xff0c;因此您永远不会丢失数据。 4G L…

Java垃圾回收_1

一、垃圾回收 1.如何判断对象可以回收 &#xff08;1&#xff09;引用计数法 存在循环引用问题&#xff0c; Java未使用这种算法 在引用计数法中&#xff0c;每个对象都有一个引用计数器&#xff0c;记录着指向该对象的引用数量。当引用计数器为零时&#xff0c;表示没有任…

kali自带--DNS路由--信息搜集

目录 DNS信息搜集 whois fierce dnsenum 路由信息搜集 DNS信息搜集 whois whois 域名 --域名注册的时候填的基本信息. fierce 域名的多级域名? 搜索引擎-谷歌搜索 whois 枚举/递归查询 dnsenum dnsenum 域名 -f 文件名 路由信息搜集 icmp经常ping不通--所以kali出了个tcp的…

Maven简介和快速入门

1.1Maven介绍 Maven – Introduction (apache.org) Maven就是一个软件&#xff0c;掌握软件安装、配置、以及基本功能&#xff08;项目构建、依赖管理&#xff09;。 1.2Maven主要作用 1.依赖管理&#xff1a; Maven 可以管理项目的依赖&#xff0c;包括自动下载所需依赖库、…

【vscode免密连接云服务器】

目录&#xff1a; 前言1.1 生成 SSH 密钥对1.2 将公钥复制到远程服务器1.3配置remote ssh 插件信息 总结 前言 剑指offer&#xff1a;一年又120天 1.1 生成 SSH 密钥对 在本地cmd命令窗口执行: ssh-keygen -t rsa会提示你设置生成密钥的文件、密码等等&#xff0c;可以一路回…

数据资产价值如何评估?一文详解如何构建数据资产评估的综合框架

数据资产&#xff0c;如同其构成的数据本身&#xff0c;具备物理、存在和信息三重属性。数据资产的物理属性体现在其对存储空间的占用&#xff1b;其存在属性则体现在数据的可读取性上&#xff0c;若数据无法读取&#xff0c;则其作为资产的价值便无从体现。这两个属性共同构成…