CN112487020A - 用于SQL to text的图到自然语言语句的转换方法及*** - Google Patents

用于SQL to text的图到自然语言语句的转换方法及*** Download PDF

Info

Publication number
CN112487020A
CN112487020A CN202011508605.3A CN202011508605A CN112487020A CN 112487020 A CN112487020 A CN 112487020A CN 202011508605 A CN202011508605 A CN 202011508605A CN 112487020 A CN112487020 A CN 112487020A
Authority
CN
China
Prior art keywords
sql
tree
nodes
graph
natural language
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011508605.3A
Other languages
English (en)
Other versions
CN112487020B (zh
Inventor
俞凯
马达
陈露
曹瑞升
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AI Speech Ltd
Original Assignee
AI Speech Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by AI Speech Ltd filed Critical AI Speech Ltd
Priority to CN202011508605.3A priority Critical patent/CN112487020B/zh
Publication of CN112487020A publication Critical patent/CN112487020A/zh
Application granted granted Critical
Publication of CN112487020B publication Critical patent/CN112487020B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种用于SQL to text的图到自然语言语句的转换方法。该方法包括:构建SQL的树,在树的结构图中表示有各节点的级别和彼此之间的各种关系;将树的结构图输入至基于图形注意力网络的转换模型中,识别SQL的结构特征和序列关系,并生成自然语言语句。本发明实施例还提供一种用于SQL to text的图到自然语言语句的转换***。本发明实施例对SQL的树图结构化表示,确保树中各节点之间的相关性,同时,也提出了用于SQL到文本生成的识别关系型图转换器。基于SQL中每个节点中令牌的表示形式,会考虑节点的多种关系,从而提高自然语言语句的转换效果。

Description

用于SQL to text的图到自然语言语句的转换方法及***
技术领域
本发明涉及智能语音领域,尤其涉及一种用于SQL to text的图到自然语言语句的转换方法及***。
背景技术
SQL(Structured Query Language,结构化查询语言)到文本的目的是将结构化的SQL转换为自然语言问题。该任务对于构建用于将自然语言连接到关系数据库的交互式问答***。
为了鼓励表面形式的多样性并确保语义的正确性,近年来提出了基于神经网络的方法来解决这个问题。与传统的序列到序列(Seq2Seq)模型相比,高级的Graph-to-Sequence模型考虑了SQL查询的固有图结构并连接了不同的单元(例如列,运算符,单元格值)通过SQL关键字节点(例如SELECT和AND)。通过图神经网络收集信息,每个节点获得其上下文嵌入,该嵌入将在解码器中检索。
在实现本发明过程中,发明人发现相关技术中至少存在如下问题:
虽然序列到序列模型、Graph-to-Sequence模型有效,但它们有以下主要缺点:由于构造的SQL图的稀疏性,泛化能力差;不同节点对之间关系的无知,尤其是列节点之间的相关性。
尽管在序列化的SQL查询和解析的抽象语法树中,两个节点相隔很远,但它们可能具有高度的相关性。现有的技术更多地关注SQL的语法结构,而忽略了语义层面上的这些潜在关系。
发明内容
为了至少解决现有技术中忽略节点之间的相关性的问题。
第一方面,本发明实施例提供一种用于SQL to text的图到自然语言语句的转换方法,包括:
构建SQL的树,在所述树的结构图中表示有各节点的级别和彼此之间的各种关系;
将所述树的结构图输入至基于图形注意力网络的转换模型中,识别所述SQL的结构特征和序列关系,并生成自然语言语句。
第二方面,本发明实施例提供一种用于SQL to text的图到自然语言语句的转换***,包括:
关系表示程序模块,用于构建SQL的树,在所述树的结构图中表示有各节点的级别和彼此之间的各种关系;
语句转换程序模块,用于将所述树的结构图输入至基于图形注意力网络的转换模型中,识别所述SQL的结构特征和序列关系,并生成自然语言语句。
第三方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的用于SQL to text的图到自然语言语句的转换方法的步骤。
第四方面,本发明实施例提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现本发明任一实施例的用于SQL to text的图到自然语言语句的转换方法的步骤。
本发明实施例的有益效果在于:对SQL的树图结构化表示,确保树中各节点之间的相关性,同时,也提出了用于SQL到文本生成的识别关系型图转换器。基于SQL中每个节点中令牌的表示形式,会考虑节点的多种关系,从而提高自然语言语句的转换效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种用于SQL to text的图到自然语言语句的转换方法的流程图;
图2是本发明一实施例提供的一种用于SQL to text的图到自然语言语句的转换方法的构造SQL树的示意图;
图3是本发明一实施例提供的一种用于SQL to text的图到自然语言语句的转换方法的SQL树构造过程的示意图;
图4是本发明一实施例提供的一种用于SQL to text的图到自然语言语句的转换方法的编码器的结构示意图;
图5是本发明一实施例提供的一种用于SQL to text的图到自然语言语句的转换方法的数据库架构关系表;
图6是本发明一实施例提供的一种用于SQL to text的图到自然语言语句的转换方法的所有类型节点的枚举表;
图7是本发明一实施例提供的一种用于SQL to text的图到自然语言语句的转换方法的统计WikiSQL和Spider数据表;
图8是本发明一实施例提供的一种用于SQL to text的图到自然语言语句的转换方法的所有模型的结果数据表;
图9是本发明一实施例提供的一种用于SQL to text的图到自然语言语句的转换方法的交叉注意力消融数据表;
图10是本发明一实施例提供的一种用于SQL to text的图到自然语言语句的转换方法的关系消融数据表;
图11是本发明一实施例提供的一种用于SQL to text的图到自然语言语句的转换***的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示为本发明一实施例提供的一种用于SQL to text的图到自然语言语句的转换方法的流程图,包括如下步骤:
S11:构建SQL的树,在所述树的结构图中表示有各节点的级别和彼此之间的各种关系;
S12:将所述树的结构图输入至基于图形注意力网络的转换模型中,识别所述SQL的结构特征和序列关系,并生成自然语言语句。
在本实施方式中,本方法提出了一种关系感知图变换器(RGT),以考虑查询的抽象语法树和不同节点对之间的相关性。使用transformer作为模型的主干,可以看作是图形注意力网络的一个实例,其中每个节点的接收字段是整个节点集。假设输入图是:
Figure BDA0002845660890000041
R=[rij]|V|×|V|,其中V为顶点集,R为关系矩阵。每个节点vi∈V有一个初始嵌入
Figure BDA0002845660890000042
计算节点vi经过一次迭代层后的输出嵌入yi
Figure BDA0002845660890000043
Figure BDA0002845660890000044
Figure BDA0002845660890000045
Figure BDA0002845660890000046
其中FC(·)表示完全连接的层,LayerNorm{·}是层归一化技巧,[·;·]表示向量串联,参数
Figure BDA0002845660890000047
1≤h≤H是多重指数,在传统的结构中,或不考虑R的边缘关系标签。
本方法通过引入额外的关系向量将这种技术应用到我们的框架中,并称之为RGT(Relation-aware Graph Transformer,识别关系型图transformer)。数学上,给定关系矩阵R=[rij]|V|×|V|,我们构造一个关系嵌入函数Erel来检索关系rij的特征向量
Figure BDA0002845660890000048
然后:
Figure BDA0002845660890000049
Figure BDA00028456608900000410
关系嵌入函数Erel在不同的头和多层之间共享,除非另有规定。注意,节点vi和vj之间的关系rij可以从多个方面进行计算。换句话说,rij可以是一个元组,只要Erel可以将这个元组映射到一个固定大小的向量。为了便于讨论,我们将RGT编码模块的符号简化为Xout=RGT(Xin,Erel,R),其中Xin=[x1;···;x|V|]表示所有节点的输入嵌入矩阵。
对于步骤S11,SQL-to-text任务可以表示为一个图到序列的问题。输入图由SQL的底层语法诱导。通过构建SQL的树,来表示各节点的级别和彼此之间的各种关系。
整个节点集V分为两类:中间节点(也可以称为非叶子节点)和叶节点。中间节点包括三个抽象概念(SQL、表和列)、SQL子句关键字和多个参数的运算符,而叶节点包含一元运算符,原始的表和列单词以及实体值的占位符。我们精心制作了这个分区,以便这两种类型的节点嵌入可以使用不同的关系信息进行更新。
作为一种实施方式,所述构建SQL的树包括:
基于数据操作语言和/或数据定义语言将所述SQL划分为多条子句;
创建抽象节点,用于分别表示所述子句中的表或行;
基于所述抽象节点以及子句中的二进制操作符作为非叶子节点,构建所述SQL的树的结构图。
在本实施方式中,从根节点SQL开始,我们首先附加子句级节点作为其子节点,具体内容如图2所示。然后概念抽象节点、表和列以及相关的运算符节点都相应地附加到它们的父节点上。接下来,对于COLUMN和TABLE,我们将所有原始单词、聚合器和distinct标志附加为叶节点。
在此更进一步细化的构造,如图3所示,本方法的SQL树由三个级别:子句级、模式级和令牌级组成。
首先,SQL被划分为一些子句,如SELECT子句、WHERE子句、嵌套SQL子句等(见图3-(a))。
然后,每个子句由几个表、列和一些其他二进制运算符组成。考虑到某些表和列有几个标记,我们设计了两个抽象节点(表和列),以解决这个问题(见图3-(c))。使用这两个抽象节点,子句节点可以表示为图3-(b)。注意,二进制操作符可以被视为多个节点之间的关系,我们将它们设置为中间节点(一些子节点的父节点)。对于其他一元运算符和令牌(表和列),我们将它们放在叶子上。
对于步骤S12,将在步骤S11中构造的树的结构图输入至基于图形注意力网络的转换模型中,来识别SQL的结构特征和序列关系。也就是本方法区别于现有技术,多考虑到结构特征和序列关系,生成自然语言语句。例如,SQL:SELECT DISTINCT name FORM employeeWHERE month_salary>10000ORDER BY month_salary DESC。生成查询月薪大于10000的员工,并且按照降序排列这样的自然语言语句。
作为一种实施方式,所述SQL的结构特征包括:所述树中非叶子节点间的数据库关系以及相对深度关系。
所述SQL的序列关系包括:所述树中叶子节点间的最近邻祖先关系以及相对位置关系。
非叶子节点更多代表SQL的结构信息,叶子节点更多代表SQL的语义信息。非叶子节点间有数据库关系和有向相对深度关系两种关系,叶子节点间有最近邻祖先和相对位置两种关系。对于结构特征和序列关系中这四种关系的操作,在下面解码器中详细说明。
通过本实施方式可以看出,对SQL的树图结构化表示,确保树中各节点之间的相关性,同时,也提出了用于SQL到文本生成的识别关系型图转换器。基于SQL中每个节点中令牌的表示形式,会考虑节点的多种关系,从而提高自然语言语句的转换效果。
作为一种实施方式,在本实施例中,所述基于图形注意力网络的转换模型包括:
输入为树的结构图,输出为所述树的结构图编码的编码器,以及输入为所述树的结构图编码,输出为自然语言语句的解码器;
所述编码器用于:
-确定所述树的结构图中叶子节点间的最近邻祖先关系以及相对位置关系,输出具有SQL的语义信息的叶子节点编码;
-确定所述树的结构图中非叶子节点间的数据库关系以及相对深度关系,输出具有所述SQL的结构信息非叶子节点中间编码;
-对所述叶子节点编码和所述非叶子节点中间编码进行交叉注意力处理,输出非叶子节点编码;
所述解码器用于:对所述叶子节点编码以及所述非叶子节点编码解码,生成自然语言语句。
在本实施方式中,基于图形注意力网络的转换模型包括编码器,所述编码器从可训练的嵌入矩阵中提取V中所有节点的输入特征。
我们用
Figure BDA0002845660890000071
Figure BDA0002845660890000072
来表示叶节点嵌入集和叶节点之间的关系矩阵。对于中间节点,对称地,
Figure BDA0002845660890000073
Figure BDA0002845660890000074
编码器由K个堆叠块组成,如图4所示。每个模块包含三个模块:中间节点(也可以称非叶子节点)RGT模块、叶节点RGT模块和交叉关注模块。在每个块中,通过自注意和交叉注意顺序更新节点嵌入XI和XL
Figure BDA0002845660890000075
Figure BDA0002845660890000076
Figure BDA0002845660890000077
其中:下,中,外下标用于区分输入和输出。关系嵌入函数
Figure BDA0002845660890000078
Figure BDA0002845660890000079
关系矩阵RI和RL以及模块CrossAttentionI←L(·,·)的定义将在下文详述。
中间节点之间的关系对于中间节点,我们考虑两种类型的关系:数据库关系(DBS,Database schema)和有向相对深度(DRD,Directional relative depth)。DBS考虑抽象概念表和列之间的关系。我们总共定义了11个关系,如图5所示。
如果node
Figure BDA00028456608900000710
Figure BDA00028456608900000711
是COLUMN类型的节点,并且根据数据库模式,它们属于同一个表,那么关系
Figure BDA00028456608900000712
是SAME-TABLE。DBS关系的完整版本。
Figure BDA00028456608900000713
Figure BDA00028456608900000714
其中,关系嵌入函数
Figure BDA00028456608900000715
将关系范畴
Figure BDA00028456608900000716
映射为可训练向量
Figure BDA00028456608900000717
在底层定向SQL树的帮助下,
我们可以建立另一个关系矩阵来表示
Figure BDA00028456608900000718
Figure BDA00028456608900000719
两个中间节点之间的可达性和相对深度差。
Figure BDA00028456608900000720
表示节点
Figure BDA00028456608900000721
的深度,例如根SQL节点的深度为1,最大深度差为D,
Figure BDA00028456608900000722
Figure BDA00028456608900000723
Figure BDA00028456608900000724
其中EDRD是具有2D+2条目的关系嵌入模块。其中一个特殊条目表示不可访问性inf。
中间节点的完整关系嵌入函数
Figure BDA00028456608900000725
和关系矩阵RI将数据库关系和有向相对深度合并在一起。
Figure BDA0002845660890000081
Figure BDA0002845660890000082
其中FC是从两个角度进行的从仿射到融合的变换。
从图6可以看出,叶节点主要由原始单词组成,加上一些一元运算符作为修饰符。在SQL查询中将所有这些节点按照它们原来的顺序聚集到序列sL中,我们可以得到这些叶节点之间的相对位置关系(RPR)。假设节点viL在sL中的位置以
Figure BDA0002845660890000083
为索引,D为预先定义的最大距离,节点
Figure BDA0002845660890000084
Figure BDA0002845660890000085
的关系特征
Figure BDA0002845660890000086
定义为:
Figure BDA0002845660890000087
Figure BDA0002845660890000088
实际上,
Figure BDA0002845660890000089
存储为(2D+1)×(dx/H)的参数矩阵以供检索。同一子句中的标记将按序列sL聚集在一起。直观上,
Figure BDA00028456608900000810
将具有较小的绝对数值,并捕获前面提到的子句内关系。
此外,我们考虑了SQL树的结构。令
Figure BDA00028456608900000811
表示叶节点的最近邻祖先,并且在SQL树中,关系特征
Figure BDA00028456608900000812
通过:
Figure BDA00028456608900000813
Figure BDA00028456608900000814
关系嵌入函数
Figure BDA00028456608900000815
仅从
Figure BDA00028456608900000816
提取中间节点
Figure BDA00028456608900000817
的当前节点嵌入,然后通过可训练的线性层将其转换为维dx/H。远程叶节点之间的关系由公共祖先节点反映。
叶节点的完整关系嵌入函数
Figure BDA00028456608900000818
是通过组合扁平关系和树结构关系来构造的:
Figure BDA00028456608900000819
Figure BDA00028456608900000820
交叉注意从叶到中间节点模块CrossAttentionI←L(·,·)收集叶节点VL到中间节点VI的特征,使得语义信息能够流入V I的结构节点表示中,对于每个中间节点,计算叶节点上的注意向量
Figure BDA00028456608900000821
与其关注所有的叶节点(对全节点的注意力,AOF(Attention overfull)),不如只关心由SQL树确定的它的后代。我们称这种策略为对后代的注意力(AOD,Attention over descendants)。设
Figure BDA0002845660890000091
是中间节点
Figure BDA0002845660890000092
的后代叶节点集,中间节点
Figure BDA0002845660890000093
的更新方程为:
Figure BDA0002845660890000094
Figure BDA0002845660890000095
Figure BDA0002845660890000096
Figure BDA0002845660890000097
其中We∈dx×dx是可训练参数。
编码器:
在获得中间节点和叶节点的最终节点嵌入
Figure BDA0002845660890000098
后,我们应用LSTM-based带复制机制的序列解码器生成自然语言句子。在解码之前,将提取叶节点中原始表和列单词的表示形式以供直接复制。在后处理过程中,val0等实体的占位符将替换为相应的名词(称为词汇化)。
基于上述的识别关系型图transformer,进行具体试验。我们在最新版本的WikiSQL数据集上进行了实验,如图7所示。如前所述,WikiSQL中的sql只包含SELECT和WHERE子句,且长度较短。我们使用官方的训练/开发/测试分割,确保每个表只出现在单个分割中。这种设置要求模型泛化到不可见的表。我们也使用Spider,一个更加复杂的数据集。如再图7所示,与WikiSQL相比,它的sql要长得多,大小也小得多。此外,Spider还涉及其他一些复杂的语法,如JOIN、HAVING和嵌套sql。因此,爬行器上的任务要困难得多。考虑到测试划分不是公开的,我们只使用train和dev划分。
我们所有的代码都是由Pytorch实现的。我们利用Adam优化器训练学习率为0.0001的模型。WikiSQL的批处理大小为32,Spider的批处理大小为8。所有模型都经过50个训练,并具有默认初始化。我们采用辍学策略,编码器的比率为0.1,解码器的比率为0.5。隐藏大小为300,层数K为8。对于我们的关系感知图形转换器的编码器,模型尺寸为512,带有8个关注头。节点和类型嵌入大小都与隐藏大小相同。所有关系(DBS,DRD,RPR)的嵌入大小均为64。我们裁剪模型梯度以使其不大于1。最大相对深度和距离均设置为4。
BLEU-4和NIST是我们使用的自动度量。因为没有相同的SQL,每个SQL都有一个WikiSQL的引用。对于spider,大多数SQLs都有双重引用,因为许多SQLs对应于两个不同的表达式。为了缓解结果的波动,我们进行了10次不同随机种子的试验。所有结果均采用mteval-v14.pl3脚本计算。
数据预处理首先,我们规范SQL查询。对于WikiSQL,我们省略了FROM子句,因为所有SQLs只与一个表相关。对于Spider,我们将表别名替换为其原始名称,并删除AS语法。此外,上述问题也被取消了。
对于所有基线,使用相同的基于注意力的带有复制机制的LSTM decoder,其中只复制模式依赖项(表和列标记)。该编码器是一个使用规范化SQL序列作为输入的BiLSTM编码器。我们报告的结果与复制机制和没有这个基线。TreeLSTM编码器是一个子和TreeLSTM编码器,以我们的SQL树作为输入。对于这个基线,我们利用了绝对位置和相对位置的自注意嵌入。类似地,transformer编码器的输入是规范化的SQL序列。
GCN/GAT对于SQL树作为图,我们可以使用图卷积网络(GCN)和图注意网络(GAT)来完成此任务。我们实现了双向GCN,并利用均值池来聚合消息。从自我关注到图表关注,我们的GAT与transformer编码器略有不同。我们将建议的模型RGT与以上所有基线进行比较。
如图8所示显示了BLEU和NIST在测试集上的WikiSQL和开发集上的Spider(测试集不可用)。我们将我们的模型与前面提到的所有基线进行比较。对于BLEU和NIST,我们的模型关系感知图形转换器(RGT)的性能优于WikiSQL和Spider上的所有基线模型。具体地说,RGT在Spider和WikiSQL上的关系位置优于关系位置最强的基线变换器0.68bleu和NIST0.1nist。如图7所示,与Spider相比,WikiSQL中的sql非常简短和简单,导致两个节点之间的相关性可能不高。因此,RGT的性能并没有比相对位置的transformer大幅度提高。
我们发现,只关心像GCN这样的结构的模型可能表现不佳。即使只考虑相对位置关系,具有相对位置的transformer也是最强基线。这鼓励我们考虑更多的关系。
为了研究交叉注意力和关系的影响,我们分别进行了两项消融研究。我们尝试不同的组合以引起注意。
图9所示的交叉注意表显示了交叉注意。此外,我们还探讨了叶对中间注意的影响。我们定义了AOA(attention over ancestors,关注祖先),这表明叶子只关心它的祖先(从父节点到根节点的路径上的节点)。试验表明,AOD+无叶节点为最佳组合。根据图9,我们总结出以下结论:
如果中间到叶子节点的注意力高于后代节点(AOD),那么中间节点叶子节点关心的越多,性能就越差。对于任何两个叶节点,只有它们的祖先会捕获它们关于AOD的信息,这使得它们的祖先可以更准确地表示它们。准确地说,它们最低的共同祖先(LCA)捕获了最相关的信息。可能,它引入的其他叶节点的信息最少。
如果中间到叶子的注意力超过了全部(AOF),叶节点需要关心祖先以获得更多的信息。与AOD不同的是,所有中间节点携带任意两个叶节点的信息。因此,对于叶节点,AOA优于仅使用LCA。此外,他们的祖先与他们的祖先中间节点的互动更密切,这说明祖先携带了最相关的信息。
如果中间不注意AOF,叶节点有放弃注意的倾向。在这种情况下,中间节点没有来自叶节点的信息。中间节点之间仅交互以捕获SQL结构并对叶节点之间的关系进行编码。因此,叶节点只利用LCA,而不关注中间节点。
如图10关系消融表显示,为RGT引入的所有关系都是合理的。图10的上半部分表明,数据库关系关系(DBS)和定向相对深度(DRD)的效果可比。结合使用它们可以大大提高RGT。DBS通过引入数据库关系信息来促进TABLE和COLUMN中间节点的编码。DRD协助RGT捕获中间节点结构。下半部分说明了相对位置关系(RPR)对RGT的贡献更大。使用RPR,RGT可以识别顺序关系(列标记和表列)。LCA促进RGT识别更复杂的关系,例如两个列属于同一子句。
我们将RGT与具有相对位置的最强基线transformer进行比较。特别是当两列彼此远离时,具有相对位置的Transformer可能无法捕获子句中的所有列。RGT可以通过引入SQL树来增强令牌(列令牌,表令牌,一元运算符等)之间的关系来缓解此问题。甚至两个令牌也很远。有一个LCA连接它们。
SQL到文本这种技术可以利用自动生成的SQL程序来创建额外的对,缓解了复杂的文本到SQL任务的注释稀缺问题。早期基于规则的方法严重依赖研究人员设计通用模板,这将不可避免地产生僵化和规范化的问题。Seq2Seq和Graph-to-seq模型已显示出其优于传统基于规则的***。在这项工作中,我们提出了一个识别关系型图transformer,以兼顾图的结构和嵌入在不同节点对中的各种关系。
Graph-to-sequence Tree-to-sequence模型,图卷积网络和图关注网络已经成功——完全应用于各种任务获得节点嵌入。当从邻居处聚合信息时,可以合并关系或边缘特征。对于不同的节点对,我们采用了这两种策略,并使用定制的关系。
我们提出了一种用于复杂SQL到文本生成的关系感知图形转换器(RGT)。当学习SQL中每个令牌的表示形式时,在我们的模型中会考虑多个关系。关系包括相对距离和SQL的相应抽象语法树中的最近邻祖先。在两个数据集WikiSQL和Spider上进行的大量实验表明,我们提出的模型优于包括Seq2Seq模型和Graph2Seq模型在内的强大基线。值得注意的是,我们提出的方法不仅可以用于SQL到文本任务,还可以用于其他树到序列任务。将来,我们将评估其他任务的方法。
如图11所示为本发明一实施例提供的一种用于SQL to text的图到自然语言语句的转换***的结构示意图,该***可执行上述任意实施例所述的用于SQL to text的图到自然语言语句的转换方法,并配置在终端中。
本实施例提供的一种用于SQL to text的图到自然语言语句的转换***10包括:关系表示程序模块11和语句转换程序模块12。
其中,关系表示程序模块11用于构建SQL的树,在所述树的结构图中表示有各节点的级别和彼此之间的各种关系;语句转换程序模块12用于将所述树的结构图输入至基于图形注意力网络的转换模型中,识别所述SQL的结构特征和序列关系,并生成自然语言语句。
进一步地,所述关系表示程序模块用于:
基于数据操作语言和/或数据定义语言将所述SQL划分为多条子句;
创建抽象节点,用于分别表示所述子句中的表或行;
基于所述抽象节点以及子句中的二进制操作符作为非叶子节点,构建所述SQL的树的结构图。
进一步地,所述基于图形注意力网络的转换模型包括:
输入为树的结构图,输出为所述树的结构图编码的编码器,以及输入为所述树的结构图编码,输出为自然语言语句的解码器;
所述编码器用于:
-确定所述树的结构图中叶子节点间的最近邻祖先关系以及相对位置关系,输出具有SQL的语义信息的叶子节点编码;
-确定所述树的结构图中非叶子节点间的数据库关系以及相对深度关系,输出具有所述SQL的结构信息非叶子节点中间编码;
-对所述叶子节点编码和所述非叶子节点中间编码进行交叉注意力处理,输出非叶子节点编码;
所述解码器用于:对所述叶子节点编码以及所述非叶子节点编码解码,生成自然语言语句。
本发明实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的用于SQL to text的图到自然语言语句的转换方法;
作为一种实施方式,本发明的非易失性计算机存储介质存储有计算机可执行指令,计算机可执行指令设置为:
构建SQL的树,在所述树的结构图中表示有各节点的级别和彼此之间的各种关系;
将所述树的结构图输入至基于图形注意力网络的转换模型中,识别所述SQL的结构特征和序列关系,并生成自然语言语句。
作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的方法对应的程序指令/模块。一个或者多个程序指令存储在非易失性计算机可读存储介质中,当被处理器执行时,执行上述任意方法实施例中的用于SQL to text的图到自然语言语句的转换方法。
非易失性计算机可读存储介质可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据装置的使用所创建的数据等。此外,非易失性计算机可读存储介质可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,非易失性计算机可读存储介质可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的用于SQL to text的图到自然语言语句的转换方法的步骤。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如平板电脑。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器,掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)其他具有数据处理功能的电子装置。
在本文中,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种用于SQL to text的图到自然语言语句的转换方法,包括:
构建SQL的树,在所述树的结构图中表示有各节点的级别和彼此之间的各种关系;
将所述树的结构图输入至基于图形注意力网络的转换模型中,识别所述SQL的结构特征和序列关系,并生成自然语言语句。
2.根据权利要求1所述的方法,其中,所述SQL的结构特征包括:所述树中非叶子节点间的数据库关系以及相对深度关系。
3.根据权利要求1所述的方法,其中,所述SQL的序列关系包括:所述树中叶子节点间的最近邻祖先关系以及相对位置关系。
4.根据权利要求1所述的方法,其中,所述构建SQL的树包括:
基于数据操作语言和/或数据定义语言将所述SQL划分为多条子句;
创建抽象节点,用于分别表示所述子句中的表或行;
基于所述抽象节点以及子句中的二进制操作符作为非叶子节点,构建所述SQL的树的结构图。
5.根据权利要求1-4中任一项所述的方法,其中,所述基于图形注意力网络的转换模型包括:
输入为树的结构图,输出为所述树的结构图编码的编码器,以及输入为所述树的结构图编码,输出为自然语言语句的解码器;
所述编码器用于:
-确定所述树的结构图中叶子节点间的最近邻祖先关系以及相对位置关系,输出具有SQL的语义信息的叶子节点编码;
-确定所述树的结构图中非叶子节点间的数据库关系以及相对深度关系,输出具有所述SQL的结构信息非叶子节点中间编码;
-对所述叶子节点编码和所述非叶子节点中间编码进行交叉注意力处理,输出非叶子节点编码;
所述解码器用于:对所述叶子节点编码以及所述非叶子节点编码解码,生成自然语言语句。
6.一种用于SQL to text的图到自然语言语句的转换***,包括:
关系表示程序模块,用于构建SQL的树,在所述树的结构图中表示有各节点的级别和彼此之间的各种关系;
语句转换程序模块,用于将所述树的结构图输入至基于图形注意力网络的转换模型中,识别所述SQL的结构特征和序列关系,并生成自然语言语句。
7.根据权利要求6所述的***,其中,所述关系表示程序模块用于:
基于数据操作语言和/或数据定义语言将所述SQL划分为多条子句;
创建抽象节点,用于分别表示所述子句中的表或行;
基于所述抽象节点以及子句中的二进制操作符作为非叶子节点,构建所述SQL的树的结构图。
8.根据权利要求6所述的***,其中,所述基于图形注意力网络的转换模型包括:
输入为树的结构图,输出为所述树的结构图编码的编码器,以及输入为所述树的结构图编码,输出为自然语言语句的解码器;
所述编码器用于:
-确定所述树的结构图中叶子节点间的最近邻祖先关系以及相对位置关系,输出具有SQL的语义信息的叶子节点编码;
-确定所述树的结构图中非叶子节点间的数据库关系以及相对深度关系,输出具有所述SQL的结构信息非叶子节点中间编码;
-对所述叶子节点编码和所述非叶子节点中间编码进行交叉注意力处理,输出非叶子节点编码;
所述解码器用于:对所述叶子节点编码以及所述非叶子节点编码解码,生成自然语言语句。
9.一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述方法的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-5中任一项所述方法的步骤。
CN202011508605.3A 2020-12-18 2020-12-18 用于SQL to text的图到自然语言语句的转换方法及*** Active CN112487020B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011508605.3A CN112487020B (zh) 2020-12-18 2020-12-18 用于SQL to text的图到自然语言语句的转换方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011508605.3A CN112487020B (zh) 2020-12-18 2020-12-18 用于SQL to text的图到自然语言语句的转换方法及***

Publications (2)

Publication Number Publication Date
CN112487020A true CN112487020A (zh) 2021-03-12
CN112487020B CN112487020B (zh) 2022-07-12

Family

ID=74914773

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011508605.3A Active CN112487020B (zh) 2020-12-18 2020-12-18 用于SQL to text的图到自然语言语句的转换方法及***

Country Status (1)

Country Link
CN (1) CN112487020B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113177123A (zh) * 2021-04-29 2021-07-27 思必驰科技股份有限公司 文本转sql模型的优化方法及***
CN113177393A (zh) * 2021-04-29 2021-07-27 思必驰科技股份有限公司 改进针对网页结构理解的预训练语言模型的方法和装置
CN114048286A (zh) * 2021-10-29 2022-02-15 南开大学 一种融合图转换器和共同注意力网络的自动事实验证方法
CN117235108A (zh) * 2023-11-14 2023-12-15 云筑信息科技(成都)有限公司 一种基于图神经网络的nl2sql生成方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109933602A (zh) * 2019-02-28 2019-06-25 武汉大学 一种自然语言与结构化查询语言的转换方法及装置
CN110609849A (zh) * 2019-08-27 2019-12-24 广东工业大学 一种基于sql语法树节点类型的自然语言生成方法
US20200134032A1 (en) * 2018-10-31 2020-04-30 Microsoft Technology Licensing, Llc Constructing structured database query language statements from natural language questions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200134032A1 (en) * 2018-10-31 2020-04-30 Microsoft Technology Licensing, Llc Constructing structured database query language statements from natural language questions
CN109933602A (zh) * 2019-02-28 2019-06-25 武汉大学 一种自然语言与结构化查询语言的转换方法及装置
CN110609849A (zh) * 2019-08-27 2019-12-24 广东工业大学 一种基于sql语法树节点类型的自然语言生成方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113177123A (zh) * 2021-04-29 2021-07-27 思必驰科技股份有限公司 文本转sql模型的优化方法及***
CN113177393A (zh) * 2021-04-29 2021-07-27 思必驰科技股份有限公司 改进针对网页结构理解的预训练语言模型的方法和装置
CN113177123B (zh) * 2021-04-29 2023-11-17 思必驰科技股份有限公司 文本转sql模型的优化方法及***
CN113177393B (zh) * 2021-04-29 2023-12-26 思必驰科技股份有限公司 改进针对网页结构理解的预训练语言模型的方法和装置
CN114048286A (zh) * 2021-10-29 2022-02-15 南开大学 一种融合图转换器和共同注意力网络的自动事实验证方法
CN114048286B (zh) * 2021-10-29 2024-06-07 南开大学 一种融合图转换器和共同注意力网络的自动事实验证方法
CN117235108A (zh) * 2023-11-14 2023-12-15 云筑信息科技(成都)有限公司 一种基于图神经网络的nl2sql生成方法

Also Published As

Publication number Publication date
CN112487020B (zh) 2022-07-12

Similar Documents

Publication Publication Date Title
CN112487020B (zh) 用于SQL to text的图到自然语言语句的转换方法及***
CN111753024B (zh) 一种面向公共安全领域的多源异构数据实体对齐方法
CN111353030A (zh) 基于旅游领域知识图谱的知识问答检索方法及装置
CN110674252A (zh) 一种面向司法领域的高精度语义搜索***
US20210018332A1 (en) Poi name matching method, apparatus, device and storage medium
CN109766424A (zh) 一种阅读理解模型训练数据的过滤方法及装置
CN106446162A (zh) 一种面向领域的本体知识库文本检索方法
CN109977250A (zh) 融合语义信息和多级相似性的深度哈希图像检索方法
CN109740158A (zh) 一种文本语义解析方法及装置
CN113486190A (zh) 一种融合实体图像信息和实体类别信息的多模态知识表示方法
CN103425763A (zh) 基于sns的用户推荐方法及装置
CN110866042A (zh) 表格智能查询方法、装置及计算机可读存储介质
CN114254093A (zh) 多空间知识增强的知识图谱问答方法及***
CN117312499A (zh) 一种基于语义的大数据分析***及方法
CN110222144B (zh) 文本内容提取方法、装置、电子设备及存储介质
Dai et al. Multi-granularity association learning for on-the-fly fine-grained sketch-based image retrieval
CN112579816B (zh) 遥感图像的检索方法、装置、电子设备及存储介质
CN112632406B (zh) 查询方法、装置、电子设备及存储介质
CN114328943A (zh) 基于知识图谱的问题回答方法、装置、设备及存储介质
Pan et al. Conv-coa: Improving open-domain question answering in large language models via conversational chain-of-action
Li et al. Traditional Village research based on culture-landscape genes: a Case of Tujia traditional villages in Shizhu, Chongqing, China
CN116955558A (zh) 基于知识图谱推理的地学数据集问答方法及***
CN112598039A (zh) 获取nlp分类领域阳性样本方法及相关设备
CN117112727A (zh) 适用于云计算业务的大语言模型微调指令集构建方法
CN111177411A (zh) 一种基于nlp的知识图谱构建方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 215123 building 14, Tengfei Innovation Park, 388 Xinping street, Suzhou Industrial Park, Suzhou City, Jiangsu Province

Applicant after: Sipic Technology Co.,Ltd.

Address before: 215123 building 14, Tengfei Innovation Park, 388 Xinping street, Suzhou Industrial Park, Suzhou City, Jiangsu Province

Applicant before: AI SPEECH Co.,Ltd.

GR01 Patent grant
GR01 Patent grant