Text-to-SQL

Text-to-SQL

1 Single table(WikiSQL)

1.1 Encode

1.1.1 NL和DB的交互(对齐)
  1. 预训练的方法

    • STRUG:https://blog.csdn.net/qq_42341984/article/details/115615653

    • TaBert:学习自然语言描述和数据库的(半)结构化信息的联合表示 https://www.sohu.com/a/413894298_657157

    • GRAPPA:ICLR 2021

      image-20210415154441750

      在文本数据和表数据的联合表示中学习组合归纳偏见。

      数据扩增:通过同步上下文无关语法(SCFG)在高质量的表上构造合成的Question-SQL对。

      预训练:在合成数据上对模型进行预训练,将语义分析中常见的重要结构特性注入预训练的语言模型中。

      • 两个预训练目标:

        1. 掩模语言建模(MLM): conduct masking for both natural language sentence and table headers

        2. SQL语义预测(SSP):添加一个辅助任务来训练列表示。即给定一个自然语言语句和表头,预测SQL查询中是否出现一列,以及触发什么操作。然后将所有SQL序列标签转换为每个列的操作分类标签。例如,在图1中,列位置的操作分类标签是SELECT和GROUP BY HAVING。对于出现在嵌套查询中的列,我们在每个操作之前附加相应的嵌套关键字。例如,因为列nation在INTERSECT嵌套子查询中,所以它的标签是INTERSECT SELECT和INTERSECT GROUP BY。对于每个额外的表名,我们只预测它是否被选中,以便在FROM子句中构造可能的连接。在我们的实验中,总共有254个可供操作的类。

  2. 模糊匹配的方法

    代表工作:BRIDGE

    https://blog.csdn.net/qq_42341984/article/details/113059271

  3. Schema Linking

    代表工作:RATSQL

    https://zhuanlan.zhihu.com/p/143400912

    img
1.1.2 增强Schema表示
  1. 图神经网络的方法

    image-20210415144319944
  2. 利用 bert 风格的预训练模型(MT-DNN)的上下文输出来增强结构模式表示(schema representation),并结合类型信息(type information) 来学习用于下游任务的新模式表示。

1.2 Decode

1.2.1 generation-based(🙅‍ordering issue 顺序问题)

代表工作:BRIDGE pointer-generator network

https://blog.csdn.net/qq_42341984/article/details/113059271

1.2.2 sketch-based

设计了一种满足SQL语法的框架, 在这样的语法框架内,只需要预测并填充相应的槽位。 语法框架为:

SELECT $AGG $COLUMN
WHERE $COLUMN $OP $VALUE
(AND $COLUMN $OP $VALUE)*

代表工作:

  • X-SQL

    https://blog.csdn.net/qq_42341984/article/details/113705355

  • SQLova

1.2.3 grammar-based
  1. AST

    image-20210415144700444
  2. 预训练解码器

    代表工作:Context-free Grammar Pre-training(GP)

    https://blog.csdn.net/qq_42341984/article/details/114578466

其他方法:

  • Information Extraction Approach

    信息抽取的方法: 采用统一的基于BERT的抽取模型来识别query提及的槽位类型,包括序列标注方法、关系抽取和基于文本匹配的链接方法。

  • Model Interactive

    阅读理解的方法: 与传统槽位填充方法不同的是,该方法将NL2SQL转化为QA问题,通过统一的MRC框架来预测不同的槽位。

  • MRC Approach

    基于用户交互的语义解析,更偏向于落地实践。在生成sql后,通过自然语句生成来进一步要求用户进行意图澄清,从而对sql进行修正。

2 Multi table(Spider)

同上
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值