(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211131620.X
(22)申请日 2022.09.15
(71)申请人 云南大学
地址 650091 云南省昆明市五华区翠湖北
路2号
(72)发明人 张璇 杜鲲鹏 高宸 王基书
梁玉琴 王旭 李林育 马雨彬
农琼
(74)专利代理 机构 昆明金科智诚知识产权代理
事务所(普通 合伙) 53216
专利代理师 胡亚兰
(51)Int.Cl.
G06F 16/332(2019.01)
G06F 16/33(2019.01)
G06F 16/35(2019.01)G06F 16/28(2019.01)
G06F 40/126(2020.01)
G06F 40/205(2020.01)
G06F 40/30(2020.01)
(54)发明名称
联合语义解析和语义成分匹配的NL2SQL的
方法
(57)摘要
本发明提供了一种联合语义解析和语义成
分匹配的NL2SQL的方法, 包 括以下步骤: S1、 数据
预处理: S2、 联合语义槽填充与聚集函数识别, 包
括: S21、 对自然语言查询问题Question进行编
码; S22、 基于S21的结果, 预测聚集函数类型、 操
作符类型, 同时对列字段进行预测; S23、 对聚集
函数类型预测任务、 操作符类型预测任务与列字
段预测任务的目标函数进行联合 建模, 以得到聚
集函数类型值、 操作符类型以及列字段标签列
表; S3、 构建语义候选对; S4、 语义成分匹配。 解决
了大宽表的形式下的标注任务繁重、 现有方法迁
移能力差、 不同企业业务场景下通用性不够、 以
及常规的流水线的方法过于复杂、 数据库表字段
编码繁琐等问题。
权利要求书3页 说明书9页 附图4页
CN 115408506 A
2022.11.29
CN 115408506 A
1.一种联合语义 解析和语义成分匹配的N L2SQL的方法, 其特 征在于, 包括以下步骤:
S1、 数据预处理: 根据 给定的标注语料与表结构中的列字段类型标签集合、 聚集函数类
型的标签集合、 操作符类型标签集, 对自然语言查询问题进 行标签序列标注、 聚集函数类型
标注、 操作符类型 标注;
S2、 联合语义槽填充与聚集 函数识别, 包括以下步骤:
S21、 对自然语言查询问题Questi on进行编码;
S22、 基于S21的结果, 预测聚集 函数类型、 操作符类型, 同时对列字段进行 预测;
S23、 对聚集函数类型预测任务、 操作符类型预测任务与列字段预测任务的目标函数进
行联合建模, 以得到聚集 函数类型值、 操作符类型以及列字段 标签列表;
S3、 构建语义候选对: 对S2输出中的操作符类型与 “列名‑值”二元组进行两两组合, 得
到候选的三元 组, 进而获得G组候选组合, 再将自然语 言查询问题Qu estion和候选组合相组
合, 得到候选序列;
S4、 语义成分匹配: 对S3得到的候选序列进行分类, 将S2输出的聚集函数类型值和分类
后标记为‘1’的对应序列进行组合, 得到伪SQ L形式的输出。
2.根据权利要求1所述的一种联合语义解析和语义成分匹配的NL2SQL的方法, 其特征
在于, 所述S1包括下述处 理过程:
(1)Question标签序列标注: 将Question标签序列中每个元素标注为 “B‑X”、“I‑X”或者
“O”; 其中“B‑X”表示此元素所在的片段属于X类型并且此元素在此片段的开头; “I‑X”表示
此元素所在的片段属于X类型并且此元素在此片段的中间位置; “O”表示不属于任何类型,
标注时的标签为列字段类型 标签集合中的标签之一;
(2)标注Question所属的聚集函数类型: 对于聚集函数类型标签集合, 需要对数据 集中
每个Questi on示例标注聚集 函数类型 标签集合中的标签之一;
(3)标注Question涉及的操作符类 型: 对于操作符类型标签集O=[o1,o2,…,oi,…,ob],
需要对b个操作符标签进行分类, 分类结果与这b个标签一一对应, ‘1’表示Question涉及该
操作符,‘0’则反之。
3.根据权利要求1所述的一种联合语义解析和语义成分匹配的NL2SQL的方法, 其特征
在于, 所述S21包括以下步骤:
给定初始输入序列Question, 根据数据集 的特征, 在每个Question前加一个 “None”字
符, 该字符为不在Question序列的空值提供对齐的位置; 得到初始化序列Question=[w1,
w2,…,wi,…,wk], 其中wi表示初始化序列Question的第i个字符, k为初始化序列Question
的长度; 初始化序列Question经过Wordpiece操作后得到新序列X, 其中X=[x1,x2,…,
xt,…,xn], xt表示Question序列经过Wordpiece操作后得到的新序列的第t个Token, n为新
序列X的长度; 接下来利用BERT模型对新序列进行编码以生成句子嵌入序列H=[h1,h2,…,
ht,…hn], 其中ht表示新序列X第t个Token的嵌入, H为X中所有Token嵌入的集合, 表示基于
Token的上下文级别的句子特 征; 以上过程通过以下公式描述:
xt=Wordpiece(wi),t∈[1,n],i∈[1,k]
ht=BERT(xt),t∈[1,n]
其中Wordpiece为 Wordpiece操作函数, BERT为BERT预训练模型的编码器;
然后, 基于第一个特殊标记[CLS]的隐藏状态h1表示为hcls, 作为其整个输入序列的表权 利 要 求 书 1/3 页
2
CN 115408506 A
2征, 以及通过BERT输出的其他Tokens的最终隐藏状态, 此时, 使用新的句子嵌入序列H'=
[h2,h3,…,hn]来表示基于To ken的上下文级别的句子特 征。
4.根据权利要求3所述的一种联合语义解析和语义成分匹配的NL2SQL的方法, 其特征
在于, 所述S2 2包括以下内容:
聚集函数类型 预测过程描述 为以下公式:
y1=softmax(Wahcls+ba)
其中, siftmax为激活函数, Wa为权重矩阵, 可随机初始化, 并与BERT预训练模型中其他
参数一起训练, ba为偏差, 可随机初始化, hcls为S21输出 的第一个特殊标记[CLS]的隐藏状
态, y1为聚集函数类型 标签的概 率分布值;
操作符类型 预测过程描述 为以下公式:
y2=softmax(Wohcls+bo)
其中, Wo为用于训练的权 重矩阵, bo为偏置参数, y2为操作符类别标签的概 率分布值;
列字段预测过程描述 为以下公式:
其中hk是新序列X的第k个字符对应的隐藏状态, Wcol为用于训练的权重矩阵, bcol为偏置
参数,
为hk被预测为列字段 标签的概 率分布。
5.根据权利要求4所述的一种联合语义解析和语义成分匹配的NL2SQL的方法, 其特征
在于, S23中所建模型通过以下公式表示:
P(y1,y2,y3|Question)表示在聚集函数类型、 操作符类型、 列字段的预测值在给定的自
然语言查询问题的条件下的概率分布; y3指是所有隐藏状态下被预测为列字段标签的概率
的乘积;
模型中, P(y1|Question)与
通过最小化交叉熵损失对模型进行端到端
调节, P(y2|Question)使用BCE With Logits Losss损失函数进行调节, 以获取最大化概率
P(y1,y2,y3|Question), 最后, 得到聚集 函数类别值、 操作符类型以及列字段 标签列表。
6.根据权利要求1所述的一种联合语义解析和语义成分匹配的NL2SQL的方法, 其特征
在于, 所述S3中 “列名‑值”二元组通过列字段 标签列表与Questi on标签序列一 一对应得到;
所述候选序列如以下公式:
Inputi=[CLS]+Quseti on+[SEP]+<col,op,value >i+[SEP], i=1…G
其中Inputi表示构建的第i个序列, [CLS]与[SEP]为BERT的两个特殊的Token; <col,op,
value>i为第i个候选的三元组。
7.根据权利要求1所述的一种联合语义解析和语义成分匹配的NL2SQL的方法, 其特征
在于, 所述S4具体过程 为:
利用BERT模型对输入的候选序列进行编码以生成最终的句子嵌入序列
其中
的第
一个特殊标记[CLS]的隐藏状态表示为h'cls, h'cls表示输入的候选序列的句子表征; 候选序
列所属的标签 被预测为:权 利 要 求 书 2/3 页
3
CN 115408506 A
3
专利 联合语义解析和语义成分匹配的NL2SQL的方法
文档预览
中文文档
17 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共17页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-03-03 12:13:50上传分享