基于教师学生网络和多头解码器的应用题自动解题方法技术

技术编号:25310657 阅读:32 留言:0更新日期:2020-08-18 22:29
本发明专利技术公开了一种基于教师学生网络和多头解码器的应用题自动解题方法,首先使用一个序列到树结构的编码解码网络训练一个准确率较高的教师网络,然后利用这个教师网络获得针对训练样本的预测分布向量即软标签向量。然后构造了一个同样基于序列到树结构的编码解码网络,并添加多个树结构的解码器,获得了一个有多头树结构解码器的学生网络。之后,通过使用软标签向量和原有的训练样本中提供的0‑1分布的标签向量即硬标签向量共同作为监督信号,训练了学生网络。在测试时,选取多头解码器中生成的多个解中置信度最高的一个作为模型的输出。本发明专利技术通过利用教师模型生成不同于标注的解题等式的能力,并辅以多头解码器结构,可以取得更好的解题效果。

【技术实现步骤摘要】
基于教师学生网络和多头解码器的应用题自动解题方法
本专利技术涉及计算机语言学
,具体涉及一种基于教师学生网络和多头解码器的应用题自动解题方法。
技术介绍
解数学题即文本描述自动回答数学问题,自1960年以来一直吸引着研究者的关注,是一项重要的自然语言理解任务。典型的数学应用题是给出一个问题的描述并给出一个有关未知数量的问题的简短叙述。较早的研究常识通过统计机器学习和语音解析方法来设计自动求解器,但是这些方法因为需要花费大量的精力来设计合适的功能和表达模板,泛化性比较差。近年来出现了基于深度学习的自动求解器,这些深度学习方法能够自动获取特征学习信息,并能够生成训练数据集中不存在的新求解表达式,同时它们在规模较大且复杂的数据集上也达到了很高的性能,该类方法中最先被提出的是在2017年出现的深度神经解题器(DNS),该方法在提出模型的同时收集了一个大规模数学题(MathWordProblem,MWP)数据集来评估自动解题器的性能,从那时起,许多研究工作都投身于改进基于深度学习的自动求解器。一方面,比较有代表性的改进是分组注意模型(GROUPATT)和表达式规范化方法(Math-EN),他们分别着眼于改进中间进程和模型的输入。另一方面,改进数量表征的获取方式和生成过程也是实现更好的解决方案表达式的潜在方法;但是,其中存在一个之前的所有方法涉及得都比较少的点,如何利用数学题的多解特性来增强模型的性能。因此往往我们的数据只给出了一种具体的解法,如果解题器生成一个非标注解的正确解,模型可能就会被错误地惩罚,从而降低模型生成结果的准确率,即使是不考虑这一点,我们也可以看到,所有的解题模型,都会出现答案准确率高于解题等式准确率的现象,所以从这个角度思考改进解题模型是很重要的。
技术实现思路
针对现有技术中的上述不足,本专利技术提供的基于教师学生网络和多头解码器的应用题自动解题方法解决了现有的深度学习模型对生成不同于标注的正确解欠考虑的问题。为了达到上述专利技术目的,本专利技术采用的技术方案为:基于教师学生网络和多头解码器的应用题自动解题方法,包括以下步骤:S1、构建序列到树结构且只有一个解码器的编码解码模型,将其作为教师网络;S2、通过训练样本对教师网络进行训练,同时将训练样本的标注作为硬标签向量,将完成训练的教师网络对训练样本输出的类别向量作为软标签向量;S3、构造一个基于序列到树且有多头树结构解码器的编码解码模型,将其作为学生网络;S4、基于硬标签向量和软标签向量同时构造监督信号,并基于构造的监督信号利用训练样本对学生网络进行训练;S5、将待解应用题输入到训练好的学生网络中,利用学生网络的多头树结构解码器生成若干个解题等式,并确定对应的置信度;S6、选取最高置信度对应的解题等式,并根据该解题等式求取对应的答案,完成自动解题。进一步地,所述步骤S1中,将教师网络为训练样本x映射为标注y的函数f(x,θT),其中,θT为教师网络的参数;所述训练样本为应用题题干及其对应的解题方案;所述标注y为0-1分布的标签向量。进一步地,所述步骤S2中,通过训练样本对教师网络进行训练的方法具体为:A1、通过教师网络中的编码器结构获取应用题题干文本中文字单词集合X的单词级隐状态表征H;A2、将单词级隐状态表征H输入到教师网络中基于树结构的解码器中,并在每个时刻输出一个类别向量;A3、基于输出的类别向量和训练样本的标注y,确定教师网络的损失函数;A4、基于教师网络的损失函数,将训练样本的标注作为训练过程的监督信号,利用训练样本对教师网络进行训练。进一步地,所述步骤A1中的编码器结构为双向循环神经网络。进一步地,所述步骤A3中,教师网络的损失函数LNLL(θT)为:式中,1为指示函数,V1为教师网络中解码器生成的解题等式中数字和运算符的数量,k1为教师网络的损失函数中特定的数字或运算符,p1(·)为教师网络输出的类别向量对应的分布。进一步地,所述步骤S3中构建的学生网络中编码器结构与教师网络中的编码器结构相同,所述学生网络包括若干个拥有独立参数的基于树结构的解码器,在所述学生网络的训练过程中,每个解码器的输出端添加一个多样化正则项,每个解码器的输入中添加有不同的噪声。进一步地,所述步骤S4中,所述学生网络训练过程损失函数的确定方法为:B1、基于硬标签向量,确定学生网络的损失LNLL(θS);式中,θS为学生网络的参数,1为指示函数,V2为学生网络中各解码器生成的解题等式中数字和运算符的数量,k2为学生网络的损失函数中特定的数字或运算符,p2(·)为学生网络输出的类别向量对应的分布;B2、计算学生网络输出和教师网络输出之间的交叉熵损失LKD(θS;θT);式中,q{y=k|x;θT}为取出教师网络输出的软标签向量中第k个位置值的指示函数,p(y=k|x;θs)为学生网络中输出的类别向量中第k个位置的分布,V为教师网络和学生网络中生成的相同的解题等式时其中的数字和运算符的数量,k为其中特定的数字或运算符;B3、基于交叉熵损失LNLL(θS;θT)和损失LNLL(θS),确定学生网络中第i个解码器对应的教师网络到学生网络的损失LTS,i(θS,θT);LTS,i(θS,θT)=(1-α)LNLL(θS)+αLKD(θS;θT)式中,α为插值参数;B4、通过学生网络中的编码器结构获取训练样本中应用题题干文本中文字单词集合x的单词级隐状态表征H;B5、通过对单词级隐状态表征H进行掩膜操作,生成与单词级隐状态表征H对应的隐层向量组集合{H1,H2,..Hi...HN},将其中的隐层向量组依次输入到学生网络的每个解码器中;其中,i为学生网络中的解码器编号,N为学生网络中的解码器总数;B6、引入多样化正则项Ldiv并结合损失LTS,i(θS,θT),得到学生网络训练过程的损失函数L。进一步地,所述步骤B5具体为:B5-1、定义掩膜率Pmask;B5-2、使用高斯分布对单词级隐状态表征H中百分比为Pmask的位置进行采样,生成一个与H相同的零矩阵Maskzero;B5-3、根据采样生成的零矩阵Maskzero,将1分配给采样到的位置,进而生成掩膜矩阵Maskp;B5-4、通过Hi=Maskp⊙H,确定与单词级隐状态表征H对应的隐层向量组集合{H1,H2,..Hi...HN};其中,⊙为按位相乘的矩阵乘法运算符;B5-5、将隐层向量组集合{H1,H2,..Hi...HN}中的每个隐层向量组Hi输入到对应的解码器中。进一步地,所述步骤B6中,引入的多样化正则项Ldiv为:式中,i,i1为两个不同解码器的编号,t为解题等式中的符号或数值编号,T为生成序列的长度,Ldiv,t为计算解题等式相似度的损失函数,且Ldiv,t=1+SCOS(yi,t,yi1,t)本文档来自技高网
...

【技术保护点】
1.基于教师学生网络和多头解码器的应用题自动解题方法,其特征在于,包括以下步骤:/nS1、构建序列到树结构且只有一个解码器的编码解码模型,将其作为教师网络;/nS2、通过训练样本对教师网络进行训练,同时将训练样本的标注作为硬标签向量,将完成训练的教师网络对训练样本输出的类别向量作为软标签向量;/nS3、构造一个基于序列到树且有多头树结构解码器的编码解码模型,将其作为学生网络;/nS4、基于硬标签向量和软标签向量同时构造监督信号,并基于构造的监督信号利用训练样本对学生网络进行训练;/nS5、将待解应用题输入到训练好的学生网络中,利用学生网络的多头树结构解码器生成若干个解题等式,并确定对应的置信度;/nS6、选取最高置信度对应的解题等式,并根据该解题等式求取对应的答案,完成自动解题。/n

【技术特征摘要】
1.基于教师学生网络和多头解码器的应用题自动解题方法,其特征在于,包括以下步骤:
S1、构建序列到树结构且只有一个解码器的编码解码模型,将其作为教师网络;
S2、通过训练样本对教师网络进行训练,同时将训练样本的标注作为硬标签向量,将完成训练的教师网络对训练样本输出的类别向量作为软标签向量;
S3、构造一个基于序列到树且有多头树结构解码器的编码解码模型,将其作为学生网络;
S4、基于硬标签向量和软标签向量同时构造监督信号,并基于构造的监督信号利用训练样本对学生网络进行训练;
S5、将待解应用题输入到训练好的学生网络中,利用学生网络的多头树结构解码器生成若干个解题等式,并确定对应的置信度;
S6、选取最高置信度对应的解题等式,并根据该解题等式求取对应的答案,完成自动解题。


2.根据权利要求1所述的基于教师学生网络和多头解码器的应用题自动解题方法,其特征在于,所述步骤S1中,将教师网络为训练样本x映射为标注y的函数f(x,θT),其中,θT为教师网络的参数;
所述训练样本为应用题题干及其对应的解题方案;所述标注y为0-1分布的标签向量。


3.根据权利要求2所述的基于教师学生网络和多头解码器的应用题自动解题方法,其特征在于,所述步骤S2中,通过训练样本对教师网络进行训练的方法具体为:
A1、通过教师网络中的编码器结构获取应用题题干文本中文字单词集合X的单词级隐状态表征H;
A2、将单词级隐状态表征H输入到教师网络中基于树结构的解码器中,并在每个时刻输出一个类别向量;
A3、基于输出的类别向量和训练样本的标注y,确定教师网络的损失函数;
A4、基于教师网络的损失函数,将训练样本的标注作为训练过程的监督信号,利用训练样本对教师网络进行训练。


4.根据权利要求3所述的基于教师学生网络和多头解码器的应用题自动解题方法,其特征在于,所述步骤A1中的编码器结构为双向循环神经网络。


5.根据权利要求3所述的基于教师学生网络和多头解码器的应用题自动解题方法,其特征在于,所述步骤A3中,教师网络的损失函数LNLL(θT)为:



式中,1为指示函数,V1为教师网络中解码器生成的解题等式中数字和运算符的数量,k1为教师网络的损失函数中特定的数字或运算符,p1(·)为教师网络输出的类别向量对应的分布。


6.根据权利要求3所述的基于教师网络和多头解码器的应用题自动解题方法,其特征在于,所述步骤S3中构建的学生网络中编码器结构与教师网络中的编码器结构相同,所述学生网络包括若干个拥有独立参数的基于树结构的解码器,在所述学生网络的训练过程中,每个解码器的输出端添加一个多样化正则项,每个解码器的输入中添加有不同的噪声。


7.根据权利要求6所述的基于教师网络和多头解码器的应用题自动解题方法,其特征在于,所述步骤S4中,所述学生网络训练过程损失函数的确定方法为:
B1、基于硬标签向量,确定学生网络的损失LNLL(θS);



式中,θS为学生网络的参数,1为指...

【专利技术属性】
技术研发人员:张骥鹏邵杰王磊徐行
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

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

1