一种基于领域模板预训练的小样本文本分类方法

文档序号:33621515发布日期:2023-03-25 12:06阅读:27来源:国知局
一种基于领域模板预训练的小样本文本分类方法

1.本发明涉及自然语言处理技术领域,具体的说是一种基于领域模板预训练及改进prompt的小样本文本分类策略。


背景技术:

2.随着自然语言处理的不断发展,针对文本分类任务的模型算法也层出不穷,从基于概率的机器学习模型,再到由深层神经网络构成的深度学习模型。虽然这些模型方法逐步提高了分类准确性,但是这些模型一般都是在任务数据集上直接从头开始进行训练,需要大量的标注数据和高性能的处理器支撑,并且需要大量的训练时间,除此之外训练出来的模型对新任务的适应能力比较差,对于新任务而言往往需要再重新标注数据和训练模型。基于预训练模型的小样本学习方法在近几年的发展十分迅速,能够很好的解决上述问题,将基于预训练模型的小样本学习方法应用到文本分类中是具有研究价值的。基于预训练模型的小样本学习方法,能够很好的从海量无标签数据集中获得通用共性的语言表示知识和模型的初始化参数,然后在目标任务使用很少的数据训练,就可以取得了非常好的效果。
3.目前,在自然语言处理领域文本分类的方法主要分为基于深度学习模型和基于预训练语言模型两种类别。经典的基于深度学习模型的方法,如基于神经元的循环神经网络(rnn)(mikolov t,karafi
á
t m,burget l,et al.recurrent neural network based language model[c].interspeech.2010,2(3):1045-1048);改进的长短期记忆神经网络(lstm)(zhang,yanbo.research on text classification method based on lstm neural network model.2021ieee asia-pacific conference on image processing,electronics and computers(ipec)(2021):1019-1022);文本卷积神经网络模型(text cnn)(kim,yoon.convolutional neural networks for sentence classification[c].empirical methods in natural language processing,2014:1746-1751)。对于具有大量标注的训练语料,这些模型能够通过训练反复调整模型参数,能够获得较好的分类效果。但是基于深度学习的方法都需要从头开始进行模型的训练,并且需要大量的训练数据集,建立输入x和输出y变量之间的数学映射关系。在实际应用场景中,出于隐私及安全问题或收集标注成本问题,并不能获得大量的数据对模型进行训练学习,或者是受限于计算机硬件水平难以对深度学习模型开展训练。因此在资源受限的情况下,此类方法的性能和效果并不能令人满意。随着transformer(vaswani a,shazeer n,parmar n,et al.attention is all you need[j].neural information processing systems,2017,(30):6000-6010)和bert(vaswani a,shazeer n,parmar n,et al.attention is all you need[j].neural information processing systems,2017,(30):6000-6010)。预训练语言模型的提出,加速了新一轮的自然语言领域发展,基于预训练语言模型的方法又可以分为让模型来适应任务的微调策略和让任务来适应模型的提示学习策略。预训练和微调的解决方案,首先基于预训练语言模型对下游任务设计训练对象,对模型进行微调,来获得语料的语义信息和预训
练模型的初始化参数,让模型来适应下游的各种任务,但由于预训练语言模型和下游任务之间目标不一致,往往存在着领域之间的隔阂,输入和输出之间存在结构偏差,微调设计复杂,优化成本高。而基于预训练模型的提示学习方法能够充分的发挥预训练语言模型的潜力,数据重构添加一个提示描述,将任务转化为预训练语言模型所熟知的完形填空任务,不需要重新设计分类器,仅需要设计不同的prompt,就可以使目标任务适应预训练语言模型,并且能够展现出不错的分类效果。
[0004]
尽管当前自然语言处理领域发展迅速,有大量优秀算法来进行文本分类任务的研究,但是仍存在一些未解决的问题。例如预训练语言模型和微调方法设计越来越复杂,目标任务与预训练语言任务领域相差过大,预训练语言模型很难学习到领域内特有的知识,预训练语言模型的输入输出与目标任务之间存在结构性偏差,对数据集数据处理方面丢失语义信息,冗余信息等,如何合理的获取领域数据信息并充分提升预训练模型在目标任务上的效果,在小样本文本分类领域仍是需要研究的重点问题之一。


技术实现要素:

[0005]
本发明的目的是针对现有技术的不足而提供的一种基于领域模板预训练的小样本文本分类方法,采用领域模板预训练和提示学习结合的方法,进行小样本文本分类任务的方法,利用目标数据集进行模板构建,使用预训练语言模型对mlm任务进行训练,获得的领域内信息经混合模板构建及多标签映射,实现使用较少的数据也能够达到更好的分类,不但缩短了目标任务的训练时间,而且减小了对计算机硬件性能的要求,该方法使用与目标任务相关的领域内数据集进行模板构建,然后使用构建之后的数据对预训练语言模型进行进一步的预训练,对目标任务数据集进行混合模板的构建,并对目标数据集数据进行预处理,使用进一步预训练之后的模型再对目标任务进行训练及验证,得到预测的词语,使用标签词映射器,将预测的词映射为最后的目标标签。方法简便,训练速度更快,对硬件性能要求较低,更好的利用了预训练语言模型,大大提高了目标任务的分类准确率,为相关领域的技术发展提供了技术支撑。
[0006]
实现本发明的目的具体技术方案是:一种基于领域模板预训练的小样本文本分类方法,其特点是采用领域模板构建对预训练语言模型进行进一步预训练,对目标任务再进行改进的提示学习的构建进行小样本文本分类的方法,主要包括以下步骤:
[0007]
步骤1:通过与目标任务相关的领域数据集进行提示模板的构建,若输入数据为x,经过fprompt为提示函数用来添加提示信息,构建成由下述(a)式定义的x:
[0008]
x=fprompt(x)(a)。
[0009]
其中,x为领域数据集文本数据;fprompt为模板构建函数;x’为领域数据集经模板构建后的数据。
[0010]
步骤2:使用步骤1模板构建后的数据对选用的预训练语言模型针对mlm任务进行进一步预训练,从而使预训练语言模型获得与目标任务相关的领域信息。
[0011]
步骤3:对目标任务每一个类别取相同数量的数据样本,并且对数据集中的长文本进行头尾截断处理获得头部和尾部具有总结性的语义信息,对短文本进行动态填充,减少大量的无用填充。
[0012]
步骤4:通过使用人类可理解的自然语言模板和机器理解的编码语言模板对目标
数据集进行提示混合模板的构建,使用目标任务的训练数据xtarget,经过模板设计为{soft:this}topic{soft:is}{mask}{xtarget},soft为机器理解的可调模板,并进行根据任务初始化,topic为自然语言模板会转化为对应的embedding形式,mask为将要进行预测的值,xtarget为原有输入序列。
[0013]
步骤5:利用步骤4目标任务数据集构建后的混合模板对步骤2)生成的进一步预训练的语言模型进行训练及预测,并对学习率等参数进行调整。此时预训练语言预测mask位置的token的概率如下述(b)式所示:
[0014][0015]
其中,x’为经过模板构建的输入数据;yf为最后的输出概率;y为当前预测词;z(x)为答案空间;y’为不包含当前预测词的答案空间。
[0016]
步骤6:通过argmax函数得到概率最大预测答案,然后根据答案空间z,标签词映射器得到由下述(c)式计算的最后目标任务所需要的输出标签:
[0017]
ylabel=z(argmaxy
∈%
(p(yf|x’)))(c)。
[0018]
其中,y
label
为最后的输出标签,p(yf|x’)为预测词的概率,z是答案标签映射器,将预测词映射为最后的输出标签。
[0019]
本发明与现有技术相比具有以下显著的技术进步和有益的技术效果:
[0020]
1)本发明通过使用领域内数据进行提示信息的构建并对预训练语言模型进一步预训练,充分获得了与目标领域相关的语义信息及领域知识。
[0021]
2)本发明将目标任务进行改造来适应预训练语言模型,在对目标任务进行模板构建时,使用混合模板方式,充分发挥提示模板不同的优势,减少模板构建的成本。
[0022]
3)本发明在小样本文本分类研究中,比使用较大数据集的深度学习方法以及使用预训练和微调的方法,有更高的准确度和更短的训练时间。
附图说明
[0023]
图1为本发明流程图。
具体实施方式
[0024]
下面以具体实施对本发明作进一步详细描述和说明:
[0025]
参阅图1,本发明按下述步骤进行小样本文本分类:
[0026]
步骤1:通过与目标任务相关的领域数据集进行提示模板的构建,若输入数据为x,经过fprompt为提示函数用来添加提示信息构建成为x’,如输入句子:i like this toy,经过模板构建后为:it is[mask],i like this toy。
[0027]
步骤2:使用步骤1模板构建后的数据对选用的预训练语言模型针对mlm任务进行进一步预训练,从而使预训练语言模型获得与目标任务相关的领域信息。
[0028]
步骤3:对目标任务每一个类别取相同数量的数据样本,并且对数据集中的长文本进行头尾截断处理,获得头部和尾部具有总结性的语义信息,对短文本进行动态填充,减少大量的无用填充。
[0029]
步骤4:通过使用人类可理解的自然语言模板和机器理解的编码语言模板对目标
数据集进行提示混合模板的构建,使用目标任务的训练数据xtarget,经过模板设计为{soft:this}topic{soft:is}{mask}{xtarget},soft为机器理解的可调模板,并进行根据任务初始化,topic为自然语言模板会转化为对应的embedding形式,mask为将要进行预测的值,xtarget为原有输入序列。
[0030]
步骤5:利用步骤4目标任务数据集构建后的模板对步骤2生成的进一步预训练的语言模型进行训练及预测,并对学习率等参数进行调整,预热步骤设置为总步长的0.1,模型更新率为0.00002,权值衰减设置为0.01。此时,预训练语言预测mask位置的token的概率如下述(b)式计算:
[0031][0032]
其中,x’为经过模板构建的输入数据;yf为最后的输出概率;y为当前预测词,z(x)为答案空间,y’为不包含当前预测词的答案空间。
[0033]
步骤6:通过argmax函数得到概率最大预测答案,然后根据答案空间z,标签词映射器得到由下述(c)式计算的最后目标任务所需要的输出标签:
[0034]
ylabel=z(argmax
∈%
(p(y|x’)))(c)。
[0035]
其中,y
label
为最后的输出标签;p(y|x’)为预测词的概率;z是答案标签映射器。
[0036]
将预测词映射为最后的输出标签,如对于二分类情况答案空间及标签词可能为(positve:wonderful,great,interesting...;negative:bad,boring,terrible...)。
[0037]
本发明利用与目标任务相关的领域数据集进行模板构建及对预训练语言模型进行进一步预训练,能够让预训练模型更好的学习到与目标任务相关的领域信息,大大减小了预训练语言模型和目标任务的领域隔阂。通过使用模板构建的prompt方法构建出了与预训练语言模型训练时相似的输入输出结构,让目标任务来适应预训练语言模型,充分发挥了预训练语言模型的潜力,并且通过人类可理解的自然语言和机器理解的编码语言进行混合模板构建,增强了可优化的嵌入词,提高模板的表示能力,除此之外使用答案空间映射器,扩充答案空间,增强模型鲁棒性,通过本发明方法在小样本文本分类上能够取得较好的效果,大大降低了对目标任务数据量的依赖和对计算机性能的要求。
[0038]
以上所述仅为本发明的具体实施例,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1