Text2SQL学习整理(一) 综述

39 篇文章 4 订阅
15 篇文章 12 订阅

数据库由一张或多张表格构成,表格之间的关系通过共同的列(外键)关联,人们使用数据库来方便的记录和存储信息。SQL是广泛应用的关系型数据库查询语言,但是对于普通用户而言,编写SQL语句有一定的难度。

Text2SQL是近年来NLP领域一个比较热门的研究方向,该任务历史悠久,应用和落地性很强。该任务是在已知数据库的表名、列名其从属关系(这些统称为数据库的Schema)的前提下,将人类的自然语言问句(Question)转化为对应的数据库查询SQL语句。

如下图所示,模型接收一个Question问句和一个数据库作为输入,然后将其转化为可执行的结构化查询语句(即SQL语句)进行查询,最终返回结果给用户。

image.png

早期的Text2SQL数据集诸如ATIS(Airline Travel Information Systems,航空订票系统)、GeoQuery(地理查询系统)等都是限定于某个特定领域的数据库,仅能解决特定领域的问题,泛化性能较差。而现实世界中,关系型数据库已经广泛应用于社会的各行各业。为此,越来越多的多数据库、跨表查询的Text2SQL数据集被提出,比较知名的数据集有WikiSQL、Spider、SParC和CoSQL。这些数据集的提出极大地促进了该领域的发展,目前的SOTA模型也已经实现了非常好的表现。

这几个数据集的特性如下:

数据集提出时间、会议特点
WikiSQLarXiv,2017多数据库、多表、单轮、简单语句
SpiderEMNLP,2018多数据库、多表、单轮、复杂语句
SparCACL,2019多数据库、多表、多轮、复杂语句
CoSQLEMNLP,2019多数据库、多表、多轮、对话形式、复杂语句

从上表可以看出,所提出的数据集越来越复杂,难度越来越大,同时也越来越接近于现实世界中的真实数据库。

以下为Spider论文中的一个示例:

image.png

可以看出,对于Hard和Very Hard难度的SQL语句,里面存在着许许多多的多表链接、子句嵌入等SQL高级形式,即使是一位经验丰富的数据库工程师也无法很快写出这样的语句。因而,Text2SQL任务不仅可以帮助非专业用户进行查询,而且可以协助数据库工程师来减轻他们的工作量。

本系列博客将沿着近年来对这几个知名数据集上的研究论文来进行阅读总结,并从中归纳该领域的研究脉络。下一篇博客将开始从WikiSQL数据集入手,介绍在该数据集上当前的研究进展。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值