(19)中华 人民共和国 国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202111590986.9
(22)申请日 2021.12.23
(71)申请人 北京尘锋信息技 术有限公司
地址 100020 北京市朝阳区安 立路78、 80号
05层501内506室
(72)发明人 赵继帆 张杨
(74)专利代理 机构 北京东灵通专利代理事务所
(普通合伙) 61242
代理人 李金豹
(51)Int.Cl.
G06F 16/242(2019.01)
G06F 16/2453(2019.01)
G06N 20/00(2019.01)
(54)发明名称
一种基于深度学习的N L2SQ解析方法
(57)摘要
本发明属于智能搜索技术领域, 尤其是一种
基于深度学习的NL2SQ解析方法, 现提出以下方
案, 包括NL2SQL解析模型, 所述NL2SQL解析模型
包括有编码器, 且编码器为NLP预训练模型, 所述
NL2SQL解析模型构建了适配于NL2SQL任务的网
络架构, 且 NL2SQL解析模型将公开数据与自标注
数据进行标注格式进行了统一。 本发 明通过模型
输入添加[SEL]、 [GRP]、 [ORD], 特殊标记用以辅
助模型解析的方法、 模型的两次计算架构、 两次
预测之间的信息融合方式, 设置的网络架构不限
于源数据形式, 当数据改变时, 不需要变动网络
结构, 该网络架构基本包含了SQL的所有基础语
法, 覆盖更广, 更符合 落地需求。
权利要求书2页 说明书5页 附图1页
CN 114253994 A
2022.03.29
CN 114253994 A
1.一种基于深度学习的NL2SQ解析方法, 包括NL2SQL解析模型, 所述NL2SQL解析模型包
括有编码器, 且编码器为NLP预训练模 型, 所述NL2SQL解析模 型构建了适配于NL2SQL任务的
网络架构, 且NL2SQL解析模型将公开数据与自标注数据进行标注格式进行了统一, 统一后
的格式具体为:
a).questi on为查询的Query;
b).select中的元 素为Query目标SQ L中SELECT后的列名;
c).agg为select中列名对应的聚合 函数;
d).cond_op为Query目标SQ L中WHERE多条件的连接符;
e).conds为Query目标SQL中WHERE条件, 形式为[ ”表列名”,“列条件操作符 ”,“列筛选
值”];
f).order为 Query目标SQ L中的排序表列, “desc”为降序, 默认为升序;
g).group为 Query目标SQ L中分组操作 列;
h).limit为Query目标SQ L中限制操作 列;
i).table_id为 Query目标SQ L中涉及的数据表id。
2.根据权利要求1所述的一种基于深度学习的NL2SQ解析方法, 将每条所述自标注数据
进行格式化, 构成模型的标准输入形式, [CLS]、 [SEP]是预训练模型的标注输入, [SEL]、
[GRP]、 [ORD]分别是SELECT、 GROUP、 ORDER的特殊标记, 是所述Query经过预训练模型分词 后
的第i个token, [TCC]、 [TBT]为每一个表列名添加的特殊标记, 分别用来捕获列名的语意以
及添加列的数据类型信息, 是第j个表列经 过训练模型分词后的第k个to ken。
3.根据权利 要求2所述的一种基于深度学习的NL2SQ解析方法, 对每条数据经过BERT编
码后, 得到每个token的编码, 从这些token中取出所有对应的编码, 作为是否出现在最后
SQL语句中的判断依据;
训练时, 在这些to ken的编码上接一层F FN来做分类任务计算损失;
推断时, 当该 FFN的sigmo id值大于 0.5时, 则进行到最后的SQ L语句中, 反 之, 不进入。
4.根据权利要求3所述的一种基于深度学习的NL2SQ解析方法, 经过所述SQL语句中的
判断依据的判断后, 会有多个列被选入最后的SQL中, 为了继续判定这些选中列在最后SQL
的作用, 将对应的编码结果和文字描述经过LSTM编码后的向量以相加, 通过标准化条件将
该信息注入到所述SQL语句中的判断依据中token的编码中, 并将列对应的编码结果与所述
SQL语句中的判断依据中所有token编码进行哈达姆乘积并和经过标准化条件注入后t oken
编码进行 连接, 作为下一 步预测的编码结果。
5.根据权利要求4所述的一种基于深度学习的NL2SQ解析方法, 所述SQL语句中的判断
依据中被选中的列可以是SELECT、 WHERE、 GROUP、 ORDER中任一结构, 并且不同的结构后面会
有不同操作符, 将结构及其的操作进行合并, 为兼容WHERE结构后面的列筛选值是Query中
连续token,采用首尾指针的方式对每一个token进行分类, 对于则将首尾指针标记为同样
的位置, 训练时, 将所有列及列数据类型 标记MASK掉, 不计入损失。
6.根据权利要求5所述的一种基于深度学习的NL2SQ解析方法, 当所述WHERE出现多个
筛选条件时, 这些 条件的连接符通过[CLS]的编码结果接F FN进行分类。
7.根据权利要求6所述的一种基于深度学习的NL2SQ解析方法, 训练时, 所述token都是
分类任务, 且类别会出现长尾分布, 采用FocalLoss作为损失函数, 并对多个子任务联合训权 利 要 求 书 1/2 页
2
CN 114253994 A
2练。
8.根据权利要求7所述的一种基于深度学习的NL2SQ解析方法, 在预测时, 模型输入目
标SQL的各个结构部分, 通过 该结构解析成最终的目标SQ L。权 利 要 求 书 2/2 页
3
CN 114253994 A
3
专利 一种基于深度学习的NL2SQ解析方法
文档预览
中文文档
9 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共9页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 23:14:31上传分享