结构化查询语言多维校验方法、装置、电子设备及存储介质与流程
本技术涉及大模型的,尤其涉及一种结构化查询语言多维校验方法、装置、电子设备及存储介质。
背景技术:
1、随着自然语言转数据库查询语句(natural language to sql,nl2sql)技术的广泛应用,用户对生成的结构化查询语言(structured query language,sql)语句的可靠性要求日益提高。目前,通常采用端到端的生成模型直接输出sql语句,或仅辅以语法解析器进行校验,但语法正确的sql却可能违背用户实际需求,导致对应的查询结果准确性不足,影响用户体验和决策可靠性。
技术实现思路
1、有鉴于此,本技术实施例提供一种结构化查询语言多维校验方法、装置、电子设备及存储介质,以解决sql语句的查询不准确的问题。
2、第一方面,本技术提供了一种结构化查询语言多维校验方法,所述方法包括:将原始查询文本输入至预设转换模型进行sql转换,生成目标sql;基于预设语法规范,对目标sql进行语法校验,并基于预设结构规范对所述目标sql进行结构校验;若所述语法校验及所述结构校验通过,根据所述目标sql及所述原始查询文本构建语义二元组,基于所述语义二元组对所述目标sql进行语义校验;若所述语义校验通过,从数据库元数据中获取所述目标sql引用关联的统计信息,根据所述统计信息对所述目标sql进行逻辑校验;若所述逻辑校验通过,将所述目标sql解析为查询意图对象,并基于预设业务策略对所述查询意图对象进行业务合规校验;若所述业务合规校验通过,提取所述目标sql的语句查询特征并获取用户行为画像,根据所述语句查询特征与所述用户行为画像,对所述目标sql进行上下文校验;若所述上下文校验通过,将所述目标sql作为有效sql输出。
3、本技术的上述实施例构建了包括语法与结构校验、语义校验、逻辑校验、业务合规校验及上下文校验在内的五维递进的校验体系。其中,语法与结构校验识别了目标sql中是否存在的字段拼写错误、表别名未定义等基础结构问题,确保了目标sql的基础可执行性,是后续所有校验的前提。语法与结构校验通过后,通过语义校验识别目标sql是否语义正确,确保目标sql准确反映了原始查询文本的意图。语义校验通过后,对目标sql进行逻辑校验,将逻辑校验设置于语义校验之后可以避免因选错表明而误判逻辑通过,使得逻辑校验可以在语义校验的基础上确定目标sql在被数据库实际执行时,所消耗的计算资源和时间成本,确保了目标sql在实际执行中的合理性与高效性。
4、在逻辑校验的基础上,将目标sql解析为与业务语义对齐的查询意图对象进行业务合规校验,将业务合规校验设置于逻辑校验之后,是因为通过逻辑校验确定了目标sql采用正确的语义层表,使得业务合规校验才能在正确的语义层表基础上检查行级权限是否补齐。如果在逻辑校验之前进行业务合规校验,将会在错误的语义层表上反复尝试修补权限,无法达到合规层的要求。业务合规校验通过后,提取目标sql的语句查询特征并获取用户行为画像,根据语句查询特征与用户行为画像对目标sql进行上下文校验。业务合规校验与上下文校验之间具备互补关系,业务合规校验保证了目标sql合规,上下文校验保证了目标sql符合用户习惯,两者关注点正交,即使目标sql完全合规,若与用户习惯偏离,上下文校验将发出低置信信号供用户确认,将决策权交还给用户,从而在保障数据安全的同时提升了查询结果的准确性与用户体验。
5、综上,通过构建语法结构、语义意图、执行逻辑、业务合规到用户习惯的递进校验,提升了自然语言转数据库查询语句结果的可靠性与准确性,保障了数据查询的安全,优化了用户体验。
6、在本技术的一些实施例中,所述基于预设语法规范,对目标sql进行语法校验,包括:对所述目标sql进行解析,生成语法解析树;基于所述语法解析树,验证所述目标sql的语法结构是否符合所述预设语法规范;若所述目标sql的语法结构符合所述预设语法规范,确定所述语法校验通过;若所述目标sql的语法结构不符合所述预设语法规范,获取语法错误信息,并将所述语法错误信息及所述原始查询文本输入至所述预设转换模型进行sql语法修正,生成语法修正后的目标sql。
7、本技术的上述实施例通过sql语法解析器对目标sql进行解析,将目标sql转换为语法解析树,通过遍历语法解析树验证目标sql的语法结构是否符合预设语法规范。若语法校验通过则进入后续流程。若语法校验未通过,获取语法错误信息,并基于语法错误信息进行sql语法修正,从而生成语法修正后的目标sql。从而,确保了目标sql的基础可执行性,确保了后续校验能够在语法正确的sql基础上进行,避免了因基础语法错误导致的后续校验资源浪费。
8、在本技术的一些实施例中,所述基于预设结构规范对所述目标sql进行结构校验,包括:解析所述目标sql,得到所述目标sql的数据库对象标识及表连接路径;若所述数据库对象标识存在于所述预设结构规范中,且所述表连接路径存在有效外键链路,确定所述结构校验通过;若存在至少一个所述数据库对象标识不存在于所述预设结构规范中,和/或所述表连接路径不存在有效外键链路,获取结构错误信息,将所述结构错误信息及所述原始查询文本输入至所述预设转换模型进行sql结构修正,得到结构修正后的目标sql。
9、本技术的上述实施例通过将目标sql中的数据库对象标识和表连接路径与预设结构规范进行比对,拦截因模型幻觉或知识盲区导致的表名拼写错误、字段不存在或非法关联等结构性缺陷,若存在结构错误则基于结构错误信息进行目标sql结构修正,从而确保目标sql在物理执行层面具备可执行性,避免后续因引用不存在的对象或非法连接而导致查询失败。
10、在本技术的一些实施例中,所述根据所述目标sql及所述原始查询文本构建语义二元组,基于所述语义二元组对所述目标sql进行语义校验,包括:对所述原始查询文本进行语义解析,生成自然语义节点,并基于所述语法解析树进行语义角色投影,生成sql语义节点;计算各所述自然语义节点与各所述sql语义节点之间的语义相似度;基于所述语义相似度建立所述自然语义节点与所述sql语义节点之间的语义二元组,根据所述语义二元组确定所述原始查询文本与所述目标sql之间的语义对齐度;若所述语义对齐度大于或等于预设对齐度阈值,确定所述语义校验通过;若所述语义对齐度小于所述预设对齐度阈值,获取语义偏差信息,并将所述语义偏差信息及所述原始查询文本输入至所述预设转换模型进行sql语义修正,得到语义修正后的目标sql。
11、本技术的上述实施例通过将全局语义相似度之和最大化作为优化目标,确保了自然语义节点与sql语义节点之间的匹配关系为全局最优,避免局部最优导致的错误映射。在此基础上构建语义二元组并计算语义对齐度,从而量化目标sql与原始查询文本之间的语义一致性,验证是否出现语义遗漏或语义偏移问题。若存在语义偏差则基于语义偏差信息对目标sql进行语义修正,从而确保目标sql对用户查询意图的还原度及查询结果的准确性。
12、在本技术的一些实施例中,所述根据所述统计信息对所述目标sql进行逻辑校验,包括:基于所述统计信息生成所述目标sql的预估执行计划,并将所述预估执行计划与所有预设评估标准进行逐条匹配;若所有预设评估标准均匹配成功,确定所述逻辑校验通过;若存在任一预设评估标准匹配失败,提取匹配失败的预设评估标准对应的逻辑错误信息,并将所述逻辑错误信息及所述原始查询文本输入至所述预设转换模型进行逻辑修正,生成逻辑修正后的目标sql。
13、本技术的上述实施例通过统计信息生成目标sql的预估执行计划,将预估执行计划与预设评估标准进行逐条匹配,从而在目标sql实际执行前识别出例如全表扫描、笛卡尔积、缺失索引或聚合逻辑不完整等逻辑缺陷。若存在逻辑缺陷,获取并基于逻辑错误信息对目标sql进行逻辑修正,从而避免生成虽然语法正确但执行代价高昂或逻辑不合理的sql,确保目标sql在实际执行中具备高效性与合理性。
14、在本技术的一些实施例中,所述基于预设业务策略对所述查询意图对象进行业务合规校验,包括:获取所述查询意图对象的元数据目录及数据血缘信息,基于所述元数据目录及所述数据血缘信息生成模拟执行路径,将所述模拟执行路径分别与各所述预设业务策略进行匹配;若所述模拟执行路径与所有预设业务策略均匹配成功,确定所述业务合规校验通过;若所述模拟执行路径与任一预设业务策略匹配失败,获取业务错误信息及所述业务错误信息对应的错误处置策略,并执行所述错误处置策略,生成业务合规修正后的目标sql。
15、本技术的上述实施例通过将目标sql转换为查询意图对象并结合数据血缘生成模拟执行路径,基于模拟执行路径进行业务合规校验,在不实际触碰生产数据的前提下评估潜在的数据越权访问或信息泄露风险。若业务合规校验失败,可以根据预设的错误处置策略进行业务合规修正,从而确保数据查询在安全策略与业务规则约束下安全、合规地进行。
16、在本技术的一些实施例中,所述语句查询特征包括表集合特征、过滤条件模式特征、聚合维度特征及sql向量特征;所述用户行为画像包括常用表画像、常用指标画像、常用区域画像与历史中心向量画像;所述根据所述语句查询特征与所述用户行为画像,对所述目标sql进行上下文校验,包括:基于所述表集合特征与所述常用表画像确定表集合相似度,基于所述过滤条件模式特征与所述常用区域画像确定过滤条件相似度,基于所述聚合维度特征与所述常用指标画像确定聚合维度相似度,基于所述sql向量特征与所述历史中心向量画像确定语义相似度;对所述表集合相似度、所述过滤条件相似度、所述聚合维度相似度及所述语义相似度进行加权求和,得到综合相似度;若所述综合相似度大于或等于第一预设阈值,确定所述上下文校验通过;若所述综合相似度小于所述第一预设阈值且大于第二预设阈值,确定所述目标sql为低置信状态,并输出与所述目标sql综合相似度最高的历史sql;若所述综合相似度小于或等于所述第二预设阈值,生成所述目标sql的输出确认信息;所述输出确认信息响应于用户确认指令,将所述目标sql作为有效sql输出。
17、本技术的上述实施例通过多维度提取语句查询特征并与用户行为画像进行比对,从而识别出是否存在查询模式上严重偏离用户日常习惯的异常sql。通过引入综合相似度与双阈值判定机制,从而根据偏离程度采取分级响应策略,对于轻微偏离的低置信状态,提供高相似度的历史sql作为参考,辅助用户快速修正;对于严重偏离的情况,通过输出确认信息供用户二次确认。从而,防止因预设转换模型误判而产生非用户本意的查询,提升查询结果的准确性与用户体验。
18、第二方面,本技术提供了一种结构化查询语言多维校验装置,包括:sql生成模块,用于执行将原始查询文本输入至预设转换模型进行sql转换,生成目标sql;语法结构校验模块,用于执行基于预设语法规范,对目标sql进行语法校验,并基于预设结构规范对所述目标sql进行结构校验;语义校验模块,用于执行若所述语法校验及所述结构校验通过,根据所述目标sql及所述原始查询文本构建语义二元组,基于所述语义二元组对所述目标sql进行语义校验;逻辑校验模块,用于执行若所述语义校验通过,从数据库元数据中获取所述目标sql引用关联的统计信息,根据所述统计信息对所述目标sql进行逻辑校验;业务合规校验模块,用于执行若所述逻辑校验通过,将所述目标sql解析为查询意图对象,并基于预设业务策略对所述查询意图对象进行业务合规校验;上下文校验模块,用于执行若所述业务合规校验通过,提取所述目标sql的语句查询特征并获取用户行为画像,根据所述语句查询特征与所述用户行为画像,对所述目标sql进行上下文校验;sql输出模块,用于执行若所述上下文校验通过,将所述目标sql作为有效sql输出。
19、第三方面,本技术提供了一种电子设备,所述电子设备包括存储器、处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的结构化查询语言多维校验方法。
20、第四方面,本技术提供一种计算机存储介质,所述计算机存储介质存储有程序指令,当所述程序指令在处理器上运行时,使得所述处理器执行上述的结构化查询语言多维校验方法。
21、另外,第二方面至第四方面所带来的技术效果可参见上述方法部分各设计相关的描述,此处不再赘述。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com