首页 > 数据库 >BIRD:划定text-to-sql的基准

BIRD:划定text-to-sql的基准

时间:2023-08-23 16:59:33浏览次数:44  
标签:语句 知识 text 数据库 sql annotators SQL BIRD

Abstarct

存在的问题:在Text-to-SQL问题中,之前的基准(Spider和WikiSQL)聚焦于数据库中较少的行,学术研究和现实应用的距离较大。

BIRD主要重视dirty content,external knowledge和SQL的效率三方面。
对比了human和ChatGPT生成语句的精度,发现chatgpt和人类仍存在很大的差距。

1.Introduction

Text-to-SQL: NL用于SQL询问

LLM 可以用于数据库的接口吗?No,下面这个图很好的解释了原因
image

  1. 现实生活中数据库容量大以及噪声文本
  2. 需要赋予额外知识和推断能力
  3. 效率低下需要优化

怎么做?
image

提出BIRD(A Big Bench for Large-Scale DataBase)去代表真实世界的情况。采用95个关系型数据库,80个用于训练,15个用于评价。

  1. 列提出列名、列的类型、额外的知识等方面帮助annotators更好理解数据库中的内容。
  2. 训练native speaker提问,数据工程师和学生解答
  3. 提出VES评估生成SQL语句的效率,同时兼顾执行的准确度。

采用了两种方法去评价:fine-tuning with T5和ICL方法(基于LLM)

2 Task Formulation & Annotations2

\(Y = f(Q,D,k|\theta)\)
Q代表问题,Y代表答案,k代表额外的知识提升大模型的理解程度
\(f(.|\theta)\)代表模型(基于\(\theta\)参数)
额外的知识可具有结构,如json/csv files
也可以无结构,如evidence texts
也可以是空的。

3 Dataset Construction

3.1 Dataset Source

69个training,11个development,15个testing
同时划分为37个领域,涵盖健康关照、运动、政治

3.2 Question Annotation

Entrance
  1. ER图和数据库文件去帮助annotators理解数据库
  2. 每位annotators提供3个数据库(不同领域),每个生成10个问题
  3. 专家评价,保留有价值的annotators
Database Description File
  1. Full schema names:表和列的名字难以理解
  2. Value description:主要针对问题和数据库中的value难以匹配的问题。
    比如“POJISTNE”代表insurance payment
External Knowledge

主要针对四个方面

  1. 数值推理知识:比如加、减、乘、取最小值等操作
  2. 领域知识:比如银行的交易需要金融领域的知识,计算投资收入等
  3. 同义词知识:不同的词可能有相同的含义,保证问题可以正确的转化为SQL语句。
  4. 具体值的说明:比如"pos = C"会和center等价

3.3 SQL Annotation

Entrance

选拔经过训练的数据工程师和学生。
被询问10个问题,只有能够回答9个或10个才能进入后续环节

Double-Blind Annotation

image
表现最好的SQL语句进入语料库,并且额外的知识语句也会记录下来

Examination

主要检查两方面。

  1. 生成的SQL语句是可执行的,可以返回数据库中有效的结果
  2. 生成的SQL语句是可以由问题和额外的已给定知识生成

4 Data Statistics

4.1 Overall Statistics

标签:语句,知识,text,数据库,sql,annotators,SQL,BIRD
From: https://www.cnblogs.com/zjz2333/p/17590586.html

相关文章

  • mysql,定位sql的事务
    定位背景:记录java的接口,是否开启事务,分析问题。@Transactional(rollbackFor=Exception.class)--------------------------------------------------------------------------------SHOWFULLPROCESSLIST;SELECT*FROM`business_bed`SHOWGLOBALSTATUSLIKE'Com%';SHO......
  • 基于mysql的异步事件框架的设计&实现
    背景       事件驱动模型编程是程序设计中经常会用到的方法技巧,本质上是为了解耦事件的发布者和订阅者,实现组件之间的松耦合,提高应用程序的扩展性;另外,在一些业务场景中,顺序、阻塞式的执行任务会遇到一些比较耗时的中间步骤,但是往往我们不希望整个流程都停下来等待这些中间......
  • 论文解读(IW-Fit)《Better Fine-Tuning via Instance Weighting for Text Classificatio
    Note:[wechat:Y466551|可加勿骚扰,付费咨询]论文信息论文标题:BetterFine-TuningviaInstanceWeightingforTextClassification论文作者:论文来源:2021ACL论文地址:download 论文代码:download视屏讲解:click1介绍出发点:域适应一类方法是对预先训练好的模型参数进行微......
  • SQL记录
    SQLServer去掉首尾空格代码UPDATE表tableSET属性a=RTRIM(LTRIM(属性a))示例UPDATEBU8MC_MatInfo_LossSETMatId=RTRIM(LTRIM(MatId)),MatName=RTRIM(LTRIM(MatName)),Department=RTRIM(LTRIM(Department)),Station=RTRIM(LTRIM(Station)),StorageType=......
  • 为了女神小芳(sql注入)
    靶机链接:http://pu2lh35s.ia.aqlab.cn/打开链接后是一个猫舍的web 点击“点击查看新闻1”后跳转到新的域名:http://pu2lh35s.ia.aqlab.cn/?id=1 看到域名“http://pu2lh35s.ia.aqlab.cn/?id=1”含有“/?id=1”,猜测存在sql注入漏洞。验证猜测构造“?id=1and1=1”或“?id=1......
  • 【腾讯云 TDSQL-C Serverless 产品体验】 使用 Python 向 TDSQL-C 添加读取数据 实现
    前言TDSQL-CMySQL版(TDSQL-CforMySQL)是腾讯云自研的新一代云原生关系型数据库。融合了传统数据库、云计算与新硬件技术的优势,为用户提供具备高弹性、高性能、海量存储、安全可靠的数据库服务。TDSQL-CMySQL版100%兼容MySQL5.7、8.0。实现超百万级QPS的高吞吐,最高PB级智......
  • 直播网站源码,mysql,mariadb 密码忘记,修改密码
    直播网站源码,mysql,mariadb密码忘记,修改密码两种修改方法: 1、直接在shell命令行使用mysqladm命令修改。 #mysqladmin-uroot-poldpasswordpasswordnewpassword ​这种方法的弊端在于会明文显示密码。2、登陆数据库修改密码。 #mysql-uroot-p  2.1更新......
  • sql server
    sqlserver删除数据后,磁盘空间反而增大?压缩数据库及删除数据库表的方法比较https://www.cnblogs.com/keeplearningandsharing/p/15874092.htmlSQLServer大表如何快速删除数据https://www.codenong.com/cs105781276/......
  • GIS开发与应用(PostgreSQL空间数据库各种查询语句范例以及SQL语句查询空间关系)_postgre
    实验二PG空间数据库应用实验目的:实验准备实验内容及要求实验过程及步骤:1、创建空间数据库nyc,在nyc空间数据库中创建geometries表,对表中插入Point、Linestring、Polygon、PolygonWithHole、collection等几何要素。2、查看geometries表中的几何图形的元数据。使用`ST_G......
  • Placement Rules in SQL 使用案例
    作者:WalterWj使用背景为了减少跨机房流量使用,可以将一些不重要表设置为3副本且固定在主机房。拓扑确定使用非功能测试环境做测试,先确认当前拓扑:默认一共5副本,当前3副本会放在rack1/2/4,2副本放在rack3/5使用方法创建test.pr表Createtablepr(idintprimary......