一种难度感知与结构可控的数据合成方法及装置

摘要: 本发明涉及自然语言处理与数据库交互领域,尤其涉及一种难度感知与结构可控的数据合成方法及装置。背景技术:1、text-to-sql作为自然语言处理与数据库交互的重...
一种难度感知与结构可控的数据合成方法及装置

本发明涉及自然语言处理与数据库交互领域,尤其涉及一种难度感知与结构可控的数据合成方法及装置。

背景技术:

1、text-to-sql作为自然语言处理与数据库交互的重要桥梁,广泛应用于智能问答、数据分析等领域。相关技术中,通过大规模数据合成、基于变换的扰动方法与结构感知进化算子的协同,构建了多样化的训练语料。具体地,该技术体系涵盖了从自然语言问题解析到结构化查询生成的完整流程,包括语义解析、模式链接、sql生成等关键环节。

2、在text-to-sql任务中,大语言模型需要依赖大规模标注的“自然语言问题-sql语句”配对数据进行训练。然而,现有的数据合成方法中,直接采用大规模生成策略,并没有对合成方向进行原则性控制,由此可能会导致简单查询被大量复现而复杂结构系统性稀缺,或者合成数据边际收益急剧递减,从而影响模型在复杂查询和分布偏移场景下的鲁棒性能。具体地,现有方法缺乏对sql结构复杂度的定量度量,难以精准填补结构缺口,且缺少多维度质量验证机制。

技术实现思路

1、本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

2、为此,本发明的第一个目的在于提出一种难度感知与结构可控的数据合成方法。

3、本发明的另一个目的在于提出一种难度感知与结构可控的数据合成装置。

4、本发明的第三个目的在于提出一种计算机设备。

5、本发明的第四个目的在于提出一种非临时性计算机可读存储介质。

6、为达上述目的,本发明第一方面实施例提出了一种难度感知与结构可控的数据合成方法,包括:

7、s1,针对用于text-to-sql模型训练的数据集,所述数据集包含结构化查询语言语句及其对应的自然语言问题,对所述数据集中的每条结构化查询语言语句进行抽象语法树解析,在多个独立的结构维度上统计构造出现次数,基于各维度的统计结果确定每条语句的复杂度分数,并采用自适应分层算法将数据集划分为不同难度层级,同时计算各结构维度在数据集中的初始比例分布;

8、s2,在当前数据池中重新计算各结构维度的当前比例分布,与目标比例分布对比得到各维度的缺口值,选取缺口值为正且最大的多个结构维度作为本轮生成方向,从数据集中排除简单层级的语句后,按目标难度层级检索与至少一个目标结构维度共享的示例语句,构建包含目标难度层级、目标结构维度、示例语句和未被充分利用的数据表信息的提示,输入大语言模型定向生成候选的结构化查询语言语句及其对应的自然语言问题对;

9、s3,对候选的结构化查询语言语句进行复杂度合规性检查,验证其复杂度分数是否落入目标难度层级的区间,若不符合则进行结构化修正,通过复杂度检查后,在目标数据库上执行该语句并验证返回非空结果,再采用多个不同的大语言模型分别基于同一自然语言问题生成结构化查询语言语句,若至少两个模型的执行结果与候选语句一致,则通过语义可复现性验证;

10、s4,对通过验证的候选语句进行句法多样性过滤,提取其结构骨架并与已接受语句的骨架库进行匹配,若匹配则丢弃,再对通过句法过滤的候选语句进行语义多样性过滤,采用多种不同风格指令将语句反向翻译为自然语言表述,选取最具中心代表性的表述作为最终自然语言问题,并计算其与已接受自然语言问题的语义相似度,若超过预设阈值则丢弃,将通过全部过滤的候选语句及其自然语言问题纳入合成数据集,同步更新当前数据池的组件比例分布、骨架库和语义嵌入索引,并将已接受的中等层级语句扩充至种子池,用于后续困难层级的示例检索。

11、在本发明的一个实施例中,所述s1,包括:

12、连接操作、条件谓词、分组与聚合、子查询/cte、排序/限制、窗口函数、集合操作和去重选择;

13、所述复杂度分数通过公式:

14、

15、计算,其中为第k个维度的构造计数,。

16、在本发明的一个实施例中,还包括:

17、自适应分层算法采用head/tailbreaks算法对复杂度分数序列进行自适应分层,筛选出简单层、中等层和困难层之间的分界;

18、其中困难层的上界由四分位距方法确定,即排除超出的极端异常值。

19、在本发明的一个实施例中,所述s2,包括:

20、缺口值通过公式计算,其中为目标比例分布,为当前比例分布;

21、选取缺口值为正且最大的多个结构维度具体为选取缺口值为正且值最大的三个结构维度作为本轮生成方向。

22、在本发明的一个实施例中,所述s3,包括:

23、复杂度合规性检查中,若候选的结构化查询语言语句的复杂度分数未落入目标难度层级区间,则进行结构化修正,最多允许3次修正;

24、采用多个不同的大语言模型分别基于同一自然语言问题生成结构化查询语言语句,具体采用5个不同的大语言模型,若至少2个模型的执行结果与候选语句一致,则通过语义可复现性验证。

25、在本发明的一个实施例中,所述s4,包括:

26、提取其结构骨架具体为,将结构化查询语言语句中的表名替换为[table]、列名替换为[column]、字面值替换为[value];

27、采用多种不同风格指令将语句反向翻译为自然语言表述,具体采用7个不同的大语言模型分别以不同风格指令进行反向翻译,从8个候选中选取与其余7个平均相似度最高的作为最终自然语言问题。

28、在本发明的一个实施例中,还包括:

29、计算其与已接受自然语言问题的语义相似度,具体使用all-minilm-l6-v2嵌入模型计算余弦相似度,若超过阈值则丢弃。

30、为达上述目的,本发明第二方面实施例提出了一种难度感知与结构可控的数据合成装置,包括:

31、复杂度分层模块,用于针对用于text-to-sql模型训练的数据集,所述数据集包含结构化查询语言语句及其对应的自然语言问题,对所述数据集中的每条结构化查询语言语句进行抽象语法树解析,在多个独立的结构维度上统计构造出现次数,基于各维度的统计结果确定每条语句的复杂度分数,并采用自适应分层算法将数据集划分为不同难度层级,同时计算各结构维度在数据集中的初始比例分布;

32、定向样本生成模块,用于在当前数据池中重新计算各结构维度的当前比例分布,与目标比例分布对比得到各维度的缺口值,选取缺口值为正且最大的多个结构维度作为本轮生成方向,从数据集中排除简单层级的语句后,按目标难度层级检索与至少一个目标结构维度共享的示例语句,构建包含目标难度层级、目标结构维度、示例语句和未被充分利用的数据表信息的提示,输入大语言模型定向生成候选的结构化查询语言语句及其对应的自然语言问题对;

33、多模型联合校验模块,用于对候选的结构化查询语言语句进行复杂度合规性检查,验证其复杂度分数是否落入目标难度层级的区间,若不符合则进行结构化修正,通过复杂度检查后,在目标数据库上执行该语句并验证返回非空结果,再采用多个不同的大语言模型分别基于同一自然语言问题生成结构化查询语言语句,若至少两个模型的执行结果与候选语句一致,则通过语义可复现性验证;

34、双重多样性过滤入库模块,用于对通过验证的候选语句进行句法多样性过滤,提取其结构骨架并与已接受语句的骨架库进行匹配,若匹配则丢弃,再对通过句法过滤的候选语句进行语义多样性过滤,采用多种不同风格指令将语句反向翻译为自然语言表述,选取最具中心代表性的表述作为最终自然语言问题,并计算其与已接受自然语言问题的语义相似度,若超过预设阈值则丢弃,将通过全部过滤的候选语句及其自然语言问题纳入合成数据集,同步更新当前数据池的组件比例分布、骨架库和语义嵌入索引,并将已接受的中等层级语句扩充至种子池,用于后续困难层级的示例检索。

35、本发明实施例的一种难度感知与结构可控的数据合成方法及装置,通过基于ast的八维复杂度度量、自适应难度分层、组件缺口驱动的闭环合成管线,以及多阶段验证和多样性过滤,实现了精准填补结构缺口,为text-to-sql模型提供结构均衡、难度适配的高质量训练样本,从而提升模型在真是数据库查询场景下的泛化能力和执行准确率,全面满足自然语言数据库交互场景国产化自主可控需求。

36、为达上述目的,本技术第三方面实施例提出了一种计算机设备,包括:处理器和存储器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如第一方面实施例所述的方法。

37、为达上述目的,本技术第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面实施例所述的方法。

38、本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。