System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理,尤其涉及一种生成结构化查询语言sql的方法、装置及电子设备。
技术介绍
1、结构化查询语言(英文全称:structured query language,简称:sql)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新、管理关系数据库系统。
2、海量的数据存储在数据库中,用户虽然可以使用sql查询语句来检索查询数据库中的数据,但这需要用户具备一定的数据库和sql专业知识,增加了用户使用sql查询语句进行检索查询的难度。
3、现有技术通过使用大模型将用户输入的自然语言形式的查询问题(如,“某市5g用户数本月增长多少”)转换为相应的数据库sql查询语句,来帮助不具备sql编程语言基础的非专业人员对感兴趣的目标数据进行快速查询和分析,降低了使用sql查询语句进行检索查询获取目标数据的门槛。
4、但在使用大模型将用户的查询问题转换为sql查询语句的过程中(即:nl-to-sql或者nl2sql任务中),现有技术通常直接使用大模型生成sql查询语句,由于大模型中的训练样本数量有限,训练后的模型本身的准确性低,因此直接使用大模型生成的sql查询语句的准确率较低。
技术实现思路
1、本专利技术申请提供了一种生成结构化查询语言sql的方法、装置及电子设备,用以提升大模型生成sql查询语句的准确率。具体技术方案如下:
2、第一方面,本申请提供了一种生成结构化查询语言sql的方法,包括:
3、接收用户端发送的目标查
4、从信息表集合中选取出与所述目标查询问题相关联的k个待选信息表,其中,所述信息表集合中的每个待选信息表至少包含与所述目标查询问题相关的属性标签;
5、在所述k个待选信息表中的每个待选信息表中选取出n个目标属性标签,其中,所述n个目标属性标签为按照待选信息表中的各个属性标签与所述目标查询问题各自的相似度得分,对所述各个属性标签进行排序之后选取的前n个属性标签;
6、将所述k个待选信息表和每个待选信息表各自对应的所述n个目标属性标签输入大模型中,生成所述目标查询问题对应的目标sql,其中,k、n均为大于或等于1的整数。
7、基于上述的方法,能够减少大模型从目标数据库中筛选与目标查询问题相关的待选信息表的数量,并且提升大模型生成sql查询语句的准确率。
8、在一种可能的实现中,所述从信息表集合中选取出与所述目标查询问题相关联的k个待选信息表,包括:
9、将所述目标查询问题转换为第一向量,以及将所述信息表集合中的各个信息表转换为各自对应的第二向量;
10、计算所述第一向量与各个所述第二向量的余弦相似度,并按照所述余弦相似度对所述信息表集合中的各个信息表进行排序,选取出前k个信息表作为所述k个待选信息表。
11、基于上述的方法,能够从信息表集合中选取出与目标查询问题关联度较大的k个待选信息表。
12、在一种可能的实现中,所述在所述k个待选信息表中的每个待选信息表中选取出n个目标属性标签,包括:
13、将所述目标查询问题与每个所述待选信息表中的各个属性标签进行字符串匹配,得到所述各个属性标签各自的字符串匹配得分;
14、通过预训练的词向量模型,计算所述目标查询问题与每个所述待选信息表中的各个属性标签的语义相似性,得到所述各个属性标签各自的语义匹配得分;
15、所述k个待选信息表中的每个待选信息表按照如下方式选取出n个目标属性标签:
16、计算待选信息表中的各个属性标签中的每个属性标签的所述相似度得分,其中,所述相似度得分通过对属性标签的字符串匹配得分和语义匹配得分加权求和得到;
17、按照所述相似度得分对所述各个属性标签进行排序,选取前n个属性标签作为所述n个目标属性标签。
18、基于上述的方法,能够从每个待选信息表中的各个属性标签中选取出与目标查询问题相似度较大的n个目标属性标签,为后续生成目标sql做数据准备。
19、在一种可能的实现中,在生成所述目标查询问题对应的目标sql之后,还包括:
20、通过所述目标sql在目标数据库中查询是否存在对应的目标数据;
21、若是,则将所述目标数据返回至所述用户端;
22、若否,则从所述待选信息表的各项指标中选取出推荐指标或者将预设指标作为所述推荐指标,将所述目标数据库中与所述推荐指标对应的推荐数据推送至所述用户端。
23、基于上述的方法,在确定目标数据库中不存在与目标sql对应的目标数据时,向用户端推送与目标查询问题相关的推荐数据,能够提升用户与服务端的交互体验。
24、在一种可能的实现中,所述从所述待选信息表的各项指标中选取出推荐指标,包括:
25、基于所述待选信息表中的各项指标各自的历史查询频次和所述待选信息表中的各项指标各自的业务标签,更新所述待选信息表中的各项指标各自的推荐分数;
26、按照所述推荐分数对所述待选信息表中的各项指标进行排序,选取出前m项指标作为所述推荐指标,其中,m为大于或等于1的整数。
27、基于上述的方法,能够按照动态更新的推荐分数,从待选信息表中的各项指标中选取出推荐指标。
28、在一种可能的实现中,所述基于所述待选信息表中的各项指标各自的历史查询频次和所述待选信息表中的各项指标各自的业务标签,更新所述待选信息表中的各项指标各自的推荐分数,包括:
29、提取所述目标查询问题中的关键词,确定所述待选信息表中的各项指标中的与所述关键词具有归属关系的所有第一待选指标,并更新所述待选信息表中的每个所述第一待选指标的关联度分数;
30、基于所述业务标签,在所述各项指标中确定出与所述关键词所属的第一业务标签相同的所有第二待选指标,并更新所述待选信息表中的每个所述第二待选指标的业务关系分数;
31、基于所述待选信息表中的各项指标各自的历史查询频次,得到所述待选信息表中的各项指标各自的查询热度分数;
32、计算所述待选信息表中的各项指标中的每项指标的所述推荐分数,其中,所述推荐分数通过对指标的关联度分数、业务关系分数以及查询热度分数加权求和得到。
33、基于上述的方法,能够根据待选信息表中的每项指标的关联度分数、业务关系分数以及查询热度分数,计算并更新待选信息表中的每项指标的推荐分数。
34、第二方面,本申请提供了一种生成结构化查询语言sql的装置,包括:
35、数据接收模块,用于接收用户端发送的目标查询问题;
36、数据生成模块,用于从信息表集合中选取出与所述目标查询问题相关联的k个待选信息表,其中,所述信息表集合中的每个待选信息表至少包含与所述目标查询问题相关的属性标签;
37、在所述k个待选信息表中的每个待选信息表中选取出n个目标属性标签,其中,所述n个目标属性标签为按照待本文档来自技高网...
【技术保护点】
1.一种生成结构化查询语言SQL的方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述从信息表集合中选取出与所述目标查询问题相关联的k个待选信息表,包括:
3.如权利要求1所述的方法,其特征在于,所述在所述k个待选信息表中的每个待选信息表中选取出n个目标属性标签,包括:
4.如权利要求1所述的方法,其特征在于,在生成所述目标查询问题对应的目标SQL之后,还包括:
5.如权利要求4所述的方法,其特征在于,所述从所述待选信息表的各项指标中选取出推荐指标,包括:
6.如权利要求5所述的方法,其特征在于,所述基于所述待选信息表中的各项指标各自的历史查询频次和所述待选信息表中的各项指标各自的业务标签,更新所述待选信息表中的各项指标各自的推荐分数,包括:
7.一种生成结构化查询语言SQL的装置,其特征在于,包括:
8.如权利要求7所述的装置,其特征在于,所述数据生成模块还用于:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机
...【技术特征摘要】
1.一种生成结构化查询语言sql的方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述从信息表集合中选取出与所述目标查询问题相关联的k个待选信息表,包括:
3.如权利要求1所述的方法,其特征在于,所述在所述k个待选信息表中的每个待选信息表中选取出n个目标属性标签,包括:
4.如权利要求1所述的方法,其特征在于,在生成所述目标查询问题对应的目标sql之后,还包括:
5.如权利要求4所述的方法,其特征在于,所述从所述待选信息表的各项指标中选取出推荐指标,包括:
6.如权...
【专利技术属性】
技术研发人员:黄萌,姜林,
申请(专利权)人:中国电信股份有限公司技术创新中心,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。