当前位置: 首页 > 专利查询>东南大学专利>正文

一种基于半监督学习和元学习的少样本NL2SQL方法技术

技术编号:34366987 阅读:27 留言:0更新日期:2022-07-31 09:16
本专利公开了一种基于半监督学习和元学习的少样本NL2SQL方法。本方法能在仅拥有少量标注数据的场景下,通过自训练框架的辅助对模型进行迭代训练,在这过程中逐步优化模型以及伪标签。首先对基础模型利用已有的少量标注数据进行热启动训练后,将其用于大量无标注数据的伪标签以及置信度预测,并使其与标签数据结合使对模型进行半监督学习。在半监督学习的过程中,同时引入元学习算法,它会在训练过程中进行任务采样,利用其特有任务训练机制来提升模型的快速学习以及迁移学习能力。最终得到的NL2SQL模型具有接近使用大量标注数据在有监督条件下训练的模型的准确率,同时针对新数据具有强大的少样本快速学习与微调的能力。具有强大的少样本快速学习与微调的能力。具有强大的少样本快速学习与微调的能力。

A small sample nl2sql method based on semi supervised learning and meta learning

【技术实现步骤摘要】
一种基于半监督学习和元学习的少样本NL2SQL方法


[0001]本专利技术涉及一种基于半监督学习和元学习的文本转结构化查询语言(NL2SQL, NaturalLanguagetoStructureQueryLanguage)的方法,属于信息处理


技术介绍

[0002]随着互联网的发展,海量数据以爆炸式的速度产生与增长。数据库则成为了人们数据存储的常用工具。目前各行各业,无论是医疗、金融、化工还是电力等,都会产生很多业务数据以及知识数据,而这些数据都会被选择存储在数据库中;同时在软件与平台开发过程中,数据库也成为了首选的后端数据存储容器。数据库的中存储的数据无论是修改还是查询,都需要特定的查询语言,那就是SQL。但SQL语言在具有灵活的查询功能的同时,其语法本身也较为复杂和难懂,只能由具备一定专业知识的人来进行操作,而对于普通用户来说,他们难以直接使用SQL来查询数据库。
[0003]NL2SQL是为了解决查询问题而诞生的技术,它的核心目标是将描述查询的自然语言转化为SQL语句。这项技术可以允许普通用户使用非常口语化的自然语言来本文档来自技高网...

【技术保护点】

【技术特征摘要】
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,...,x
n
},其中x表示每个词,同时获取到Q所对应的目标表格T={H1,H2,...,H
m
},而H
i
=(h
i
,C
i
),其中H
i
表示第i个列,h
i
表示其列名,C
i
表示其包含的多个值,同时对于每个H
i
识别它的类型t
i
,它分为文本类型,日期类型和数字类型(Date,Text,Number);步骤(1

2):在每个列H
i
下,其中表示C
i
下第j行的值,在输入到编码器前,每个首先会分词后与Q的单词进行滑窗式文本相似度匹配,在滑窗过程中的最高一次匹配得分作为每个的分数,取得分最高的前k作为剩下的集合步骤(1

3):将分词后的自然语言问句Q和其对应表格T中的每个列H
i
的信息依次输入到模型的编码器RoBERTa中,具体来说H
i
的信息包含(t
i
,h
i
,C'
i
),在同样进行分词后与Q的分词结果一起输入到编码器中,步骤(1

4):利用步骤(1

3)得到的向量表示来进行六个子任务的预测,这六个子任务分别是:SELECT部分的选列预测(SC),SELECT部分的聚合函数预测(SA),WHERE 部分条件个数的预测(WN),WHERE部分每个条件的列(WC),操作符(WO)和值(WV),步骤(1

5):综合每一组(Q,H
i
)的预测结果,基于Q和查询目标表格T来最终预测完整的SQL结果,首先对于SC,直接取P
SC
得分最高的列作为结果;其次综合每个列对WN的预测,并利用关联度得分作为权重来进行带权相加,最终取概率分布中得分最高的数量作为WN的结果,记作n':之后取前n'个P
WC
得分最高的列作为WC的结果;与此同时,对于SC的列,取该列所预测的聚合函数中概率最大者作为SA的结果;对于WC的列,取这些列各自所预测的操作符和值区间的概率最大者作为各自所在的条件中的操作符和值,即WO和WV的结果;由此结合预定义的SQL骨架,用子任务的结果进行填充最终形成完整的SQL:
SELECT{SA}{SC}WHERE({WC}{WO}{WV})*,其中,{}表示一个待填充的槽位,*表示括号中的部分可能出现0次或多次,由此最终的SQL预测完成。4.根据权利要求3所述的基于半监督学习和元学习的少样本NL2SQL方法,其特征在于,步骤(1

3)中在同样进行分词后与Q的分词结果一起输入到编码器中,输入格式如下:,输入格式如下:其中,m表示h
i
分词后的长度,l
k
表示分词后的长度,在经过RoBERTa进行编码后,这些单词会被向量化,如下:其中,每个h表示一个向量,这部分向量表示会用到后续的解码预测部分。5.根据权利要求4所述的基于半监督学习和元学习的少样本NL2SQL方法,其特征在于,步骤(1

4)中,其中子任务的个数和定义根据SQL所需覆盖的语法进行增删,针对每一组列粒度输入(Q,H
i
),首先对H
i
作为SC和WC结果的概率进行打分,计算方式如下:计算方式如下:其中W
SC
和W
WC
均为可训练参数矩阵,P表示所得到的概率,此后会进行WN的结果进行预测,对每个H
i
分别预测的条件数量概率分布以及H
i
本身与Q的关联度得分,具体的计算过程如下:如下:其中n
j
表示某一个条件数,W
WN
和W
w
均为可训练参数矩阵,同时对于每个H
i
,还会预测当其作为SC时它的聚合函数,以及当其作为某个条件的列时所对应的操作符和值,具体的计算过程如下:算过程如下:算过程如下:算过程如下:其中a
j
表示某一个聚合函数,o
...

【专利技术属性】
技术研发人员:郭心南陈永锐漆桂林
申请(专利权)人:东南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1