【综述】NL2SQL (一) 简介及数据集

目录

简介

1. WikiSQL

2. Spider

3. WikiTableQuestions

4. ATIS

5. 首届中文NL2SQL挑战赛数据集

下载地址


简介

NL2SQL(Natural Language to SQL)是一项将用户的自然语句转为可执行 SQL 语句的技术,对改善用户与数据库之间的交互方式有很大意义。NL2SQL 的本质,是将用户的自然语言语句转化为计算机可以理解并执行的规范语义表示 (formal meaning representation),是语义分析 (Semantic Parsing) 领域的一个子任务。

NL2SQL的历史悠久,早在1973年,Woods等人就开发了一个名为LUNAR的系统,可以回答关于从月球带回的岩石样本的问题。到了1978年,Hendrix设计了一个连接美国海军舰艇信息数据库的自然语言接口,名为LIFER/LADDER。这些系统仅仅支持特定数据库的单表操作,受限于当时的技术发展,NL2SQL并没有受到太多的关注。直到2015年AI的复苏和NLP的发展,它渐渐回到人们的视线。

目前比较火的英文数据集有WikiSQL、Spider、WikiTableQuestions、ATIS等,中文数据集有刚刚结束的中文首届NL2SQL挑战赛公开的数据,各个数据集都有各自的特点,下面简单介绍下这几个数据集。

 

1. WikiSQL

WikiSQL数据集是Salesforce在2017年提出的大型标注NL2SQL数据集,也是目前规模最大的NL2SQL数据集。它包含了 24,241张表,80,645条自然语言问句及相应的SQL语句。目前学术界的预测准确率可达91.8%。样例如下图。

WikiSQL的问题长度8~15个词居多,查询长度8~11个词居多,表的列数5~7个居多,另外,大多数问题是what类型,其次是which、name、how many、who等类型。

 

2. Spider

Spider数据集是耶鲁大学于2018年新提出的一个较大规模的NL2SQL数据集。该数据集包含了10,181条自然语言问句,分布在200个独立数据库中的5,693条SQL,内容覆盖了138个不同的领域。虽然在数据数量上不如WikiSQL,但Spider引入了更多的SQL用法,例如Group By、Order By、Having等高阶操作,甚至需要Join不同表,更贴近真实场景,所以难度也更大。目前准确率最高只有54.7%。样例数据如下:

 

3. WikiTableQuestions

该数据集是斯坦福大学于2015年提出的一个针对维基百科中那些半结构化表格问答的数据集,内部包含22,033条真实问句以及2,108张表格。由于数据的来源是维基百科,因此表格中的数据是真实且没有经过归一化的,一个cell内可能包含多个实体或含义,比如「Beijing, China」或「200 km」;同时,为了很好地泛化到其它领域的数据,该数据集测试集中的表格主题和实体之间的关系都是在训练集中没有见到过的。样例数据如下:

 

4. ATIS

ATIS(The Air Travel Information System)是一个年代较为久远的经典数据集,由德克萨斯仪器公司在1990年提出。该数据集获取自关系型数据库Official Airline Guide (OAG, 1990),包含27张表以及不到2,000次的问询,每次问询平均7轮,93%的情况下需要联合3张以上的表才能得到答案,问询的内容涵盖了航班、费用、城市、地面服务等信息。

 

5. 首届中文NL2SQL挑战赛数据集

该数据集由追一科技在2019年举办的首届中文NL2SQL挑战赛中提出,使用金融以及通用领域的表格数据作为数据源,提供在此基础上标注的自然语言与SQL语句的匹配对,包括4万条有标签数据作为训练集,1万条无标签数据作为测试集。其中,5千条测试集数据作为初赛测试集,对选手可见;5千条作为复赛测试集,对选手不可见。样本格式如下:

表格信息如下:

 

下载地址

WikiSQL:https://github.com/salesforce/WikiSQL

Spider:https://yale-lily.github.io/spider

ATIS:https://www.kaggle.com/siddhadev/ms-cntk-atis

WikiTableQuestions:https://github.com/ppasupat/WikiTableQuestions

中文数据集:https://tianchi.aliyun.com/competition/entrance/231716/information

 

  • 10
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
首届中文nl2sql挑战赛数据集是为了促进自然语言到结构化查询语言(nl2sql)的转换研究而创建的。该数据集包含了一系列自然语言问题和相应的数据库查询语句,用于评估机器学习模型在转换自然语言到SQL的任务上的性能。 这个数据集中的问题和查询语句是针对中文数据库设计的,涵盖了各种领域和主题。它包括了不同级别的复杂性和难度等级,从简单的基本问题到更复杂的关联和嵌套查询等。 该数据集旨在帮助研究人员和开发者评估和提升自然语言处理技术在数据库查询方面的表现。通过使用该数据集进行训练和测试,参与者可以设计和改进模型,以便能够更准确地将自然语言问题转换为SQL查询语句。 挑战赛的目标是通过机器学习技术自动化地解决自然语言到SQL的转换任务,以提升数据库查询的效率和准确性。参与者需要使用给定的数据集,建立有效的模型,并根据测试集的评估结果进行排名。 这个数据集不仅有助于研究人员深入了解自然语言处理领域中的语义解析和查询生成,同时也为工程师和开发者提供了一个基准,以帮助他们开发更强大和智能的数据库查询工具。 通过该数据集的研究和挑战,我们可以更好地理解自然语言处理和数据库查询之间的联系,并为将来解决更复杂的自然语言到SQL转换问题提供借鉴和启示。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值