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

基于双层多门控专家混合模型(MMOE)的多任务NL2SQL方法技术

技术编号:36904686 阅读:48 留言:0更新日期:2023-03-18 09:24
本发明专利技术公开了基于双层多门控专家混合模型(MMOE)的多任务NL2SQL方法,包括以下步骤:步骤1编码层构建步骤,用于获取问题和表模式的嵌入表示;步骤2多门控循环神经网络混合层构建步骤,用于利用多门控专家混合模型,进一步提取不同类型的语义信息,步骤3多门控注意力池化混合层构建步骤,用于利用多门控专家混合模型,获取不同子任务下的问题的向量表示;步骤4子任务学习层构建步骤,用于对各项子任务进行预测;步骤5多任务NL2SQL模型训练步骤,用于构建损失函数,构建优化函数。本发明专利技术在查询匹配正确率上的提升尤为显著,说明本发明专利技术的模型对于NL2SQL的数据集有着显著的效果提升。模型对于NL2SQL的数据集有着显著的效果提升。模型对于NL2SQL的数据集有着显著的效果提升。

【技术实现步骤摘要】
基于双层多门控专家混合模型(MMOE)的多任务NL2SQL方法


[0001]本专利技术涉及本专利技术涉及人工智能、自然语言处理
、多任务学习领域,具体涉及基于双层多门控专家混合模型(MMOE)的多任务NL2SQL方法。
技术背景
[0002]人工智能是计算机科学的一个重要分支,主要包括图像识别,自然语言处理,知识图谱等多个研究范围,近年来,随着算力的不断提升,获取的数据不断增多,人工智能领域取得了突飞猛进的进展和极为广泛的应用,极大推动了新兴产业的深度融合,在各大领域已经初步具备了落地应用的条件。
[0003]关系数据库在许多实际应用中非常普遍。然而,通常情况下需要使用结构化查询语言(如SQL)与此类数据库进行交互。Text

to

SQL(文本到SQL语句)任务指将自然语言描述转化成对应的SQL查询语句,让用户可以通过自然语言直接与关系数据库进行交互,这项技术能够有效地辅助人们对海量的数据库进行查询,具有广泛的应用前景,比如基于数据库的自动问答等。

技术实现思路

[0004]专利技术目的:NL2SQL主要包含两方面的预测:SELECT和WHERE,如何学习SELECT和WHERE之间的相关性和差异性,是NL2SQL的一个核心问题。本申请借助于深度学习技术解决这一问题。为了学习子任务之间的相关性和差异性,提出了构建基于于双层多门控专家混合模型(MMOE)的多任务学习模型。本申请所提出的模型在真实的NL2SQL数据集上取得了显著效果,在自动问答系统领域有很大的应用前景。
[0005]技术方案:为实现上述目的,本专利技术采用的技术方案为:
[0006]一种基于于双层多门控专家混合模型(MMOE)的多任务NL2SQL方法,包括以下步骤:
[0007]步骤1:编码层构建步骤,用于获取问题和表模式的嵌入表示
[0008]步骤2:多门控循环神经网络混合层构建步骤,用于利用多门控专家混合模型,进一步提取不同类型的语义信息
[0009]步骤3:多门控注意力池化混合层构建步骤,用于利用多门控专家混合模型,获取不同子任务下的问题的向量表示
[0010]步骤4:子任务学习层构建步骤,用于对各项子任务进行预测
[0011]步骤5:多任务NL2SQL模型训练步骤,用于构建损失函数,构建优化函数。
[0012]本专利技术的模型和最近一些先进的方法进行了比较,实验结果显示本专利技术的方法较之有了很大的提升。尤其是在查询匹配正确率上的提升尤为显著,说明本专利技术的模型对于NL2SQL的数据集有着显著的效果提升。
[0013]术语解释:
[0014]多任务学习是机器学习的一个子领域,旨在利用不同任务之间的相似性,同时解
决多个不同任务。这可以提高学习效率和准确性。
[0015]双层多门控专家混合模型(MMOE),是一个经典的多任务学习模型,其在底层设置多个专家系统,每个专家系统都有自己擅长的领域,同时设置一个门控系统,为每个子任务生成一组权重,这样每个子任务可以根据自身的特点,将不同专家系统的输出加权求和作为自己的输入,这种模型可以有效的学习到不同子任务之间的相关性和差异性。
[0016]RoBERTa:RoBERTa是BERT的改进版,是一个预训练的语言表征模型。其建立在BERT的语言掩蔽策略的基础上,修改BERT中的关键超参数,包括删除BERT的下一个句子训练前目标,以及使用更大的bacthsize和学习率进行训练。RoBERTa也接受了比BERT多一个数量级的训练,时间更长。这使得RoBERTa表示能够比BERT更好地推广到下游任务。
[0017]所述方法的每个实施步骤如下:
[0018]具体步骤如下:
[0019]多任务NL2SQL模型构建步骤具体为:
[0020]步骤1:编码层的构建步骤具体为:
[0021]本专利技术以RoBERTa作为编码器,把表格中的每一列单独和问题一起输入进编码器中,进行若干次多头注意力机制(Multi

Head Attention)、层归一化(Layer_Norm)以及前馈网络层之后得到输出,作为问题和表模式的表示。
[0022]H=RoBERTa(Input)
[0023]其中,Input为列和自然语言问题,RoBERTa为RoBERTa预训练语言模型,H为问题和表模式的表示。
[0024]步骤2:多门控循环神经网络混合层的构建步骤具体为:
[0025]首先,本专利技术设计了一个专家系统,其使用双向LSTM(BiLSTM)循环神经网络,来进一步获取问题和表模式的语义信息:
[0026](z1,...,z
n+m
)=BiLSTM(h1,...,h
n+m
)
[0027]其中h
i
为第i个token的向量表示,BiLSTM为双向LSTM(BiLSTM)循环神经网络,z
i
为第i个token经过双向LSTM(BiLSTM)循环神经网络后的向量表示。
[0028]为了获取不同类型的语义信息,本专利技术设置了三个这样的专家系统,每个专家系统都可以学习到自己擅长的领域,本专利技术将编码层的输出同时输入进三个的专家系统中,以获取不同类型的语义信息:
[0029]Z1=BiLSTM(h1,...,h
n+m
)
[0030]Z2=BiLSTM(h1,...,h
n+m
)
[0031]Z3=BiLSTM(h1,...,h
n+m
)
[0032]其中h
i
为第i个token的向量表示,BiLSTM为双向LSTM(BiLSTM)循环神经网络,Z
i
为问题和表模式的表示经过第i个双向LSTM(BiLSTM)循环神经网络后的表示。
[0033]之后,本专利技术设计了一个门控系统,用来整合三个专家系统的输出,即生成三组权重,每组权重有三个权值,将三个专家系统的输出加权求和,这样就可以得到三个新的输出,这样做可以使得这三个独立的专家系统在学习不同类型的语义信息的同时,又可以学习相互之间的相关性。由于RoBERTa的池化输出向量p可以较好的整合输入问题和列的信息,因此本专利技术利用该池化输出向量,将其与三个可训练的权重矩阵相乘,并经过Softmax层输出后得到三个权重向量,每个权重向量的每个值即为每个专家系统结果的权重,将其
加权求和后得到三个新的问题和表模式的语义表示矩阵,并将其作为下一层的输入。
[0034]g1
i
=Softmax(pW
g1i
)
[0035]E1
i
=∑g1
ij
Z
j
[0036]其中,p为RoBERTa的池化输出向量,W
g1i
为第i个可训练的权重矩阵,Softmax为Softmax函数,g1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于双层多门控专家混合模型的多任务NL2SQL方法,其特征在于,所述方法包括以下步骤:步骤1:编码层构建步骤,用于获取问题和表模式的嵌入表示;步骤2:多门控循环神经网络混合层构建步骤,用于利用多门控专家混合模型,进一步提取不同类型的语义信息;步骤3:多门控注意力池化混合层构建步骤,用于利用多门控专家混合模型,获取不同子任务下的问题的向量表示;步骤4:子任务学习层构建步骤,用于对各项子任务进行预测;步骤5:多任务NL2SQL模型训练步骤,用于构建损失函数,构建优化函数。2.根据权利要求1所述的基于双层多门控专家混合模型的多任务NL2SQL方法,其特征在于,步骤1中编码层的构建步骤具体为:以RoBERTa作为编码器,把表格中的每一列单独和问题一起输入进编码器中,进行若干次多头注意力机制(Multi

Head Attention)、层归一化(Layer_Norm)以及前馈网络层之后得到输出,作为问题和表模式的表示,H=RoBERTa(Input);其中,Input为列和自然语言问题,RoBERTa为RoBERTa预训练语言模型,H为问题和表模式的表示。3.根据权利要求2所述的基于双层多门控专家混合模型的多任务NL2SQL方法,其特征在于:步骤2中多门控循环神经网络混合层的构建步骤具体为:首先,设计一个专家系统,其使用双向LSTM(BiLSTM)循环神经网络,来进一步获取问题和表模式的语义信息:(z1,...,z
n+m
)=BiLSTM(h1,...,h
n+m
)其中h
i
为第i个token的向量表示,BiLSTM为双向LSTM(BiLSTM)循环神经网络,z
i
为第i个token经过双向LSTM(BiLSTM)循环神经网络后的向量表示;为了获取不同类型的语义信息,设置三个这样的专家系统,每个专家系统都能学习到自己擅长的领域,将编码层的输出同时输入进三个的专家系统中,以获取不同类型的语义信息:Z1=BiLSTM(h1,...,h
n+m
)Z2=BiLSTM(h1,...,h
n+m
)Z3=BiLSTM(h1,...,h
n+m
)其中h
i
为第i个token的向量表示,BiLSTM为双向LSTM(BiLSTM)循环神经网络,Z
i
为问题和表模式的表示经过第i个双向LSTM(BiLSTM)循环神经网络后的表示;之后,设计一个门控系统,用来整合三个专家系统的输出,即生成三组权重,每组权重有三个权值,将三个专家系统的输出加权求和,这样就得到三个新的输出,使得这三个独立的专家系统在学习不同类型的语义信息的同时,又能学习相互之间的相关性,由于RoBERTa的池化输出向量p能整合输入问题和列的信息,利用该池化输出向量,将其与三个可训练的权重矩阵相乘,并经过Softmax层输出后得到三个权重向量,每个权重向量的每个值即为每个专家系统结果的权重,将其加权求和后得到三个新的问题和表模式的语义表示矩阵,并将其作为下一层的输入,
g1
i
=Softmax(pW
g1i
)E1
i
=∑g1
ij
Z
j
其中,p为RoBERTa的池化输出向量,W
g1i
为第i个可训练的权重矩阵,Softmax为Softmax函数,g1
i
为第i个权重向量,g1
ij
为第i个权重向量的第j个值,E1
i
为下一层(即多门控注意力池化混合层)第i个专家系统的输入矩阵。4.根据权利要求3所述的基于双层多门控专家混合模型的多任务NL2SQL方法,其特征在于:步骤3中多门控注意力池化混合层的构建步骤具体为:首先,设计一个池化专家系统,使用注意力机制来对上一层的表示进行加权求和,来获取问题的向量表示,首先初始化一个可训练的向量作为注意力机制的查询向量Q,将上一层的输出经过单层神经网络的输出作为键向量K,最终能获取最终的问题的向量表示h
c
k
ij
=ReLU(W
k
E1
ij
+b
k
)a
in+1
,...,a
in+m
=softmax(q*k
in+1
,...,q*k
in+m
)E2
i
=∑a
ij
E1
ij
其中,W
k
为权重,b
k
为偏差,E1
ij
为第i个专家系统的输入中第j个token的表示向量,ReLU为ReLU函数,k
ij
为第i个专家系统中第j个token的键向量,q为可训练的查询向量,softmax为softmax函数,a
ij
为第i个专家系统中第j个token的权重,E2
i
为第i个专家系统的输出向量;之后,使用三个这样的池化专家系统,将第一层的三个输出分别输入进对应的池化专家系统内,得到三个不同类型的向量表示,利用RoBERTa的池化输出向量,将其与七个可训练的权重矩阵相乘,并经过Softmax层输出后得到七个权重向量,每个权重向量的每个值即为每个子任务下的每个专家系统结果的权重,将其加权求和后得到七个子任务的输入;g2
i
=Softmax(pW
g2i
)task_input
i
=∑g2
ij
E2
j
;其中,p为RoBERTa的池化输出向量,W
g2i
为第i个可训练的权重矩阵,Softmax为Softmax函数,...

【专利技术属性】
技术研发人员:高传宝郝晨铎张旭周德宇
申请(专利权)人:东南大学
类型:发明
国别省市:

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

1