[发明专利]一种基于半监督学习和元学习的少样本NL2SQL方法在审
申请号: | 202210147772.2 | 申请日: | 2022-02-17 |
公开(公告)号: | CN114817307A | 公开(公告)日: | 2022-07-29 |
发明(设计)人: | 郭心南;陈永锐;漆桂林 | 申请(专利权)人: | 东南大学 |
主分类号: | G06F16/2452 | 分类号: | G06F16/2452;G06F16/242;G06N20/00 |
代理公司: | 南京众联专利代理有限公司 32206 | 代理人: | 杜静静 |
地址: | 210096 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 监督 学习 样本 nl2sql 方法 | ||
1.一种基于半监督学习和元学习的少样本NL2SQL方法,其特征在于,该方法包括以下步骤:
步骤1)构建NL2SQL模型,并进行参数初始化;
步骤2)利用标注数据进行热启动训练,直至准确率达到阈值;
步骤3)利用自学习框架对NL2SQL模型参数进行多轮训练和更新,直至模型参数收敛。
2.根据权利要求1所述的基于半监督学习和元学习的少样本NL2SQL方法,其特征在于,步骤3)
其中每一轮自训练过程包括:
步骤3.1)使用模型为大量无标签数据预测伪标签以及置信度,作为伪标签数据集;
步骤3.2)从标签数据集和伪标签数据集的混合数据中采样任务集合,并使用基于列特异性的元学习算法对模型进行训练和参数更新;
步骤3.3)对伪标签数据按照一定比例进行随机采样,得到的采样数据与标签数据混合,采用批训练策略将混合数据分为等大的batch依次对模型进行训练和参数更新。
3.根据权利要求1所述的基于半监督学习和元学习的少样本NL2SQL方法,其特征在于,步骤1)构建NL2SQL模型,具体如下,
步骤(1-1):将自然语言问句Q进行分词,得到Q={x1,x2,...,xn},其中x表示每个词,同时获取到Q所对应的目标表格T={H1,H2,...,Hm},而Hi=(hi,Ci),其中Hi表示第i个列,hi表示其列名,Ci表示其包含的多个值,同时对于每个Hi识别它的类型ti,它分为文本类型,日期类型和数字类型(Date,Text,Number);
步骤(1-2):在每个列Hi下,其中表示Ci下第j行的值,在输入到编码器前,每个首先会分词后与Q的单词进行滑窗式文本相似度匹配,在滑窗过程中的最高一次匹配得分作为每个的分数,取得分最高的前k作为剩下的集合
步骤(1-3):将分词后的自然语言问句Q和其对应表格T中的每个列Hi的信息依次输入到模型的编码器RoBERTa中,具体来说Hi的信息包含(ti,hi,C'i),在同样进行分词后与Q的分词结果一起输入到编码器中,
步骤(1-4):利用步骤(1-3)得到的向量表示来进行六个子任务的预测,这六个子任务分别是:SELECT部分的选列预测(SC),SELECT部分的聚合函数预测(SA),WHERE 部分条件个数的预测(WN),WHERE部分每个条件的列(WC),操作符(WO)和值(WV),
步骤(1-5):综合每一组(Q,Hi)的预测结果,基于Q和查询目标表格T来最终预测完整的SQL结果,首先对于SC,直接取PSC得分最高的列作为结果;其次综合每个列对WN的预测,并利用关联度得分作为权重来进行带权相加,最终取概率分布中得分最高的数量作为WN的结果,记作n':
之后取前n'个PWC得分最高的列作为WC的结果;与此同时,对于SC的列,取该列所预测的聚合函数中概率最大者作为SA的结果;对于WC的列,取这些列各自所预测的操作符和值区间的概率最大者作为各自所在的条件中的操作符和值,即WO和WV的结果;由此结合预定义的SQL骨架,用子任务的结果进行填充最终形成完整的SQL:
SELECT{SA}{SC}WHERE({WC}{WO}{WV})*,
其中,{}表示一个待填充的槽位,*表示括号中的部分可能出现0次或多次,由此最终的SQL预测完成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210147772.2/1.html,转载请声明来源钻瓜专利网。