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

模型训练方法、装置及计算机可读存储介质

文献发布时间:2024-04-18 19:58:53


模型训练方法、装置及计算机可读存储介质

技术领域

本发明涉及机器学习与自然语言处理(NLP,Natural Language Processing)技术领域,具体涉及一种模型训练方法、装置及计算机可读存储介质。

背景技术

预训练模型是一个通过大量数据上进行训练并被保存下来的网络。可以将其通俗的理解为前人为了解决类似问题所创造出来的一个模型,有了前人的模型,当遇到新的问题时,便不再需要从零开始训练新模型,而可以直接用这个模型入手,通过模型微调进行简单的学习便可解决该新问题。

预训练模型是迁移学习的一种应用。当神经网络在用数据训练模型时,在数据中获取到的信息,其本质就是多层网络一个的权重。将权重提取出来,迁移到其它网络中,其它的网络便学来了这个网络的特征和其所拥有的知识。在自然语言处理领域中,可以通过词嵌入方法将所要处理的词转换成向量,使用基于Transformers框架的方法对词向量进行训练以获得预训练模型,将训练得到的预训练模型进行微调,即针对具体的任务进行修正。自然语言处理领域中的预训练模型又可以称之为预训练语言模型(Pre-trained LanguageModel,PLM)。

构建任务特定的提示(Prompt),去调整预训练语言模型是文本分类任务中一种很有前途的方法(Prompt-tuning)。在文本分类任务中,可以通过构建标签词表,将分类问题转化为一个预测和标签相关词的问题。因此,这样的问题可以构建一个含有掩码[MASK]的模板,然后让预训练语言模型去预测[MASK]位置的单词。至此,分类任务被转化为了一个掩码语言建模问题。

Prompt-tuning的核心思想是在输入中插入文本片段(即模板),并将分类问题转化为掩码语言建模问题,其中关键的一步是使用一个语言表达器,即,在标签词空间(wordspace)和标签空间(label space)之间构建一个映射。目前,语言表达器通常是手工构建或通过梯度下降搜索,其所包括的标签词数量通常是有限的,可能难以覆盖每个标签下的所有标签词,因此可能存在覆盖范围有限的问题,进而导致预测结果存在相当大的偏差和高方差。

发明内容

本申请实施例要解决的技术问题是提供一种模型训练方法、装置及计算机可读存储介质,能够将更多的样本映射到标签,从而减轻标签词覆盖不全的影响,提高预训练语言模型的性能。

根据本申请的一个方面,至少一个实施例提供了一种模型训练方法,包括:

获得不同标签下的多个标签词,计算每个标签下的标签词的平均向量,得到每个标签的词平均向量;

构建模板,所述模板用于在输入文本中插入掩码文本以生成待预测文本,所述掩码文本中包括有被掩码覆盖的待预测词;

利用第一训练集训练得到一个预训练语言模型,其中,所述第一训练集包括多个已标注标签的第一训练样本,所述训练包括:

将所述第一训练样本作为输入文本,根据所述模板生成第一待预测文本;

利用所述预训练语言模型生成所述第一待预测文本中的待预测词的词向量;根据所述待预测词的词向量与每个标签的词平均向量之间的相似度,确定所述第一训练样本的预测标签;

根据所述第一训练样本的预测标签和已标注标签,优化所述预训练语言模型。

此外,根据本申请的至少一个实施例,所述根据所述待预测词的词向量与每个标签的词平均向量之间的相似度,确定所述第一训练样本的预测标签,包括:

计算所述待预测词的词向量与各个标签的词平均向量之间的距离,并选择出最小距离;

将所述最小距离对应的标签,作为所述第一训练样本的预测标签。

此外,根据本申请的至少一个实施例,在利用第一训练集训练得到一个预训练语言模型之后,所述方法还包括:

获得多个未标注标签的第二训练样本;

利用所述预训练语言模型,确定所述第二训练样本的预测标签;

根据所确定的所述第二训练样本的预测标签,对所述第二训练样本进行标签标注,生成第二训练集。

此外,根据本申请的至少一个实施例,还包括:

构建多个所述模板,其中,不同模板所生成的待预测文本不同;

针对每个所述模板,分别利用所述第一训练集训练一个预训练语言模型,得到多个预训练语言模型;

所述利用所述预训练语言模型,确定所述第二训练样本的预测标签,包括:

利用每个预训练语言模型,确定第二训练样本在每个标签下的概率;

将所述概率最大的标签,作为所述第二训练样本的预测标签。

此外,根据本申请的至少一个实施例,还包括:

构建多个所述模板,其中不同模板所生成的待预测文本不同;

针对每个所述模板,分别利用所述第一训练集训练一个预训练语言模型,得到多个预训练语言模型;

所述利用所述预训练语言模型,确定所述第二训练样本的预测标签,包括:

利用测试集,测试得到每个预训练语言模型的标签预测的准确性指标,根据所述准确性指标设置各个预训练语言模型的权重,所述权重与所述准确性指标正相关;

利用每个预训练语言模型,确定第二训练样本在每个标签下的概率;

针对每个标签,根据所述预训练语言模型的权重,对每个预训练语言模型所确定的所述第二训练样本在该标签下的概率进行加权求和,得到所述第二训练样本在该标签的概率统计值;

将所述概率统计值最大的标签,作为所述第二训练样本的预测标签。

此外,根据本申请的至少一个实施例,在生成所述第二训练集之后,所述方法还包括:

利用所述第二训练集,训练得到最终的预训练语言模型。

根据本申请的另一方面,至少一个实施例提供了一种模型训练装置,包括:

计算模块,用于获得不同标签下的多个标签词,计算每个标签下的标签词的平均向量,得到每个标签的词平均向量;

构建模块,用于构建模板,所述模板用于在输入文本中插入掩码文本以生成待预测文本,所述掩码文本中包括有被掩码覆盖的待预测词;

第一训练模块,用于利用第一训练集训练得到一个预训练语言模型,其中,所述第一训练集包括多个已标注标签的第一训练样本,所述训练包括:

将所述第一训练样本作为输入文本,根据所述模板生成第一待预测文本;

利用所述预训练语言模型生成所述第一待预测文本中的待预测词的词向量;根据所述待预测词的词向量与每个标签的词平均向量之间的相似度,确定所述第一训练样本的预测标签;

根据所述第一训练样本的预测标签和已标注标签,优化所述预训练语言模型。

此外,根据本申请的至少一个实施例,所述第一训练模块,还用于在根据所述待预测词的词向量与每个标签的词平均向量之间的相似度,确定所述第一训练样本的预测标签时:

计算所述待预测词的词向量与各个标签的词平均向量之间的距离,并选择出最小距离;

将所述最小距离对应的标签,作为所述第一训练样本的预测标签。

此外,根据本申请的至少一个实施例,所述装置还包括:

第一获得模块,用于获得多个未标注标签的第二训练样本;

样本生成模块,用于利用所述预训练语言模型,确定所述第二训练样本的预测标签;根据所确定的所述第二训练样本的预测标签,对所述第二训练样本进行标签标注,生成第二训练集。

此外,根据本申请的至少一个实施例,所述构建模块,还用于构建多个所述模板,其中不同模板所生成的待预测文本不同;

所述第一训练模块,还用于针对每个所述模板,分别利用所述第一训练集训练一个预训练语言模型,得到多个预训练语言模型;

所述样本生成模块包括:

第一标签生成子模块,用于利用每个预训练语言模型,确定第二训练样本在每个标签下的概率;将所述概率最大的标签,作为所述第二训练样本的预测标签。

此外,根据本申请的至少一个实施例,所述构建模块,还用于构建多个所述模板,其中不同模板所生成的待预测文本不同;

所述第一训练模块,还用于针对每个所述模板,分别利用所述第一训练集训练一个预训练语言模型,得到多个预训练语言模型;

所述样本生成模块包括:

第二标签生成子模块,用于利用测试集,测试得到每个预训练语言模型的标签预测的准确性指标,根据所述准确性指标设置各个预训练语言模型的权重,所述权重与所述准确性指标正相关;利用每个预训练语言模型,确定第二训练样本在每个标签下的概率;针对每个标签,根据所述预训练语言模型的权重,对每个预训练语言模型所确定的所述第二训练样本在该标签下的概率进行加权求和,得到所述第二训练样本在该标签的概率统计值;将所述概率统计值最大的标签,作为所述第二训练样本的预测标签。

此外,根据本申请的至少一个实施例,所述装置还包括:

第二训练模块,用于利用所述第二训练集,训练得到最终的预训练语言模型。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的模型训练方法的步骤。

与现有技术相比,本申请实施例提供的模型训练方法、装置及计算机可读存储介质,根据待预测词与每个标签下的标签词的词平均向量的相似度,来确定待预测词的标签,从而可以将更多的样本映射到标签,减轻了标签词覆盖不全的影响,进而提高了预训练语言模型的性能。另外,本申请实施例还可以通过标签标注,生成具有更多样本的第二训练集,从而可以扩大训练集并训练模型,更好的解决了小样本问题。

附图说明

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

图1为本申请实施例的模型训练方法的一种流程示意图;

图2为本申请实施例的模型训练装置的一种结构示意图;

图3为本申请实施例的模型训练装置的另一结构示意图。

具体实施方式

为使本申请要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本申请的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本申请的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。

在本申请的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

目前,语言表达器中包括的标签词数量较为有限,因此可能给预测结果带来相当大的偏差和高方差。为了避免因标签词空间中的标签词较少所导致的上述问题,本申请实施例提供了一种模型训练方法,能够将更多的样本映射到标签,能够将更多的样本映射到标签,从而减轻标签词覆盖不全的不利影响,提高预训练语言模型的性能。

请参照图1,本申请实施例提供的一种模型训练方法,该方法包括:

步骤11,获得不同标签下的多个标签词,计算每个标签下的标签词的平均向量,得到每个标签的词平均向量。

这里,本申请实施例可以构建语言表达器,所述语言表达器定义了多个标签以及每个标签下包括的多个标签词。所有标签下的标签词构成了标签词空间,所有的标签则构成了标签空间。即,语言表达器建立了标签词空间中的标签词与标签空间中的标签之间的映射关系,这种映射关系为单射映射关系,即对于每个标签词,在标签空间中最多存在一个与之对应的标签。

根据文本分类任务的具体应用场景,可以设置对应的多个标签。然后,将包含有某个标签的语义的词,作为该标签的标签词,从而建立标签与标签词的映射关系。举例来说,在对影评的情绪进行分类的应用场景下,影评的标签通常有两种,分别是Positive(积极)和Negative(消极)。其中,在Positive的标签下包括有以下标签词:exciting,good,fantastic,interesting……;在Negative的标签下则有以下标签词:bad,terrible,boring……,从而可以得到不同标签下的多个标签词,如表1所示。

表1

为了减轻标签词空间中的标签词难以完全覆盖每个标签下的所有标签词的影响,本申请实施例对于每个标签,分别计算该标签下的所有标签词的平均向量,作为该标签的词平均向量,以用于后续的标签映射。

另外,为了尽量增加标签词数量,本申请实施例还可以利用外部知识库扩展语言表达器的标签词空间,增加各标签下的标签词。知识库的组织结构带有范围关系,在知识库的图结构中,相关联的实体有边相连,不相关的实体要经过多跳才能找到关联,或者无关联。因此将知识库的信息融入后,对于一个分类能够扩展出多个词语。

步骤12,构建模板,所述模板用于在输入文本中插入掩码文本以生成待预测文本,所述掩码文本中包括有被掩码覆盖的待预测词。

这里,模板是在输入文本中插入掩码文本以生成待预测文本,从而将分类问题转换为掩码语言建模问题。具体可以根据输入文本和文本分类结果构造出模板。例如,当尝试给一个句子进行分类时,可以构建下面的模板:

A[MASK]question:x.

其中,[MASK]表示被掩码覆盖的待预测词,x表示输入文本。

继续上文中的对影评的情绪进行分类的举例,此时,输入文本为影评文本,用[x]表示。可以构建以下模板:

It is a[MASK]movie,[x].

该模板中,掩码文本用[MASK]表示。

假设某个影评文本为“The movie is really boring.”,在该影评文本中插入掩码文本,从而生成以下的待预测文本:

It is a[MASK]movie,The movie is really boring.

将上述待预测文本输入至预训练语言模型,通过预训练语言模型预测得到掩码文本位置处的词,假设预测得到的[MASK]位置处的词为boring。由于boring是Negative标签下的标签词,因此该影评文本为消极的影评文本。

本申请实施例对模板形式不做具体限定。另外需要说明的是,本申请实施例可以构建多种不同的模板,每种模板与语言表达器可以构成一个模板-语言表达器对(pattern-verbalizer pairs,PVP)。对于每个PVP,可以分别训练一个预训练语言模型,后文中将详细说明。

需要指出的是,以上步骤11和12之间并无严格的执行顺序要求,可以先执行步骤11后执行步骤12,也可以先执行步骤12后执行步骤11,还可以同时执行步骤11和步骤12。

步骤13,利用第一训练集训练得到一个预训练语言模型,其中,所述第一训练集包括多个已标注标签的第一训练样本,所述训练包括:将所述第一训练样本作为输入文本,根据所述模板生成第一待预测文本;利用所述预训练语言模型生成所述第一待预测文本中的待预测词的词向量;根据所述待预测词的词向量与每个标签的词平均向量之间的相似度,确定所述第一训练样本的预测标签;根据所述第一训练样本的预测标签和已标注标签,优化所述预训练语言模型。

这里,所述预训练语言模式通常是预先在庞大的数据集上训练得到的,所述预训练语言模型包括但不限于以下模型中的任一种:BERT模型、Albert模型、Roberta模型、XLnet模型等。本申请实施例在训练预训练语言模型时,将所述第一训练样本作为输入文本,根据所述模板在所述第一训练样本中插入掩码文本以生成第一待预测文本。将第一待预测文本输入至预训练语言模型,获得所述预训练语言模型生成的所述第一待预测文本中的待预测词的词向量。

然后,计算所述待预测词的词向量与每个标签的词平均向量之间的相似度,根据所述相似度确定出所述第一训练样本的预测标签。例如,可以计算所述待预测词的词向量与各个标签的词平均向量之间的距离,并选择出最小距离,将所述最小距离对应的标签,作为所述第一训练样本的预测标签。当然,如果计算出的待预测词刚好为标签词空间中的某个标签词,则可以直接确定该待预测词为该标签词。

可选的,本申请实施例还可以设置一个距离门限,在所述最小距离不大于该距离门限的情况下,将所述最小距离对应的标签,作为所述第一训练样本的预测标签;在所述最小距离大于该距离门限的情况下,此时判断为不存在与所述第一训练样本对应的标签,从而可以避免将相似度过低的待预测词判断为某个标签。

然后,根据所述第一训练样本的预测标签和已标注标签,优化所述预训练语言模型,例如,根据第一训练样本的预测标签和已标注标签,计算损失函数,通过反向传播优化模型参数。具体的损失函数的设置、参数优化以及训练结束条件等均可以参考相关现有技术的实现,本文不再赘述。

通过以上步骤,本申请实施例在进行模型训练时,不再是根据预测出的待预测词是否存在于标签空间中来确定待预测词的标签,而是根据待预测词与每个标签下的标签词的词平均向量的相似度,来确定待预测词的标签。这样,即使待预测词不在标签空间中,也能根据其与各个标签的词平均向量的相似度,准确地将其分类,从而可以将更多的样本映射到标签,减轻了标签词覆盖不全的影响,进而提高了预训练语言模型的性能。

例如,对于一种简单的语言表达器{科学}→科学,意味着在推理过程中,现有技术仅在预测[MASK]标记的待预测词为“科学”的情况下才被认为是正确的,而在预测结果为“物理”和“数学”等其他科学相关单词时则认为是错误的,尽管它们也属于科学类别。采用了本申请实施例的上述方法后,通过计算“物理”与“科学”词语之间的相似度,会发现两词语相似度很高,这样即使在预测[MASK]标记的词不在标签词空间中,也能够正确的将它分类。

又例如,对于上文的影评分类的应用场景,假设预测得到的[MASK]位置处的词为Wonderful,而Wonderful并不在Positive或Negative的标签下。此时,本申请实施例通过计算“Wonderful”与“Positive”标签的词平均向量之间的相似度,会发现两者相似度很高,这样,即使在Wonderful并不在Positive的标签词空间中,也能将其准确的分类到Positive。

在利用第一训练集训练得到一个预训练语言模型之后,本申请实施例可以利用该预训练语言模型生成一个包括更多训练样本的第二训练集。

具体的,本申请实施例可以获得多个未标注标签的第二训练样本。利用所述预训练语言模型,确定所述第二训练样本的预测标签。根据所确定的所述第二训练样本的预测标签,对所述第二训练样本进行标签标注,生成第二训练集。

也就是说,本申请实施例可以在小样本训练集(第一训练集)上训练得到预训练语言模型,进而利用该模型对未标注标签的更大样本的训练集进行标注,生成每个训练样本的标签(软标签),从而获得一个更大的第二训练集。更进一步的,本申请实施例还可以利用所述第二训练集,训练得到最终的预训练语言模型,从而可以扩大训练集并训练模型,更好的解决了小样本问题。

本申请实施例中,可以构建多个不同的模板,其中,不同模板所生成的待预测文本不同。这里,不同的模板的掩码文本不同,和/或,不同的模板在输入文本中插入的掩码文本的位置不同。然后,针对每个所述模板,分别利用所述第一训练集训练一个预训练语言模型,得到多个预训练语言模型。这样,每个模板与语言表达器构成一个模板-语言表达器对(PVP)。对于每个PVP,分别训练得到一个预训练语言模型,从而可以融合基于不同模板所训练得到的预训练语言模型来生成第二训练集,充分利用各个预训练语言模型学习到的知识,提高标签标注的准确性。由于一个PVP的置信度可能不高,本申请实施例将多个PVP的结果融合,从而可以在标签标注时获得置信度较高的预测标签。

在利用训练得到的多个预训练语言模型,确定所述第二训练样本的预测标签时,有多种不同的实现方式:

例如,可以利用每个预训练语言模型,确定第二训练样本在每个标签下的概率;然后,将所述概率最大的标签,作为所述第二训练样本的预测标签。

又例如,利用测试集,测试得到每个预训练语言模型的标签预测的准确性指标,根据所述准确性指标设置各个预训练语言模型的权重,所述权重与所述准确性指标正相关,即,准确性指标越高,则权重越大,反之,准确性指标越低,则权重越小。利用每个预训练语言模型,确定第二训练样本在每个标签下的概率。然后,针对每个标签,根据所述预训练语言模型的权重,对每个预训练语言模型所确定的所述第二训练样本在该标签下的概率进行加权求和,得到所述第二训练样本在该标签的概率统计值;然后,将所述概率统计值最大的标签,作为所述第二训练样本的预测标签。

在基于多个预训练语言模型生成第二训练集之后,还可以利用所述第二训练集,训练得到最终的预训练语言模型。在训练最终的预训练语言模型时,本申请实施例可以从利用所述第一训练集训练得到的多个预训练语言模型中,选择出标签预测的准确性指标最优的模型,在该模型的基础上,利用所述第二训练集对该模型进行训练,以获得最终的预训练语言模型,这样可以提高最终训练得到的模型的性能。

本申请实施例中的预训练语言模式是在庞大的数据集上训练得到的。例如,像BERT(Transformers的双向编码器表示)这样的预训练语言模式是一个大型神经网络架构,具有大量参数,范围从1亿到超过3亿不等。在小型数据集上从头开始训练预训练语言模式模型会导致过度拟合。因此,通常是使用在庞大数据集上训练的预训练语言模式作为起点,然后可以通过上文的方法,利用所述第二训练集训练该模型,该训练过程也被称为模型微调。例如,用传统的fine tuning方法训练该模型,得到一个标准的分类模型。

在利用所述第二训练集训练该模型时,本申请实施例可以有多种微调方式。

例如,本申请实施例可以训练预训练语言模型的整个架构,即,利用第二训练集训练整个预训练语言模型,并将预训练语言模型的输出提供给分类器(softmax层)。在这种情况下,误差会在整个架构中反向传播,并且预训练语言模型的预训练权重参数会在基于第二训练集的训练过程中得到更新。

又例如,本申请实施例可以在冻结预训练语言模型的第一部分的神经网络层的同时训练第二部分的神经网络层。所述第二部分的神经网络层是预训练语言模型中除第一部分的神经网络层之外的剩余神经网络层。即,使用预训练语言模型的另一种方式是对其进行部分训练。具体的,可以保持预训练语言模型初始神经网络层的权重冻结,只重新训练更高的神经网络层。本申请实施例可以在不同的冻结的层和训练的层下进行测试,以获得更优性能的模型。

再例如,本申请实施例可以冻结预训练语言模型的整个架构,即冻结预训练语言模型的所有层并新增若干神经网络层从而形成一个新模型。然后利用第二训练集对该新模型进行训练,在训练过程中,只有新增的神经网络层的权重会在模型训练过程中更新。

基于以上方法,本申请实施例还提供了实施上述方法的装置,请参考图2,本申请实施例提供的模型训练装置包括:

计算模块21,用于获得不同标签下的多个标签词,计算每个标签下的标签词的平均向量,得到每个标签的词平均向量;

构建模块22,用于构建模板,所述模板用于在输入文本中插入掩码文本以生成待预测文本,所述掩码文本中包括有被掩码覆盖的待预测词;

第一训练模块23,用于利用第一训练集训练得到一个预训练语言模型,其中,所述第一训练集包括多个已标注标签的第一训练样本,所述训练包括:

将所述第一训练样本作为输入文本,根据所述模板生成第一待预测文本;

利用所述预训练语言模型生成所述第一待预测文本中的待预测词的词向量;根据所述待预测词的词向量与每个标签的词平均向量之间的相似度,确定所述第一训练样本的预测标签;

根据所述第一训练样本的预测标签和已标注标签,优化所述预训练语言模型。

通过以上模块,本申请实施例能够将更多的样本映射到标签,而不受标签词空间中的标签词的限制。

可选的,所述第一训练模块,还用于在根据所述待预测词的词向量与每个标签的词平均向量之间的相似度,确定所述第一训练样本的预测标签时:

计算所述待预测词的词向量与各个标签的词平均向量之间的距离,并选择出最小距离;

将所述最小距离对应的标签,作为所述第一训练样本的预测标签。

可选的,所述装置还包括:

第一获得模块,用于获得多个未标注标签的第二训练样本;

样本生成模块,用于利用所述预训练语言模型,确定所述第二训练样本的预测标签;根据所确定的所述第二训练样本的预测标签,对所述第二训练样本进行标签标注,生成第二训练集。

可选的,所述构建模块,还用于构建多个所述模板,其中不同模板所生成的待预测文本不同;

所述第一训练模块,还用于针对每个所述模板,分别利用所述第一训练集训练一个预训练语言模型,得到多个预训练语言模型;

所述样本生成模块包括:

第一标签生成子模块,用于利用每个预训练语言模型,确定第二训练样本在每个标签下的概率;将所述概率最大的标签,作为所述第二训练样本的预测标签。

可选的,所述构建模块,还用于构建多个所述模板,其中不同模板所生成的待预测文本不同;

所述第一训练模块,还用于针对每个所述模板,分别利用所述第一训练集训练一个预训练语言模型,得到多个预训练语言模型;

所述样本生成模块包括:

第二标签生成子模块,用于利用测试集,测试得到每个预训练语言模型的标签预测的准确性指标,根据所述准确性指标设置各个预训练语言模型的权重,所述权重与所述准确性指标正相关;利用每个预训练语言模型,确定第二训练样本在每个标签下的概率;针对每个标签,根据所述预训练语言模型的权重,对每个预训练语言模型所确定的所述第二训练样本在该标签下的概率进行加权求和,得到所述第二训练样本在该标签的概率统计值;将所述概率统计值最大的标签,作为所述第二训练样本的预测标签。

可选的,所述装置还包括:

第二训练模块,用于利用所述第二训练集,训练得到最终的预训练语言模型。

请参考图3,本申请实施例还提供了模型训练装置的一种硬件结构框图,如图3所示,该模型训练装置300包括:

处理器302;和

存储器304,在所述存储器304中存储有计算机程序指令,

其中,在所述计算机程序指令被所述处理器运行时,使得所述处理器302执行以下步骤:

获得不同标签下的多个标签词,计算每个标签下的标签词的平均向量,得到每个标签的词平均向量;

构建模板,所述模板用于在输入文本中插入掩码文本以生成待预测文本,所述掩码文本中包括有被掩码覆盖的待预测词;

利用第一训练集训练得到一个预训练语言模型,其中,所述第一训练集包括多个已标注标签的第一训练样本,所述训练包括:

将所述第一训练样本作为输入文本,根据所述模板生成第一待预测文本;

利用所述预训练语言模型生成所述第一待预测文本中的待预测词的词向量;根据所述待预测词的词向量与每个标签的词平均向量之间的相似度,确定所述第一训练样本的预测标签;

根据所述第一训练样本的预测标签和已标注标签,优化所述预训练语言模型。

进一步地,如图3所示,该模型训练装置300还包括网络接口301、输入设备303、硬盘305、和显示设备306。

上述各个接口和设备之间可以通过总线架构互连。总线架构可以是可以包括任意数量的互联的总线和桥。具体由处理器302代表的一个或者多个中央处理器(CPU)和/或图形处理器(GPU),以及由存储器304代表的一个或者多个存储器的各种电路连接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其它电路连接在一起。可以理解,总线架构用于实现这些组件之间的连接通信。总线架构除包括数据总线之外,还包括电源总线、控制总线和状态信号总线,这些都是本领域所公知的,因此本文不再对其进行详细描述。

所述网络接口301,可以连接至网络(如因特网、局域网等),从网络中接收训练数据等数据,并可以将接收到的数据保存在硬盘305中。

所述输入设备303,可以接收操作人员输入的各种指令,并发送给处理器302以供执行。所述输入设备303可以包括键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。

所述显示设备306,可以将处理器302执行指令获得的结果进行显示,例如训练进度等。

所述存储器304,用于存储操作系统运行所必须的程序和数据,以及处理器302计算过程中的中间结果等数据。

可以理解,本申请实施例中的存储器304可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。本文描述的装置和方法的存储器304旨在包括但不限于这些和任意其它适合类型的存储器。

在一些实施方式中,存储器304存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作系统3041和应用程序3042。

其中,操作系统3041,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序3042,包含各种应用程序,例如浏览器(Browser)等,用于实现各种应用业务。实现本申请实施例方法的程序可以包含在应用程序3042中。

本申请上述实施例揭示的方法可以应用于处理器302中,或者由处理器302实现。处理器302可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器302中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器302可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器304,处理器302读取存储器304中的信息,结合其硬件完成上述方法的步骤。

可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。

对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。

具体地,所述计算机程序被处理器302执行时还可实现如下步骤:

计算所述待预测词的词向量与各个标签的词平均向量之间的距离,并选择出最小距离;

将所述最小距离对应的标签,作为所述第一训练样本的预测标签。

具体地,所述计算机程序被处理器302执行时还可实现如下步骤:

在利用第一训练集训练得到一个预训练语言模型之后,获得多个未标注标签的第二训练样本;

利用所述预训练语言模型,确定所述第二训练样本的预测标签;

根据所确定的所述第二训练样本的预测标签,对所述第二训练样本进行标签标注,生成第二训练集。

具体地,所述计算机程序被处理器302执行时还可实现如下步骤:

构建多个所述模板,其中,不同模板所生成的待预测文本不同;

针对每个所述模板,分别利用所述第一训练集训练一个预训练语言模型,得到多个预训练语言模型;

所述利用所述预训练语言模型,确定所述第二训练样本的预测标签,包括:

利用每个预训练语言模型,确定第二训练样本在每个标签下的概率;

将所述概率最大的标签,作为所述第二训练样本的预测标签。

具体地,所述计算机程序被处理器302执行时还可实现如下步骤:

构建多个所述模板,其中不同模板所生成的待预测文本不同;

针对每个所述模板,分别利用所述第一训练集训练一个预训练语言模型,得到多个预训练语言模型;

所述利用所述预训练语言模型,确定所述第二训练样本的预测标签,包括:

利用测试集,测试得到每个预训练语言模型的标签预测的准确性指标,根据所述准确性指标设置各个预训练语言模型的权重,所述权重与所述准确性指标正相关;

利用每个预训练语言模型,确定第二训练样本在每个标签下的概率;

针对每个标签,根据所述预训练语言模型的权重,对每个预训练语言模型所确定的所述第二训练样本在该标签下的概率进行加权求和,得到所述第二训练样本在该标签的概率统计值;

将所述概率统计值最大的标签,作为所述第二训练样本的预测标签。

具体地,所述计算机程序被处理器302执行时还可实现如下步骤:

在生成所述第二训练集之后,利用所述第二训练集,训练得到最终的预训练语言模型。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

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

相关技术
  • 分类器训练方法、装置、设备和计算机可读存储介质
  • 一种模型训练方法、计算机可读存储介质及计算设备
  • 相似度预测模型训练方法、设备及计算机可读存储介质
  • 文本分类模型的训练方法、装置及可读存储介质
  • 声学模型训练方法、装置、设备及计算机可读介质
  • 照片的图像获取模型训练方法、图像获取方法、计算机装置和计算机可读存储介质
  • 模型训练方法、装置、计算机设备及计算机可读存储介质
技术分类

06120116513666