论文导读 | 以关系感知的方法对数据库模式编码和链接的text-to-SQL模型

图片

北京大学 常辰

 

编者按

原文《RAT-SQL: Relation-Aware Schema Encoding and Linking for Text-to-SQL Parsers》这篇文章发表于ACL 2020,文中所介绍的模型RAT-SQL使用Transformer同时对文本和数据库的schema进行编码,同时修改了自注意力的计算公式,使其能够捕捉到schema与文本之间的关联。

图片

 

论文地址:

https://www.aclweb.org/anthology/2020.acl-main.677.pdf

 

1、背景介绍

 

 

在Text-to-SQL的任务中,模型需要将自然语言的问句转换为相应的SQL语句,除此之外,每一个实例都会对应一个数据库(其schema和数据都会给出),每一个数据库可能会包含多个表,因此模型如何利用schema的信息是非常关键的。具体来说,处理schema有两大难点:

1)Schema的编码

2)Schema与自然语言问句的关联

如下图所示,由于schema是结构化的数据,难以和自然语言用同样的编码方式;此外,问句中的单词与数据库中表或者列的对应关系也是未知的,而在生成SQL时很显然需要利用这一关联。这篇文章中给出的模型RAT-SQL是针对这两个难点设计的,相比过去的模型也有较为显著的提升。

图片

 

2、模型介绍

 

 

 

2.1 Relation-aware自注意力

如下图所示,在计算attention score和对value进行加权求和时,加入代表了xi和xj关系的表示rij。

图片

假设一共有R种不同的关系,rij可以定义为R个特征向量的拼接,对于每一种关系,如果xi和xj有这一关系,就将对应的特征向量作为参数进行学习,否则就置为零向量。

图片

2.2 关系定义

文章中所使用的到的关系主要分为:schema内部的关系以及schema与自然语言问句中的词的关系。下图是schema内部的所有关系,这些关系的定义十分直观,不同表之间的关系主要是通过外键来建立。

图片

而对于schema与问句中词的关系,文中用到了两种方法来确定。一种是通过名字匹配(name-based),用问句中的n-gram词组与列名/表名进行匹配,分为完全匹配、部分匹配、不匹配三种关系。另一种是通过数值匹配(value-based),如果某一个词在某一列的数据中出现了,那么这个词与这一列记为COLUMN-VALUE这一关系,这一匹配的好处在于可以找到一部分隐含的关系。

2.3 encoder

先通过多个双向LSTM或者BERT得到问句中的词q,表名t,列名c的初始表示,并将所有的表示作为输入X,之后通过若干个有Relation-aware自注意力的Transformer层,得到encoder的输出。

图片

2.4 decoder

图片

RAT-SQL将SQL的生成转换为一个action的序列,并用LSTM以深度优先生成SQL语句的语法树。其中action分为三类:APPLYRULE,SELECTCOLUMN,SELECTTABLE。APPLYRULE是利用上下文无关语法(CFG)展开一个非终结节点,SELECTCOLUMN与SELECTTABLE则是在所有列/表上计算一个概率分布,并利用到了问句与schema的对齐矩阵Lcol,其计算方法与Relation-aware自注意力类似,用到了encoder最后一层的输出。

图片

 

3、实验结果与分析

图片

作者主要在Spider上做了实验,可以看到相比当时的SOTA有显著的提升(左图),在消融实验中(右图)也证明了数值匹配十分有效。对于生成错误SQL语句的主要原因,文章做了一个简单的分析,有18%的错误只是等价的表述,如ORDER BY C LIMIT 1 和 SELECT MIN(C);39%的错误是因为错误/缺失/多余的列;29%的错误是因为WHERE语句不完整,如 问句中出现older than 21,隐含了T.age > 21的条件,但在实际生成中未出现。

通过分析对齐矩阵的热力图中table:car_makers这一列,可以看出虽然问句中出现了cars,但模型成功排除了car_makers这个表格。

图片

此外作者在WikiSQL上简单做了一个实验来验证RAT-SQL的泛用性,下图显示了实验的结果,虽然未达到SOTA模型的准确率,但仍然是一个有竞争力的结果。

图片

 

 

图片相 / 关 / 链 / 接

论文导读 | 使用有偏随机游走进行带约束的局部图聚类

论文导读 | 滑动窗口模型下含重复边的图流上的三角形近似计数算法

论文导读 | 加速GPU上的三角形计数算法

论文导读 | 基于GPU的个性化PageRank实时计算

论文导读 | 基于顺序邻接表扫描的事务型图存储系统

图谱动态|学苑周刊 NO.40

图谱动态|学苑周刊 NO.39

gStore官网全新改版上线

图片

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值