掌桥专利:专业的专利平台
掌桥专利
首页

文本分类模型的训练方法、装置、设备及可读存储介质

文献发布时间:2023-06-19 11:32:36


文本分类模型的训练方法、装置、设备及可读存储介质

技术领域

本申请涉及人工智能技术领域,尤其涉及一种基于BERT的文本分类模型的训练方法、文本分类模型的训练装置、计算机设备及计算机可读存储介质。

背景技术

文本层级分类模型指的是先确定文本所属的一级类别,紧接着确定一级类别下所属的二级类别。例如,“电视机”属于类别“家用电器”,接着属于“家用电器”类别下的“大家电”。

目前,常规的文本层级分类模型大多数建立k+1个文本分类模型,包括一个一级文本分类模型和k个二级文本分类模型,即为每个一级类别建立一个分类模型。而具体的实现过程为:首先使用一级分类模型确定文本的一级类别,接着根据其类别选择对应的二级分类模型,使用二级分类模型对文本再次进行分类以确定其二级类别。该方式虽然可以实现文本层级的分类,但是模型结构复杂,扩展性不好,同时在使用时使用效率较低。

因此,现在亟需一种模型训练效率以及模型扩展性的基于BERT的文本分类模型的训练方法。

发明内容

本申请提供了一种基于BERT的文本分类模型的训练方法、装置、计算机设备及存储介质,以提高了模型的训练效率,同时提高了模型的扩展性和稳定性。

第一方面,本申请提供了一种基于BERT的文本分类模型的训练方法,所述方法包括:

加载待训练分类模型,并识别所述待训练分类模型所包含的分类层级数N,其中所述待训练分类模型基于BERT语言模型生成;

接收输入的训练样本,以对所述训练样本进行处理得到每一训练样本所对应的表征向量;

接收输入的初始向量,并根据所述表征向量以及所述初始向量对所述待训练分类模型进行N次迭代训练,以对所述待训练分类模型的每一分类层级进行训练,其中每次迭代训练完成一分类层级的训练,且每次迭代训练完成时对应的分类层级收敛;

当确定第N次迭代训练后第N分类层级收敛时,确定所述待训练分类模型训练完成,并存储训练好的分类模型。

第二方面,本申请还提供了一种文本分类模型的训练装置,所述装置包括:

模型加载模块,用于加载待训练分类模型,并识别所述待训练分类模型所包含的分类层级数N,其中所述待训练分类模型基于BERT语言模型生成;

样本处理模块,用于接收输入的训练样本,以对所述训练样本进行处理得到每一训练样本所对应的表征向量;

模型训练模块,用于接收输入的初始向量,并根据所述表征向量以及所述初始向量对所述待训练分类模型进行N次迭代训练,以对所述待训练分类模型的N个分类层级进行训练,其中每次迭代训练完成一分类层级的训练,且每次迭代训练完成时对应的分类层级收敛;

模型存储模块,用于当确定第N次迭代训练后第N分类层级收敛时,确定所述待训练分类模型训练完成,并存储训练好的分类模型。

第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的基于BERT的文本分类模型的训练方法。

第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的基于BERT的文本分类模型的训练方法。

本申请公开了一种基于BERT的文本分类模型的训练方法、装置、计算机设备及存储介质,在对分类模型进行训练时,基于BERT语言模型对训练样本进行处理,同时根据实际的需求构建分类模型的结构,接着根据处理后的训练样本对所构建的分类模型进行若干次的迭代训练,以使得训练完成后的分类模型可以实现层级分类。而在训练过程中,各个子模型之间不存在相互的干扰,也就是后一个子模型在不收敛的情况下不需要对前面的模块再次进行训练,提高了模型训练的效率,同时可以通过对模型结构的改变使得分类模型实现对更多层级的分类,使得分类模型具有更好的扩展性,以适应更多的分类需求。

附图说明

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

图1为本申请一个实施例提供的一种基于BERT的文本分类模型的训练方法的流程示意图;

图2为本申请一个实施例提供的一种分类模型的结构示意图;

图3为本申请另一个实施例提供的一种分类模型的结构示意图;

图4为本申请又一个实施例提供的一种分类模型的结构示意图;

图5为本申请一个实施例提供的一种对待训练的分类模型进行训练的步骤的流程示意图;

图6为本申请一个实施例提供第一次训练的步骤的流程示意图;

图7为本申请一个实施例提供的一分类预测的步骤的流程示意图;

图8为本申请一个实施例提供的一种文本分类模型的训练装置的示意性框图;

图9为本申请一个实施例提供的计算机设备的结构示意性框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。

应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

请参阅图1,图1为本申请一个实施例提供的一种基于BERT的文本分类模型的训练方法的流程示意图。

如图1所示,该训练方法包括步骤S101至步骤S104。

步骤S101、加载待训练分类模型,并识别所述待训练分类模型所包含的分类层级数N,其中所述待训练分类模型基于BERT语言模型生成。

在对模型进行训练时,需要预先构建和加载需要进行训练的模型,因此预先构建还分类模型的结构,然后加载所构建好的分类模型,也就是加载待训练的分类模型,进而通过对所加载的待训练的分类模型进行训练。

在一实施例中,在加载了待训练分类模型之后,将会识别所加载的待训练分类模型中所包含的分类层级数N,其中分类层级数表示在使用该模型进行分类预测时将会预测对应数量的类别信息,比如在分类层级数N为二时,在进行分类时,对一个待分类文本进行处理时,将会输出该待分类文本的一级标签和二级标签,再比如在N为三时,将会输出该待分类文本的一级标签、二级标签以及三级标签,同时,不同级别的标签之间存在有一定的关联性。

具体的关联性表现在:二级标签属于一级标签的下属标签,以及三级标签属于二级标签的下属标签。

在一实施例中,在加载待训练分类模型之前,需要构建对应的分类模型,此时的分类模型的结构如图2所示,且基于预训练的BERT(Bidirectional Encoder Representationfrom Transformers)语言模型而得到的,而具体的模型的结构根据使用者的实际需求所确定,比如需要进行二级标签的输出,此时N等于2,如图3所示,再比如需要进行三级标签的输出,那么此时N等于3,如图4。在此,以分类层级数N为2对本申请各实施例进行解释说明,也就是此时所构建的分类模型的模型结构如图3所示。

在实际应用中,在分类模型进行使用时,通过模型可以对文本的标签信息进行输出,示例性的,可以输出文本所对应的一级标签和二级标签,因此在对模型进行构建时,不同的层级需要实现对文本的不同标签进行预测和输出,故而在构建模型以及进行模型训练时,对分类模型中的每一层级都需要进行训练。

基于所构建的分类模型的结构特征,可以通过简单的模型结构的添加以实现三级标签以及更多层级标签的预测,具体地,在图2所示的模型结构的基础上,在前一层级的attention层输出该层级所对应的文本表征向量以输入到下一层级中与A所示的相同结构中。

在一实施例中,通过对模型结构的优化,使得模型具有更好的扩展性,在需要增加模型的多级标签的预测时,只需要进行模型的扩展即可实现,进而对所扩展的部分结构进行训练,而不需要对整个模型进行改进和训练,提高了模型的可扩展性和扩展后的训练简易性。

步骤S102、接收输入的训练样本,以对所述训练样本进行处理得到每一训练样本所对应的表征向量。

在完成对待训练的分类模型的加载之后,将会对所加载的分类模型进行训练,因此此时将会接收到所输入的训练样本,然后对训练样本进行处理,以得到训练样本中每一训练样本所对应的表征向量。其中,表征向量是用来对训练样本的特征进行描述的向量。

在一实施例中,训练样本有若干文本信息组成,也就是每一训练样本都是一个文本信息,因此在对文本信息进行特征提取时,通过模型结构中所设置的 BERT编码层实现对样本的特征的提取,以得到每一训练样本所对应的表征向量,其中,训练样本可以表示为(x

示例性的,在接收到所输入的训练样本时,将训练样本输入到所加载的待训练的分类模型的BERT编码层中,以根据预训练好的BERT编码层对训练样本进行特征提取和编码,进而得到每一训练样本所对应的表征向量。

步骤S103、接收输入的初始向量,以根据所述表征向量以及所述初始向量对所述待训练的分类模型进行N次迭代训练,以对所述待训练分类模型的每一分类层级进行训练,其中每次迭代训练完成一分类层级的训练,且每次迭代训练完成时对应的分类层级收敛。

在对所接收到的训练样本进行处理得到每一训练样本的表征向量之后,将会根据所接收到的初始向量以及进行处理得到的每一训练样本的表征向量对待训练的分类模型进行训练,以使得完成训练后的待训练的分类模型可以被使用。

在一实施例中,在进行模型训练之前还将接收所输入的初始向量,其中初始向量为一个随机向量,记为q

在对模型进行了N次迭代训练时,是对模型中的每一个分类层级进行训练,同时只有在第一个分类层级训练完成时才会进入第二个分类层级的训练,而在完成第二个分类层级的训练时才会进入第三个分类层级的训练,以此类推以完成对第N个分类层级的训练,也就是完成对整个待训练的分类模型的训练。

在一实施例中,参照图5,图5为本申请一个实施例提供的一种对待训练的分类模型进行训练的步骤的流程示意图。

具体地,在对待训练的分类模型进行训练时包括步骤S501至步骤S503。

步骤S501、接收输入的初始向量,根据所述表征向量以及所述初始向量对待训练分类模型进行第一次训练,并确定第一次训练后的所述待训练分类模型是否收敛,以在确定收敛时完成对所述待训练分类模型的第一分类层级的训练;

步骤S502、当确定所述第一次训练后的待训练分类模型收敛时,将所述初始向量以及所述表征向量输入至完成训练的第一分类层级中,得到每一训练样本对应的一级文本表征向量;

步骤S503、根据所述一级文本表征向量以及训练样本对所述第一次训练所得到的待训练分类模型进行二次训练,以对所述待训练分类模型的第二分类层级进行训练,并以此类推以对所述待训练分类模型进行N次迭代训练。

在对具有N个分类层级的待训练的分类模型进行训练时,在完成对训练样本的处理时,还接收输入的初始向量,然后根据对训练样本进行处理所得到的表征向量以及所接收到的初始向量对待训练分类模型的进行一次训练,并确定一次训练后的待训练分类模型是否收敛,而在确定第一次训练后的待训练分类模型是否收敛时是在确定在第一次迭代训练之后进行训练的第一分类层级是否收敛。同时在确定收敛时此时将会得到第一分类层级训练完成的待训练分类模型。

具体地,在对待训练的分类模型进行一次训练时,是对待训练分类模型中的第一分类层级进行训练,而在对第一个分类层级进行训训练样本以及所接收到的初始向量作为第一个分类层级训练的输入,然后确定所训练的第一个分类层级是否收敛。

在一实施例中,在进行第一次训练时,训练过程和步骤如图6所示,图6 为本申请一个实施例提供第一次训练的步骤的流程示意图,其中具体包括:

步骤S601、将所述初始向量以及所述表征向量输入至第一attention层,以输出得到每一表征向量对应的中间表征向量;

步骤S602、将所述中间表征向量输入至与所述第一attention层连接的第一全连接层,输出得到对应的空间向量;

步骤S603、将所述空间向量输入至预设的标签概率分布公式中得到标签概率分布曲线,并读取所述标签概率分布曲线中最大概率值所对应的标签作为一级预测标签。

而在进行第一次训练时,是对模型中的第一子模型进行训练,其中第一子模型如图2中A框中的结构。在进行第一次训练时,是利用所输入的初始向量以及训练样本来实现的,且每一训练样本都会经过BERT编码层得到对应的表征向量。在第一次训练时,将初始向量和表征向量输入到第一attention层中,以输出得到每一表征向量所对应的中间表征向量,然后将中间表征向量输入到第一全连接层中,以输出得到每一训练样本所对应的空间向量,最后根据所得到的空间向量得到每一训练样本所对应的一级标签的标签概率分布,而标签概率分布中标签概率最高的标签即为此时所述出的一级标签。但是由于模型此时处于训练过程中,因此所输出的一级标签并不一定是正确的,而在训练样本的获取和输入时,每一训练样本都对应有各自的标签,包括一级标签、二级标签,甚至于三级标签等,具体根据实际的需求进行标记。

示例性的,在根据空间向量输出对应的标签概率分布时,是经过Softmax计算所得到的,通过计算可以得到所有可能的标签以及对应的概率值。

在一实施例中,在确定一次训练后的分类模型收敛时,将会进行二次训练,而在进行二次训练时,将会利用一次训练后的模型得到一级文本表征向量,然后利用所得到的一级文本表征向量和预先所得到表征向量作为二次训练的输入,以对待训练的分类模型进行第二次训练,同样的,在进行第二次训练时也会对二次训练的分类模型进行收敛性的判定,而整个的训练过程是一个不断的迭代训练的过程,每一次训练的输入数据存在一定的差异,以实现对分类模型中每一层级进行训练,进而得到训练好的分类模型。

在分类模型的训练过程中,需要对每一次训练后的模型的收敛性进行判断,且只有在当前训练后的模型收敛时,才会进行下一次的训练。在实际应用中,模型训练时是一个分类层级一个分类层级来进行的,在对第一分类层级进行训练时,并不会对后面的几个分类层级的小模型进行训练,在对如图2所示的模型进行训练时,第一次训练是对第一分类层级进行训练,第二次训练则是对第二分类层级进行训练,以此类推,第n次训练则是对模型中的第N分类层级进行训练。

而在进行模型训练的收敛性的判断时,是利用模型训练过程中的损失函数的损失值所确定的。

在一实施例中,确定一次训练后的所述待训练分类模型是否收敛包括:获取一次训练后所述待训练分类模型的损失值,以根据所述损失值确定所述一次训练后的所述待训练分类模型是否收敛;若所述损失值小于或者等于预设的损失阈值,则确定收敛;若所述损失值大于预设的损失阈值,则执行步骤:接收输入的初始向量,以根据所述表征向量以及所述初始向量对待训练分类模型进行一次训练,并确定一次训练后的所述待训练分类模型是否收敛。

具体地,在对待训练分类模型进行一次训练之后,将会根据实际的训练结果和状态确定该次训练是否成功,也就是完成一次训练之后的分类模型是否可以准确的完成对文本信息的第一标签的预测和对文本信息的一级划分。因此,在完成一次训练之后,确定一次训练后的待训练分类模型是否收敛,进而在确定收敛时进行进一步的训练,以得到最终所需要的训练好的分类模型。

在确定一次训练后的待训练分类模型是否收敛时,利用神经网络loss设计的方式来实现,主要的思想为最小风险训练。最小风险训练的基本思想是使用损失函数Δ(y,y

示例性的,模型输入为x(n),标准为y(n),模型的预测输出为y,对应的损失的期望值(风险)为:

其中,Y(x

而在确定是否收敛时,可以设定一个损失值阈值,在当前训练所得到的损失值小于或者等于所设定的损失值阈值时,确定收敛,反之则确定不收敛。同时,在确定训练后的模型不收敛时,将会对模型继续训练,比如在进行第一次训练,也就是对第一层级进行训练时,若训练中的某一阶段所得到的损失值大于所设定的损失阈值,则会继续对第一层级进行训练,若训练中的某一阶段所得到的损失值不大于所设定的损失阈值,则说明此时模型完成。

在整个的训练过程中,每一次训练时所使用的训练数据存在一定的差异,每一次训练时都会输入相同的训练文本,但是除了训练文本之外还会输入另一个数据,比如第一次训练时所输入的初始向量。而在对后面的若干层级进行训练时,同样会输入与初始向量相似的一个特征向量,而特征向量的得到将会根据实际的模型训练结果所得到。

示例性的,在对待训练的分类模型进行第一次训练,且确定完成第一次训练后的待训练的分类模型收敛,此时将会利用所完成第一次训练之后的第一层级得到训练文本做每一个样本所对应的一级文本表征向量,而一级文本表征向量与初始输入的初始向量的相似。

实际上,基于所构建的模型的结构,在得到一级文本表征向量时,通过将所接收到的初始向量和通过BERT层处理后的训练样本输入到第一层级中的 attention层中,以得到每一个训练样本所对应的一级文本特征向量,而被用来对下一层级进行训练的一级文本表征向量是在第一次训练收敛时所得到的。具体地,在对第一层级的训练完成时,此时对第一层级中的模型参数进行了相应的调整以满足实际的需求,进而再将初始向量和经过BERT层后的训练样本输入到第一层级中的attention层中,以的都每一个样本所对应的一级文本表征向量。

具体地,在得到一级文本表征向量时,一级文本表征向量的计算过程可以如下所示:

其中,

且W

而在训练过程中,通过对参数W

在模型的第一层级训练完成,并且已经得到的第一层级所输出的一级文本表征向量之后,将会对下一层级进行训练,具体地,将一级文本表征向量和根据训练样本所得到的表征向量输入到模型的第二层级中,以实现对第二层级的训练。而对于第二层级的训练方式,与模型的第一层级的训练方式相同,通过不断的训练对第二层级中的模型参数进行调整。其中,第二层级中的参数可以用W

步骤S104、当确定第N次迭代训练后的第N分类层级收敛时,确定所述待训练分类模型训练完成,并存储训练好的分类模型。

由于所构建和加载的待训练分类模型的分类层级数为N,因此在训练过程中需要经过N次训练。而在经过N次训练后确定训练后的分类模型收敛时,将会存储所训练好的分类模型,以供后续进行使用。具体地,在确定第N次迭代训练后的第N分类层级收敛时,确定待训练分类模型是训练完成的,此时将会记录和存储训练好的分类模型。

需要说明的是,训练后的分类模型未收敛时,将会再次进行学习和训练,而此时进行学习和训练的数据会根据每一次的学习和训练进行调整。但是与一般的模型训练不相同的是,每次训练的进行是在前一次训练收敛的情况下所进行的,因此在确定不收敛时仅仅是对当前所训练的层级进行训练。

示例性的,在N为3时,若此时确定第三次训练后的分类模型未收敛时,仅仅是对第三次训练的对象继续训练,具体地,此时是对第三attention层以及第三全连接层所构成的第三子模型进行训练,如图4中的C框所包含的子模型部分,而对于A框以及B框所包含的子模型部分不会进行再一次的训练。

通过该方式对模型进行构建和训练,提高模型训练的效率,同时在对模型进行扩展时,具有更高的扩展性,同时对于扩展后的模型进行训练时可以更加快速的完成模型训练。

进一步地,图7为本申请一个实施例提供的一分类预测的步骤的流程示意图。

具体地,该步骤包括步骤S701至步骤S703。

步骤S701、当接收到分类指令时,加载所存储的训练好的分类模型;

步骤S702、接收输入的待处理文本信息,以及获取所存储的查询向量;

步骤S703、将所述查询向量以及所述待处理文本信息输入至所述训练好的分类模型中,以输出所述待处理文本信息所对应的分类结果,其中所述分类结果包括所述待处理文本信息所对应的N个标签。

在完成模型训练之后,将可以直接加载并使用训练好的分类模型,因此,在接收到分类指令时,首先加载预先训练好并存储好的分类模型,然后利用所加载的训练好的分类模型实现对文本信息的分类预测。

而在加载好训练好的分类模型时,接收输入的待处理文本信息,同时获取预先所存储的查询向量,其中该查询向量随机设定,然后将所接收到的待处理文本信息以及所获取的初始向量输入到所加载的分类模型中,以输出得到待处理文本信息所对应的分类结果。

具体地,在分类模型对待处理文本信息进行处理时,首先接收输入待处理文本信息,并对待处理文本信息进行特征提取,以得到待处理文本信息所对应的表征向量,然后接收输入的查询向量,并将表征向量输入到进行一级标签预测的第一attention层中,以计算得到待处理文本信息所对应的一级文本分类表征向量,接着将一级文本分类表征向量输入至第一全连接层,以得到第一空间向量,最后根据第一空间向量进行softmax计算,以得到一级标签的概率分布,进而选择最大概率值所对应的标签为一级标签,具体地,选择最大值的index为一级标签,并将所得到的一级标签输出。

而在完成一级标签的预测和输出的同时,还会进行二级标签甚至三级标签的预测和输出,而具体输出的标签的级别的数量与所使用的模型的分类层级数有关,以分类层级数为二为例,在完成一级标签的输出的同时,还将一级文本分类表征向量输入到进行二级标签预测的第二attention层,以计算得到待处理文本信息所对应的二级文本分类表征向量,然后将二级文本分类表征向量输入至第二全连接层,以得到第二空间向量,接着根据第二空间向量进行softmax计算,以得到最大值的index为二级标签,并将所得到的二级标签输出。

在上述描述的基于BERT的文本分类模型的训练方法中,在对分类模型进行训练时,基于BERT语言模型对训练样本进行处理,同时根据实际的需求构建分类模型的结构,接着根据处理后的训练样本对所构建的分类模型进行若干次的迭代训练,以使得训练完成后的分类模型可以实现层级分类。而在训练过程中,各个子模型之间不存在相互的干扰,也就是后一个子模型在不收敛的情况下不需要对前面的模块再次进行训练,提高了模型训练的效率,同时可以通过对模型结构的改变使得分类模型实现对更多层级的分类,使得分类模型具有更好的扩展性,以适应更多的分类需求。

请参阅图8,图8为本申请一个实施例提供的一种文本分类模型的训练装置的示意性框图,该装置用于执行前述的基于BERT的文本分类模型的训练方法。

如图8所示,该文本分类模型的训练装置800包括:

模型加载模块801,用于加载待训练分类模型,并识别所述待训练分类模型所包含的分类层级数N,其中所述待训练分类模型基于BERT语言模型生成;

样本处理模块802,用于接收输入的训练样本,以对所述训练样本进行处理得到每一训练样本所对应的表征向量;

模型训练模块803,用于接收输入的初始向量,并根据所述表征向量以及所述初始向量对所述待训练分类模型进行N次迭代训练,,以对所述待训练分类模型的N个分类层级进行训练,其中每次迭代训练完成一分类层级的训练,且每次迭代训练完成时对应的分类层级收敛;

模型存储模块804,用于当确定第N次迭代训练后第N分类层级收敛时,确定所述待训练分类模型训练完成,并存储训练好的分类模型。

进一步地,在一个实施例中,所述待训练分类模型包括一个BERT编码层所述样本处理模块802具体还用于:

将所述训练样本输入至所述BERT编码层中,以对所述训练样本中的每一训练样本进行编码,以得到所述训练样本中每一训练样本所对应的表征向量。

进一步地,在一个实施例中,所述模型训练模块803具体还用于:

接收输入的初始向量,根据所述表征向量以及所述初始向量对待训练分类模型进行第一次训练,并确定第一次训练后的待训练分类模型是否收敛,以在确定收敛时完成对所述待训练分类模型的第一分类层级的训练;当确定所述第一次训练后的待训练分类模型收敛时,将所述初始向量以及所述表征向量输入至完成训练的第一分类层级中,得到每一训练样本对应的一级文本表征向量;根据所述一级文本表征向量以及训练样本对所述第一次训练所得到的待训练分类模型进行第二次训练,以对所述待训练分类模型的第二分类层级进行训练,并以此类推以对所述待训练分类模型进行N次迭代训练。

进一步地,在一个实施例中,述待训练分类模型还包括N个attention层以及N个全连接层,且所述BERT编码层分别与所述N个attention层连接,一个全连接层连接一个attention层,所述attention层位于所述BERT编码层与所述全连接层之间,所述模型训练模块803具体还用于:

所述接收输入的初始向量,根据所述表征向量以及所述初始向量对待训练分类模型进行第一次训练,包括:

将所述初始向量以及所述表征向量输入至第一attention层,以输出得到每一表征向量对应的中间表征向量;将所述中间表征向量输入至与所述第一 attention层连接的第一全连接层,输出得到对应的空间向量;将所述空间向量输入至预设的标签概率分布公式中得到标签概率分布曲线,并读取所述标签概率分布曲线中最大概率值所对应的标签作为一级预测标签。

进一步地,在一个实施例中,所述模型训练模块803具体还用于:

获取第一次训练后所述待训练分类模型的损失值,并获取预设的损失阈值;将所述损失值与所述损失阈值进行对比;若所述损失值小于或者等于所述损失阈值,则确定收敛;若所述损失值大于所述损失阈值,则确定不收敛。

进一步地,在一个实施例中,所述模型训练模块803具体还用于:

根据所述表征向量以及所述初始向量再次对所述待训练分类模型进行第一次训练,并再次确定第一次训练后的所述待训练分类模型是否收敛。

进一步地,在一个实施例中,所述文本分类模型的训练装置800还包括模型调用模块805,其中所述模型调用模块805具体还用于:

当接收到分类指令时,加载所存储的训练好的分类模型;接收输入的待处理文本信息,以及获取所存储的查询向量;将所述查询向量以及所述待处理文本信息输入至所述训练好的分类模型中,以输出所述待处理文本信息所对应的分类结果,其中所述分类结果包括所述待处理文本信息所对应的N个标签。

需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

上述的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图7 所示的计算机设备上运行。

请参阅图9,图9为本申请一个实施例提供的计算机设备的结构示意性框图。该计算机设备可以是服务器。

参阅图9,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。

非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种基于BERT的文本分类模型的训练方法。

处理器用于提供计算和控制能力,支撑整个计算机设备的运行。

内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种基于BERT的文本分类模型的训练方法。

该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor, DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:

加载待训练分类模型,并识别所述待训练分类模型所包含的分类层级数N,其中所述待训练分类模型基于BERT语言模型生成;接收输入的训练样本,以对所述训练样本进行处理得到每一训练样本所对应的表征向量;接收输入的初始向量,并根据所述表征向量以及所述初始向量对所述待训练分类模型进行N 次迭代训练,以对所述待训练分类模型的每一分类层级进行训练,其中每次迭代训练完成一分类层级的训练,且每次迭代训练完成时对应的分类层级收敛;当确定第N次迭代训练后第N分类层级收敛时,确定所述待训练分类模型训练完成,并存储训练好的分类模型。

在一个实施例中,所述待训练分类模型包括一个BERT编码层,所述处理器在实现所述对所述训练样本进行处理以得到每一训练样本所对应的表征向量时,还用于实现:

将所述训练样本输入至所述BERT编码层中,以对所述训练样本中的每一训练样本进行编码,以得到所述训练样本中每一训练样本所对应的表征向量。

在一个实施例中,所述处理器在实现所述接收输入的初始向量,并根据所述表征向量以及所述初始向量对所述待训练分类模型进行N次迭代训练时,还用于实现:

接收输入的初始向量,根据所述表征向量以及所述初始向量对待训练分类模型进行第一次训练,并确定第一次训练后的待训练分类模型是否收敛,以在确定收敛时完成对所述待训练分类模型的第一分类层级的训练;当确定所述第一次训练后的待训练分类模型收敛时,将所述初始向量以及所述表征向量输入至完成训练的第一分类层级中,得到每一训练样本对应的一级文本表征向量;根据所述一级文本表征向量以及训练样本对所述第一次训练所得到的待训练分类模型进行第二次训练,以对所述待训练分类模型的第二分类层级进行训练,并以此类推以对所述待训练分类模型进行N次迭代训练。

在一个实施例中,所述待训练分类模型还包括N个attention层以及N个全连接层,且所述BERT编码层分别与所述N个attention层连接,一个全连接层连接一个attention层,所述attention层位于所述BERT编码层与所述全连接层之间,所述处理器在实现将所述接收输入的初始向量,根据所述表征向量以及所述初始向量对待训练分类模型进行第一次训练时,还用于实现:

将所述初始向量以及所述表征向量输入至第一attention层,以输出得到每一表征向量对应的中间表征向量;将所述中间表征向量输入至与所述第一 attention层连接的第一全连接层,输出得到对应的空间向量;将所述空间向量输入至预设的标签概率分布公式中得到标签概率分布曲线,并读取所述标签概率分布曲线中最大概率值所对应的标签作为一级预测标签。

在一个实施例中,所述处理器在实现所述确定一次训练后的所述待训练分类模型是否收敛时,还用于实现:

获取第一次训练后所述待训练分类模型的损失值,并获取预设的损失阈值;将所述损失值与所述损失阈值进行对比;若所述损失值小于或者等于所述损失阈值,则确定收敛;若所述损失值大于所述损失阈值,则确定不收敛。

在一个实施例中,所述处理器在实现所述若所述损失值大于所述损失阈值,则确定不收敛之后之后,还用于实现:

根据所述表征向量以及所述初始向量再次对所述待训练分类模型进行第一次训练,并再次确定第一次训练后的所述待训练分类模型是否收敛。

在一个实施例中,所述处理器在实现所述计算机程序时,还用于实现:

当接收到分类指令时,加载所存储的训练好的分类模型;接收输入的待处理文本信息,以及获取所存储的查询向量;将所述查询向量以及所述待处理文本信息输入至所述训练好的分类模型中,以输出所述待处理文本信息所对应的分类结果,其中所述分类结果包括所述待处理文本信息所对应的N个标签。

本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项基于BERT的文本分类模型的训练方法。

其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。

进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。

另外,本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

相关技术
  • 文本分类模型的训练方法、装置、设备及可读存储介质
  • 文本分类模型的训练方法、装置及可读存储介质
技术分类

06120112964921