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

数据处理方法、装置及设备

文献发布时间:2024-04-18 19:52:40


数据处理方法、装置及设备

技术领域

本文件涉及数据处理技术领域,尤其涉及一种数据处理方法、装置及设备。

背景技术

随着计算机技术的快速发展,企业为用户提供的应用服务的种类和数量也越来越多,随之而来的用户数据的数据量日益增加,数据结构也日趋复杂,可以通过训练得到的模型对数据进行检测。例如,在对数据进行风险检测时,可以根据训练数据和对应的风险标签,对风险检测模型进行训练,在根据训练完成的风险检测模型,对待检测的数据进行风险检测。

但是,由于训练数据的风险标签的确定复杂度较高,这就会导致可以用于训练模型的训练数据的数据量小,以致训练得到的模型的检测准确性差,因此,需要一种能够提高模型的检测准确性的解决方案。

发明内容

本说明书实施例的目的是提供一种数据处理方法、装置及设备,以提供一种能够提高模型的检测准确性的解决方案。

为了实现上述技术方案,本说明书实施例是这样实现的:

第一方面,一种数据处理方法,包括:获取用于训练目标模型的数据样本,所述数据样本包括用户在人机交互过程中的输入数据;将所述数据样本输入所述目标模型的第一模块,得到所述数据样本对应的第一分类标签以及所述数据样本对应的第一表征向量;基于所述第一表征向量和预设类别表征向量的相似度,确定所述数据样本对应的第二分类标签,并基于所述第二分类标签、所述第一分类标签和预设分类损失函数,得到第一损失值;将所述数据样本输入所述目标模型的第二模块,得到所述数据样本对应的第二表征向量,并基于所述第一表征向量、所述第二表征向量和预设对比损失函数,得到第二损失值,所述第二模块无梯度反向传播;基于所述第一损失值和所述第二损失值,对所述目标模型进行迭代训练,得到训练后的目标模型。

第二方面,本说明书实施例提供了一种数据处理装置,所述装置包括:样本获取模块,用于获取用于训练目标模型的数据样本,所述数据样本包括用户在人机交互过程中的输入数据;第一确定模块,用于将所述数据样本输入所述目标模型的第一模块,得到所述数据样本对应的第一分类标签以及所述数据样本对应的第一表征向量;基于所述第一表征向量和预设类别表征向量的相似度,确定所述数据样本对应的第二分类标签,并基于所述第二分类标签、所述第一分类标签和预设分类损失函数,得到第一损失值;第二确定模块,用于将所述数据样本输入所述目标模型的第二模块,得到所述数据样本对应的第二表征向量,并基于所述第一表征向量、所述第二表征向量和预设对比损失函数,得到第二损失值,所述第二模块无梯度反向传播;训练模块,用于基于所述第一损失值和所述第二损失值,对所述目标模型进行迭代训练,得到训练后的目标模型。

第三方面,本说明书实施例提供了一种数据处理设备,所述数据处理设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:获取用于训练目标模型的数据样本,所述数据样本包括用户在人机交互过程中的输入数据;将所述数据样本输入所述目标模型的第一模块,得到所述数据样本对应的第一分类标签以及所述数据样本对应的第一表征向量;基于所述第一表征向量和预设类别表征向量的相似度,确定所述数据样本对应的第二分类标签,并基于所述第二分类标签、所述第一分类标签和预设分类损失函数,得到第一损失值;将所述数据样本输入所述目标模型的第二模块,得到所述数据样本对应的第二表征向量,并基于所述第一表征向量、所述第二表征向量和预设对比损失函数,得到第二损失值,所述第二模块无梯度反向传播;基于所述第一损失值和所述第二损失值,对所述目标模型进行迭代训练,得到训练后的目标模型。

第四方面,本说明书实施例提供一种存储介质,所述存储介质用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:获取用于训练目标模型的数据样本,所述数据样本包括用户在人机交互过程中的输入数据;将所述数据样本输入所述目标模型的第一模块,得到所述数据样本对应的第一分类标签以及所述数据样本对应的第一表征向量;基于所述第一表征向量和预设类别表征向量的相似度,确定所述数据样本对应的第二分类标签,并基于所述第二分类标签、所述第一分类标签和预设分类损失函数,得到第一损失值;将所述数据样本输入所述目标模型的第二模块,得到所述数据样本对应的第二表征向量,并基于所述第一表征向量、所述第二表征向量和预设对比损失函数,得到第二损失值,所述第二模块无梯度反向传播;基于所述第一损失值和所述第二损失值,对所述目标模型进行迭代训练,得到训练后的目标模型。

附图说明

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

图1A为本说明书一种数据处理方法实施例的流程图;

图1B为本说明书一种数据处理方法的处理过程示意图;

图2为本说明书一种目标模型的示意图;

图3为本说明书另一种目标模型的示意图;

图4为本说明书又一种数据处理方法的处理过程示意图;

图5为本说明书又一种数据处理方法的处理过程示意图;

图6为本说明书一种数据处理装置实施例的结构示意图;

图7为本说明书一种数据处理设备的结构示意图。

具体实施方式

本说明书实施例提供一种数据处理方法、装置及设备。

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

实施例一

如图1A和图1B所示,本说明书实施例提供一种数据处理方法,该方法的执行主体可以为服务器,其中,该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群。该方法具体可以包括以下步骤:

在S102中,获取用于训练目标模型的数据样本。

其中,数据样本可以包括用户在人机交互过程中的输入数据,如数据样本可以是在预设获取周期内,获取的与预设业务和/或预设用户对应的数据,预设数据获取周期可以为近一周、近半个月、每天的预设时段等,具体如,数据样本可以是在每天的10点-14点获取的用户触发执行资源转移业务产生的行为数据,或者,目标数据还可以是近一天获取的预设用户在人机交互过程中输入的多个行为数据,又或者,目标数据还可以近一周获取的预设用户触发执行资源转移业务输入的多个行为数据,数据样本可以包括用户输入的文本数据、语音数据、图片数据和视频数据等数据中的一个或多个,目标模型可以是由任意深度学习算法构建的用于对数据进行检测的模型,例如,目标模型可以是由神经网络算法构建的用于对数据进行分类处理的模型,即可以通过目标模型输出的分类结果对目标数据进行风险检测等处理。

在实施中,随着计算机技术的快速发展,企业为用户提供的应用服务的种类和数量也越来越多,随之而来的用户数据的数据量日益增加,数据结构也日趋复杂,可以通过训练得到的模型对数据进行检测。例如,在对数据进行风险检测时,可以根据训练数据和对应的风险标签,对风险检测模型进行训练,在根据训练完成的风险检测模型,对待检测的数据进行风险检测。但是,由于训练数据的风险标签的确定复杂度较高,这就会导致可以用于训练模型的训练数据的数据量小,以致训练得到的模型的检测准确性差,因此,需要一种能够提高模型的检测准确性的解决方案。为此,本说明书实施例提供一种可以解决上述问题的技术方案,具体可以参见下述内容。

在实施中,以数据样本为预设获取周期内获取的与预设业务对应的数据为例,可以获取近半个月内触发执行预设业务对应的行为数据,即终端设备可以获取用户触发执行预设业务对应的操作数据(如单击操作、输入操作等)。

服务器可以接收多个终端设备发送的多个操作数据,并将接收到的操作数据确定为数据样本。或者,服务器还可以存储接收到的操作数据,在到达模型训练周期时,可以基于存储的操作数据,确定用于训练目标模型的数据样本,如可以随机抽取存储的操作数据作为数据样本,或基于操作数据的存储时间,从操作数据中选取预定数量的操作数据作为数据样本等。

此外,服务器中还可以存储有多个不同类型的数据,服务器可以基于目标模型不同,从存储的数据中选取对应的数据作为数据样本,例如,若目标模型为针对资源转移业务进行风险检测的模型,则服务器可以从存储的数据中选取资源转移业务对应的数据作为数据样本。

上述数据样本的获取方法是一种可选地、可实现的获取方法,在实际应用场景中,还可以有多种不同的获取方法,可以根据实际应用场景的不同选取不同的获取方法,本说明书实施例对此不作具体限定。

在S104中,将数据样本输入目标模型的第一模块,得到数据样本对应的第一分类标签以及数据样本对应的第一表征向量;基于第一表征向量和预设类别表征向量的相似度,确定数据样本对应的第二分类标签,并基于第二分类标签、第一分类标签和预设分类损失函数,得到第一损失值。

其中,第一模块可以用于对数据样本进行分类处理,以得到数据样本对应的第一分类标签,同时,第一模块还可以用于对数据样本进行表征提取处理,以得到数据样本对应的第一表征向量。

在实施中,如图2所示,可以将数据样本输入目标模型,经过第一模块的分类处理和表征提取处理,可以得到数据样本对应的第一分类标签以及数据样本对应的第一表征向量。

此外,可以针对目标模型的应用场景,预设多个类别,并针对每个类别预设对应的表征向量(即预设类别表征向量),例如,假设目标模型的应用场景为风险检测场景,针对风险检测场景可以预设三个类别,如高风险类、中风险类和无风险类,可以针对每个类别设置对应的表征向量。

上述预设类别表征向量的确定方法是一种可选地、可实现的确定方法,在实际应用场景中,还可以有多种不同的确定方法,例如,还可以获取每个类别对应的历史数据,并基于该历史数据对应的表征向量,确定每个类型对应的类别表征向量等,可以根据实际应用场景的不同,选取不同的确定方法,本说明书实施例对此不作具体限定。

可以基于第一表征向量和每个预设类别表征向量的相似度,确定数据样本对应的第二分类标签,例如,可以将相似度最高的预设类别表征向量对应的类别确定为数据样本对应的第二分类标签,具体如,假设第一表征向量与高风险类的类别表征向量的相似度为0.8、第一表征向量与中风险类的类别表征向量的相似度为0.2,第一表征向量与,无风险类的类别表征向量的相似度为0.1,则可以确定数据样本对应的第二分类标签可以为高风险类。

最后,可以基于第二分类标签、第一分类标签和预设分类损失函数,得到第一损失值,其中,预设分类损失函数可以为任意能够控制第二分类标签与第一分类标签之间的相似度的函数,即可以通过预设分类损失函数控制第一分类标签和第二分类标签的相似度小于预设第一相似度阈值,以提高第一模块的分类准确性。

在S106中,将数据样本输入目标模型的第二模块,得到数据样本对应的第二表征向量,并基于第一表征向量、第二表征向量和预设对比损失函数,得到第二损失值。

其中,第二模块可以无梯度反向传播,第二模块也可以对数据样本进行表征提取处理,第二模块的表征提取算法与第一模块的表征提取算法可以相同,且由于第二模型无梯度反向传播,因此,第二模块的表征提取算法的参数可以通过指数移动平均值(Exponential Moving Average,EMA)复制第一模块的表征提取算法的参数。

在实施中,如图2所示,第二模块可以对数据样本进行表征提取处理,得到数据样本对应的第二表征向量。

然后,服务器可以基于第一表征向量、第二表征向量和预设对比损失函数,得到第二损失值。其中,预设对比损失函数可以为任意能够控制第一表征向量与第二表征向量之间的相似度的函数,即可以通过预设对比损失函数控制第一表征向量与第二表征向量的相似度小于预设第二相似度阈值,以提高第一模块和第二模块的表征提取准确性。

在S108中,基于第一损失值和第二损失值,对目标模型进行迭代训练,得到训练后的目标模型。

在实施中,可以基于第一损失值和第二损失值,确定目标损失值(如可以将第一损失值和第二损失值的和值确定为目标损失值),在通过目标损失值,对目标模型进行迭代训练,得到训练后的目标模型。

其中,训练后的目标模型可以用于对数据进行检测处理,如训练后的目标模型可以针对数据样本对应的场景类型,对该场景类型的数据进行对应的检测处理,例如,数据样本对应的场景类型可以是资源转移场景,则训练后的目标模型可以用于对资源转移场景的数据进行风险检测处理等。

本说明书实施例提供一种数据处理方法,获取用于训练目标模型的数据样本,数据样本包括用户在人机交互过程中的输入数据,将数据样本输入目标模型的第一模块,得到数据样本对应的第一分类标签以及数据样本对应的第一表征向量,基于第一表征向量和预设类别表征向量的相似度,确定数据样本对应的第二分类标签,并基于第二分类标签、第一分类标签和预设分类损失函数,得到第一损失值,将数据样本输入目标模型的第二模块,得到数据样本对应的第二表征向量,并基于第一表征向量、第二表征向量和预设对比损失函数,得到第二损失值,第二模块无梯度反向传播,基于第一损失值和第二损失值,对目标模型进行迭代训练,得到训练后的目标模型。这样,一方面,用于训练目标模型的数据样本可以未标注样本,即数据样本可以是灰样本,因此,可以避免由于标注样本的数据量较小导致的模型训练效果较差的问题,另一方面,可以通过第二分类标签优化表征空间的聚集性,另外,通过第一表征向量、第二表征向量和预设对比损失函数,可以使得相同类别的数据样本更聚集,不同类别的数据样本之间更分散,也可以实现优化表征空间的聚集性,所以,在对目标模型进行训练时,可以在使用未标注的数据样本的同时,让模型学习到更优的表征空间,即在对目标模型进行训练时,兼顾了有效利用灰样本以及优化模型表征空间聚集性,提高了训练后的目标模型的检测准确性。

实施例二

本说明书实施例提供一种数据处理方法,该方法的执行主体可以为服务器,其中,服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群。该方法具体可以包括以下步骤:

在S102中,获取用于训练目标模型的数据样本。

其中,数据样本可以包括用户在人机交互过程中的输入数据。

在S104中,将数据样本输入目标模型的第一模块,得到数据样本对应的第一分类标签以及数据样本对应的第一表征向量。

其中,如图3所示,第一模块可以包括第一数据增强子模块、编码器(Encoder)、分类器(Classifier)和第一表征提取子模块,第一数据增强子模块用于对目标数据进行数据增强处理,编码器可以用于对增强处理后的数据样本进行编码处理,分类器可以用于对第一编码结果进行分类处理,第一表征提取子模块可以用于对第一编码结果进行表征提取处理。

第二模块可以包括第二数据增强子模块、动量编码器和第二表征提取子模块,第二数据增强子模块可以用于对目标数据进行数据增强处理,动量编码器可以用于对增强处理后的数据样本进行编码处理,第二表征提取子模块可以用于对第二编码结果进行表征提取处理,动量编码器的结构与编码器的结构可以相同,动量编码器的参数可以与编码器的参数相同。

由于第二模块无梯度反向传播,因此,第二模块的动量编码器的参数可以通过EMA复制第一模块的编码器的参数,同样的,第二模块的第二表征提取子模块与第一模块的第一表征提取子模块的结构和参数也可以相同,即第二模块的第二表征提取子模块也可以通过EMA复制第一模块的第一表征提取子模块。

此外,数据样本可以包括未标注的样本,或标注不准确的样本(即灰样本),为保证模型训练的准确性,第一模块中的分类器可以为基于历史数据对预设分类算法构建的模型进行训练得到,且用于训练分类器的历史数据的数量大于预设数量阈值。

在数据样本中包括未标注的样本、标注不准确的样本和已标注的样本的情况下,为保证模型训练的准确性,已标注的数据样本在数据样本中的占比可以大于预设占比。

在S402中,基于第一表征向量和预设类别表征向量,确定第一表征向量与每个预设类别表征向量之间的相似度。

在S404中,基于初始分类标签和相似度,确定数据样本对应的第二分类标签。

在S406中,对数据样本进行采样,得到采样数据。

在实施中,以通过min-batch迭代训练方式对目标模型进行迭代训练为例,可以将采样得到的mini-batch数据作为采样数据。

在S408中,基于采样数据对应的第一分类标签、第二分类标签和采样数据的数量,确定第一损失值。

在实施中,可以针对采样数据,确定对应的第二分类标签,如可以将采样数据对应的第一表征向量和预设类别表征向量,代入公式

得到第一表征向量与每个预设类别表征向量之间的相似度,其中,z

然后可以将第一表征向量与每个预设类别表征向量之间的相似度和初始分类标签,代入公式

s

得到第二分类标签,其中,s

可以将采样数据对应的第一分类标签、第二分类标签和采样数据的数量,代入公式,

得到第一损失值,其中,L

此外,在第一分类标签与预设类别相同的情况下,还可以对预设类别表征向量进行更新处理,如可以将预设类别表征向量、第一表征向量输入公式,

μ

得到更新后的预设类别表征向量,其中,μ

在S106中,将数据样本输入目标模型的第二模块,得到数据样本对应的第二表征向量。

在S410中,获取动量编码器输出的历史表征向量,并基于历史表征向量、第一表征向量和第二表征向量构建表征记忆库。

在实施中,动量编码器可以输出与当前数据样本对应的第二表征向量,以及与历史数据对应的历史表征向量,可以将历史表征向量、第一表征向量和第二表征向量的合集确定为表征记忆库。

在S412中,获取表征记忆库中与第一表征向量对应的正向表征向量。

在实施中,由于第二表征向量与第一表征向量的数据源相同(即第一表征向量和第二表征向量都是对相同的数据样本进行数据增强处理、编码处理和表征提取处理得到),因此,可以将第二表征向量确定为与第一表征向量对应的正向表征向量。

另外,以下再提供一种可选的实现方式,具体可以参见下述步骤一~步骤二处理:

步骤一,获取数据样本对应的分类标签,并基于数据样本对应的分类标签,确定表征记忆库中表征向量对应的标签。

其中,数据样本可以包含未标注的样本,或标注不准确的样本(即灰样本)和已标注的样本等,针对未标注或标注不准确的数据样本,该数据样本对应的分类标签可以是第一分类标签,针对已标注的数据样本,该数据样本对应的分类标签可以是该数据样本的已标注的标签或该数据样本对应的第一分类标签。

步骤二,将表征记忆库中表征向量对应的标签中与第一分类标签相同的标签对应的表征向量确定为正向表征向量。

在实施中,第一分类标签可以是第一表征提取子模块输出的多个预测类别中,预测概率最大的类别对应的标签,因此,可以将表征记忆库中表征向量对应的标签中与第一分类标签相同的标签对应的表征向量确定为正向表征向量。

在S414中,基于表征记忆库中的表征向量、正向表征向量、第一表征向量和预设对比损失函数,得到第二损失值。

在实施中,可以将表征记忆库中的表征向量、正向表征向量、第一表征向量代入公式,

得到第二损失值,其中,L

其中,

在S108中,基于第一损失值和第二损失值,对目标模型进行迭代训练,得到训练后的目标模型。

在S416中,获取待检测的目标数据。

其中,目标数据对应的场景是和数据样本对应的场景可以相同,例如,若数据样本对应的场景为资源转移场景,那么,目标数据对应的场景也可以是资源转移场景,另外,目标数据的数据结构和数据样本的数据结构也可以相同,例如,若数据样本包括文本数据和图片数据,那么目标数据也可以包括文本数据和/或图片数据。

在实施中,以数据样本对应的场景为资源转移场景为例,终端设备可以在检测到用户触发资源转移业务的执行指令的情况下,获取执行资源转移业务对应的数据(如资源转移时间、资源转移数量等),并将获取到的数据确定为目标数据发送给服务器。

在获取到目标数据后,可以根据目标数据对应的应用场景,选取不同的检测方法对目标数据进行检测处理,例如,在目标数据对应的应用场景为检索场景、分类场景等场景的情况下,如图4所示,可以通过训练后的目标模型,确定目标数据的分类结果,或者,在目标数据对应的应用场景为资源转移场景等风险检测场景的情况下,如图5所示,可以通过训练后的目标模型的第一模块对目标数据进行处理,得到目标数据对应的目标表征向量再基于预先训练的风险检测模型,确定目标数据的风险检测结果。

在S418中,将目标数据输入到训练后的目标模型中,得到目标数据对应的分类标签,并基于目标数据对应的分类标签,确定目标数据的分类结果。

在实施中,可以将目标数据输入到训练后的目标模型中,以通过训练后的目标模型的第一模块中的分类器,得到目标数据对应的分类标签,并基于目标数据对应的分类标签,确定目标数据的分类结果。

目标数据的分类结果可以用于进行数据检索等处理。

在S420中,将目标数据输入到训练后的目标模型中,以通过训练后的目标模型的第一模块对目标数据进行处理,得到目标数据对应的目标表征向量。

在S422中,将目标表征向量输入到预先训练的风险检测模型中,得到目标数据的风险检测结果。

其中,风险检测模型为基于预设深度学习算法构建的模型。

在实施中,以目标数据为资源转移数据为例,可以基于训练后的目标模型的第一模块,得到目标数据对应的目标表征向量,然后可以基于风险检测模型,确定目标表征向量对应的风险检测结果,其中,风险检测模型可以是预先由大量数量训练得到的效果较好的模型。

由于恶意第三方窃取用户隐私信息等恶意事件具备批量性和对抗转移性,所以,风险检测业务需要及时的进行防控,以实现批量止血。相比于通常的分类模型直接对数据确定黑或白标签进行风险防控的方式,通过在模型表征空间进行向量召回可以做到更及时、灵活、信息度高、可解释性更强的风险防控。即可以通过当前已知的有限的数据去及时召回出隐藏的相似数据,然后对召回的数据进行分析、风险防控、及时止血等操作。所以,不同于二分类模型的学习目标,可以需要学习到更好的表征空间,让业务形态相似的数据在表征空间中具有聚集性。

另外,风险检测的样本数据中黑标签对应的样本数据往往是真实黑样本数据的一小部分,只使用这部分样本数据对模型进行训练会伴随数据样本的数据量较小的问题,导致训练的模型泛化性、鲁棒性差。风险检测通常也存在大量的灰样本是标签不确定的,而灰样本中也可能存在黑样本,如果在做表征学习时能有效利用这部分灰样本,可以使得模型表征空间更好。

而本申请在确定第二分类标签时,是使用表征之间做内积计算相似度(即第一表征向量和预设类别表征向量的相似度),因此可以在更注重于优化表征空间聚集性的同时,有效利用灰样本提升模型效果,且对比损失函数也是基于表征之间做内积计算距离(即基于第一表征向量和正向表征向量以及表征记忆库中的标注向量确定第二损失值),让类内更聚集,类间更分散,也是为了更注重优化表征空间聚集性,即可以在使用带标签噪声的灰样本的同时,让模型学习到更优的表征空间,应用于下游的表征消费,如向量检索等,兼顾了有效利用灰样本及优化模型表征空间聚集性。

本说明书实施例提供一种数据处理方法,获取用于训练目标模型的数据样本,数据样本包括用户在人机交互过程中的输入数据,将数据样本输入目标模型的第一模块,得到数据样本对应的第一分类标签以及数据样本对应的第一表征向量,基于第一表征向量和预设类别表征向量的相似度,确定数据样本对应的第二分类标签,并基于第二分类标签、第一分类标签和预设分类损失函数,得到第一损失值,将数据样本输入目标模型的第二模块,得到数据样本对应的第二表征向量,并基于第一表征向量、第二表征向量和预设对比损失函数,得到第二损失值,第二模块无梯度反向传播,基于第一损失值和第二损失值,对目标模型进行迭代训练,得到训练后的目标模型。这样,一方面,用于训练目标模型的数据样本可以未标注样本,即数据样本可以是灰样本,因此,可以避免由于标注样本的数据量较小导致的模型训练效果较差的问题,另一方面,可以通过第二分类标签优化表征空间的聚集性,另外,通过第一表征向量、第二表征向量和预设对比损失函数,可以使得相同类别的数据样本更聚集,不同类别的数据样本之间更分散,也可以实现优化表征空间的聚集性,所以,在对目标模型进行训练时,可以在使用未标注的数据样本的同时,让模型学习到更优的表征空间,即在对目标模型进行训练时,兼顾了有效利用灰样本以及优化模型表征空间聚集性,提高了训练后的目标模型的检测准确性。

实施例三

以上为本说明书实施例提供的数据处理方法,基于同样的思路,本说明书实施例还提供一种数据处理装置,如图6所示。

该数据处理装置包括:样本获取模块601、第一确定模块602、第二确定模块603和训练模块604,其中:

样本获取模块601,用于获取用于训练目标模型的数据样本,所述数据样本包括用户在人机交互过程中的输入数据;

第一确定模块602,用于将所述数据样本输入所述目标模型的第一模块,得到所述数据样本对应的第一分类标签以及所述数据样本对应的第一表征向量;基于所述第一表征向量和预设类别表征向量的相似度,确定所述数据样本对应的第二分类标签,并基于所述第二分类标签、所述第一分类标签和预设分类损失函数,得到第一损失值;

第二确定模块603,用于将所述数据样本输入所述目标模型的第二模块,得到所述数据样本对应的第二表征向量,并基于所述第一表征向量、所述第二表征向量和预设对比损失函数,得到第二损失值,所述第二模块无梯度反向传播;

训练模块604,用于基于所述第一损失值和所述第二损失值,对所述目标模型进行迭代训练,得到训练后的目标模型。

本说明书实施例中,所述第一模块包括第一数据增强子模块、编码器、分类器和第一表征提取子模块,所述第一数据增强子模块用于对所述目标数据进行数据增强处理,所述编码器用于对增强处理后的数据样本进行编码处理,所述分类器用于对所述第一编码结果进行分类处理,所述第一表征提取子模块用于对所述第一编码结果进行表征提取处理;

所述第二模块包括第二数据增强子模块、动量编码器和第二表征提取子模块,所述第二数据增强子模块用于对所述目标数据进行数据增强处理,所述动量编码器用于对增强处理后的数据样本进行编码处理,所述第二表征提取子模块用于对所述第二编码结果进行表征提取处理,所述动量编码器的结构与所述编码器的结构相同,所述动量编码器的参数与所述编码器的参数相同。

本说明书实施例中,所述装置还包括:

第一获取模块,用于获取待检测的目标数据;

分类模块,用于将所述目标数据输入到所述训练后的目标模型中,得到所述目标数据对应的分类标签,并基于所述目标数据对应的分类标签,确定所述目标数据的分类结果。

本说明书实施例中,所述装置还包括:

第二获取模块,用于获取待检测的目标数据;

向量获取模块,用于将所述目标数据输入到所述训练后的目标模型中,以通过所述训练后的目标模型的第一模块对所述目标数据进行处理,得到所述目标数据对应的目标表征向量;

结果获取模块,用于将所述目标表征向量输入到预先训练的风险检测模型中,得到所述目标数据的风险检测结果,所述风险检测模型为基于预设深度学习算法构建的模型。

本说明书实施例中,所述第一确定模块602,用于:

基于所述第一表征向量和预设类别表征向量,确定所述第一表征向量与每个所述预设类别表征向量之间的相似度;

基于初始分类标签和所述相似度,确定所述数据样本对应的第二分类标签。

本说明书实施例中,所述第二确定模块603,用于:

获取所述动量编码器输出的历史表征向量,并基于所述历史表征向量、所述第一表征向量和所述第二表征向量构建表征记忆库;

获取所述表征记忆库中与所述第一表征向量对应的正向表征向量;

基于所述表征记忆库中的表征向量、所述正向表征向量、所述第一表征向量和所述预设对比损失函数,得到所述第二损失值。

本说明书实施例中,所述第二确定模块603,用于:

获取所述数据样本对应的分类标签,并基于所述数据样本对应的分类标签,确定所述表征记忆库中表征向量对应的标签;

将所述表征记忆库中表征向量对应的标签中与所述第一分类标签相同的标签对应的表征向量确定为所述正向表征向量。

本说明书实施例中,所述预设分类损失函数为交叉熵损失函数,所述第一确定模块602,用于:

对所述数据样本进行采样,得到采样数据;

基于所述采样数据对应的第一分类标签、所述第二分类标签和所述采样数据的数量,确定所述第一损失值。

本说明书实施例提供一种数据处理装置,获取用于训练目标模型的数据样本,数据样本包括用户在人机交互过程中的输入数据,将数据样本输入目标模型的第一模块,得到数据样本对应的第一分类标签以及数据样本对应的第一表征向量,基于第一表征向量和预设类别表征向量的相似度,确定数据样本对应的第二分类标签,并基于第二分类标签、第一分类标签和预设分类损失函数,得到第一损失值,将数据样本输入目标模型的第二模块,得到数据样本对应的第二表征向量,并基于第一表征向量、第二表征向量和预设对比损失函数,得到第二损失值,第二模块无梯度反向传播,基于第一损失值和第二损失值,对目标模型进行迭代训练,得到训练后的目标模型。这样,一方面,用于训练目标模型的数据样本可以未标注样本,即数据样本可以是灰样本,因此,可以避免由于标注样本的数据量较小导致的模型训练效果较差的问题,另一方面,可以通过第二分类标签优化表征空间的聚集性,另外,通过第一表征向量、第二表征向量和预设对比损失函数,可以使得相同类别的数据样本更聚集,不同类别的数据样本之间更分散,也可以实现优化表征空间的聚集性,所以,在对目标模型进行训练时,可以在使用未标注的数据样本的同时,让模型学习到更优的表征空间,即在对目标模型进行训练时,兼顾了有效利用灰样本以及优化模型表征空间聚集性,提高了训练后的目标模型的检测准确性。

实施例四

基于同样的思路,本说明书实施例还提供一种数据处理设备,如图7所示。

数据处理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器701和存储器702,存储器702中可以存储有一个或一个以上存储应用程序或数据。其中,存储器702可以是短暂存储或持久存储。存储在存储器702的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对数据处理设备中的一系列计算机可执行指令。更进一步地,处理器701可以设置为与存储器702通信,在数据处理设备上执行存储器702中的一系列计算机可执行指令。数据处理设备还可以包括一个或一个以上电源703,一个或一个以上有线或无线网络接口704,一个或一个以上输入输出接口705,一个或一个以上键盘706。

具体在本实施例中,数据处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对数据处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:

获取用于训练目标模型的数据样本,所述数据样本包括用户在人机交互过程中的输入数据;

将所述数据样本输入所述目标模型的第一模块,得到所述数据样本对应的第一分类标签以及所述数据样本对应的第一表征向量;基于所述第一表征向量和预设类别表征向量的相似度,确定所述数据样本对应的第二分类标签,并基于所述第二分类标签、所述第一分类标签和预设分类损失函数,得到第一损失值;

将所述数据样本输入所述目标模型的第二模块,得到所述数据样本对应的第二表征向量,并基于所述第一表征向量、所述第二表征向量和预设对比损失函数,得到第二损失值,所述第二模块无梯度反向传播;

基于所述第一损失值和所述第二损失值,对所述目标模型进行迭代训练,得到训练后的目标模型。

可选地,所述第一模块包括第一数据增强子模块、编码器、分类器和第一表征提取子模块,所述第一数据增强子模块用于对所述目标数据进行数据增强处理,所述编码器用于对增强处理后的数据样本进行编码处理,所述分类器用于对所述第一编码结果进行分类处理,所述第一表征提取子模块用于对所述第一编码结果进行表征提取处理;

所述第二模块包括第二数据增强子模块、动量编码器和第二表征提取子模块,所述第二数据增强子模块用于对所述目标数据进行数据增强处理,所述动量编码器用于对增强处理后的数据样本进行编码处理,所述第二表征提取子模块用于对所述第二编码结果进行表征提取处理,所述动量编码器的结构与所述编码器的结构相同,所述动量编码器的参数与所述编码器的参数相同。

可选地,所述方法还包括:

获取待检测的目标数据;

将所述目标数据输入到所述训练后的目标模型中,得到所述目标数据对应的分类标签,并基于所述目标数据对应的分类标签,确定所述目标数据的分类结果。

可选地,所述方法还包括:

获取待检测的目标数据;

将所述目标数据输入到所述训练后的目标模型中,以通过所述训练后的目标模型的第一模块对所述目标数据进行处理,得到所述目标数据对应的目标表征向量;

将所述目标表征向量输入到预先训练的风险检测模型中,得到所述目标数据的风险检测结果,所述风险检测模型为基于预设深度学习算法构建的模型。

可选地,所述基于所述第一表征向量和预设类别表征向量的相似度,确定所述数据样本对应的第二分类标签,包括:

基于所述第一表征向量和预设类别表征向量,确定所述第一表征向量与每个所述预设类别表征向量之间的相似度;

基于初始分类标签和所述相似度,确定所述数据样本对应的第二分类标签。

可选地,所述基于所述第一表征向量、所述第二表征向量和预设对比损失函数,得到第二损失值,包括:

获取所述动量编码器输出的历史表征向量,并基于所述历史表征向量、所述第一表征向量和所述第二表征向量构建表征记忆库;

获取所述表征记忆库中与所述第一表征向量对应的正向表征向量;

基于所述表征记忆库中的表征向量、所述正向表征向量、所述第一表征向量和所述预设对比损失函数,得到所述第二损失值。

可选地,所述获取所述表征记忆库中与所述第一表征向量对应的正向表征向量,包括:

获取所述数据样本对应的分类标签,并基于所述数据样本对应的分类标签,确定所述表征记忆库中表征向量对应的标签;

将所述表征记忆库中表征向量对应的标签中与所述第一分类标签相同的标签对应的表征向量确定为所述正向表征向量。

可选地,所述预设分类损失函数为交叉熵损失函数,所述基于所述第二分类标签、所述第一分类标签和预设分类损失函数,得到第一损失值,包括:

对所述数据样本进行采样,得到采样数据;

基于所述采样数据对应的第一分类标签、所述第二分类标签和所述采样数据的数量,确定所述第一损失值。

本说明书实施例提供一种数据处理设备,获取用于训练目标模型的数据样本,数据样本包括用户在人机交互过程中的输入数据,将数据样本输入目标模型的第一模块,得到数据样本对应的第一分类标签以及数据样本对应的第一表征向量,基于第一表征向量和预设类别表征向量的相似度,确定数据样本对应的第二分类标签,并基于第二分类标签、第一分类标签和预设分类损失函数,得到第一损失值,将数据样本输入目标模型的第二模块,得到数据样本对应的第二表征向量,并基于第一表征向量、第二表征向量和预设对比损失函数,得到第二损失值,第二模块无梯度反向传播,基于第一损失值和第二损失值,对目标模型进行迭代训练,得到训练后的目标模型。这样,一方面,用于训练目标模型的数据样本可以未标注样本,即数据样本可以是灰样本,因此,可以避免由于标注样本的数据量较小导致的模型训练效果较差的问题,另一方面,可以通过第二分类标签优化表征空间的聚集性,另外,通过第一表征向量、第二表征向量和预设对比损失函数,可以使得相同类别的数据样本更聚集,不同类别的数据样本之间更分散,也可以实现优化表征空间的聚集性,所以,在对目标模型进行训练时,可以在使用未标注的数据样本的同时,让模型学习到更优的表征空间,即在对目标模型进行训练时,兼顾了有效利用灰样本以及优化模型表征空间聚集性,提高了训练后的目标模型的检测准确性。

实施例五

本说明书实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。

本说明书实施例提供一种计算机可读存储介质,获取用于训练目标模型的数据样本,数据样本包括用户在人机交互过程中的输入数据,将数据样本输入目标模型的第一模块,得到数据样本对应的第一分类标签以及数据样本对应的第一表征向量,基于第一表征向量和预设类别表征向量的相似度,确定数据样本对应的第二分类标签,并基于第二分类标签、第一分类标签和预设分类损失函数,得到第一损失值,将数据样本输入目标模型的第二模块,得到数据样本对应的第二表征向量,并基于第一表征向量、第二表征向量和预设对比损失函数,得到第二损失值,第二模块无梯度反向传播,基于第一损失值和第二损失值,对目标模型进行迭代训练,得到训练后的目标模型。这样,一方面,用于训练目标模型的数据样本可以未标注样本,即数据样本可以是灰样本,因此,可以避免由于标注样本的数据量较小导致的模型训练效果较差的问题,另一方面,可以通过第二分类标签优化表征空间的聚集性,另外,通过第一表征向量、第二表征向量和预设对比损失函数,可以使得相同类别的数据样本更聚集,不同类别的数据样本之间更分散,也可以实现优化表征空间的聚集性,所以,在对目标模型进行训练时,可以在使用未标注的数据样本的同时,让模型学习到更优的表征空间,即在对目标模型进行训练时,兼顾了有效利用灰样本以及优化模型表征空间聚集性,提高了训练后的目标模型的检测准确性。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本说明书的实施例是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

技术分类

06120116333336