【论文阅读】Relation-Aware Graph Transformer for SQL-to-Text Generation

这篇具有很好参考价值的文章主要介绍了【论文阅读】Relation-Aware Graph Transformer for SQL-to-Text Generation。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Relation-Aware Graph Transformer for SQL-to-Text Generation

Abstract

SQL2Text 是一项将 SQL 查询映射到相应的自然语言问题的任务。之前的工作将 SQL 表示为稀疏图,并利用 graph-to-sequence 模型来生成问题,其中每个节点只能与 k 跳节点通信。由于无法捕获长期且缺乏特定于 SQL 的关系,这样的模型在适应更复杂的 SQL 查询时将会退化。为了解决这个问题,我们提出了一种 Relation-Aware Graph Transformer(RGT)来同时考虑 SQL 结构和各种关系。具体来说,为每个SQL构建一个抽象的SQL语法树来提供底层关系。我们还定制了自注意力和交叉注意力策略来编码 SQL 树中的关系。基准 WikiSQL 和 Spider 上的实验表明,我们的方法比强基准有所改进。

1. Introduction

SQL-to-Text:

  • SQL(结构化查询语言)是访问数据库的重要工具。然而,SQL对于普通人来说并不容易理解。
  • SQL2Text 旨在将结构化SQL程序转换为自然语言描述。
  • SQL2Text 可以帮助自动生成 SQL 注释,并构建一个交互式问答系统,用于关系数据库的自然语言接口。
  • SQL2Text 对于搜索 Internet 上可用的 SQL 程序很有用。
  • SQL2Text 可以通过使用 SQL-to-Text 作为数据增强来协助 Text-to-SQL 任务。
  • 在现实世界中,SQL2Text 可以帮助人们通过阅读相应的文本来快速理解复杂的SQL。

SQL 是结构化的,可以转换为抽象语法树,如图 1 所示。一般来说,树是一种特殊的图,因此 SQL-to-text 可以建模为 Graph-to-Sequence 任务。

  • xu 等人考虑了 SQL 查询的内在图结构。他们通过将 SQL 中的每个标记表示为图中的节点,并通过 SQL 关键字节点(例如 SELECT、AND)连接不同的单元(例如列名、运算符、值)来构建 SQL 图。
  • 通过图神经网络(GNN)聚合来自 K 跳邻居的信息,每个节点获得其上下文嵌入,该嵌入将在自然语言解码阶段访问。
  • 虽然简单有效,但它有两个主要缺点:
    • 由于构造的 SQL 图的稀疏性,泛化能力较差;
    • 忽略不同节点对之间的关系,特别是列节点之间的相关性。

【论文阅读】Relation-Aware Graph Transformer for SQL-to-Text Generation,论文,代码摘要生成,transformer,sql,数据库,论文阅读

特别是,Xu 等人仅处理简单的 SQL 模式 SELECT AGG COLUMN WHERE COLUMN OP VALUE (AND COLUMN OP VALUE)​。这些模式中只提到了一个列单元和一个表,所有约束都是通过 WHERE 子句中的条件交集来组织的。该模型通过 K 步迭代更新每个节点的上下文嵌入。每个节点在一次迭代中只会与其 1 跳邻居进行通信,因此每个节点在迭代结束时只能 “看到” K 距离内的节点。当我们转移到由多个表、GroupBy/HAVING/OrderBy/LIMIT 子句和嵌套 SQL 组成的更复杂的 SQL 模式时,性能很容易恶化。如图 1 所示的示例,K = 6 的 Graph2Seq 模型可能在简单 SQL(如左图所示)上运行良好,但在依赖距离较长的复杂 SQL(如右图所示)上泛化效果较差。

我们发现,即使两个节点在序列化 SQL 查询和解析的抽象语法树中相距较远,它们也可能具有较高的相关性。例如,同一子句(子句内)中提到的列紧密相关。参见下图中的示例。用户总是不仅需要特定候选人的姓氏,还需要名字。同样,在 WHERE 子句中充当条件之一的列也很有可能在 SELECT 子句(子句间)中被精确请求。以往的工作更多地关注SQL的语法结构,而忽略了语义层面上的这些潜在关系。

【论文阅读】Relation-Aware Graph Transformer for SQL-to-Text Generation,论文,代码摘要生成,transformer,sql,数据库,论文阅读

为此,我们提出了一种 Relation-aware Graph Transformer(RGT)来考虑 sql 查询的抽象语法树和不同节点对之间的相关性。整个节点集分为两部分:中间节点和叶子节点。

  • 叶节点通常是原始表名或列字,加上一些一元修饰符,例如 DISTINCT 和 MAX。通常,这些叶节点传达查询中的重要语义信息。
  • SELECT 和 AND 等中间节点本质上捕获底层 SQL 查询的树结构,并将分散的叶节点连接起来。构建的 SQL 树的示例如图 2 所示。

【论文阅读】Relation-Aware Graph Transformer for SQL-to-Text Generation,论文,代码摘要生成,transformer,sql,数据库,论文阅读

我们在 SQL 树中引入了四种类型的关系,并提出了两种交叉注意力的变体来捕获结构信息。所有关系均由我们提出的 RGT 模型进行编码。

  • 由于SQL查询可能涉及多个表,因此我们首先考虑抽象概念TABLE和COLUMN之间的关系,称为数据库模式(DBS)。给定两个表示 TABLE 或 COLUMN 的节点,它们可能是同一个表中的两列,也可能是通过外键连接的两个表。我们定义了 11 种不同类型的 DBS 来描述这种关系。
  • 此外,节点的深度反映了信息量:更深的节点包含更多语义信息,而较浅的节点包含更多语法信息。我们引入定向相对深度(DRD)来捕获中间节点之间的相对深度。
  • 对于叶节点来说,最重要的关系是从属关系。例如,在图2中,叶子节点month和salary连接到COLUMN节点,而COLUMN和另一个叶子节点val0属于中间节点>。这三个叶节点是高度相关的。
  • 我们使用最低共同祖先(LCA)来衡量两个叶节点的紧密程度。我们可以看到,节点month和val0的LCA就是图2中的节点>。

此外,为了利用 SQL 的树结构,我们使用两种交叉注意力策略,即 attention over ancestors(AOA)和 attention over descendants(AOD)。AOA仅允许叶节点关注其祖先,AOD仅允许中间节点仅关注其后代。

我们使用各种基线模型对基准 WikiSQL 和 Spider 进行了广泛的实验。据我们所知,我们是第一个在涉及多个表和复杂条件的 SQL 模式上执行 SQL-to-Text 任务的人。结果表明,与其他替代方案相比,我们的模型具有良好的泛化能力。

主要贡献:

  • 我们提出了一种 relation-aware graph transformer来考虑 SQL 图中节点对之间的各种关系。
  • 我们是第一个在数据集Spider 上使用更复杂的SQL 模式执行SQL 到文本任务的人。
  • 大量实验表明,我们的模型优于各种Seq2Seq 和Graph2Seq 模型。

2. Model

2.1 SQL Tree Construction

构建的SQL树 V V V 的整个节点集被分为两类:中间节点 V I = { v i I } i = 1 ∣ V I ∣ V^I = \{v^I_i\}^{|V_I|}_{i=1} VI={viI}i=1VI 和叶节点 V L = { v i L } i = 1 ∣ V L ∣ V^L = \{v^L_i\}^{|V_L|}_{i=1} VL={viL}i=1VL

  • 中间节点包含三个抽象概念(SQL、TABLE 和 COLUMN)、七个 SQL 子句关键字(SELECT、WHERE 等)和二元运算符(>、<、= 等)
  • 叶节点包含一元运算符、原始表名称、列词以及实体值的占位符(诸如“new york”之类的实体,在预处理过程中被替换为一种特殊标记 v a l 0 val_0 val0,称为去词法化)。

通过这种分类方法,可以使用不同的关系信息来更新这两种类型的节点嵌入。

从根节点 SQL 开始:

  • 我们首先添加子句关键字作为其子节点。
    • SQL被分为一些子句,例如SELECT子句、WHERE子句、嵌套SQL子句等(见图3a)。
  • 然后概念抽象节点TABLE和COLUMN以及相关的操作符节点相应地附加到它们的父节点。
    • 每个子句由多个表、列和一些其他二元运算符组成。考虑到一些表名和列名有多个标记,我们设计了两个抽象节点(TABLE和COLUMN)来解决这个问题(见图3c)。通过这两个抽象节点,子句节点可以表示为如图 3b 所示。注意到二元运算符可以被视为多个节点之间的关系,我们将它们设置为中间节点(一些子节点的父节点)。
  • 接下来,对于节点 COLUMN 和 TABLE,我们将所有原始单词、aggregators 和不同 标记 附加为叶节点。

我们的 SQL 树由三个级别组成(参见图 3):子句级别、模式级别和标记级别。表 1 显示了所有类型的节点。

【论文阅读】Relation-Aware Graph Transformer for SQL-to-Text Generation,论文,代码摘要生成,transformer,sql,数据库,论文阅读
【论文阅读】Relation-Aware Graph Transformer for SQL-to-Text Generation,论文,代码摘要生成,transformer,sql,数据库,论文阅读

2.2 Encoder Overview

输入特征包括所有节点和关系的可训练嵌入。我们使用 X L ∈ R ∣ V L ∣ × d x X^L ∈ R^{|V_L|×d_x} XLRVL×dx R L = [ r i j L ] ∣ V L ∣ × ∣ V L ∣ R^L = [r^L_{ij}]_{|V^L|×|V^L|} RL=[rijL]VL×VL表示叶节点嵌入和叶节点之间的关系矩阵的集合。相应地, X I ∈ R ∣ V I ∣ × d x X^I ∈ R^{|V_I|×d_x} XIRVI×dx R I = [ r i j I ] ∣ V I ∣ × ∣ V I ∣ R^I = [r^I_{ij}]_{|V^I|×|V^I|} RI=[rijI]VI×VI 对应于中间节点。

编码器由 K 个堆叠块组成,如图 4 所示。主要组件是关系感知图 Transformer (RGT),它将节点嵌入矩阵 X X X、关系矩阵 R R R 和 从 R R R 中提取关系嵌入的关系函数 E E E 作为输入,并输出更新的节点矩阵。每个块包含四个模块:一个用于中间节点的 RGT,一个用于叶节点的 RGT,以及两个交叉注意力模块。在每个块中,节点嵌入 X I X^I XI X L X^L XL 通过自注意力和交叉注意力顺序更新。根据图 4 中的数据流,中间节点首先更新为:

【论文阅读】Relation-Aware Graph Transformer for SQL-to-Text Generation,论文,代码摘要生成,transformer,sql,数据库,论文阅读

然后,叶节点参与中间节点并使用 RGT 进行更新:

【论文阅读】Relation-Aware Graph Transformer for SQL-to-Text Generation,论文,代码摘要生成,transformer,sql,数据库,论文阅读

最后,中间节点也参与叶节点:

【论文阅读】Relation-Aware Graph Transformer for SQL-to-Text Generation,论文,代码摘要生成,transformer,sql,数据库,论文阅读

下标 in、mid、out 用于区分输入和输出。关系嵌入函数 E r e l I E^I_{rel} ErelI E r e l L E^L_{rel} ErelL、关系矩阵 R I R^I RI R L R^L RL以及模块 C r o s s A t t e n t i o n I ← L ( ⋅ , ⋅ ) CrossAttention^{I←L}(·,·) CrossAttentionIL(⋅,⋅) C r o s s A t t e n t i o n L ← I ( ⋅ , ⋅ ) CrossAttention^{L←I}(·,·) CrossAttentionLI(⋅,⋅) 的定义将在后面详细阐述。

【论文阅读】Relation-Aware Graph Transformer for SQL-to-Text Generation,论文,代码摘要生成,transformer,sql,数据库,论文阅读

2.3 Relation-Aware Graph Transformer

我们利用 Transformer 作为我们模型的骨干,它可以被视为图注意力网络的一个实例(GAT),其中每个节点的感受野是整个节点集。我们将 SQL 树视为一种特殊的图。假设输入图为 G = ( V , R ) , V = { v i } i = 1 ∣ V ∣ , R = [ r i j ] ∣ V ∣ × ∣ V ∣ G = (V, R), V = \{v_i\}^{|V|}_{ i=1},R = [r_{ij}]_{|V|×|V|} G=(V,R),V={vi}i=1VR=[rij]V×V,其中 V V V是顶点集, R R R是关系矩阵。每个节点 v i ∈ V v_i ∈ V viV 都有一个随机初始化的嵌入 x i ∈ R d x x_i ∈ R^{d_x} xiRdx 。之前的工作将节点 v i v_i vi v j v_j vj 之间的相对位置纳入相关性得分计算和上下文聚合步骤中。类似地,我们通过引入额外的关系向量来使这项技术适应我们的框架。从数学上讲,给定关系矩阵 R R R,我们构造一个关系嵌入函数 E r e l E_{rel} Erel 来检索关系 r i j r_{ij} rij 的特征向量 e i j = E r e l ( r i j ) ∈ R d x / H e_{ij} = E_{rel}(r_{ij}) ∈ R^{d_x/H} eij=Erel(rij)Rdx/H。然后,经过一层迭代后节点 v i v_i vi 的输出嵌入 y i y_i yi 计算如下:

【论文阅读】Relation-Aware Graph Transformer for SQL-to-Text Generation,论文,代码摘要生成,transformer,sql,数据库,论文阅读

除非另有说明,关系嵌入函数 E r e l E_{rel} Erel 在不同头和多层之间共享。为了方便讨论,我们将 RGT 编码模块的表示法简化为:

【论文阅读】Relation-Aware Graph Transformer for SQL-to-Text Generation,论文,代码摘要生成,transformer,sql,数据库,论文阅读

其中 X i n = [ x 1 ; ⋅ ⋅ ⋅ ; x ∣ V ∣ ] X_{in} = [x_1; · · · ; x_{|V|}] Xin=[x1;⋅⋅⋅;xV] 表示所有节点的输入嵌入矩阵。

2.4 Relations among Intermediate Nodes

对于中间节点,我们考虑两种类型的关系:数据库模式(DBS)和定向相对深度(DRD)。 DBS考虑抽象概念TABLE和COLUMN之间的关系。我们总共定义了 11 种关系。例如,如果节点 v i I v^I_i viI v j I v^I_j vjI 是 COLUMN 类型的节点,并且根据数据库模式它们属于同一个表,则关系 r i j D B S r^{DBS}_{ij} rijDBS 是 SAME-TABLE。表 2 显示了 DBS 关系的完整版本。从数学上来说,

【论文阅读】Relation-Aware Graph Transformer for SQL-to-Text Generation,论文,代码摘要生成,transformer,sql,数据库,论文阅读

其中关系嵌入函数 E r e l D B S E^{DBS}_{rel} ErelDBS 将关系类别 r i j D B S r^{DBS}_{ij} rijDBS 映射到可训练向量 e i j D B S e^{DBS}_{ij} eijDBS

【论文阅读】Relation-Aware Graph Transformer for SQL-to-Text Generation,论文,代码摘要生成,transformer,sql,数据库,论文阅读

借助底层有向 SQL 树,我们可以构建另一个关系矩阵来表示两个中间节点 v i I v^I_i viI v j I v^I_j vjI 之间的可达性和相对深度差异。设 d ( v i I ) d(v^I_i ) d(viI) 表示节点 v i I v^I_i viI 的深度,例如根 SQL 节点的深度为 1(见图 4)。给定最大深度差 D,

【论文阅读】Relation-Aware Graph Transformer for SQL-to-Text Generation,论文,代码摘要生成,transformer,sql,数据库,论文阅读

其中 E D R D E^{DRD} EDRD 是具有 2 D + 2 2D + 2 2D+2 个条目的关系嵌入模块。一项特殊条目代表不可访问性 inf。

3. Experiments

3.1 Dataset

WikiSQL 我们使用最新版本的 WikiSQL 进行实验。 WikiSQL 中的 SQL 仅包含长度较短的 SELECT 和 WHERE 子句。我们利用官方的训练/开发/测试拆分,确保每个表仅出现在单个拆分中。此设置要求模型在推理过程中泛化到看不见的表。

Spider 我们还使用 Spider,一个更复杂的数据集。与 WikiSQL 相比,Spider 中的 SQL 更长,数据量小得多。此外,Spider中还涉及到一些其他复杂的语法,例如JOIN、HAVING和嵌套SQL。

因此,Spider上的任务要困难得多。考虑到测试分割不公开,我们只使用训练分割和开发分割。

【论文阅读】Relation-Aware Graph Transformer for SQL-to-Text Generation,论文,代码摘要生成,transformer,sql,数据库,论文阅读

3.2 Experiment Setup

Metric 我们使用 BLEU-4 和 NIST 作为自动指标。每个 SQL 在 WikiSQL 中都有一个参考。在Spider中,大多数SQL都有双重引用,因为很多 SQLs 分别对应两种不同的自然语言表达。然而,该指标存在两个威胁:(1)结果可能会严重波动。 (2)BLUE-4无法全面评估生成文本的质量。为了减轻结果的波动,我们使用不同的随机种子运行所有实验 5 次。此外,我们对 Spider 进行了人类评估,以将我们的模型与最强的基线进行比较。

Data preprocessing 对于 WikiSQL,我们省略了 FROM 子句,因为所有 SQL 只与单个表相关。对于Spider,我们将表别名替换为其原始名称,并删除AS语法。此外,如前所述,问题被去词汇化了。

3.3 Main Results

【论文阅读】Relation-Aware Graph Transformer for SQL-to-Text Generation,论文,代码摘要生成,transformer,sql,数据库,论文阅读文章来源地址https://www.toymoban.com/news/detail-828495.html

到了这里,关于【论文阅读】Relation-Aware Graph Transformer for SQL-to-Text Generation的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 论文阅读 (94):Substructure Aware Graph Neural Networks (SAGNN, AAAI2023)

    题目 : 子结构感知图神经网络 (Substructure aware graph neural networks, SAGNN) 背景 :尽管图神经网络 (GNN) 在图学习方面取得了巨大成就,但由于GNN的传播范式与一阶Weisfeiler-Leman图同构测试算法 (1-WL) 的一致性,导致其难以突破1-WL表达能力的上限。 思路 :通过子图更容易区分原始图

    2024年02月12日
    浏览(48)
  • 论文笔记:MANet: Multi-Scale Aware-Relation Network for Semantic Segmentation in Aerial Scenes

    论文地址:MANet: Multi-Scale Aware-Relation Network for Semantic Segmentation in Aerial Scenes | IEEE Journals Magazine | IEEE Xploreb 该论文没有公布源码 废话不多说,这篇文章就目前航天遥感所面对的挑战:场景和物体尺度的剧烈变化,提出了自己的模型。遥感图像变化剧烈主要是因为航拍角度、航

    2024年02月04日
    浏览(33)
  • [异构图-论文阅读]Heterogeneous Graph Transformer

    这篇论文介绍了一种用于建模Web规模异构图的异构图变换器(HGT)架构。以下是主要的要点: 摘要和引言 (第1页) 异构图被用来抽象和建模复杂系统,其中不同类型的对象以各种方式相互作用。 许多现有的图神经网络(GNNs)主要针对同构图设计,无法有效表示异构结构。

    2024年02月06日
    浏览(42)
  • [论文阅读]Ghost-free High Dynamic Range Imaging with Context-aware Transformer

    高动态范围成像(HDR)是一种图像技术,它能够捕捉到比传统图像更广泛的亮度范围。1997年,Paul Debevec在他的论文《Recovering High Dynamic Range Radiance Maps from Photographs》中提出了HDR的概念。论文里提出可以通过对同一个场景进行不同曝光时间的拍摄,然后用这些低动态范围 (L

    2024年02月07日
    浏览(36)
  • Exploiting Proximity-Aware Tasks for Embodied Social Navigation 论文阅读

    题目 :Exploiting Proximity-Aware Tasks for Embodied Social Navigation 作者 :Enrico Cancelli, Tommaso Campari 来源 :arXiv 时间 :2023 学习如何在封闭且空间受限的室内环境中在人类之间导航,是体现主体融入我们社会所需的关键能力。 在本文中,我们提出了一种端到端架构,该架构利用邻近感

    2024年02月12日
    浏览(32)
  • 【论文阅读--WSOL】Spatial-Aware Token for Weakly Supervised Object Localization

    论文:https://arxiv.org/abs/2303.10438 代码:https://github.com/wpy1999/SAT/blob/main/Model/SAT.py 这篇文章的方法应该属于FAM这一类。 额外添加的一个spatial token,从第10-12层开始,利用其得到的attn map (对hea求mean–B, 1, 1, N+2) 作为visual cue去指出oject region,作用方式为将attn map 点乘到 attn weight

    2023年04月14日
    浏览(37)
  • 论文阅读:Heterogeneous Graph Contrastive Learning for Recommendation(WSDM ’23)

    论文链接 在推荐系统中,图神经网络在建模图结构数据上已经变成一个强有力的工具。但是现实生活的推荐语义通常涉及异质关系(像用户的社交关系,物品知识关系的依赖),这些都包含丰富的语义信息去提升表征能力的学习。同时,对比自监督学习在推荐系统中也取得了

    2024年02月08日
    浏览(41)
  • 论文笔记:Adaptive Graph Spatial-Temporal Transformer Network for Traffic Flow Forecasting

    论文地址 空间图中一个节点对另一个节点的影响可以跨越多个时间步,分别处理空间维度和时间维度数据的方法对直接建模 跨时空效应 可能是无效的。(在图形建模过程中需要考虑这种跨时空效应) 以前的工作通常使用从距离度量或其他地理联系构建的预定图结构,并使用

    2023年04月08日
    浏览(37)
  • 【论文阅读】Automated Runtime-Aware Scheduling for Multi-Tenant DNN Inference on GPU

    该论文发布在 ICCAD’21 会议。该会议是EDA领域的顶级会议。 Author Hardware Problem Perspective Algorithm/Strategy Improvment/Achievement Fuxun Yu GPU Resource under-utilization Contention SW Scheduling Operator-level scheduling ML-based scheduling auto-search Reduced inference makespan Fuxun Yu 是一名来自微软的研究员。主要研究

    2024年01月24日
    浏览(35)
  • 论文阅读-《HigherHRNet: Scale-Aware Representation Learning for Bottom-Up Human Pose Estimation》

     目录 一、总述 1. 要解决的问题 2. 使用的方法 3. 取得的成果 二、摘要 三、介绍 四、相关工作 五、高分辨率网络 1. HigherHRNet i. HRNet ii. HigherHRNet 2. 分组 3. 反卷积模块 4. 多分辨率监督 5. 热图聚合策略 六、实验 1. COCO数据集关键点预测 2. 消融实验 3. CrowdPose 七、结论      

    2024年04月12日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包