System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据转换的,特别是涉及一种自然语言问题转换成sql语句的方法、装置、设备、介质。
技术介绍
1、text2sql,即text2sql,是指在给定数据库的条件下,将用户的自然语言问题转化成可执行的sql(structured query language server database,结构化查询语言数据库)语句的过程。
2、text2sql的方法比较多,一般有类似机器翻译的生成方法,基于规则的方法以及基于句法树的方式,在生成sql的过程中,链接到当前数据库表的结构非常重要,正确的问题-表链接可以生成字段名正确的sql语句。
3、传统的text2sql过程一般使用机器翻译的方式或者基于句法规则的方式,机器翻译方法依赖巨大的标注数据,使用类似神经网络机器翻译的方案,用生成式神经网络模型,输入自然语言问题,直接生成sql语句。
4、基于句法规则的方法一般使用句法树方案:通过对自然语言问题的句法分析,明确自然语言问题的句子中节点,然后通过句法树的节点构建成sql语句;但是在面对多种多样的自然语言问法时,总会存在遗漏的情况,并且句法树的构建本身就有准确率问题,会造成误差的累积,降低text2sql的效果。
技术实现思路
1、鉴于上述问题,提出了以便提供克服上述问题或者至少部分地解决上述问题的一种自然语言问题转换成sql语句的方法、装置、设备、介质,包括:
2、一种自然语言问题转换成sql语句的方法,设置有历史结构化查询语言数据库s
3、接收用户输入的目标自然语言问题,并使用预设的第一大语言模型从所述目标自然语言问题中,提取目标查询实体和目标问题主干;
4、根据所述目标查询实体,确定目标数据库;
5、从所述历史sql语句库中,确定与所述目标问题主干匹配的历史的自然语言问题;
6、根据所述目标问题主干匹配的历史的自然语言问题所对应的sql语句,和所述目标数据库,生成目标sql语句。
7、可选地,所述根据所述目标查询实体,确定目标数据库,包括:
8、计算所述目标查询实体与各预设的数据库的相似度;
9、将相似度最高的数据库作为所述目标数据库。
10、可选地,所述目标查询实体包括多个,所述计算所述目标查询实体与各数据库的相似度,包括:
11、将多个目标查询实体拼接成查询实体集合;
12、计算所述查询实体集合与各预设的数据库的相似度。
13、可选地,所述方法还包括:
14、构建第一训练数据,所述第一训练数据包括多个训练用的第一自然语言问题,以及各第一自然语言问题各自对应的解析结果;任意一解析结果中包括有对应的第一自然语言问题中的第一查询实体和第一问题主干;
15、根据所述第一训练数据,对通用的大语言模型进行微调,得到所述第一大语言模型。
16、可选地,所述根据所述目标问题主干匹配的历史的自然语言问题所对应的sql语句,和所述目标数据库,生成目标sql语句,包括:
17、将所述目标问题主干匹配的历史的自然语言问题所对应的sql语句、所述目标数据库,以及所述目标自然语言问题输入预设的第二大语言模型中;
18、获取所述第二大语言模型输出的目标sql语句。
19、可选地,所述方法还包括:
20、获取多个训练用的第二自然语言问题,并使用所述第一大语言模型从所述第二自然语言问题中,提取第二查询实体和第二问题主干;
21、根据所述第二查询实体,确定第一数据库;
22、从所述历史sql语句库中,确定与所述第二问题主干匹配的历史的自然语言问题;
23、根据所述第二自然语言问题、所述第一数据库和所述第二问题主干匹配的历史的自然语言问题所对应的sql语句,构建输入集合;
24、根据所述第二自然语言问题的sql语句,构建输出集合;
25、根据所述输入集合和所述输出集合,对通用的大语言模型进行微调,得到所述第二大语言模型。
26、可选地,所述方法还包括:
27、收集多个历史的自然语言问题,以及各历史的自然语言问题各自对应的sql语句;
28、根据所述多个历史的自然语言问题,和所述多个历史的自然语言问题各自对应的sql语句,生成所述历史sql语句库。
29、本专利技术实施例还提供了一种自然语言问题转换成sql语句的装置,设置有历史结构化查询语言数据库sql语句库,所述历史sql语句库中存储有历史的自然语言问题,以及所对应的sql语句;所述装置包括:
30、提取模块,用于接收用户输入的目标自然语言问题,并使用预设的第一大语言模型从所述目标自然语言问题中,提取目标查询实体和目标问题主干;
31、表确定模块,用于根据所述目标查询实体,确定目标数据库;
32、历史问题确定模块,用于从所述历史sql语句库中,确定与所述目标问题主干匹配的历史的自然语言问题;
33、语句生成模块,用于根据所述目标问题主干匹配的历史的自然语言问题所对应的sql语句,和所述目标数据库,生成目标sql语句。
34、可选地,所述表确定模块,用于计算所述目标查询实体与各预设的数据库的相似度;将相似度最高的数据库作为所述目标数据库。
35、可选地,所述目标查询实体包括多个,所述表确定模块,用于将多个目标查询实体拼接成查询实体集合;计算所述查询实体集合与各预设的数据库的相似度。
36、可选地,所述装置还包括:
37、第一模型训练模块,用于构建第一训练数据,所述第一训练数据包括多个训练用的第一自然语言问题,以及各第一自然语言问题各自对应的解析结果;任意一解析结果中包括有对应的第一自然语言问题中的第一查询实体和第一问题主干;根据所述第一训练数据,对通用的大语言模型进行微调,得到所述第一大语言模型。
38、可选地,所述语句生成模块,用于将所述目标问题主干匹配的历史的自然语言问题所对应的sql语句、所述目标数据库,以及所述目标自然语言问题输入预设的第二大语言模型中;获取所述第二大语言模型输出的目标sql语句。
39、可选地,所述装置还包括:
40、第二模型训练模块,用于获取多个训练用的第二自然语言问题,并使用所述第一大语言模型从所述第二自然语言问题中,提取第二查询实体和第二问题主干;根据所述第二查询实体,确定第一数据库;从所述历史sql语句库中,确定与所述第二问题主干匹配的历史的自然语言问题;根据所述第二自然语言问题、所述第一数据库和所述第二问题主干匹配的历史的自然语言问题所对应的sql语句,构建输入集合;根据所述第二自然语言问题的sql语句,构建输出集合;根据所述输入集合和所述输出集合,对通用的大语言模型进行微本文档来自技高网...
【技术保护点】
1.一种自然语言问题转换成SQL语句的方法,其特征在于,设置有历史结构化查询语言数据库SQL语句库,所述历史SQL语句库中存储有历史的自然语言问题,以及所对应的SQL语句;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标查询实体,确定目标数据库,包括:
3.根据权利要求2所述的方法,其特征在于,所述目标查询实体包括多个,所述计算所述目标查询实体与各数据库的相似度,包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述目标问题主干匹配的历史的自然语言问题所对应的SQL语句,和所述目标数据库,生成目标SQL语句,包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
8.一种SQL语句的转换装置,其特征在于,设置有历史SQL语句库,所述历史SQL语句库中存储有历史的自然语言问题,以及所对应的SQL语句;所述装置包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述SQL语句的转换方法。
...【技术特征摘要】
1.一种自然语言问题转换成sql语句的方法,其特征在于,设置有历史结构化查询语言数据库sql语句库,所述历史sql语句库中存储有历史的自然语言问题,以及所对应的sql语句;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标查询实体,确定目标数据库,包括:
3.根据权利要求2所述的方法,其特征在于,所述目标查询实体包括多个,所述计算所述目标查询实体与各数据库的相似度,包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述目标问题主干匹配的历史的自然语言问题所对应的sql语句,和所述目标数据库,生成目标sql语句,包括:
6.根据...
【专利技术属性】
技术研发人员:陈志优,邢启洲,李健,陈明,武卫东,
申请(专利权)人:北京捷通华声科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。