
摘要
大多数现有的文本到SQL任务研究并不需要生成包含多个子句或子查询的复杂SQL查询,也不需要泛化到新的、未见过的数据库。本文提出了一种名为SyntaxSQLNet的语法树网络,以解决复杂的跨域文本到SQL生成任务。SyntaxSQLNet采用了一个特定于SQL的基于语法树的解码器,并结合了带有SQL生成路径历史记录和表感知列注意力编码器的技术。我们在Spider文本到SQL任务上对SyntaxSQLNet进行了评估,该任务包含具有多个表的数据库以及包含多个SQL子句和嵌套查询的复杂SQL查询。我们使用了一种数据库分割设置,在这种设置下,测试集中的数据库在训练过程中未曾出现。实验结果表明,与先前的工作相比,SyntaxSQLNet能够处理显著更多的复杂SQL示例,在精确匹配准确率方面比之前的最先进模型提高了7.3%。此外,我们还展示了通过使用跨域增强方法,SyntaxSQLNet可以进一步提高性能7.5%,总体提升达到14.8%。据我们所知,这是首次对这一复杂的跨域文本到SQL任务进行研究。
代码仓库
heyanger/sqltools
GitHub 中提及
taoyds/syntaxsql
官方
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| text-to-sql-on-sparc | SyntaxSQL-con | interaction match accuracy: 5.2 question match accuracy: 20.2 |