一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

文本多标签分类方法及装置与流程

2023-03-15 17:41:00 来源:中国专利 TAG:


1.本说明书涉及自然语言处理和人工智能技术领域,特别涉及一种文本多标签分类方法及装置。


背景技术:

2.文本多标签分类任务指的是对于一个句子,同时存在多个正确的标签,多标签分类任务在现实应用中大量存在。例如,维基百科有超过100万个类别标签,一篇文章有不止一个相关标签:“土豆”的网页上会有“茄属植物”、“根状蔬菜”、“来自南美的作物”等类标签。
3.然而,多标签分类任务中标签空间大,存在严重的数据稀疏性问题,数据集通常表现出长尾分布的特点,这意味着相当大的一部分数据标签很少有相关的训练数据。在无额外付出人工标注、数据积累的成本的情况下,存在数据质量差、标注数据少、标签分布不平衡的问题,这种数据稀疏性限制了多标签分类的准确性。
4.针对上述问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本说明书实施例提供了一种文本多标签分类方法及装置,以解决现有技术中多标签分类的准确性较低的问题。
6.本说明书实施例提供了一种文本多标签分类方法,包括:
7.接收文本多分类请求;所述多分类请求中携带有目标文本数据;
8.将所述目标文本数据输入预训练模型中,得到所述目标文本数据对应的目标预训练词向量矩阵;基于预先构建的自适应提示模板,生成提示模板矩阵;所述自适应提示模板是基于对比学习通过迭代训练构建的;
9.将所述提示模板矩阵与所述目标预训练词向量矩阵进行拼接,得到拼接后的目标语句向量表征;将所述目标语句向量表征输入至编码模型中,得到所述目标文本数据对应的目标语句表示;
10.利用线性分类器对所述目标语句表示进行映射分类,得到所述目标文本数据对应的标签集合。
11.在一个实施例中,在接收多分类请求之前,还包括:
12.随机初始化提示模板以生成初始化提示模板矩阵;
13.获取标注数据集;所述标注数据集包括多个语句以及所述多个语句中各语句对应的至少一个标签;
14.基于所述标注数据集构建第一标注集合和第二标注集合;所述第一标注集合中的语句对应的标签包括第一标签;所述第二标注集合中的语句对应的标签不包括所述第一标签;
15.基于所述第一标注集合、所述第二标注集合和所述初始化提示模板矩阵进行对比
学习,微调所述初始化提示模板的参数,得到自适应提示模板。
16.在一个实施例中,获取标注数据集,包括:
17.获取原始标注数据集;所述原始标注数据集中包括多个语句以及所述多个语句中各语句对应的至少一个标签;
18.对所述原始标注数据集进行数据增强,得到增强后的标注数据集。
19.在一个实施例中,基于所述第一标注集合、所述第二标注集合和所述初始化提示模板矩阵进行对比学习,微调所述初始化提示模板的参数,得到自适应提示模板,包括:
20.将所述第一标注集合中的语句输入所述预训练模型中,得到第一预训练词向量矩阵集合;将所述第二标注集合中的语句输入所述预训练模型中,得到第二预训练词向量矩阵集合;
21.将所述初始化提示模板与所述第一预训练词向量矩阵集合中的第一预训练词向量矩阵进行拼接,得到第一语句向量表征集合;将所述初始化提示模板与所述第二预训练词向量矩阵集合中的第二预训练词向量矩阵进行拼接,得到第二语句词向量表征集合;
22.将所述第一语句向量表征集合中的第一语句向量表征输入至所述编码模型中,得到第一输出集合;将所述第二语句向量表征集合中的第二语句向量表征输入至所述编码模型中,得到第二输出集合;
23.基于所述第一输出集合和所述第二输出集合构造对比学习损失函数;基于所述对比学习损失函数,采用梯度下降算法对所述初始化提示模板进行多轮迭代训练,得到自适应提示模板。
24.在一个实施例中,基于所述对比学习损失函数,采用梯度下降算法对所述初始化提示模板进行多轮迭代训练,得到自适应提示模板,包括:
25.构建所述线性分类器对应的分类器损失函数;
26.基于所述对比学习损失函数和所述分类器损失函数,构造整体损失函数;
27.基于所述整体损失函数,采用梯度下降算法对所述分类器和所述初始化提示模板进行联合训练,得到训练好的线性分类器和自适应提示模板。
28.在一个实施例中,所述对比学习损失函数为:
[0029][0030]
其中,l
cl
为所述对比学习损失函数,k代表对于所述第二标注集合中的语句的个数,s(x,y)代表x,y余弦相似度,c为所述第一输出集合中与所述第一标注集合中的一语句对应的第一输出,c

为所述第一输出集合中与所述第一标注集合中的另一语句对应的第一输出,为所述第二输出集合中与所述第二标注集合中的第i个语句对应的第二输出,常数τ是调节系数。
[0031]
在一个实施例中,所述整体损失函数为:
[0032]
l=al
bce
bl
cl
[0033]
其中,l为所述损失函数,l
bce
为分类器损失函数,l
cl
为对比学习损失函数,a和b为常数。
[0034]
本说明书实施例还提供了一种文本多标签分类装置,包括:
[0035]
接收模块,用于接收文本多分类请求;所述多分类请求中携带有目标文本数据;
[0036]
生成模块,用于将所述目标文本数据输入预训练模型中,得到所述目标文本数据对应的目标预训练词向量矩阵;基于预先构建的自适应提示模板,生成提示模板矩阵;所述自适应提示模板是基于对比学习通过迭代训练构建的;
[0037]
拼接模块,用于将所述提示模板矩阵与所述目标预训练词向量矩阵进行拼接,得到拼接后的目标语句向量表征;将所述目标语句向量表征输入至编码模型中,得到所述目标文本数据对应的目标语句表示;
[0038]
分类模块,用于利用线性分类器对所述目标语句表示进行映射分类,得到所述目标文本数据对应的标签集合。
[0039]
本说明书实施例还提供一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述任意实施例中所述的文本多标签分类方法的步骤。
[0040]
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述任意实施例中所述的文本多标签分类方法的步骤。
[0041]
在本说明书实施例中,提供了一种文本多标签分类方法,可以接收文本多分类请求,所述多分类请求中携带有目标文本数据,可以将所述目标文本数据输入预训练模型中,得到所述目标文本数据对应的目标预训练词向量矩阵,基于预先基于对比学习通过迭代训练而构建的自适应提示模板,生成提示模板矩阵,可以将所述提示模板矩阵与所述目标预训练词向量矩阵进行拼接,得到拼接后的目标语句向量表征,将所述目标语句向量表征输入至编码模型中,得到所述目标文本数据对应的目标语句表示,最后利用线性分类器对所述目标语句表示进行映射分类,得到所述目标文本数据对应的标签集合。上述方案中,通过利用预训练模型,可以在存在数据稀疏性问题的任务上取得了优异的学习结果,很多零样本、少样本场景下的学习任务都有了明显的效果提升,提示学习在预训练模型的基础上增加提示信息,在不显著改变模型结构和参数的情况下,可以将下游任务改变为完形填空式的文本生成任务,提升了预训练模型的效果,可以将提示学习应用在银行等行业的专用语料中,用提示学习的方式解决银行等提问系统中的多标签分类问题。进一步地,通过采用对比学习的方式,可以提高自适应模板和任务的匹配性,针对具体的多标签分类问题,生成跟任务适配的提示学习模板,解决了提示学习模板影响结果准确性的问题,能够有效提高最终的多标签分类效果。
附图说明
[0042]
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,并不构成对本说明书的限定。在附图中:
[0043]
图1示出了本说明书一实施例中的文本多标签分类方法的流程图;
[0044]
图2示出了本说明书一实施例中的文本多标签分类方法的流程图;
[0045]
图3示出了本说明书一实施例中的文本多标签分类装置的示意图;
[0046]
图4示出了本说明书一实施例中的计算机设备的示意图。
具体实施方式
[0047]
下面将参考若干示例性实施方式来描述本说明书的原理和精神。应当理解,给出
这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本说明书,而并非以任何方式限制本说明书的范围。相反,提供这些实施方式是为了使本说明书公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0048]
本领域的技术人员知道,本说明书的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本说明书公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
[0049]
本说明书实施例提供了一种文本多标签分类方法。本实施例中的方法可以应用于服务器。在本应用场景中,服务器可以接收客户端发送的文本多分类请求。文本多分类请求中可以携带有目标文本数据。目标文本数据可以是待分类的语句。在一个实施例中,本实施例中的方法可以应用于智能问答系统。在接收到用户输入的目标文本数据之后,可以对目标文本数据进行分类。
[0050]
响应于文本多分类请求,服务器可以将目标文本数据输入预训练模型中,得到所述目标文本数据对应的目标预训练词向量矩阵。这里的预训练模型可以包括以下之一:bert模型、gpt模型、t5模型等预训练模型。服务器还可以基于预先构建的自适应提示模板,生成提示模板矩阵。这里的自适应提示模板可以是基于对比学习通过迭代训练构建得到的。
[0051]
服务器可以将目标预训练词向量矩阵与提示模板矩阵进行拼接,得到所述目标文本数据对应的目标语句向量表征。之后,服务器可以将目标语句向量表征输入至编码模型中进行编码,得到目标文本数据对应的目标语句表示。这里的编码模型可以包括transformer模型、lstm模型等各种模型。服务器可以利用线性分类器对目标语句表示进行映射分类,得到目标文本数据对应的标签集合。标签集合中可以包括目标文本数据所属的多个标签。服务器可以将标签集合返回给客户端。
[0052]
上述场景示例中,通过利用预训练模型,可以在存在数据稀疏性问题的任务上取得了优异的学习结果,很多零样本、少样本场景下的学习任务都有了明显的效果提升,提示学习在预训练模型的基础上增加提示信息,在不显著改变模型结构和参数的情况下,可以将下游任务改变为完形填空式的文本生成任务,提升了预训练模型的效果,可以将提示学习应用在银行等行业的专用语料中,用提示学习的方式解决银行等提问系统中的多标签分类问题。进一步地,通过采用对比学习的方式,可以提高自适应模板和任务的匹配性,针对具体的多标签分类问题,生成跟任务适配的提示学习模板,解决了提示学习模板影响结果准确性的问题,能够有效提高最终的多标签分类效果。
[0053]
图1示出了本说明书一实施例中文本多标签分类方法的流程图。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
[0054]
具体地,如图1所示,本说明书一种实施例提供的文本多标签分类方法可以包括以下步骤:
[0055]
步骤s101,接收文本多分类请求;所述多分类请求中携带有目标文本数据。
[0056]
本实施例中的方法可以应用于服务器。服务器可以接收客户端发送的文本多分类请求。文本多分类请求中可以包括目标文本数据。目标文本数据可以包括待分类的语句数据。在一个实施例中,本实施例中的方法可以应用于智能问答系统。在接收到用户输入的目标文本数据之后,可以对目标文本数据进行分类。
[0057]
步骤s102,将所述目标文本数据输入预训练模型中,得到所述目标文本数据对应的目标预训练词向量矩阵;基于预先构建的自适应提示模板,生成提示模板矩阵;所述自适应提示模板是基于对比学习通过迭代训练构建的。
[0058]
响应于文本多分类请求,服务器可以将目标文本数据输入预训练模型中进行特征提取,得到目标文本数据对应的目标预训练词向量矩阵。在一个实施例中,预训练模型可以是自然语言处理预训练模型,可以包括以下之一:bert模型、gpt模型、t5模型等预训练模型。
[0059]
服务器可以基于预先构建的自适应提示模板,生成提示模板矩阵。这里的自适应提示模板可以是基于对比学习通过迭代训练构建得到的。
[0060]
步骤s103,将所述提示模板矩阵与所述目标预训练词向量矩阵进行拼接,得到拼接后的目标语句向量表征;将所述目标语句向量表征输入至编码模型中,得到所述目标文本数据对应的目标语句表示。
[0061]
服务器可以将提示模板矩阵与目标预训练词向量矩阵进行拼接,得到拼接后的目标语句向量表征。之后,服务器可以将目标语句向量表征输入至编码模型中,得到目标文本数据对应的目标语句表示。编码模型可以对目标语句向量表征进行编码。编码模型可以包括transformer模型、lstm模型等各种模型。
[0062]
步骤s104,利用线性分类器对所述目标语句表示进行映射分类,得到所述目标文本数据对应的标签集合。
[0063]
在得到目标语句表示之后,可以利用线性分类器对目标语句表示进行映射分类。线性分类器可以是多层感知机。线性分类器输入维度与目标语句表示的维度相同,输出维度为类别个数,并使用sigmoid函数进行激活,能够得到最终属于各个标签的可能性,通过设置阈值,可以生成目标文本数据对应的标签集合。在得到标签集合之后,可以将目标文本数据对应的标签集合返回给客户端。
[0064]
上述实施例中,通过利用预训练模型,可以在存在数据稀疏性问题的任务上取得了优异的学习结果,很多零样本、少样本场景下的学习任务都有了明显的效果提升,提示学习在预训练模型的基础上增加提示信息,在不显著改变模型结构和参数的情况下,可以将下游任务改变为完形填空式的文本生成任务,提升了预训练模型的效果,可以将提示学习应用在银行等行业的专用语料中,用提示学习的方式解决银行等提问系统中的多标签分类问题。进一步地,通过采用对比学习的方式,可以提高自适应模板和任务的匹配性,针对具体的多标签分类问题,生成跟任务适配的提示学习模板,解决了提示学习模板影响结果准确性的问题,能够有效提高最终的多标签分类效果。
[0065]
在本说明书一些实施例中,在接收多分类请求之前,还可以包括:随机初始化提示模板以生成初始化提示模板矩阵;获取标注数据集;所述标注数据集包括多个语句以及所述多个语句中各语句对应的至少一个标签;基于所述标注数据集构建第一标注集合和第二
标注集合;所述第一标注集合中的语句对应的标签包括第一标签;所述第二标注集合中的语句对应的标签不包括所述第一标签;基于所述第一标注集合、所述第二标注集合和所述初始化提示模板矩阵进行对比学习,微调所述初始化提示模板的参数,得到自适应提示模板。
[0066]
具体地,服务器可以随机初始化提示模板以生成初始化提示模板矩阵。服务器可以获取标注数据集。标注数据集中可以包括多个文本数据(或者说,语句)以及多个语句中各语句对应的至少一个标签。可以基于标注数据集构建第一标注集合和第二标注集合。第一标注集合中的语句对应的标签均可以包括第一标签。这里的第一标签可以是多个标签中的任一个标签。第二标注集合中的语句对应的标签均不包含第一标签。之后,可以基于第一标注集合、第二标注集合和初始化提示模板矩阵进行对比学习,微调初始化提示模板的参数,得到自适应提示模板。对比学习是一种自监督学习方法,可以在没有标签的情况下让模型学习数据的相似和不同来学习数据集的一般特征。通过上述方式,可以提高自适应模板和分类任务的匹配性,能够生成跟任务适配的提示学习模板,进而提高分类的准确性。
[0067]
在本说明书一些实施例中,获取标注数据集,可以包括:获取原始标注数据集;所述原始标注数据集中包括多个语句以及所述多个语句中各语句对应的至少一个标签;对所述原始标注数据集进行数据增强,得到增强后的标注数据集。具体地,服务器可以选取原始标注数据集中对应的语句数量小于第一预设数量的标签,对于选取的标签对应的语句进行数据增强,以产生新的语句,以对标准数据集进行扩充,以使得扩充后的标注数据集中每种标签对应的语句的数量不少于第二预设数量。通过数据增强,可以有效解决数据稀疏性的问题,进一步提高多标签分类的准确性。
[0068]
在本说明书一些实施例中,基于所述第一标注集合、所述第二标注集合和所述初始化提示模板矩阵进行对比学习,微调所述初始化提示模板的参数,得到自适应提示模板,可以包括:将所述第一标注集合中的语句输入所述预训练模型中,得到第一预训练词向量矩阵集合;将所述第二标注集合中的语句输入所述预训练模型中,得到第二预训练词向量矩阵集合;将所述初始化提示模板与所述第一预训练词向量矩阵集合中的第一预训练词向量矩阵进行拼接,得到第一语句向量表征集合;将所述初始化提示模板与所述第二预训练词向量矩阵集合中的第二预训练词向量矩阵进行拼接,得到第二语句词向量表征集合;将所述第一语句向量表征集合中的第一语句向量表征输入至所述编码模型中,得到第一输出集合;将所述第二语句向量表征集合中的第二语句向量表征输入至所述编码模型中,得到第二输出集合;基于所述第一输出集合和所述第二输出集合构造对比学习损失函数;基于所述对比学习损失函数,采用梯度下降算法对所述初始化提示模板进行多轮迭代训练,得到自适应提示模板。
[0069]
具体地,服务器可以将第一标注集合和第二标注集合中的语句分别输入至预训练模型中,得到对应的第一预训练词向量矩阵集合和第二预训练次向量矩阵集合。之后,可以将初始化提示模板分别与第一预训练词向量矩阵集合和第二预训练次向量矩阵集合中的第一预训练词向量矩阵和第二预训练词向量矩阵进行拼接,得到第一语句向量表征集合和第二语句词向量表征集合。之后,将第一语句向量表征集合和第二语句词向量表征集合中的语句词向量表征集合输入至编码模型中,得到对应的第一输出集合和第二输出集合。第一输出集合和第二输出集合对应的是两种不同标签对应的语句向量表征。通过对两种不同
标签对应的语句向量表征进行对比学习,采用梯度下降算法对所述初始化提示模板进行多轮迭代训练,得到自适应提示模板。通过上述方式,可以构造对比学习损失函数进行对比学习,生成自适应提示模板。
[0070]
在本说明书一些实施例中,基于所述对比学习损失函数,采用梯度下降算法对所述初始化提示模板进行多轮迭代训练,得到自适应提示模板,可以包括:构建所述线性分类器对应的分类器损失函数;基于所述对比学习损失函数和所述分类器损失函数,构造整体损失函数;基于所述整体损失函数,采用梯度下降算法对所述分类器和所述初始化提示模板进行联合训练,得到训练好的线性分类器和自适应提示模板。上述实施例中,基于提示学习的多标签分类任务、基于对比学习的提示学习模板自适应学习任务,两个任务进行联合训练进行多任务学习,能够有效提高最终的多标签分类效果。
[0071]
在本说明书一些实施例中,所述对比学习损失函数为:
[0072][0073]
其中,l
cl
为所述对比学习损失函数,k代表对于所述第二标注集合中的语句的个数,s(x,y)代表x,y余弦相似度,c为所述第一输出集合中与所述第一标注集合中的一语句对应的第一输出,c

为所述第一输出集合中与所述第一标注集合中的另一语句对应的第一输出,为所述第二输出集合中与所述第二标注集合中的第i个语句对应的第二输出,常数τ是调节系数。
[0074]
在本说明书一些实施例中,所述整体损失函数为:
[0075]
l=al
bce
bl
cl
[0076]
其中,l为所述损失函数,l
bce
为分类器损失函数,l
cl
为对比学习损失函数,a和b为常数。在一个实施例中,分类器损失函数可以是二元交叉熵损失。
[0077]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。具体的可以参照前述相关处理相关实施例的描述,在此不做一一赘述。
[0078]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0079]
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本说明书,并不构成对本说明书的不当限定。
[0080]
本具体实施例中提出了一种文本多标签分类方法。本具体实施例中,可以通过提示学习在预训练模型的基础上增加提示信息,在不显著改变模型结构和参数的情况下,将下游任务改变为完形填空式的文本生成任务,提升了预训练模型的效果。本实施例将提示模型应用在多标签分类任务上,预测问题的标签,同时为了更好的提高提示模板效果,进一步采用对比学习的方式增强模板自适应选择,构造提示学习多标签分类和对比学习增强提示学习模板自适应学习两部分损失,联合训练后提高最终的多标签分类效果。
[0081]
对于输入的问题input,在开头和结尾分别添加[cls]和[sep]两个专属开始、结束
标记([cls]是句子开始的标志,[sep]是句子结束的标志)。可以将整个句子输入进预训练模型bert中,获得预训练词向量矩阵w,随机初始化prompt模板矩阵p,将p与w进行拼接,输入至transformer中,取[cls]位置的隐藏层输出作为句子向量表征,记为c,整个过程记为c=prompt bert(input)。
[0082]
获得句子表示c后,将c通过线性分类器多层感知机(mlp)进行映射分类,分类器输入维度与c相同,输出维度为类别个数,并使用sigmoid函数进行激活,能够得到最终属于各个标签的可能性,通过设置阈值t,确定最终预测的标签集合。损失函数具体如下:
[0083]
l
bce
=bce(y,σ(cm))
[0084]
其中,y是正确的标签向量,m是分类器参数矩阵,bce是二元交叉熵损失,σ为sigmoid函数。
[0085]
图2示出了基于对比学习生成自适应提示模板的流程示意图。根据标签,将句子重新组织,构建同属于一个标签的句子集合,对于句子输入input,随机选取同一标签下的另一个句子,将该句子拼接提示模板后输入进prompt bert,获得正pair句子向量输出c

。在数据集中随机选取标签不同的句子作为负例,为了区分原句子输入input与负例句子输入,input记为positive input,负例句子记为negative input,negative input经过prompt bert后,将负例句子编码为c-,如图2所示。
[0086]
总体来说,输入input,positive input和negative input,经过prompt bert编码,得到c,c

,c-。定义对比学习损失函数如下:
[0087][0088]
其中,k代表对于一个正例随机采样的负例的个数,s(x,y)代表x,y余弦相似度,常数τ是调节系数。
[0089]
模型整体损失为:
[0090]
l=al
bce
bl
cl
[0091]
其中,a和b为权重系数。
[0092]
模型使用开源预训练模型bert初始化,使用mini-batch梯度下降方法最优化对比学习损失函数,经过多轮迭代训练,微调prompt模板向量,能够获得任务相关的自适应prompt模板。通过联合训练,可以得到训练好的transformer模型、线性分类器以及自适应提示模板。
[0093]
本实施例中,首次将提示学习模型应用在银行业专用语料中,用提示学习的方式解决提问系统中的多标签分类问题;通过使用对比学习,提高自适应模板和任务的匹配性,针对具体的多标签分类问题,生成更任务适配的提示学习模板,解决了提示学习模板影响结果准确性的问题;基于提示学习的多标签分类任务、基于对比学习的提示学习模板自适应学习任务,两个任务进行联合训练进行多任务学习,能够有效提高最终的多标签分类效果。
[0094]
基于同一发明构思,本说明书实施例中还提供了一种文本多标签分类装置,如下面的实施例所述。由于文本多标签分类装置解决问题的原理与文本多标签分类方法相似,因此文本多标签分类装置的实施可以参见文本多标签分类方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽
管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图3是本说明书实施例的文本多标签分类装置的一种结构框图,如图3所示,包括:接收模块301、生成模块302、拼接模块303和分类模块304,下面对该结构进行说明。
[0095]
接收模块301用于接收文本多分类请求;所述多分类请求中携带有目标文本数据。
[0096]
生成模块302用于将所述目标文本数据输入预训练模型中,得到所述目标文本数据对应的目标预训练词向量矩阵;基于预先构建的自适应提示模板,生成提示模板矩阵;所述自适应提示模板是基于对比学习通过迭代训练构建的。
[0097]
拼接模块303用于将所述提示模板矩阵与所述目标预训练词向量矩阵进行拼接,得到拼接后的目标语句向量表征;将所述目标语句向量表征输入至编码模型中,得到所述目标文本数据对应的目标语句表示。
[0098]
分类模块304用于利用线性分类器对所述目标语句表示进行映射分类,得到所述目标文本数据对应的标签集合。
[0099]
在本说明书一些实施例中,该装置还可以包括构建模块,构建模块可以包括:
[0100]
生成单元,用于随机初始化提示模板以生成初始化提示模板矩阵;
[0101]
获取单元,用于获取标注数据集;所述标注数据集包括多个语句以及所述多个语句中各语句对应的至少一个标签;
[0102]
构建单元,用于基于所述标注数据集构建第一标注集合和第二标注集合;所述第一标注集合中的语句对应的标签包括第一标签;所述第二标注集合中的语句对应的标签不包括所述第一标签;
[0103]
对比学习单元,基于所述第一标注集合、所述第二标注集合和所述初始化提示模板矩阵进行对比学习,微调所述初始化提示模板的参数,得到自适应提示模板。
[0104]
在本说明书一些实施例中,获取单元可以具体用于:
[0105]
获取原始标注数据集;所述原始标注数据集中包括多个语句以及所述多个语句中各语句对应的至少一个标签;
[0106]
对所述原始标注数据集进行数据增强,得到增强后的标注数据集。
[0107]
在本说明书一些实施例中,对比学习单元可以具体用于:
[0108]
将所述第一标注集合中的语句输入所述预训练模型中,得到第一预训练词向量矩阵集合;将所述第二标注集合中的语句输入所述预训练模型中,得到第二预训练词向量矩阵集合;
[0109]
将所述初始化提示模板与所述第一预训练词向量矩阵集合中的第一预训练词向量矩阵进行拼接,得到第一语句向量表征集合;将所述初始化提示模板与所述第二预训练词向量矩阵集合中的第二预训练词向量矩阵进行拼接,得到第二语句词向量表征集合;
[0110]
将所述第一语句向量表征集合中的第一语句向量表征输入至所述编码模型中,得到第一输出集合;将所述第二语句向量表征集合中的第二语句向量表征输入至所述编码模型中,得到第二输出集合;
[0111]
基于所述第一输出集合和所述第二输出集合构造对比学习损失函数;基于所述对比学习损失函数,采用梯度下降算法对所述初始化提示模板进行多轮迭代训练,得到自适应提示模板。
[0112]
在本说明书一些实施例中,基于所述对比学习损失函数,采用梯度下降算法对所述初始化提示模板进行多轮迭代训练,得到自适应提示模板,可以包括:
[0113]
构建所述线性分类器对应的分类器损失函数;
[0114]
基于所述对比学习损失函数和所述分类器损失函数,构造整体损失函数;
[0115]
基于所述整体损失函数,采用梯度下降算法对所述分类器和所述初始化提示模板进行联合训练,得到训练好的线性分类器和自适应提示模板。
[0116]
在本说明书一些实施例中,所述对比学习损失函数可以为:
[0117][0118]
其中,l
cl
为所述对比学习损失函数,k代表对于所述第二标注集合中的语句的个数,s(x,y)代表x,y余弦相似度,c为所述第一输出集合中与所述第一标注集合中的一语句对应的第一输出,c

为所述第一输出集合中与所述第一标注集合中的另一语句对应的第一输出,为所述第二输出集合中与所述第二标注集合中的第i个语句对应的第二输出,常数τ是调节系数。
[0119]
在本说明书一些实施例中,所述整体损失函数可以为:
[0120]
l=al
bce
bl
cl
[0121]
其中,l为所述损失函数,l
bce
为分类器损失函数,l
cl
为对比学习损失函数,a和b为常数。
[0122]
从以上的描述中,可以看出,本说明书实施例实现了如下技术效果:通过利用预训练模型,可以在存在数据稀疏性问题的任务上取得了优异的学习结果,很多零样本、少样本场景下的学习任务都有了明显的效果提升,提示学习在预训练模型的基础上增加提示信息,在不显著改变模型结构和参数的情况下,可以将下游任务改变为完形填空式的文本生成任务,提升了预训练模型的效果,可以将提示学习应用在银行等行业的专用语料中,用提示学习的方式解决银行等提问系统中的多标签分类问题。进一步地,通过采用对比学习的方式,可以提高自适应模板和任务的匹配性,针对具体的多标签分类问题,生成跟任务适配的提示学习模板,解决了提示学习模板影响结果准确性的问题,能够有效提高最终的多标签分类效果。
[0123]
本说明书实施方式还提供了一种计算机设备,具体可以参阅图4所示的基于本说明书实施例提供的文本多标签分类方法的计算机设备组成结构示意图,所述计算机设备具体可以包括输入设备41、处理器42、存储器43。其中,所述存储器43用于存储处理器可执行指令。所述处理器42执行所述指令时实现上述任意实施例中所述的文本多标签分类方法的步骤。
[0124]
在本实施方式中,所述输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。所述输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。所述输入设备还可以获取接收其他模块、单元、设备传输过来的数据。所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器
的形式等等。所述存储器具体可以是现代信息技术中用于保存信息的记忆设备。所述存储器可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如ram、fifo等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、tf卡等。
[0125]
在本实施方式中,该计算机设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
[0126]
本说明书实施方式中还提供了一种基于文本多标签分类方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现上述任意实施例中所述文本多标签分类方法的步骤。
[0127]
在本实施方式中,上述存储介质包括但不限于随机存取存储器(random access memory,ram)、只读存储器(read-only memory,rom)、缓存(cache)、硬盘(hard disk drive,hdd)或者存储卡(memory card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
[0128]
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
[0129]
显然,本领域的技术人员应该明白,上述的本说明书实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本说明书实施例不限制于任何特定的硬件和软件结合。
[0130]
应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施方式和许多应用对本领域技术人员来说都将是显而易见的。因此,本说明书的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。
[0131]
以上所述仅为本说明书的优选实施例而已,并不用于限制本说明书,对于本领域的技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献