CN113177123B - 文本转sql模型的优化方法及*** - Google Patents
文本转sql模型的优化方法及*** Download PDFInfo
- Publication number
- CN113177123B CN113177123B CN202110476255.5A CN202110476255A CN113177123B CN 113177123 B CN113177123 B CN 113177123B CN 202110476255 A CN202110476255 A CN 202110476255A CN 113177123 B CN113177123 B CN 113177123B
- Authority
- CN
- China
- Prior art keywords
- node
- graph
- edge
- sql
- heterogeneous
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000005457 optimization Methods 0.000 title claims abstract description 22
- 238000010586 diagram Methods 0.000 claims abstract description 54
- 239000013598 vector Substances 0.000 claims description 14
- 238000013138 pruning Methods 0.000 claims description 9
- 230000001419 dependent effect Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 description 9
- 238000012549 training Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 241000239290 Araneae Species 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000001907 polarising light microscopy Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 241000764238 Isis Species 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Animal Behavior & Ethology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种文本转SQL模型的优化方法。该方法包括:将从文本的异构图以及异构图对应的线图中确定的关系特征输入至隐藏层;在隐藏层中,通过两个关系图注意力网络分别对节点特征和边特征迭代更新,将迭代更新后的节点特征输入至输出层;在输出层中确定对应的SQL。本发明实施例还提供一种文本转SQL模型的优化***。本发明实施例在异构图的编码任务中,通过引入异构图的线图结构,丰富语义特征,对边之间的拓扑结构进行建模,进一步提升对异构图的编码能力,同时对节点和边双向建模,使得在面对复杂的连接情况时提升性能。
Description
技术领域
本发明涉及智能语音领域,尤其涉及一种文本转SQL模型的优化方法及***。
背景技术
文本转SQL的任务旨在给定相应的数据库模式的情况下将自然语言问题转换为相应的SQL查询语句。
为了实现文本转SQL任务,通常会使用SQLNet,TypeSQL,GNNSQL,EditSQL和RATSQL等文本转SQL的模型。
这些模型都旨在将输入的自然语言文本和数据库模式一起进行联合编码,然后通过端到端的方式转化成目标输出SQL程序。数据库模式包括数据库中每一个数据表的名称、表中每一列的名称、数据表的主键的集合和数据表之间的外键连接信息。数据库中的表和列统称为模式条目(schema items),它们根据从属关系、主键、外键可以构成数据库的模式图(schema graph)。根据不同模型的编码方式,可以细分为:
(1)SQLNet在联合编码时以问句作为上下文,计算每一个模式条目的上下文向量来加强对数据库模式的编码。
(2)TypeSQL进一步地考虑每一个输入单词(包括问句和模式条目)的类型信息,比如整数、浮点数、布尔类型等,对于问句里的单词,还考虑是否和某一个模式条目在字符串形式上匹配,称之为模式链接(schema linking)。这些类型和匹配信息作为额外的输入特征向量来加强联合编码。
(3)GNNSQL考虑模式图的图连接信息,利用一个关系图卷积神经网络来加强数据库模式的编码。
(4)EditSQL在SQLNet的基础之上,进一步地以数据库模式作为上下文,计算问句中每一个单词的上下文向量,即考虑问句和模式条目之间的双向注意力。
(5)RATSQL借用机器翻译中相对位置编码的方法,对图注意力网络进行修改,考虑了不同类型的节点之间(问句、表、列)的不同关系。
在实现本发明过程中,发明人发现相关技术中至少存在如下问题:
SQLNet和EditSQL方法都只对节点的特征表示进行建模,在计算注意力时完全忽略了对节点之间关系的建模,即忽略了不同类型的边特征。
GNNSQL方法只考虑了数据库模式之间的图连接信息,没有考虑问句和数据库模式之间的语义关联信息。
TypeSQL和RATSQL方法一方面没有考虑边与边之间的结构信息,即缺少对有效元路径(meta-path)的挖掘;另一方面没有对局部和全局的关系进行区分,只是单纯地利用一个全连接图。
发明内容
为了至少解决现有技术中这些方法都忽视了有向图中边与边之间的连接信息,要么只考虑了局部的关系,要么利用一个全连接图仅考虑全局关系,忽视了对局部关系的强调的问题。
第一方面,本发明实施例提供一种文本转SQL模型的优化方法,包括:
将从文本的异构图以及所述异构图对应的线图中确定的关系特征输入至隐藏层,其中,所述关系特征至少包括:所述异构图确定的节点特征以及所述线图确定的边特征,以提升所述关系特征的语义;
在所述隐藏层中,通过两个关系图注意力网络分别对所述节点特征和所述边特征迭代更新,将迭代更新后的节点特征输入至输出层;
在所述输出层中确定对应的SQL。
第二方面,本发明实施例提供一种文本转SQL模型的优化***,包括:
关系特征输入程序模块,用于将从文本的异构图以及所述异构图对应的线图中确定的关系特征输入至隐藏层,其中,所述关系特征至少包括:所述异构图确定的节点特征以及所述线图确定的边特征,以提升所述关系特征的语义;
关系图注意力处理程序模块,用于在所述隐藏层中,通过两个关系图注意力网络分别对所述节点特征和所述边特征迭代更新,将迭代更新后的节点特征输入至输出层;
SQL确定程序模块,用于在所述输出层中确定对应的SQL。
第三方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的文本转SQL模型的优化方法的步骤。
第四方面,本发明实施例提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现本发明任一实施例的文本转SQL模型的优化方法的步骤。
本发明实施例的有益效果在于:在异构图的编码任务中,通过引入异构图的线图结构,丰富语义特征,对边之间的拓扑结构进行建模,进一步提升对异构图的编码能力,同时对节点和边双向建模,使得在面对复杂的连接情况时提升性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种文本转SQL模型的优化方法的流程图;
图2是本发明一实施例提供的一种文本转SQL模型的优化方法的线图的构造示意图;
图3是本发明一实施例提供的一种文本转SQL模型的优化方法的模型架构图;
图4是本发明一实施例提供的一种文本转SQL模型的优化方法的图剪枝示意图;
图5是本发明一实施例提供的一种文本转SQL模型的优化方法的Spider数据集的统计信息数据图;
图6是本发明一实施例提供的一种文本转SQL模型的优化方法的比较数据图;
图7是本发明一实施例提供的一种文本转SQL模型的优化方法的难度级别分类数据图;
图8是本发明一实施例提供的一种文本转SQL模型的优化方法的不同模型数据比较图;
图9是本发明一实施例提供的一种文本转SQL模型的优化方法的PLM数据比较图;
图10是本发明一实施例提供的一种文本转SQL模型的优化方法的文本转SQL示意图;
图11是本发明一实施例提供的一种文本转SQL模型的优化***的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示为本发明一实施例提供的一种文本转SQL模型的优化方法的流程图,包括如下步骤:
S11:将从文本的异构图以及所述异构图对应的线图中确定的关系特征输入至隐藏层,其中,所述关系特征至少包括:所述异构图确定的节点特征以及所述线图确定的边特征,以提升所述关系特征的语义;
S12:在所述隐藏层中,通过两个关系图注意力网络分别对所述节点特征和所述边特征迭代更新,将迭代更新后的节点特征输入至输出层;
S13:在所述输出层中确定对应的SQL。
在本实施方式中,文本转SQL是涉及异质图编码的问题,对于此类问题会挖掘出一些有效的元路径,然后基于这些元路径将原来的异质图转化为多个基于元路径的同质图,然而元路径的挖掘需要专业的知识,如果使用简单的优先搜索进行枚举删减,会随着元路径的数目随着路径长度的增长而指数***。因此,本方法通过线图模型来自适应地挖掘有效的元路径并对边特征进行更新。本方法也就是LGESQL(Line Graph Enhanced model,线图增强模型)由三部分组成:图形输入模块,线图增强型隐藏模块和图形输出模块
对于步骤S11,给定一个自然语言问题Q=(q1,q2,…,q|Q|)和相应的数据库模式S=(T,C),目标是生成一个SQL查询y。也就是说该自然语言问题就是文本转SQL中的“文本”。
表T={t1,t2,…,t|T|}和列C={c1,c2,…,c|C|}。每个表ti用它的名字来描述,并进一步由几个单词构成。类似地,我们使用单词短语/>表示列ci。此外,每个列ci还有一个类型字段/>来约束其单元格值。
从而得到文本的整个输入异构图Gn=(Vn,Rn)由上述几种类型的节点组成,即Vn={q1,q2,…,q|Q|,t1,t2,…,t|T|,c1,c2,…,c|C|}和|Vn|=|Q|+|T|+|C|。关系邻接矩阵Rn包含任意节点对之间的局部关系和非局部关系。
为了构造异构图的线图Ge=(Ve,Re),我们只利用Rn中的局部关系作为节点集Ve,以避免在目标线形图中创建过多节点。对称的,线图中每条边可以唯一对应Vn中的节点。例如,在图2中,线图中的节点e1和e2之间的边在原始图中对应着双实线的中间节点。从而通过这两个图确定图中的节点特征和边特征。简单来说,发明人考虑到线图中边之间结构中嵌入的有着丰富的语义,这对于文本到SQL任务中有着进一步的帮助。
本方法利用经典的编码器-解码器架构作为模型的骨干。编码器的目的是将输入异构图Gn映射到节点嵌入的内存中,其中d为图的隐藏大小。解码器检索这些节点嵌入并将它们转换为目标SQL查询y。
作为一种实施方式,在本实施例中,所述线图由所述异构图确定,包括:
当所述异构图中第一条边的目标节点是第二条边的源节点,且所述第一条边与所述第二条边不构成闭环时,在对应的线图中,将与所述第一条边对应的第一节点向与所述第二条边对应的第二节点有向连接。
在本实施方式中,最直白的说,就是构建异构图的线图,即节点变成边,边变成节点,从而得到原图中边之间的拓扑关系。
具体而言,当且仅当原图中边e1的目标节点刚好是另一条边e2的源节点时,且边e1和边e2不构成闭环时,在对应的线图中,有一条从节点e1到节点e2的有向边连接。该拓扑关系实质上将有效的长程关系融入到局部的边特征之中,自适应地找出对当前输入图中最有效的元路径。边的特征由其类型信息初始化后,通过线图的图注意力网络迭代更新特征,并在原图的图注意力网络中使用该不断更新的边特征。
对于步骤S12,线图增强型隐藏模块它包含L个双-关系图注意力网络层的堆栈。在每层l中,两个RGAT(relational graph attention network,关系图注意力网络)分别捕获异构图(也可以称为原图)和线图的结构。
作为一种实施方式,在本实施方式中,所述通过两个关系图注意力网络分别对所述节点特征和所述边特征迭代更新包括:
通过第一关系图注意力网络,利用所述异构图确定的节点特征对所述线图的边特征迭代,确定包括局部和非局部的第一节点特征;
通过第二关系图注意力网络,利用所述线图确定的边特征对所述异构图的节点特征迭代,确定局部节点第二节点特征;
将所述第一节点特征以及所述第二特征进行拼接,作为输出层的输入。
在本实施方式中,一个图形中的节点嵌入充当另一图形中的边特征。使用表示第1层中原始图的节点嵌入矩阵l∈{0,1,…,L-1}。至于每个节点/>的表示,我们使用/>类似地,矩阵/>和向量/>用来表示线图中的节点嵌入。类似于RATSQL,我们使用多头可缩放的点积来计算注意力权重。为了简洁起见,将整个计算公式化为一层,是两个基本模块:
Xl+1=RGATn(Xl,Gn,Zl,Znlc),
Zl+1=RGATe(Zl,Ge,Xl),
异构图的RGAT中给定以节点为中心的图Gn,第l层的输出表示由:
其中||表示向量拼接,矩阵是可训练参数,H是多头数,而FFN(.)表示前馈神经网络。/>表示节点/>的感受野,函数/>返回关系/>的d-维特征向量。运算符/>首先将向量平均分割为H个部分,然后返回第h个分区。由于存在两种类型的关系(局部和非局部),因此我们设计了两种方案以结合它们的好处:
动态和静态混合嵌入:如果是局部关系,则/>返回由线图提供的嵌入/>的节点。否则,/>直接从非局部嵌入矩阵Znlc中检索向量。每个节点的邻域函数/>返回整个节点集Vn,并且在不同的头之间共享。
多头多视图连接:另一种方法是将多头注意模块分成两部分。在一半的头中,每个节点的邻域函数只包含1跳内可达的节点。在这种情况下,/>只需要从Zl返回逐层更新的特性/>在其他头中,每个节点都可以访问局部和非局部邻居,并且ψ(·)总是返回嵌入矩阵Znlc∪Z0中的静态元素。
在两种方案中,RGAT模块对局部和非局部关系的处理是不同的,并且相对地更仔细地处理局部边特征。
线图的RGAT,在给定边中心图Ge的情况下,从得到的更新后的节点表示/>类似地进行了很小的修改:
这里返回Ge中关系/>的特征向量。由于我们只考虑线图中的局部关系,只包含1跳邻居,/>等于嵌入在边/>的Xl中的源节点。请注意,在计算注意权值时,关系特征被添加到“查询”侧,而不是“键”侧,因为关系特征与进入的边无关。例如在图3中,两条边对(1-4,4-5)和(2-4,4-5)的连接节点是索引为4的同一个节点, 为可训练参数。
最后一层L的输出矩阵为编码器的期望输出:X=XL,Z=ZL。
对上述步骤简单的来说,节点的更新通过关系图注意力网络(RGAT),同时借助该层的关系特征进行更新;并行地,对于同一层的关系特征的更新,借助另一个RGAT模块在线图上迭代,并考虑节点的特征。为了区分局部和非局部的特征,在对节点更新时,我们采用两种视角,一种只考虑局部的关系,特征由对偶的线图提供,另一种视角考虑所有关系,包括局部和非局部关系,由初始的参数矩阵来提供。这两种视角得到的节点特征拼接后经过线性层得到一次迭代后的节点特征。
对于步骤S13,输出层包括两个任务:一个解码器用于主要的文本转SQL,另一个解码器执行一个辅助任务,称为图修剪。输出的节点特征进一步地作为后续文本转SQL模块和图修建模块的内存。图修建模块旨在提高模型的判别能力,训练目标是对每一个模式条目进行二分类,判断它是否在目标SQL中被使用到,比如下图中阴影区域的模式条目在最终SQL中被使用到,它们的标签为1,其余为0。作为一种实施方式,在本实施方式中所述输出层包括:文本转SQL解码器以及图修剪模块;其中,所述图修剪模块用于提高所述文本转SQL解码器的判别能力。
在本实施方式中,我们使用下标来表示具有特定类型(例如)的节点嵌入的集合。Xq是所有输出问题节点嵌入的矩阵。
对于Text-to-SQL解码器,采用基于语法的语法神经解码器,以深度优先搜索的顺序生成目标查询y的抽象语法树(AST)。每个时间步的解码器输出要么是(1)一个应用规则动作,它在部分生成的AST中展开当前的非终结节点,要么是(2)SELECT TABLE或SELECTCOLUMN动作,它从编码的内存Xs=Xt∪Xc中选择一个模式项。
假设一个强大的编码器应该能够区分问句无关的模式项和问句相关的模式项,问句相关的模式项将用于构建目标查询模式图。在图4中,根据SQL查询,可以很容易地提取面向问题的模式子图(阴影区域上方)。c2和c5在问题中被明确提到,可以通过点积注意机制或模式链接来识别。应该根据模式图的局部结构推断出连接节点(如t1、c3、c4、t2),以形成连接组件。为了引入这种归纳偏差,我们设计了一个辅助任务,目的是根据每个模式节点与问题的相关性和模式图的局部结构,对每个模式节点进行单独分类。
具体而言,我们首先通过多头注意将问题节点嵌入序列Xq映射到一个节点固定大小的上下文向量中。
其中为网络参数。然后,使用双仿射二值分类器来判断压缩上下文向量/>和模式节点嵌入/>是否相关。
如果模式节点的基本事实标签出现在目标SQL查询中,则它的值为1。正式地,训练对象是:
从而得到对应的SQL结构化查询语言。
通过该实施方式可以看出,在异构图的编码任务中,通过引入异构图的线图结构,丰富语义特征,对边之间的拓扑结构进行建模,进一步提升对异构图的编码能力,同时对节点和边双向建模,使得在面对复杂的连接情况时提升性能。
作为一种实施方式,在本实施例中,所述关系特征在输入层中确定;
所述输入层包括上下文相关的特征提取器或GloVe词向量,用于确定异构图、线图各节点的关系特征,其中,所述节点包括:问题节点、表节点、列节点。
在本实施方式中,该模块旨在为原始图形Gn中的节点和边提供初始嵌入。初始局部边特征和非局部边特征/>直接从参数矩阵中检索。关于节点,我们可以从GLOVE词向量或诸如BERT的预训练语言模型(PLM)中获得它们的表示。
GLOVE问题Q或模式项ti∈T或ci∈C中的每个单词qi都可以通过查找嵌入字典来初始化,而不考虑上下文。然后,将这些向量分别传递到三个节点类型的双向LSTM中,以获取上下文信息。当每个疑问词qi的初始图输入时,我们将它们的向前和向后隐藏状态串联起来。对于模式项,当图形输入/>和/>时,我们将两个方向上的最后一个隐藏状态连接起来。这些节点表示被堆叠在一起以形成初始节点嵌入/>
我们按照以下顺序连接疑问词和数据库模式项:
类型信息被***到每个模式项之前(特殊类型 )。由于每个单词w都被标记为子单词,所以我们在PLM之后附加一个子单词注意池化层,以获得单词级表示。具体来说,给定PLM输出特征序列/>对于w中的每个子词/>输出表示w为
其中Vs和Ws是可训练参数。在得到词级向量后,我们还根据节点类型将它们输入到三个BiLSTMs中,得到所有节点的图输入X0。从而进一步提升模型的性能。
对本方法进行具体试验,实验设置中数据集Spider是一个大型跨域零样本文本到sql测试标记。它包含了146个数据库中的8659个训练示例,并涵盖了其他数据集的几个领域,如Restaurants,GeoQuery,Scholar,Academic,Yelp和IMDB数据集。详细统计数据见如图5所示的Spider数据集的统计信息表。我们遵循常见的实践,报告验证和测试数据集上的精确集匹配精度。测试数据集包含2147个样本,其中包含40个不可见的数据库,但不是公共可用的。我们将模型提交给挑战的组织者进行评估。
我们使用工具箱Stanza预处理问题,表名和列名,以进行标记化和词义化。我们的模型是使用Pytorch实现的,而原始图(异构图)和线图是使用库DGL构建的。在编码器中,我们使用尺寸为300的GLOVE词嵌入或预先训练的语言模型(PLM)来利用上下文信息。使用GLOVE,可以在训练期间对训练集中最频繁的50个单词的嵌入进行微调,而其余的则固定。PLM编码器的优化在分层学习速率衰减系数为0.8的情况下更加仔细地进行。模式链接策略是从RATSQL(也是我们的基准***)借来的。
超参数在编码器中,GLOVE的GNN隐藏大小d设置为256,PLM的GNN隐藏大小d设置为512。GNN层的数量L为8。在解码器中,隐藏状态的维数,动作嵌入和节点类型嵌入的维数分别设置为512、128和128。解码器LSTM的递归丢失率为0.2。多头注意中的头数为8,并且在编码器和解码器中特征的丢失率均设置为0.2。在整个实验中,我们使用带有线性预热调度程序的AdamW优化器。总训练步骤的预热比设置为0.1。批次大小设置为20,最大梯度范数为5。对于GLOVE,学习率是5e-4,权重衰减系数是1e-4;对于PLM,我们使用较小的学习率2e-5和较大的权重衰减率0.1。GLOVE和PLM的最大训练轮数均为100。
如图6所示的与现有方法的比较数据表提供了主要结果。我们提出的线图增强的文本到SQL(LGESQL)模型可以在没有预先训练的语言模型的情况下实现最新的结果。使用GLOVE,测试仪的性能从57.2%提高到62.8%,绝对性能提高了5.8%。尽管我们使用PLM在验证数据集上实现了非常高的准确性,但它在测试集上下降了7个百分点,这可能归因于对基本系列预训练模型对未见领域的有限泛化能力。最新的先进方法都可以利用更大的PLM,量身定制的预训练任务以及更多无标注任务相关自适应数据的优势。我们的模型与这些方法平行且互补。将来,我们将在这些大型PLM上进行试验。
更进一步,我们将模型的更细粒度的性能与按如图7所示的难度级别分类的基线***RATSQL进行了比较。我们观察到,无论采用什么方法,LGESQL在验证和测试数据集中的所有细分中都超过RATSQL。PLM,尤其是中等和困难级别。通过利用线图中边之间的结构关系,可以验证我们模型的优越性。
RGAT是我们的基准***,其中未使用线图。可以将其视为具有特定基于语法的解码器的RAT的变体。如图8所示的不同模型数据图中,我们可以发现:(1)如果删除了非局部关系或元路径(不带NLC),性能将降低2点。但是,仅具有局部关系的LGESQL仍然优于具有所有关系的RGAT的性能(65.8%与65.7%相比)。即通过利用边之间的结构,线图可以在某种程度上捕获远程关系。(2)由于局部关系对结构推断更为关键,因此图修剪任务在LGESQL中的贡献(+1.4%)比在RGAT中的贡献(+0.3%)多。(3)结合局部和非局部关系的两种策略(MMC和MDaSE)都有利于LGESQL的最终结果(分别增长1.8%和1.3%)。但是,将图表的不同视图(带有MMC)合并到多头注意力中时,RGAT的性能甚至下降了一点(0.9分)。它证实了应该区别对待局部和非局部关系的假设。
如图9所示的不同plm的研究数据表中分析了不同的预训练语言模型的影响。出于速度和GPU内存的考虑,我们仅比较了两个基本系列PLM,即基于bert的无大小写和基于ELECTRA的区分器。从总体结果中,我们可以看到:(1)通过将线图纳入计算,LGESQL在使用不同的PLM方面优于基线模型RGAT,这进一步证明了对边特征进行显式建模的有效性。(2)无论上层GNN架构如何,ELECTRA模型都比BERT更好。我们猜测其原因是,ELECTRA已通过量身定制的二分类任务进行了预训练,该任务旨在判别在给定上下文中输入单词是否被替换。从本质上讲,这种自监督的任务类似于提出的图修剪任务,该任务着重于增强编码器的判别能力。
在如图10中,我们将LGESQL模型生成的SQL查询与基线模型RGAT创建的SQL查询进行了比较。我们注意到LGESQL比基线***性能更好,特别是在涉及多个表的JOIN操作的示例上。例如,在第二种包括三个表的连接的情况下,RGAT未能查明表“飞行(flight)”的存在。因此,无法预测目的地城市的WHERE条件,只是重复工作。在第三种情况下,我们的LGESQL仍然通过将表“template”链接到“documents”成功地构造了一个连接的模式子图,而RGAT模型再次忽略了“documents”的出现。
在本方法中,我们利用线图来更新异构图中的边特征,以执行文本转SQL的任务。通过线图中结构连接的迭代,局部边可以合并多个关系特征并捕获重要的元路径。通过进一步集成非局部关系,编码器可以从多个视图中学习并通过捷径访问远程节点。
如图11所示为本发明一实施例提供的一种文本转SQL模型的优化***的结构示意图,该***可执行上述任意实施例所述的文本转SQL模型的优化方法,并配置在终端中。
本实施例提供的一种文本转SQL模型的优化***10包括:关系特征输入程序模块11,关系图注意力处理程序模块12和SQL确定程序模块13。
其中,关系特征输入程序模块11用于将从文本的异构图以及所述异构图对应的线图中确定的关系特征输入至隐藏层,其中,所述关系特征至少包括:所述异构图确定的节点特征以及所述线图确定的边特征,以提升所述关系特征的语义;关系图注意力处理程序模块12用于在所述隐藏层中,通过两个关系图注意力网络分别对所述节点特征和所述边特征迭代更新,将迭代更新后的节点特征输入至输出层;SQL确定程序模块13用于在所述输出层中确定对应的SQL。
进一步地,所述线图由所述异构图确定,当所述异构图中第一条边的目标节点是第二条边的源节点,且所述第一条边与所述第二条边不构成闭环时,在对应的线图中,将与所述第一条边对应的第一节点向与所述第二条边对应的第二节点有向连接。
进一步地,所述关系图注意力处理程序模块用于:
通过第一关系图注意力网络,利用所述异构图确定的节点特征对所述线图的边特征迭代,确定包括局部和非局部的第一节点特征;
通过第二关系图注意力网络,利用所述线图确定的边特征对所述异构图的节点特征迭代,确定局部节点第二节点特征;
将所述第一节点特征以及所述第二特征进行拼接,作为输出层的输入。
本发明实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的文本转SQL模型的优化方法;
作为一种实施方式,本发明的非易失性计算机存储介质存储有计算机可执行指令,计算机可执行指令设置为:
将从文本的异构图以及所述异构图对应的线图中确定的关系特征输入至隐藏层,其中,所述关系特征至少包括:所述异构图确定的节点特征以及所述线图确定的边特征,以提升所述关系特征的语义;
在所述隐藏层中,通过两个关系图注意力网络分别对所述节点特征和所述边特征迭代更新,将迭代更新后的节点特征输入至输出层;
在所述输出层中确定对应的SQL。
作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的方法对应的程序指令/模块。一个或者多个程序指令存储在非易失性计算机可读存储介质中,当被处理器执行时,执行上述任意方法实施例中的文本转SQL模型的优化方法。
非易失性计算机可读存储介质可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据装置的使用所创建的数据等。此外,非易失性计算机可读存储介质可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,非易失性计算机可读存储介质可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的文本转SQL模型的优化方法的步骤。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如平板电脑。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器,掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)其他具有数据处理功能的电子装置。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种文本转SQL模型的优化方法,包括:
基于异构图构造对应的线图,当所述异构图中第一条边的目标节点是第二条边的源节点,且所述第一条边与所述第二条边不构成闭环时,在对应的线图中,将与所述第一条边对应的第一节点向与所述第二条边对应的第二节点有向连接,将所述异构图以及所述线图的关系特征输入至隐藏层,其中,所述关系特征至少包括:所述异构图确定的节点特征以及所述线图确定的边特征,以提升所述关系特征的语义;
在所述隐藏层中,通过第一关系图注意力网络,利用所述异构图确定的节点特征对所述线图的边特征迭代,确定包括局部和非局部的第一节点特征,通过第二关系图注意力网络,利用所述线图确定的边特征对所述异构图的节点特征迭代,确定局部节点第二节点特征,将所述第一节点特征以及所述第二节点特征进行拼接输入至输出层;
在所述输出层中确定对应的SQL。
2.根据权利要求1所述的方法,其中,所述输出层包括:文本转SQL解码器以及图修剪模块;
其中,所述图修剪模块用于提高所述文本转SQL解码器的判别能力。
3.根据权利要求1所述的方法,其中,所述关系特征在输入层中确定;
所述输入层包括上下文相关的特征提取器或GloVe词向量,用于确定异构图、线图各节点的关系特征,其中,所述节点包括:问题节点、表节点、列节点。
4.一种文本转SQL模型的优化***,包括:
关系特征输入程序模块,用于基于异构图构造对应的线图,当所述异构图中第一条边的目标节点是第二条边的源节点,且所述第一条边与所述第二条边不构成闭环时,在对应的线图中,将与所述第一条边对应的第一节点向与所述第二条边对应的第二节点有向连接,将所述异构图以及所述线图的关系特征输入至隐藏层,其中,所述关系特征至少包括:所述异构图确定的节点特征以及所述线图确定的边特征,以提升所述关系特征的语义;
关系图注意力处理程序模块,用于在所述隐藏层中,通过第一关系图注意力网络,利用所述异构图确定的节点特征对所述线图的边特征迭代,确定包括局部和非局部的第一节点特征,通过第二关系图注意力网络,利用所述线图确定的边特征对所述异构图的节点特征迭代,确定局部节点第二节点特征,将所述第一节点特征以及所述第二节点特征进行拼接输入至输出层;
SQL确定程序模块,用于在所述输出层中确定对应的SQL。
5.一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-3中任一项所述方法的步骤。
6.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-3中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110476255.5A CN113177123B (zh) | 2021-04-29 | 2021-04-29 | 文本转sql模型的优化方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110476255.5A CN113177123B (zh) | 2021-04-29 | 2021-04-29 | 文本转sql模型的优化方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113177123A CN113177123A (zh) | 2021-07-27 |
CN113177123B true CN113177123B (zh) | 2023-11-17 |
Family
ID=76925393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110476255.5A Active CN113177123B (zh) | 2021-04-29 | 2021-04-29 | 文本转sql模型的优化方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113177123B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579605B (zh) * | 2022-04-26 | 2022-08-09 | 阿里巴巴达摩院(杭州)科技有限公司 | 表格问答数据处理方法、电子设备及计算机存储介质 |
CN114996294A (zh) * | 2022-05-26 | 2022-09-02 | 阿里巴巴(中国)有限公司 | 回复生成方法、电子设备及计算机存储介质 |
CN117827882A (zh) * | 2024-01-04 | 2024-04-05 | 北京新数科技有限公司 | 一种基于深度学习的金融数据库sql质量评分方法、***、设备和可存储介质 |
CN118093641B (zh) * | 2024-04-29 | 2024-06-25 | 创意信息技术股份有限公司 | 一种基于因果推断的自然语言转sql查询语句方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111104423A (zh) * | 2019-12-18 | 2020-05-05 | 北京百度网讯科技有限公司 | Sql语句生成方法、装置、电子设备和存储介质 |
CN111291573A (zh) * | 2020-01-21 | 2020-06-16 | 高小翎 | 有向图意义导向模型驱动的短语语义挖掘方法 |
CN111581229A (zh) * | 2020-03-25 | 2020-08-25 | 平安科技(深圳)有限公司 | Sql语句的生成方法、装置、计算机设备及存储介质 |
CN111813802A (zh) * | 2020-09-11 | 2020-10-23 | 杭州量之智能科技有限公司 | 一种基于自然语言生成结构化查询语句的方法 |
CN111831626A (zh) * | 2020-07-16 | 2020-10-27 | 平安科技(深圳)有限公司 | 数据库逻辑关系的图结构生成方法、数据查询方法及装置 |
CN112487020A (zh) * | 2020-12-18 | 2021-03-12 | 苏州思必驰信息科技有限公司 | 用于SQL to text的图到自然语言语句的转换方法及*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7725307B2 (en) * | 1999-11-12 | 2010-05-25 | Phoenix Solutions, Inc. | Query engine for processing voice based queries including semantic decoding |
US20180025093A1 (en) * | 2016-07-21 | 2018-01-25 | Ayasdi, Inc. | Query capabilities of topological data analysis graphs |
FR3102276A1 (fr) * | 2019-10-17 | 2021-04-23 | Amadeus | Procedes et systemes pour résumer des document multiples en utilisant une approche d’apprentissage automatique |
-
2021
- 2021-04-29 CN CN202110476255.5A patent/CN113177123B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111104423A (zh) * | 2019-12-18 | 2020-05-05 | 北京百度网讯科技有限公司 | Sql语句生成方法、装置、电子设备和存储介质 |
CN111291573A (zh) * | 2020-01-21 | 2020-06-16 | 高小翎 | 有向图意义导向模型驱动的短语语义挖掘方法 |
CN111581229A (zh) * | 2020-03-25 | 2020-08-25 | 平安科技(深圳)有限公司 | Sql语句的生成方法、装置、计算机设备及存储介质 |
CN111831626A (zh) * | 2020-07-16 | 2020-10-27 | 平安科技(深圳)有限公司 | 数据库逻辑关系的图结构生成方法、数据查询方法及装置 |
CN111813802A (zh) * | 2020-09-11 | 2020-10-23 | 杭州量之智能科技有限公司 | 一种基于自然语言生成结构化查询语句的方法 |
CN112487020A (zh) * | 2020-12-18 | 2021-03-12 | 苏州思必驰信息科技有限公司 | 用于SQL to text的图到自然语言语句的转换方法及*** |
Non-Patent Citations (1)
Title |
---|
一种基于BERT的中文NL2SQL模型;张琰;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113177123A (zh) | 2021-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113177123B (zh) | 文本转sql模型的优化方法及*** | |
Ling et al. | Deep graph matching and searching for semantic code retrieval | |
CN106295796B (zh) | 基于深度学习的实体链接方法 | |
CN110377903B (zh) | 一种句子级实体和关系联合抽取方法 | |
CN112100351A (zh) | 一种通过问题生成数据集构建智能问答***的方法及设备 | |
CN113360915B (zh) | 基于源代码图表示学习的智能合约多漏洞检测方法及*** | |
US20210232948A1 (en) | Question responding apparatus, question responding method and program | |
US20140108305A1 (en) | Ranking for inductive synthesis of string transformations | |
CN108604311B (zh) | 利用层级式外部存储器的增强神经网络 | |
US20210018332A1 (en) | Poi name matching method, apparatus, device and storage medium | |
CN110245238B (zh) | 基于规则推理和句法模式的图嵌入方法及*** | |
CN113377930B (zh) | 面向中文短文本的实体识别与实体链接方法 | |
CN111062214B (zh) | 基于深度学习的集成实体链接方法及*** | |
CN111767325A (zh) | 基于深度学习的多源数据深度融合方法 | |
CN113535897A (zh) | 一种基于句法关系和意见词分布的细粒度情感分析方法 | |
CN114510946B (zh) | 基于深度神经网络的中文命名实体识别方法及*** | |
CN113962228A (zh) | 一种基于记忆网络语义融合的长文档检索方法 | |
CN112417170B (zh) | 面向不完备知识图谱的关系链接方法 | |
CN111950298B (zh) | Bert模型的优化方法及*** | |
CN114372454A (zh) | 文本信息抽取方法、模型训练方法、装置及存储介质 | |
CN114579605B (zh) | 表格问答数据处理方法、电子设备及计算机存储介质 | |
CN116680407A (zh) | 一种知识图谱的构建方法及装置 | |
CN111382333A (zh) | 基于案件相关性联合学习与图卷积的新闻文本句中案件要素抽取方法 | |
CN116595125A (zh) | 一种基于知识图检索的开放域问答方法 | |
CN103514194B (zh) | 确定语料与实体的相关性的方法和装置及分类器训练方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |