[发明专利]基于多视角特征解耦的NL2SQL方法和装置在审
申请号: | 202210405166.6 | 申请日: | 2022-04-18 |
公开(公告)号: | CN114969087A | 公开(公告)日: | 2022-08-30 |
发明(设计)人: | 龙玲莉;祝永晋;李剑;孔峥;李昆明;邵俊;陈公海;于广荣;杨勤胜;林涛;谢伟;曹卫青;张旭;周德宇 | 申请(专利权)人: | 江苏方天电力技术有限公司;东南大学 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2458;G06F8/30 |
代理公司: | 南京众联专利代理有限公司 32206 | 代理人: | 许小莉 |
地址: | 211100 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 视角 特征 nl2sql 方法 装置 | ||
1.一种基于多视角特征解耦的NL2SQL方法,其特征在于,该方法包括以下步骤:
S1.构建NL2SQL知识库,利用用户的查询问题,人工编写SQL查询语句,构造由查询问题、SQL查询语句以及表结构一一对应的数据条目,形成NL2SQL知识库;
S2.构建NL2SQL数据集,对于每个问题,在NL2SQL知识库中每一个问题都有一个与之配对的SQL查询语句以及数据库表结构,根据NL2SQL知识库划分训练集、验证集以及测试集;
S3.构建NL2SQL模型,依次构建输入层、构建SELECT部分编码模型、构建WHERE部分编码模型、构建SELECT+WHERE部分编码模型、构建不同任务多视角解耦层、构建不同子任务预测层;
S4.NL2SQL模型训练,用步骤S2得到的训练集对步骤S3构建的NL2SQL模型进行训练,从而构建损失函数,构建优化函数。
2.根据权利要求1所述的基于多视角特征解耦的NL2SQL方法,其特征在于,步骤S3中所述构建输入层具体为:
输入层分别从NL2SQL数据集中获取用户问题、表结构,将其形式化为:Input;所述输入层采用BERT的输入,由三部分组成:词嵌入(Token Embedding)、片段嵌入(SegmentEmbedding)、位置嵌入(Position Embedding),将这三个向量相加即可得到句子中每个词的输入向量,将句子中每个词的输入向量组合成矩阵,就是句子的输入;BERT的输入进行若干次多头注意力机制、层归一化以及前馈网络层之后得到输出:
E=BERT(Input)
针对矩阵E定义分类概率分布Pc的计算公式:
Pc(E)=Softmax(Wtanh(E))
W表示的是可训练的参数,tanh是机器学习中一种常见的激活函数,用softmax函数对向量中所有数值进行归一化处理,并将其转化成概率值,经过归一化处理后的数值总和为1。
3.根据权利要求2所述的基于多视角特征解耦的NL2SQL方法,其特征在于:步骤S3中所述构建SELECT部分编码模型具体为:
SELECT编码模型的优化目标只包含SELECT部分的子任务SELECT-COL以及SELECT-AGG(SELECT COUNT(*))(SQL中SELECT部分),使用BERT进行编码的到相应的文本表示ES;
根据ES预测列名SELECT-COL,取值范围为当前数据表中的所有列名,Wscol为SELECT-COL预测模块的权重,SELECT-COL预测模块的分类概率分布公式如下:
在选定使用的列名COL后,还需要预测列名对应的聚合操作SELECT-AGG,取值范围为{“NONE”,“MAX”,“MIN”,“COUNT”,“SUM”,“AVG”},Wsagg为为SELECT-AGG预测模块的权重:
其中,为SELECT-AGG预测模块的概率分布。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏方天电力技术有限公司;东南大学,未经江苏方天电力技术有限公司;东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210405166.6/1.html,转载请声明来源钻瓜专利网。