[论文阅读] SADGA: Structure-Aware Dual Graph Aggregation Network for Text-to-SQL

"SADGA: Structure-Aware Dual Graph Aggregation Network for Text-to-SQL" 是一篇 text2sql 领域的论文,发布于 NeurIPS 2021。

原文链接:https://arxiv.org/abs/2111.00653

项目代码链接:https://github.com/DMIRLAB-Group/SADGA

总体概括文章内容就是 ------ 文章使用图结构作为question和schema之间的统一编码方法,还设计了一种结构感知聚合方法去学习 question-graph 和 schema-graph 之间的映射。

文章提到:已有模型面临泛化弱的问题,导致的原因有以下两点:

  1. Question 和 schema 之间的结构差异
  2. 高度依赖预定义模型可能会导致不合适的链接或者是潜在链接无法识别

为了缓解以上提及到的两个问题,SADGA使用关系节点代替边关系,以及使用统一的图神经网络对 question 和 schema 统一编码,解决结构差异问题;SADGA 使用三种链接机制识别 question 和 schema 之间的链接 ------ global graph linking、local graph linking 和 dual---graph aggregation mechanism

整个模型架构是encoder-decoder

  • encoder包含 SADGA 和 RAT 两个部分,其工作流程为:
    • ① 基于上下文结构和依赖结构构建 question-graph 以及基于数据库特定关系构建 schema-graph
    • ② 使用图神经网络分别对 question-graph 和 schema-graph 进行编码,其中,将边关系使用关系节点表示,降低编码难度
    • ③ structure aware aggregation通过两个阶段的链接来学习跨越对偶图的对齐,并将信息以基于门控的机制进行聚合,以获得对偶图中每个节点的统一表示
    • ④ RAT通过借助14种预定义的关系对问题单词和表/列进行编码来进一步统一SADGA学习到的表示。
  • decoder 与 RATSQL 相同,先将输入转化为 ACTION 序列,使用 LSTM 将 ACTION 序列转化为 AST,再将 AST 转化为 SQL 序列

structure aware dual graph aggregation network 细节👇

  1. global graph linking ------ 查询节点与另一个图的关键节点计算注意力
  2. local graph linking ------ 计算对偶图上每个关键节点的邻居节点的注意力
  3. dual-graph aggregation mechanism ------ 聚合global和 local graph link 的结果,以获得问题图和模式图中节点的统一结构化表示。第一个门控是将全局信息和局部信息进行融合,第二个门控系统是对新学习的学习和原始数据进行融合。

汇总起来就是下图:

相关推荐
码小跳10 分钟前
软件无法连接MySql数据库
数据库·mysql
有Li6 小时前
通过具有一致性嵌入的大语言模型实现端到端乳腺癌放射治疗计划制定|文献速递-最新论文分享
论文阅读·深度学习·分类·医学生
晋阳十二夜6 小时前
【压力测试之_Jmeter链接Oracle数据库链接】
数据库·oracle·压力测试
GDAL7 小时前
Node.js v22.5+ 官方 SQLite 模块全解析:从入门到实战
数据库·sqlite·node.js
DCTANT8 小时前
【原创】国产化适配-全量迁移MySQL数据到OpenGauss数据库
java·数据库·spring boot·mysql·opengauss
张较瘦_9 小时前
[论文阅读] 人工智能 | 深度学习系统崩溃恢复新方案:DaiFu框架的原位修复技术
论文阅读·人工智能·深度学习
AI、少年郎11 小时前
Oracle 进阶语法实战:从多维分析到数据清洗的深度应用(第四课)
数据库·oracle
赤橙红的黄11 小时前
自定义线程池-实现任务0丢失的处理策略
数据库·spring
DataGear11 小时前
如何在DataGear 5.4.1 中快速制作SQL服务端分页的数据表格看板
javascript·数据库·sql·信息可视化·数据分析·echarts·数据可视化
weixin_4383354011 小时前
分布式锁实现方式:基于Redis的分布式锁实现(Spring Boot + Redis)
数据库·redis·分布式