一种基于图神经网络的制造技术

技术编号:39802529 阅读:11 留言:0更新日期:2023-12-22 02:33
本发明专利技术涉及自然语言处理技术领域,具体涉及一种基于图神经网络的

【技术实现步骤摘要】
一种基于图神经网络的NL2SQL生成方法


[0001]本专利技术涉及自然语言处理
,具体涉及一种基于图神经网络的
NL2SQL
生成方法


技术介绍

[0002]在数字革命的时代,数据已经成为驱动几乎所有人类活动不可或缺的必需品,目前数据通常存储在关系数据库系统中,而要在数据库中的表中搜索信息则必须了解
SQL
,这对专业技能要求很高,普通用户很难做到,缺乏
SQL
知识的用户很难访问和搜索数据库中的信息

[0003]近年来,基于自然语言到
SQL(NL2SQL)
的问答系统已成为一个研究热点
。NL2SQL
可以分为两个研究方向
:(1)
基于规则模板的方法,即根据常见的
SQL
语法对自然语言进行分类,并将不同的类别与之匹配
SQL
模板,该方法需要人工总结经验,并且时间成本高;此外,随着应用场景的切换,现有模板往往难以满足需求,移动性差;
(2)
基于深度学习的方法,采用神经网络进行端到端实现;该方法具有精度高

适应性强等优点,越来越受到工业界的重视

[0004]然而与广泛开展的英语
NL2SQL
任务研究相比,中文
NL2SQL
任务的研究更为复杂,现有工作较少,而且大多集中在简单的
SQL
语句上

中文
NL2SQL
任务的难点在于中文问题中没有分词,因此歧义的概率很高

此外,汉语中同义词较多,表达方式也更加多样化,这进一步增加了机器理解的难度

在实践中,数据库中存储的表和列的名称通常是用英文存储的,这使得从中文自然语言表达式中推断它们所指的表和列变得更加困难

[0005]因此,本专利技术提供了一种基于图神经网络的
NL2SQL
生成方法,以至少解决上述部分技术问题


技术实现思路

[0006]本专利技术要解决的技术问题是:提供一种基于图神经网络的
NL2SQL
生成方法,以至少解决上述部分技术问题

[0007]为实现上述目的,本专利技术采用的技术方案如下:一种基于图神经网络的
NL2SQL
生成方法,包括以下步骤:步骤
1、
基于自然语言问题和数据库项得到输入序列,采用上下文编码器对输入序列进行编码得到图网络中节点的输出向量矩阵;步骤
2、
构建问题和数据库的交互规则,并基于自然语言问题中的单词

数据库项的数据列名和数据表名得到图的节点集合;步骤
3、
根据问题和数据库的交互规则得到图的节点集合中任一节点与另一节点的边关系向量,将边关系向量作为相对位置进行编码,计算任一节点的向量表示;步骤
4、
基于
AST
语法树和节点的向量表示,采用
LSTM
网络作为解码器对图网络中节点的输出向量矩阵进行解码,计算预测结果

[0008]进一步地,所述步骤1包括:步骤
11、
将自然语言问题
Q、
包括数据列名和数据表名的数据库项
S
压缩成一个输入序列
P
,并且采用令牌表示序列开始

序列结束和序列间隔;步骤
12、
采用上下文编码器对输入序列
P
进行编码,上下文编码器使用
mBART
预训练语言模型作为主干网络,图网络中节点的输出向量矩阵
X
为:;,数据库项,
C
是数据列名合集,
R
是实数集合,,其中每个数据列名包括个中文字符;
T
是数据表名合集,,其中每个数据表名包括个中文字符,;
d
是图隐藏层的特征维度;
|Q|
表示自然语言问题
Q
中的单词数,代表自然语言问题
Q
中第
i
个单词的初始化图网络节点向量表示;
|T|
表示数据表的数量;表示第
i
个数据表名初始化图网络节点向量表示;表示第
i
个数据表中第
j
个数据列名图网络节点向量表示

[0009]进一步地,在所述步骤2中,由自然语言问题中的单词和数据库项的数据列名和数据表名得到图的节点集合
G = (V, Rel)
,自然语言问题中的单词和数据库项的数据列名和数据表名以字符的形式标注得到
V = Q∪T∪C

Q
表示自然语言问题,
T
是数据表名合集,
C
是数据列名合集,
Rel
是问题和数据库的交互规则

[0010]进一步地,在所述步骤2中,问题和数据库的交互规则包括任意两节点和两节点的关系,节点包括任一自然语言问题

数据列和数据表,关系类型包括两数据列是否同表

两数据表是否包含相同主键

数据列是否是数据表的主键

数据表是否包含数据列

自然语言问题是否与数据列或数据表有关联

两自然语言问题同义或独立

[0011]进一步地,在所述步骤3中,图的任意节点
i
与另一节点
j
之间的边关系向量,其中是一个可训练向量,
t
表示节点
i
与节点
j
之间的第
t
种关系类型,是关系类型的总数

[0012]进一步地,在所述步骤3中,采用图编码器对边关系向量进行编码,图编码器使用关系图注意力网络

[0013]进一步地,关系图注意力网络的编码包括:步骤
a、
将边关系向量作为相对位置编码,得到节点
i
与节点
j
之间的相似度矩阵,,是图隐藏层的特征维度,是两个可训练的参数矩阵,与分别是步骤1中节点
i
和节点
j
的输出向量;步骤
b、
将节点
i
与节点
j
之间的相似度矩阵归一化得到归一化后的相似度矩阵,;步骤
c、
基于归一化后的相似度矩阵得到节点
i
的向量表示,,是一个可训练的参数矩阵,
n
是节点
i
对应的邻居数

[0014]进一步地,在所述步骤4中,解码器的
LSTM
细胞状态的更新为:,是
LSTM
网络的更新本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于图神经网络的
NL2SQL
生成方法,其特征在于,包括以下步骤:步骤
1、
基于自然语言问题和数据库项得到输入序列,采用上下文编码器对输入序列进行编码得到图网络中节点的输出向量矩阵;步骤
2、
构建问题和数据库的交互规则,并基于自然语言问题中的单词

数据库项的数据列名和数据表名得到图的节点集合;步骤
3、
根据问题和数据库的交互规则得到图的节点集合中任一节点与另一节点的边关系向量,将边关系向量作为相对位置进行编码,计算任一节点的向量表示;步骤
4、
基于
AST
语法树和节点的向量表示,采用
LSTM
网络作为解码器对图网络中节点的输出向量矩阵进行解码,计算预测结果
。2.
根据权利要求1所述的一种基于图神经网络的
NL2SQL
生成方法,其特征在于,所述步骤1包括:步骤
11、
将自然语言问题
Q、
包括数据列名和数据表名的数据库项
S
压缩成一个输入序列
P
,并且采用令牌表示序列开始

序列结束和序列间隔;步骤
12、
采用上下文编码器对输入序列
P
进行编码,上下文编码器使用
mBART
预训练语言模型作为主干网络,图网络中节点的输出向量矩阵
X
为:;,数据库项,
C
是数据列名合集,
R
是实数集合,,其中每个数据列名包括个中文字符;
T
是数据表名合集,,其中每个数据表名包括个中文字符,;
d
是图隐藏层的特征维度;
|Q|
表示自然语言问题
Q
中的单词数,代表自然语言问题
Q
中第
i
个单词的初始化图网络节点向量表示;
|T|
表示数据表的数量;表示第
i
个数据表名初始化图网络节点向量表示;表示第
i
个数据表中第
j
个数据列名图网络节点向量表示
。3.
根据权利要求1所述的一种基于图神经网络的
NL2SQL
生成方法,其特征在于,在所述步骤2中,由自然语言问题中的单词和数据库项的数据列名和数据表名得到图的节点集合
G = (V, Rel)
,自然语言问题中的单词和数据库项的数据列名和数据表名以字符的形式标注得到
V = Q∪T∪C

Q
表示自然语言问题,
T
是数据表名合集,
C
是数据列名合集,
Rel
是问题和数据库的交互规则
。4.
根据权利要求1所述的一种基于图神经网络的
NL2SQL
生成方法,其特征在于,在所述步骤2中,问题和数据库的交互规则包括任意两节点和两节点的关系,节点包括任一自然语言问题

数据列和数据表,关系类型包括两数据列是否同表

...

【专利技术属性】
技术研发人员:谷满昌
申请(专利权)人:云筑信息科技成都有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1