导语
- 会议:ICASSP 2023
- 链接:ieeexplore.ieee.org/stamp/stamp…
1 简介
Text-to-SQL旨在将查询转换为sql以从结构化数据库中提取知识。考虑到SQL表达式的语法要求有限以及数据库表之间复杂的外键关系,以往的方法通常采用抽象语法树(AST)作为解码器输出。虽然这些方法保证了合法的SQL生成,但树状结构的解码范式需要复杂的模型架构和解码控制策略,并且限制了模型的高效并行解码。利用自回归模型进行序列解码可能是解决这些障碍的一种方法,其代表作品之一是Picard。借助预训练的T5模型,Picard在跨域多表text-to-SQL基准测试Spider上实现了最先进的性能。虽然seq2seq方法在预测SQL表达式方面显示出较高的准确性,但是它所生成的SQL是否像基于ast的解码方法那样在图式上正确、语义上连贯仍然是一个问题。
seq2seq模型能生成正确的sql吗?
实验发现,在预训练语言模型的帮助下,seq2seq模型能够生成合法的SQL骨架,而详细的信息预测仍然是seq2seq解析器的一大难点。为了解决这一问题,本文提出了一种新的基于标准SQL语法的seq2seq SQL生成的中间表示SSQL (SemanticSQL)。这种新的中间表示旨在保留自然语言查询的所有语义信息,同时消除用户查询中未表示的与数据库模式相关的信息。此外,还可以通过启发式规则将ssql转换回sql,具有较高的准确性。在提出的SSQL的帮助下,大大减少了由seq2seq解析器引起的模式相关错误,从而显著提高了性能。
seq2seq模型可以生成语义一致性sql吗?
作者观察到seq2seq模型能够使用束搜索预测较低分数的正确sql。在这种现象的启发下,引入了一个判别分数重估计器,从生成器产生的候选预测中重新排序出最好的一个。
实验表明,所提出的方法明显优于基于ast的解码方法和以前的seq2seq文本到SQL解析器,并取得了新的SOTA结果。
2 相关工作
略
3 使用中间表示SSQL进行原理正确的生成
本文提出了语义SQL (SSQL),其设计原则是从标准SQL表达式中消除不必要的模式相关信息。需要说明的是,对普通SQL语法进行了两种类型的修改,它们是:
- 通过消除JOIN子句来简化FROM子句。由于外键关系没有提供给语义解析器,因此它们很难推断JOIN关系。因此,我们只要求解析器预测自然语言查询所提到的表作为输出。将这些预测表作为一个集合,我们构建一个包含所有列作为节点的图,并采用一种启发式方法,使用Steiner Tree算法找到覆盖所有提到的表和列作为JOIN关系的最小子图,其中一个示例如图1所示。
- 将TABLE和COLUMN组合成字符串。标准sql将表和列划分为不同的部分,这要求解析器从顺序输入字符串中了解列令牌和表令牌之间的依赖关系,以便做出正确的预测。此外,列的输入格式也与其对应的表相关联。因此,将TABLE和COLUMN标记连接到字符串中作为输出是很直观的。
SSQL显示了两个优点:
- SSQL可以防止解析模型使用未提供的信息猜测图表信息,从而确保稳定和可靠的预测。
- SSQL比SQL短得多,从而大大减少了生成整个逻辑形式的搜索空间。Seq2seq生成器将自然语言查询x和数据库模式s作为输入,并生成SSQL y作为输出。这些SSQL y被进一步转换成标准SQL z作为模型的预测。
4 带有分数重估计器的语义连贯生成
作者分析了微调后的T5生成的序列,在beam大小为10时,作者发现在预测的beam中存在与自然语言查询相关的正确预测,但没有很好地排序。这些结果验证了生成式seq2seq生成器不擅长生成语义连贯序列的假设。
为此,本文提出了另一种判别分数重估计器,以重新排序出反映自然语言查询的最佳序列。模型结构如下图所示:
分数重估计器将自然语言查询x、预测的SQL z和相关的数据库模式信息s作为输入。该信息被连接并馈送到判别分类器中,该分类器返回估计的预测分数作为输出。分数重估计器以预训练的语言模型为基础,在[CLS]表示的顶部增加一个额外的全连接投影头来进行分数预测。图2展示了分数重新估计器的概述。注意,与SQL无关的表和列会被过滤,因此分数重估器更容易判断输入查询和SQL之间的语义一致性。
最后,seq2seq得分g(z | x;S)和重估计器分数d(z, x;S)与超参数α组合为:
其中α(设置为0.7)在seq2seq生成器和分数重新估计器之间进行权衡。
5 实验
作者进行了广泛的实验对比所提出模型的性能表现:
6 总结
本文提出了seq2seq语义解析的SR解码策略,该策略包括中间表示SSQL和分数重估计器。SSQL通过消除无信息的图式语义和降低解码难度来简化SQL。分数重估计器使用判别结构增强生成式seq2seq解析器,从所有波束中选择最佳候选。T5-SR模型在Spider和Spider-syn上取得了新的最先进的结果。