文本处理模型的训练方法、装置和文本处理方法与流程

文档序号:18619653发布日期:2019-09-06 22:21阅读:148来源:国知局
文本处理模型的训练方法、装置和文本处理方法与流程

本申请涉及自然语言处理技术领域,尤其涉及一种文本处理模型的训练方法、装置和文本处理方法。



背景技术:

自然语言处理是计算机科学领域与人工智能领域中的一个重要方向,它研究如何使计算机既能理解自然语言文本的意义,又能通过自然语言文本来表达给定的意图、思想等,前者称为自然语言理解,后者称为自然语言生成。

无论是自然语言理解,还是自然语言生成,其任务诸多,大体可按照任务类型分为词法分析,句子分析,语义分析,信息抽取,高层任务等。其中,由于所有自然语言都具有词法、句法特征,因此对于词法分析,句子分析等任务,无需限定句子领域,故可称为基础任务。而如文本分类、机器翻译、文本摘要、问答系统、对话系统、阅读理解等任务,为直接面向普通用户提供自然语言处理产品服务的系统级任务,并且涉及多个层面的自然语言处理技术,故为高层任务。

基础任务亦或是高层任务的目标一般均通过一个基于机器学习的自然语言处理模型实现。模型的输入为自然语言文本数据,模型的输出则为任务目标。利用任务目标相应的大规模标注语料对模型进行训练并朝着训练目标不断优化,即可得到一个可对未知文本处理进而实现上述功能的优化模型。

通常,机器学习为解决一个单一问题而针对单一任务目标进行,即单任务训练。然而,不同任务模型的数据集差异巨大,因此任务模型只能在本数据集上获得较好的效果,而对于非本数据集的数据,任务模型需遭受一定的泛化性损失。另外,不同数据集的文本之间天生具有隐式共性,而训练时只注重前述单一任务目标,因此会造成一定的信息丢失。因此,如何提高任务模型的准确性和泛化性,是亟待解决的技术问题。



技术实现要素:

本申请提供了一种文本处理模型的训练方法、装置和文本处理方法,以提高任务模型的准确性和泛化性。

第一方面,本申请提供了一种文本处理模型的训练方法,应用于多个具有不同任务目标的文本处理模型,所述多个文本处理模型共享部分隐层;

对于每一任务目标,将相应训练样本输入至相应文本处理模型中,输出任务目标值;

根据输出的任务目标值计算预设损失函数的单任务损失值,根据各文本处理模型对应的单任务损失值计算多任务损失值;

根据所述多任务损失值,调整每一文本处理模型的参数。

进一步,所述根据各文本处理模型对应的单任务损失值计算多任务损失值,包括:

根据每一文本处理模型相应的训练样本数量,获取所述文本处理模型的参数调整权重;

使用所述参数调整权重对所述单任务损失值加权求和,得到多任务损失值。

进一步,所述文本处理模型的隐层包括基于预训练bert模型的第一编码模块、经预训练的第二编码模块和融合模块,所述经预训练的第二编码模块为所述多个文本处理模型共享的所述部分隐层。

进一步,所述第二编码模块包括自下至上依次串接的多个具有不同基础任务目标的第二编码子模块,以使每一所述第二编码子模块获取到输入文本的一种类型的共享特征。

进一步,所述根据多任务损失值,调整每一文本处理模型的参数,包括:

获取每一所述第二编码子模块预设的更新控制系数;

根据所述多任务损失值和相应的更新控制系数,调整每一所述第二编码子模块的参数;

根据所述多任务损失值,分别调整所述每一文本处理模型中所述第一编码模块、融合模块以及输出层的参数。

进一步,按照下述步骤,对每一所述第二编码子模块进行预训练:

根据每一所述第二编码子模块的基础任务目标,获取相应的训练样本集;

将第i层第二编码子模块相应的训练样本,由第1层顺次输入至第i层中,第i层输出基础任务目标值,i表示第二编码子模块在自下至上方向上的排列序号;

根据每层输出的基础任务目标值,计算每层的损失值;

根据第1至第i层的损失值,调整第i层所述第二编码子模块的参数。

进一步,所述将相应训练样本输入至相应文本处理模型中,输出任务目标值,包括:

将相应训练样本分别输入至所述第一编码模块和第二编码模块,以利用第一编码模块获取所述训练样本的任务特征向量,利用第二编码模块获取所述训练样本的至少一个共享特征向量,所述共享特征向量为所述训练样本针对任意任务目标的特征表示;

将所述共享特征向量和任务特征向量共同输入到融合层进行特征融合,并将融合结果输入至解码层以预测任务目标值。

进一步,所述将共享特征向量与任务特征向量共同输入到融合层进行特征融合,包括:

根据融合层的注意力参数矩阵和任务特征向量生成权重矩阵;

使用所述权重矩阵对所述共享特征向量中每一词汇对应的向量表示进行加权;

将每一共享特征向量的加权结果与所述任务特征向量拼接。

第二方面,本申请提供一种文本处理方法,应用于本申请第一方面所述方法训练得到的文本处理模型,所述方法包括:

利用第一编码模块获取任务文本的任务特征向量;

利用第二编码模块获取所述任务文本的至少一个共享特征向量;

利用融合模块将所述共享特征向量与所述任务特征向量融合,生成解码模块输入向量;

利用解码模块对所述输入向量进行预测,得到任务目标值。

第三发面,本申请提供一种文本处理模型的训练装置,应用于多个具有不同任务目标的文本处理模型,所述多个文本处理模型共享部分隐层;所述装置包括:

输入单元,用于对于每一任务目标,将相应训练样本输入至相应文本处理模型中,输出任务目标值;

损失计算单元,用于根据输出的任务目标值计算预设损失函数的单任务损失值,根据各文本处理模型对应的单任务损失值计算多任务损失值;

参数调整单元,用于根据所述多任务损失值,调整每一文本处理模型的参数。

由以上技术方案可知,本申请提供一种文本处理模型的训练方法、装置及文本处理方法,所述训练方法应用于多个具有不同任务目标的文本处理模型,所述多个文本处理模型共享部分隐层;所述训练方法中,对于每一任务目标,首先将相应训练样本输入至相应文本处理模型中,输出任务目标值;其次根据输出的任务目标值计算预设损失函数的单任务损失值,根据各文本处理模型对应的单任务损失值计算多任务损失值;最后根据多任务损失值,调整每一文本处理模型的参数。多个文本处理模型同时并行学习,通过共享部分隐层来共享多个任务的浅层特征表示,梯度同时反向传播帮助隐层逃离局部极小值,进而可以提高每个模型的准确性和泛化性。将训练后的文本处理模型用以处理高层任务,可以提高任务结果的准确性。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请文本处理模型的训练方法的一个应用场景示意图;

图2为本申请文本处理模型的训练方法一个实施例流程图;

图3为本申请一种文本处理模型示意图;

图4为第一编码模块10对输入文本的处理流程示意图;

图5为第二编码模块20的一种层级结构示意图;

图6为第二编码模块的预训练流程示意图;

图7为本申请文本处理方法的一个实施例流程图;

图8为本申请文本处理模型的训练装置的一个实施例示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

对于高层的自然语言任务,如分类任务、语义相似度任务等,现有的训练方法通常针对具有单一任务目标的模型进行完全单独的训练,进而导致模型仅在本数据集上获得较好的效果,而具有一定的泛化性损失,且不同数据集间天生具有隐式共性,而训练过程中只注重单一任务目标,因此存在一定的信息丢失,影响模型的准确性。

为了解决上述问题,本申请提供一种文本处理模型的训练方法及装置,其中所述的“文本处理模型”是指基于人工神经网络搭建的用于处理自然语言文本的模型,例如分类模型。在对本申请方法及装置的具体实现方式进行详细介绍之前,先对本申请方法及装置的基本应用场景予以介绍。

图1为本申请文本处理模型的训练方法的一个应用场景示意图。本申请方法意在对图1示出的多个文本处理模型并行训练。其中,每一文本处理包括隐层1和输出层2,并且,多个文本处理模型共享部分隐层,其余部分隐层则为每个模型的特定部分。图1中,每一文本处理模型用于完成一个特定的文本处理任务,即具有一个特定的任务目标,例如,m1的任务目标是情感分类,m2的任务目标是文本分类。

图1所示场景中,每一文本处理模型的任务目标虽然不同,但是有所关联。其中,如果两个任务是处理输入的相同函数,但是在任务信号中加入独立的噪声处理,很明显这两个任务是相关的;如果两个任务用于预测同个个体的属性的不同方面,这些任务比预测不同个体的属性的不同方面更相关;另外,两个任务共同训练时能相互帮助并不意味着它们是相关的,这是因为通过在后向传播网络的一个额外输出加入噪声可以提高泛化能力,但是这个噪声任务与其它任务不相关。图2为本申请文本处理模型的训练方法一个实施例流程图,如图2所示,该方法可以包括:

步骤21,对于每一任务目标,将相应训练样本输入至相应文本处理模型中,输出任务目标值。

训练样本一般包括输入文本和标准输出数据。输入文本可以为一个语句,或者由多个语句组成的段落或篇章。标准输出数据是指期望模型输出的与任务目标相应的数据,通常可以人工标注或者通过其他方式获得。

根据任务目标的不同,每一文本处理模型相应的训练样本可能存在不同。例如对于命名实体识别任务,其标准输出数据为命名实体标签,对于词性预测任务,其标准输出数据为词性标签,而对于分类任务,其标准输出数据则为表示输入文本属于正例或负例的类别标签。

由于本实施例针对多个任务进行并行训练,因此同一训练样本可以包括其中一个任务对应的标准输出数据,也可以包括多个任务对应的标准输出数据。例如,使用同一训练样本数据对m1和m2两个任务进行训练,则需使该训练样本数据同时包括m1任务对应的标准输出数据,和m2任务对应的标准输出数据。

示例性地,本实施例针对每一任务目标单独准备语料集,从而保证每一文本处理模型的训练样本尤其是输入文本间存在较大的差异,相当于同时扩大每一文本处理模型相应的样本规模,进而提升对模型的训练效果。

训练开始时,文本处理模型中的参数可以包括部分或全部预训练参数,也可以均为初始化参数。

示例性地,可以从一个包含300条标注语料的语料集中抽取出60条构成用于本轮迭代的训练样本集,再从剩余250条标注语料中抽取出60条构成用于下一轮迭代的训练样本集,直到将300条标注语料全部抽取完毕时,则从语料集的头部进行新一轮的抽取,以用于新一轮的迭代训练。

具体的,将每一文本处理模型的相应训练样本逐个输入至该文本处理模型中进行处理,模型将输出任务目标值,即训练阶段文本处理模型对输入文本的实际预测结果。而文本处理模型对其输入数据的处理过程,实际上是根据人工神经网络模型算法对输入数据进行处理,人工神经网络模型中涉及模型参数,人工神经网络模型的算法基于人工神经网络模型的类型不同而不同,由于属于已有技术,在此不再赘述。

训练的目的是为了使文本处理模型的实际预测结果与对应的标准输出数据无限的接近。具体是将任务目标值与标准数据数据代入到预先设定好的损失函数中计算损失值,进而可以根据损失值确定模型的迭代更新方向和更新量,从而不断优化模型的更新参数。其中,损失函数可以根据人工网络模型的类型和任务目标而设定,属于已有技术,在此不再赘述。

图3为本申请一种文本处理模型示意图。如图3所示,该文本处理模型的隐层包括第一编码模块10和经预训练的第二编码模块20以及融合模块30,输出层包括解码模块40。其中,经预训练的第二编码模块为多个文本处理模型共享的部分隐层,即每一文本处理模型的第二编码模块的神经网络结构和参数均未相同,第二编码模块20和融合模块30则为每一文本处理模型的特定部分。

第一编码模块10,基于一预训练的bert模型,用于提取输入文本中针对特定任务目标的任务特征,例如,对于语义相似性推断任务,其任务特征即为语义特征。作为可能的实现方式,可以直接下载谷歌公布的中文预训练bert模型作为第一编码模块,也可以将一未标注语料集中的语句序列输入至初始bert模型,对初始bert模型进行预训练,预训练的任务包括语句序列中两个语句是否为上下句的预测任务,和,两个语句中掩盖词的预测及掩盖词词性预测。

本实施例中,第一编码模块10对输入文本(训练阶段的输入即为训练样本)的处理过程包括图4所示步骤:

步骤41,对输入文本进行分词,并使用位置编码给分词得到的词语添加位置信息。

由于基于完全注意力的方法并不能像卷积神经网络或循环神经网络那样编码词与词之间的位置关系,因此为了令transformer模型能够感知词与词之间的位置关系,本实施例使用位置编码给每个词加上位置信息。

步骤42,将分词得到的词语序列表示成包含位置编码信息的初始词矩阵。

使用初始词矩阵表示添加位置信息的词语序列时,可以使用word2vec训练词矩阵,当然可用任意一种embedding训练方法。

步骤43,将初始词矩阵输入至transformer模型中,输出包含任务特征的任务特征向量。

第一编码模块中transformer模型共计12层,每一层transformer模型进一步包括自注意力、正则化、全连接、正则化4层。

其中,自注意力层使用如下公式计算:

在公式(1)中,为一个q、k中一个向量的长度;q、k、v为初始句子的词矩阵变换得到的,其公式分别为:

q=ywq公式(2)

k=ywk公式(3)

v=ywv公式(4)

其中,w*为一个可学习的随机初始化的权重矩阵,y为输入的词向量。

bert模型是里面multi-headattention,这里面multi-headattention其实就是多个self-attention结构的结合,每一个head是原始输入矩阵的一部分。head学习到在不同表示空间中的特征,多个head学习到的attention侧重点可能略有不同,这样给了模型更大的容量。

自然语言处理任务诸多,大体可按照任务类型分为词法分析,句子分析,语义分析,信息抽取,高层任务等。其中,由于所有自然语言都具有词法、句法特征,因此对于词法分析,句子分析等任务,无需限定句子领域,故可称为基础任务。而如文本分类、机器翻译、文本摘要、问答系统、对话系统、阅读理解等任务,为直接面向普通用户提供自然语言处理产品服务的系统级任务,并且涉及多个层面的自然语言处理技术,故为高层任务。

已有的针对高层任务的文本处理方法,仅针对目标任务提取任务相关的特征,而忽略较为基础的如词法、句法等共性特征,造成一定的信息丢失,影响文本处理方法的准确率和泛化能力。

为了解决这一问题,本申请实施例利用第一编码模块提取任务相关的特征的同时,利用第二编码模块20提取出任意高层任务均可涉及的基础任务相关的特征,即共享特征,并将共享特征融入到任务预测当中,进而避免高已有的针对高层任务的文本处理方法中存在的信息丢失现象,进而提高任务结果的准确性。

第二编码模块20,可以选择任意一种深度学习神经网络模型,如递归神经网络、卷积神经网络、attention结构等等,用于提取输入文本的共享特征,其输出为至少一个共享特征向量。由于第二编码模块为多个文本处理模型的共享部分,因此共享特征向量可以作为输入文本针对任意任务目标的特征表示。也就是说,从某一文本中提取出的共享特征向量,可以用于预测该文本的类别,也可以用于分析该文本与其他文本的语义相似性等等。例如,输入文本的词性特征可以用于对该输入文本的语义相似性推断,也可以用于对该输入文本的分类。

另外,本申请实施例提取的共享特征向量可以为一个或多个。若为多个,则每一共享特征向量中将包含一种类型的共享特征。例如,词法特征、句法特征两种类型。

此外,第二编码模块可以为如图5所示的层级结构。如图5所示,多个第二编码子模块自下至上依次串接,每一所述子模块具有一个特定的任务目标,以使多个子模块分别提取出输入文本在不同空间中的不同类型的共享特征。此处,为了便于说明,将第二编码模块每一子模块对应的任务目标统称为基础任务目标,以区别于文本处理模型的任务目标。

由于共享特征可以作为输入文本针对任意任务目标的特征表示,因此,实际上基础任务目标一般为一些基础自然语言处理任务,如中文分词、词性标注、关键词抽取、词嵌入、命名实体识别、语句通顺度、句法依存分析等等。

以命名实体识别、词性标注和句法分析为例,可令第二编码模块中最为底层的子模块获取命名实体识别任务的特征,输出一字级别的共享特征向量;令中层的子模块获取词性标注任务的特征,输出一词级别的共享特征向量;令最上层的子模块获取句法分析任务的特征,输出一句级别的共享特征向量。再将上述三个共享特征向量融入到对文本处理模型的预测任务之中。

值得注意的是,由于上述子模块对应的基础任务目标不同于文本处理模型的任务目标,因此需要预先对第二编码模块的每一子模块进行单独训练,再将得到的最优参数迁移到文本处理模型中,使经预训练的第二编码模块参与到对文本处理模型的训练当中,进行进一步训练。

对于第二编码模块20如图5所示的层级结构,其预训练过程如图6所示:

步骤61,根据每一所述第二编码子模块对应的基础任务目标,获取相应的训练样本集。

步骤62,将第i层第二编码子模块相应的训练样本,由第1层顺次输入至第i层中,第i层输出基础任务目标值,i表示第二编码子模块在自下至上方向上的排列序号,即第i层的输入为第1至第i-1层的输出。

步骤63,根据每层输出的基础任务目标值,计算每层的损失值。

步骤64,根据第1至第i层的损失值,调整第i层所述第二编码子模块的参数。具体可以根据第1至第i层的损失值的加和,调整第i层所述第二编码子模块的参数。

另外,融合模块用于将任务特征向量与至少一个共享特征向量融合,解码模块则用于预测任务目标值。

本实施例中,文本处理模型对输入文本的处理过程,将相应训练样本输入至相应文本处理模型中,输出任务目标值,可以包括:

首先,将相应训练样本分别输入至所述第一编码模块和第二编码模块,以利用第一编码模块获取所述训练样本的任务特征向量,利用第二编码模块获取所述训练样本的至少一个共享特征向量。

其中,若第二编码模块具有一层子模块结构,则输出一个共享特征向量,若第二编码模块具有多层子模块结构,则输出多个共享特征向量。

然后,将所述共享特征向量和任务特征向量共同输入到融合模块进行特征融合,并将融合结果输入至解码层以预测任务目标值。

具体的,首先根据融合模块的注意力参数矩阵和任务特征向量,使用下式,生成权重矩阵;

公式(5)中,表示权重矩阵中每一词汇t对应的权重向量,rq表示任务特征向量h中每一词汇t对应的向量表示ht的平均,mqi表示注意力参数矩阵,xt表示共享特征向量x中每一词汇t对应的向量表示,σ表示sigmoid函数。

然后使用权重矩阵对所述共享特征向量中每一词汇对应的向量表示进行加权,加权过程可以表示为下式:

公式(6)中,为加权结果中每一词汇t加权后的向量表示。

最后将每一共享特征向量的加权结果与所述任务特征向量拼接,以实现将任务特征向量与共享特征向量的融合。

例如,三个共享特征向量的加权结果分别为融合结果为

步骤22,根据输出的任务目标值计算预设损失函数的单任务损失值,根据各文本处理模型对应的单任务损失值计算多任务损失值。

单任务损失值即在多任务训练中单独一文本处理模型的损失值,可以通过将任务目标值和对应的标准输出数据代入到预设损失函数中计算获得。多任务损失值根据每一单任务损失值计算得到,用于对参与训练的全部文本处理模型的损失进行综合度量。

具体实现中,由于每一文本处理模型相应的训练样本数量不同,因此利用参数调整权重,对每一单任务损失值进行加权,从而保证对每一模型的参数的更新量相一致。其中,参数调整权重与训练样本数量的映射关系可以预先设置,以根据每一文本处理模型相应的训练样本数量,获取所述文本处理模型的参数调整权重,再使用所述参数调整权重对所述单任务损失值加权求和,得到多任务损失值。

具体可参见下式:

公式(7)中,loss表示多任务损失值,lossm表示每一文本处理模型对应的单任务损失值,km表示每一文本处理模型对应的参数调整权重。

步骤23,根据所述多任务损失值,调整每一文本处理模型的参数。

文本处理模型的参数调整,包括对多个文本处理模型所共用的第二编码模块的参数调整,还包括对每一文本处理模型的第一编码模块、融合模块以及解码模块参数的分别调整。

本实施例中,由于第二编码模块的初始参数为迁移的预训练最优参数,因此为了避免第二编码模块参数发生较大的变化,利用更新控制系数对第二编码模块的更新量加以控制,该更新控制系数可以为一预设数值,如为0.1,同时,不同第二编码子模块所预设的更新控制系数可以不同。

具体的,获取每一第二编码子模块预设的更新系数,将多任务损失值和相应的更新控制系数相乘,以根据乘积确定参数更新量,进而对每一第二编码子模块的参数进行调整,以实现对第二编码模块的参数调整。

此外,直接根据多任务损失值对每一文本处理模型的第一编码模块、融合模块以及解码模块参数分别调整。

通过本实施例提供的方法,不断更新迭代每一文本处理模型的参数,最终在迭代次数达到一定数量,或者模型参数呈收敛状态时,可以停止对文本处理模型的训练,进而得到多个分别针对特定任务的优化模型。

本实施例对多个具有不同任务目标的文本处理模型并行训练,多个任务间存在相关的部分,也有无关的部分,其中相关的部分可以提高共享部分隐层的学习速率,进而有利于提升模型的训练效果,无关的部分则相当于噪声,可以提高模型的泛化性。此外,由于单任务训练时,梯度的反向传播倾向于陷入局部极小值,而多任务训练中,不同任务的局部极小值处于不同的位置,因此,可以帮助隐层逃离局部极小值。

由以上技术方案可知,本申请提供的文本处理模型的训练方法,应用于多个具有不同任务目标的文本处理模型,所述多个文本处理模型共享部分隐层;所述方法中,对于每一任务目标,首先将相应训练样本输入至相应文本处理模型中,输出任务目标值;其次根据输出的任务目标值计算预设损失函数的单任务损失值,根据各文本处理模型对应的单任务损失值计算多任务损失值;最后根据所述多任务损失值,调整每一文本处理模型的参数。

采用本申请提供的训练方法,多个文本处理模型同时并行学习,通过共享部分隐层来共享多个任务的浅层特征表示,梯度同时反向传播帮助隐层逃离局部极小值,进而提高模型的准确性和泛化性。将训练后的文本处理模型用以处理高层任务,可以提高任务结果的准确性。

图7为本申请文本处理方法的一个实施例流程图。如图7所示,该方法可以包括:

步骤71,利用第一编码模块获取任务文本的任务特征向量;

步骤72,利用第二编码模块获取所述任务文本的至少一个共享特征向量;

步骤73,利用融合模块将所述共享特征向量与所述任务特征向量融合,生成解码模块输入向量;

步骤74,利用解码模块对所述输入向量进行预测,得到任务目标值。

图8为本申请文本处理模型的训练装置的一个实施例示意图,该装置应用于多个具有不同任务目标的文本处理模型,所述多个文本处理模型共享部分隐层。如图8所示,该装置可以包括:

输入单元81,用于对于每一任务目标,将相应训练样本输入至相应文本处理模型中,输出任务目标值;

损失计算单元82,用于根据输出的任务目标值计算预设损失函数的单任务损失值,根据各文本处理模型对应的单任务损失值计算多任务损失值;

参数调整单元83,用于根据所述多任务损失值,调整每一文本处理模型的参数。

其中,所述文本处理模型的隐层包括基于预训练bert模型的第一编码模块、经预训练的第二编码模块和融合模块,所述经预训练的第二编码模块为所述多个文本处理模型共享的所述部分隐层。所述第二编码模块包括自下至上依次串接的多个具有不同基础任务目标的第二编码子模块,以使每一所述第二编码子模块获取到输入文本的一种类型的共享特征。

损失计算单元82具体用于:根据每一文本处理模型相应的训练样本数量,获取所述文本处理模型的参数调整权重;使用所述参数调整权重对所述单任务损失值加权求和,得到多任务损失值。

参数调整单元83具体用于:获取每一所述第二编码子模块预设的更新控制系数;根据所述多任务损失值和相应的更新控制系数,调整每一所述第二编码子模块的参数;根据所述多任务损失值,分别调整所述每一文本处理模型中所述第一编码模块、融合模块以及输出层的参数。

在一个优选实施例中,本申请文本处理模型的训练装置还包括预训练单元,用于按照下述步骤,对每一所述第二编码子模块进行预训练:

根据每一所述第二编码子模块对应的基础任务目标,获取相应的训练样本集;将第i层第二编码子模块相应的训练样本,由第1层顺次输入至第i层中,第i层输出基础任务目标值,i表示第二编码子模块在自下至上方向上的排列序号;根据每层输出的基础任务目标值,计算每层的损失值;根据第1至第i层的损失值,调整第i层所述第二编码子模块的参数。

由以上技术方案可知,本申请提供一种文本处理模型的训练方法、装置及文本处理方法,所述训练方法应用于多个具有不同任务目标的文本处理模型,所述多个文本处理模型共享部分隐层;所述训练方法中,对于每一任务目标,首先将相应训练样本输入至相应文本处理模型中,输出任务目标值;其次根据输出的任务目标值计算预设损失函数的单任务损失值,根据各文本处理模型对应的单任务损失值计算多任务损失值;最后根据所述多任务损失值,调整每一文本处理模型的参数。采用本申请提供的训练方法及装置,多个文本处理模型同时并行学习,通过共享部分隐层来共享多个任务的浅层特征表示,梯度同时反向传播帮助隐层逃离局部极小值,进而可以提高每个模型的准确性和泛化性。将训练后的文本处理模型用以处理高层任务,可以提高任务结果的准确性。

具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的文本处理模型的训练方法和文本处理方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

以上所述的本发明实施方式并不构成对本发明保护范围的限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1