【技术实现步骤摘要】
一种基于图神经网络的NL2SQL生成方法
[0001]本专利技术涉及自然语言处理
,具体涉及一种基于图神经网络的
NL2SQL
生成方法
。
技术介绍
[0002]在数字革命的时代,数据已经成为驱动几乎所有人类活动不可或缺的必需品,目前数据通常存储在关系数据库系统中,而要在数据库中的表中搜索信息则必须了解
SQL
,这对专业技能要求很高,普通用户很难做到,缺乏
SQL
知识的用户很难访问和搜索数据库中的信息
。
[0003]近年来,基于自然语言到
SQL(NL2SQL)
的问答系统已成为一个研究热点
。NL2SQL
可以分为两个研究方向
:(1)
基于规则模板的方法,即根据常见的
SQL
语法对自然语言进行分类,并将不同的类别与之匹配
SQL
模板,该方法需要人工总结经验,并且时间成本高;此外,随着应用场景的切换,现有模板往往难以满足需求,移动性差;
(2)
基于深度学习的方法,采用神经网络进行端到端实现;该方法具有精度高
、
适应性强等优点,越来越受到工业界的重视
。
[0004]然而与广泛开展的英语
NL2SQL
任务研究相比,中文
NL2SQL
任务的研究更为复杂,现有工作较少,而且大多集中在简单的
SQL
语句上
。
中文
NL2SQL ...
【技术保护点】
【技术特征摘要】
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中,问题和数据库的交互规则包括任意两节点和两节点的关系,节点包括任一自然语言问题
、
数据列和数据表,关系类型包括两数据列是否同表
、
...
【专利技术属性】
技术研发人员:谷满昌,
申请(专利权)人:云筑信息科技成都有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。