Skip to main content
QUICK REVIEW

[论文解读] Hybrid Ranking Network for Text-to-SQL

Qin Lyu, Kaushik Chakrabarti|arXiv (Cornell University)|Aug 11, 2020
Topic Modeling参考文献 14被引用 50
一句话总结

HydraNet 使用逐列混合排序方法,以 BERT/RoBERTa 作为编码器,支持执行引导解码,在 WikiSQL 上实现了最先进的结果。

ABSTRACT

In this paper, we study how to leverage pre-trained language models in Text-to-SQL. We argue that previous approaches under utilize the base language models by concatenating all columns together with the NL question and feeding them into the base language model in the encoding stage. We propose a neat approach called Hybrid Ranking Network (HydraNet) which breaks down the problem into column-wise ranking and decoding and finally assembles the column-wise outputs into a SQL query by straightforward rules. In this approach, the encoder is given a NL question and one individual column, which perfectly aligns with the original tasks BERT/RoBERTa is trained on, and hence we avoid any ad-hoc pooling or additional encoding layers which are necessary in prior approaches. Experiments on the WikiSQL dataset show that the proposed approach is very effective, achieving the top place on the leaderboard.

研究动机与目标

  • 促进对预训练语言模型在文本转SQL中的更好利用。
  • 提出一种逐列的编码器-解码器架构,使其与基础语言模型的训练目标保持一致。
  • 引入列排序机制及针对 SQL 子句组件的多任务目标。
  • 应用执行引导解码以确保可执行的 SQL 并降低无效预测。
  • 展示在 WikiSQL 上的最先进性能,并分析该方法的各组成部分。

提出的方法

  • 将输入形式化为与单个表列配对的自然语言问题(列-问题对),以与 BERT/RoBERTa 的训练保持一致。
  • 将 SQL 表示为一组全局对象(select_num, where_num)和列相关对象(agg、operator、value spans),并将它们建模为多任务预测。
  • 执行三项列排序任务:SELECT 列排序、WHERE 列排序,以及整体相关性排序(SELECT/WHERE/RELEVANCE)。
  • 对列-问题对进行微调 Transformer 编编码器(BERT/RoBERTa),使用任务特定的分类器和用于数值的 QA 风格起始/结束预测。
  • 通过简单规则结合最高排名的列与预测的运算符/值来组装最终 SQL,并使用一个执行引导解码(EG)循环来在数据库上验证并调整结果。
  • 输入表示使用每列文本: (列类型, 表名, 列名) 的串联,与自然语言问题配对。

实验结果

研究问题

  • RQ1结合预训练语言模型的逐列编码是否能在 WikiSQL 的文本到 SQL 任务中优于全表编码?
  • RQ2与列聚合方法相比,混合排序方法(SELECT/WHERE/RELEVANCE)是否能改善列选择和 SQL 正确性?
  • RQ3执行引导解码是否能通过对运行时数据库结果进行验证来提高鲁棒性和准确性?

主要发现

模型基础模型开发集(lf, ex)测试集(lf, ex)
SQLovaBERT-Large-Uncased81.6, 87.280.7, 86.2
X-SQLMT-DNN83.8, 89.583.3, 88.7
HydraNetBERT-Large-Uncased83.5, 88.983.4, 88.6
HydraNetRoBERTa-Large83.6, 89.183.8, 89.2
SQLova + EGBERT-Large-Uncased84.2, 90.283.6, 89.6
X-SQL + EGMT-DNN86.2, 92.386.0, 91.8
HydraNet + EGBERT-Large-Uncased86.6, 92.286.2, 91.8
HydraNet + EGRoBERTa-Large86.6, 92.486.5, 92.2
  • HydraNet 变体在 WikiSQL 的开发集/测试集上在逻辑形式和执行指标方面均达到最佳性能。
  • 在 RoBERTa-Large 下,HydraNet 在测试集上达到 83.8% 的 LF 准确率和 89.2% 的执行准确率(无 EG),并在 EG 时达到 86.5% 的 LF 和 92.2% 的执行准确率。
  • 结合 RoBERTa-Large 的 HydraNet 加 EG 在所报道的配置中取得最强的测试结果:86.5% 的 LF 和 92.2% 的执行准确率。
  • 与 SQLova 和 X-SQL 基线相比,HydraNet(特别是带 EG 时)在 WikiSQL 上稳定提升了 LF 和执行指标。
  • 列-问题对配对 + 简单解码器和执行引导解码可以达到或超过使用全列输入以及更复杂池化/解码的模型。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。