基于大语言模型的两阶段制造技术

技术编号:39895167 阅读:4 留言:0更新日期:2023-12-30 13:08
本发明专利技术涉及自然语言处理和结构化查询语句的生成技术领域,尤其是一种基于大语言模型的两阶段

【技术实现步骤摘要】
基于大语言模型的两阶段Text2SQL模型、方法与系统


[0001]本专利技术涉及自然语言处理和结构化查询语句的生成
,尤其是一种基于大语言模型的两阶段
Text2SQL
模型

方法与系统


技术介绍

[0002]当前是信息社会,各种数据库中的信息浩如烟海,当需要查询信息时,常规手段是将描述转化为
SQL
查询语句,再交给计算机去执行,就能方便地对数据库进行查询,大大提高了生活和工作效率

[0003]Text2SQL
是当前常用的转化自然语言描述为
SQL
查询语句的技术,但是现有技术方案主要分为三个方向:
[0004]1.
基于
SQL
语法解析和规则解析进行
SQL
生成
[0005]2.
基于传统小模型例如
bert
进行端到端
SQL
生成
[0006]3.
基于大语言模型
(

ChatGPT

GPT

4)
,不进行有监督微调,直接使用
prompt
进行查询与问答
[0007]这几种方法存在以下缺点:
[0008]1.
需要基于现有规则构建模板,消耗人力,且整体流程和分解的子任务较为复杂
[0009]2.
对复杂
SQL
语句例如嵌套查询r/>、
多表查询的信息构建能力不足
[0010]3.
无法利用已训练模型的先验知识,可迁移性和可拓展性较差
[0011]4.
直接使用
prompt
无法利用领域内的专家知识,使得回答的内容准确性较差;且输出
SQL
质量受限于大语言模型本身能力,无法进行优化

[0012]可见,当前的
Text2SQL
技术还有很大的进步空间


技术实现思路

[0013]为了克服上述现有技术中
Text2SQL
技术的缺陷,本专利技术提出了一种基于大语言模型的两阶段
Text2SQL
模型,简化了
Text2SQL
问题的难度的同时,也增强了模型生成高质量和复杂的
SQL
语句的能力

[0014]参照图1,本专利技术提出的一种基于大语言模型的两阶段
Text2SQL
模型的训练方法,包括以下步骤:
[0015]S1、
基于指定内容数据库获取学习数据集,学习数据集中的标注样本为标注有
SQL
的自然语言语句;
[0016]S2、
基于学习数据集构建第一学习样本和第二学习样本;第一学习样本为标注有对应指定内容数据库的目标表列项的自然语言语句;第二学习样本包括自然语言语句及其对应的目标表列项

目标表列项存储内容的概括值以及标注的
SQL
;表列项包括表名称和该表中任一列的列名称;
[0017]设置第一基础模型和第二基础模型;第一基础模型的输入为自然语言语句和指定内容数据库中所有的表列项,第一基础模型的输出为表列项分布概率;第二基础模型的输
入包括自然语言语句及其目标表列项

目标表列项存储内容的概括值,第二基础模型的输出为自然语言语句的
SQL

[0018]令设置的第一基础模型对第一学习样本进行学习,以获取收敛后的第一基础模型作为表列项筛选模型;令设置的第二基础模型对第二学习样本进行学习,以获取收敛后的第二基础模型作为
SQL
生成模型;
[0019]S3、
结合表列项筛选模型和
SQL
生成模型组成两阶段
SQL
模型;其中表列项筛选模型的输入作为两阶段
SQL
模型的输入,表列项筛选模型的输出连接
SQL
生成模型的输入,
SQL
生成模型的输出作为两阶段
SQL
模型的输出

[0020]优选的,
S2
中,目标表列项存储内容的概括值的获取方式为:
[0021]如果目标表列项存储内容为离散值,则概括值为存储内容去重后的结果;
[0022]如果目标表列项存储内容为连续值,则概括值为存储内容所在区间值

[0023]优选的,
S2
具体包括以下分步骤:
[0024]S21、
基于学习数据集构建第一学习样本,令第一基础模型对第一学习样本进行机器学习,以获取表列项筛选模型;
[0025]S22、
选择部分标注样本作为备选第二学习样本,将各备选第二学习样本中的自然语言语句输入表列项筛选模型,获取表列项筛选模型输出的表列项分布概率中最大的
N
个概率值对应的表列项作为目标表列项;
[0026]S23、
获取备选第二学习样本中自然语言语句的目标表列项存储内容的概括值,结合备选第二学习样本的自然语言语句

目标表列项

目标表列项存储内容的概括值以及
SQL
构成第二学习样本;
[0027]S24、
令第二基础模型对第二学习样本进行机器学习,获取
SQL
生成模型

[0028]优选的,
S1
中学习数据集的获取,包括以下分步骤:
[0029]S11、
从指定内容数据库中获取样本构成数据集,样本包含自然语言语句和
SQL
,对数据集中各自然语言语句的
SQL
进行打分,根据打分将自然语言与语句分为多个难度等级;
[0030]S12、
获取数据集中各难度等级上的自然语言语句数量分布,判断该分布趋势是否为设定的分布趋势;是,则将该数据集作为学习数据集;否,则执行步骤
S13

[0031]S13、
对数据集中的自然语言语句进行增减调整,然后返回步骤
S11。
[0032]优选的,
S11
中对
SQL
进行打分的方式为:统计
SQL
包含的关键词和内置函数的数量总数作为分数,分数越高表示自然语言语句难度越大

[0033]优选的,
S1
中还包括对标注样本中的
SQL
进行标准化处理,标准化处理包括:全体大写或是小写

字符常量统一使用单引号或是双引号

所有列名统一补齐表格名

字符统一空一个格

[0034]优选的,第一基础模型采用自然语言本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种基于大语言模型的两阶段
Text2SQL
模型的训练方法,其特征在于,包括以下步骤:
S1、
基于指定内容数据库获取学习数据集,学习数据集中的标注样本为标注有
SQL
的自然语言语句;
S2、
基于学习数据集构建第一学习样本和第二学习样本;第一学习样本为标注有对应指定内容数据库的目标表列项的自然语言语句;第二学习样本包括自然语言语句及其对应的目标表列项

目标表列项存储内容的概括值以及标注的
SQL
;表列项包括表名称和该表中任一列的列名称;设置第一基础模型和第二基础模型;第一基础模型的输入为自然语言语句和指定内容数据库中所有的表列项,第一基础模型的输出为表列项分布概率;第二基础模型的输入包括自然语言语句及其目标表列项

目标表列项存储内容的概括值,第二基础模型的输出为自然语言语句的
SQL
;令设置的第一基础模型对第一学习样本进行学习,以获取收敛后的第一基础模型作为表列项筛选模型;令设置的第二基础模型对第二学习样本进行学习,以获取收敛后的第二基础模型作为
SQL
生成模型;
S3、
结合表列项筛选模型和
SQL
生成模型组成两阶段
SQL
模型;其中表列项筛选模型的输入作为两阶段
SQL
模型的输入,表列项筛选模型的输出连接
SQL
生成模型的输入,
SQL
生成模型的输出作为两阶段
SQL
模型的输出
。2.
如权利要求1所述的基于大语言模型的两阶段
Text2SQL
模型的训练方法,其特征在于,
S2
中,目标表列项存储内容的概括值的获取方式为:如果目标表列项存储内容为离散值,则概括值为存储内容去重后的结果;如果目标表列项存储内容为连续值,则概括值为存储内容所在区间值
。3.
如权利要求2所述的基于大语言模型的两阶段
Text2SQL
模型的训练方法,其特征在于,
S2
具体包括以下分步骤:
S21、
基于学习数据集构建第一学习样本,令第一基础模型对第一学习样本进行机器学习,以获取表列项筛选模型;
S22、
选择部分标注样本作为备选第二学习样本,将各备选第二学习样本中的自然语言语句输入表列项筛选模型,获取表列项筛选模型输出的表列项分布概率中最大的
N
个概率值对应的表列项作为目标表列项;
S23、
获取备选第二学习样本中自然语言语句的目标表列项存储内容的概括值,结合备选第二学习样本的自然语言语句

目标表列项

目标表列项存储内容的概括值以及
SQL
构成第二学习样本;
S24、
令第二基础模型对第二学习样本进行机器学习,获取
SQL
生成模型
。4.
如权利要求1所述的基于大语言模型的两阶段
Text2SQL
模型的训练方法,其特征在于,
S1
中学习数据集的获取,包括以下分步骤:
S11、
从指定内容数据库中获取样本构成数据集,样本包含自然语言语句和
SQL
,对数据集中各自然语言语句的
SQL
进行打分,根据打分将自然语言与语句分为多个难度等级;
S12、
获取数据集中各难度等级上的自然语言语句数量分布,判断该分布趋势是否为设定的分布趋势;是,则将该数据集作为学习数据集;否,则执行步骤
S13

S13、
对数据集中的自然语言语句进行增减调整,然后返回步骤
S11。5.
如权利要求4所述的基于大语言模型的两阶段
Text2SQL
模型的训练方法,其特征在于,
S11
中对
SQL

【专利技术属性】
技术研发人员:柯芝锦陆晓静江宇晨周锐王佐成
申请(专利权)人:数据空间研究院
类型:发明
国别省市:

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

1