数据处理方法、装置、设备及可读存储介质
技术领域
本说明书实施例涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、设备及可读存储介质。
背景技术
随着信息技术的发展,通过数据挖掘从海量数据中找出有意义的模式或规则,为信息管理、查询优化、商业决策和过程控制等提供辅助支持,成为利用数据的重要方式。聚类分析是数据挖掘的重要手段之一,是按数据的内在相似性将数据集划分为多个类别,使类别内的数据相似度较大而不同类别间的数据相似度较小,以便于后续可以根据数据类别对数据进行进一步分析。因此,为了提高数据挖掘质量和效率,需要提供聚类效率高且效果较好的方案。
发明内容
本说明书实施例提供了一种数据处理方法、装置、设备及可读存储介质。
第一方面,本说明书实施例提供了一种数据处理方法,包括:获取训练样本,所述训练样本包括多个目标对象的特征数据;基于所述训练样本以及预先设置的第一类损失函数和第二类损失函数,对预设的神经网络模型进行训练,得到聚类模型。其中,所述神经网络模型的输出对应于两个以上类簇,所述聚类模型用于输出所述目标对象属于每个所述类簇的概率,所述第一类损失函数用于使每个所述目标对象对应的概率分布分别集中在所述两个以上类簇中任意一个类簇上,所述第二类损失函数用于使所述多个目标对象在所述两个以上类簇中的分布满足预设条件。
第二方面,本说明书实施例提供了一种数据处理方法,包括:获取训练样本,所述训练样本包括多个目标用户的特征数据;基于所述训练样本以及预先设置的第一类损失函数和第二类损失函数,对预设的神经网络模型进行训练,得到聚类模型。其中,所述神经网络模型的输出对应于两个以上类簇,所述聚类模型用于输出所述目标用户属于每个所述类簇的概率,所述第一类损失函数用于使每个所述目标用户对应的概率分布分别集中在所述两个以上类簇中任意一个类簇上,所述第二类损失函数用于使所述多个目标用户在所述两个以上类簇中的分布满足预设条件。
第三方面,本说明书实施例提供了一种数据处理装置,包括:对象样本获取模块,用于获取训练样本,所述训练样本包括多个目标对象的特征数据;模型训练模块,用于基于所述训练样本以及预先设置的第一类损失函数和第二类损失函数,对预设的神经网络模型进行训练,得到聚类模型。其中,所述神经网络模型的输出对应于两个以上类簇,所述聚类模型用于输出所述目标对象属于每个所述类簇的概率,所述第一类损失函数用于使每个所述目标对象对应的概率分布分别集中在所述两个以上类簇中任意一个类簇上,所述第二类损失函数用于使所述多个目标对象在所述两个以上类簇中的分布满足预设条件。
第四方面,本说明书实施例提供了一种数据处理装置,包括:用户样本获取模块,用于获取训练样本,所述训练样本包括多个目标用户的特征数据;模型训练模块,基于所述训练样本以及预先设置的第一类损失函数和第二类损失函数,对预设的神经网络模型进行训练,得到聚类模型。其中,所述神经网络模型的输出对应于两个以上类簇,所述聚类模型用于输出所述目标用户属于每个所述类簇的概率,所述第一类损失函数用于使每个所述目标用户对应的概率分布分别集中在所述两个以上类簇中任意一个类簇上,所述第二类损失函数用于使所述多个目标用户在所述两个以上类簇中的分布满足预设条件。
第五方面,本说明书实施例提供了一种计算机设备,包括:存储器、一个或多个处理器;及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面提供的数据处理方法的步骤。
第六方面,本说明书实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面提供的数据处理方法的步骤。
本说明书实施例有益效果如下:
本说明书实施例提供的数据处理方法,采用端到端的神经网络来解决数据聚类问题,设置了两类损失函数,第一类损失函数用于使每个目标对象的概率分布分别集中在模型输出所对应的两个以上类簇中任意一个类簇上,第二类损失函数用于使多个样本对象在上述两个以上类簇中的分布满足预设条件,通过上述两种损失函数来控制对多个目标对象进行聚类的优化过程,从而使得聚类模型的输出直接对应目标对象的聚类结果,避免直接定义距离函数,有利于提高对目标对象的聚类效率且得到较好的聚类效果。
附图说明
图1为本说明书实施例的一种应用场景示意图;
图2为本说明书实施例第一方面提供的数据处理方法的流程图;
图3为本说明书实施例第一方面提供的特征用户筛选步骤的步骤流程图;
图4为本说明书实施例第二方面提供的数据处理装置的结构示意图;
图5为本说明书实施例第三方面提供的数据处理装置的结构示意图;
图6为本说明书实施例第四方面提供的计算机设备的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。需要说明的是,本说明书实施例中,术语“两种以上”包括两种或大于两种的情况;术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
图1为适用于本说明书实施例提供的数据处理方法的一种运行环境示意图。如图1所示,一个或多个用户终端100(图1中仅示出一个)可通过网络200与一个或多个服务器300(图1中仅示出一个)相连,以进行数据通信或交互。其中,用户终端100可以是个人电脑(Personal Computer,PC)、笔记本电脑、平板电脑、智能手机、电子阅读器、车载设备、网络电视、可穿戴设备等具有网络功能的智能设备。
本说明书实施例提供的数据处理方法可以在用户终端中执行,也可以在服务器端执行,在本说明书较优的实施例中,该数据处理方法在服务器端执行。
需要说明的是,本说明书实施例中,目标对象可以互联网的海量数据中,需要进行聚类分析的数据。例如,目标对象可以是用户,如可以针对目标应用程序的用户进行聚类分析,以便用户进行管理或信息推荐等。又例如,目标对象也可以是问题,如在智能客服场景中,可以聚类出相似的问题,然后针对相似的问题统一拟定答案,不需要针对每个问题单独拟定答案。又例如,目标对象也可以是图像,如在图像搜索场景中,可以先对图像进行聚类分析,以便于用户能够通过图像来搜索与该图像相似的图像。
目标对象的特征数据可以包括能够反映目标对象的关键属性的数据,例如,当目标对象为用户时,用户的特征数据可以包括用户的画像特征和/或用户的周围环境特征;当目标对象为问题时,问题的特征数据可以包括对问题进行分词处理后得到的关键词对应的词向量;当目标对象为图像时,图像的特征数据可以包括图像中的特征点集合。
为了便于描述,以下主要以目标对象为目标用户为例来介绍本方法实施例。
第一方面,本说明书实施例提供了一种数据处理方法,如图2所示,该方法至少包括以下步骤S201和步骤S202。
步骤S201,获取训练样本,所述训练样本包括多个目标对象的特征数据。
以目标对象为目标用户为例,目标用户可以是在社交平台、电商平台或支付平台上注册的用户。此时,目标用户的特征数据可以包括能够反映用户属性的数据,例如,用户的年龄、性别、所在城市以及用户行为信息等,具体可以根据实际业务需要设置。例如,用户行为信息可以包括客户端打开次数、停留时长等信息。
作为一种可选的实施方式,目标用户的特征数据可以包括用户的画像特征信息和/或用户所在的环境特征信息,用户的画像特征和环境特征具体可以根据需要设置。举例来讲,对于支付平台客户端的注册用户,用户的画像特征信息可以包括但不限于用户年龄、性别等基础信息以及客户端打开次数、消费次数等行为特征;用户所在的环境特征信息可以包括但不限于用户的位置信息、用户所在位置的人流量、用户所在位置离商圈距离、用户所在位置附近完成的支付笔数等特征。
实际应用中,用户的位置可以通过基于位置的服务(Location Based Service,LBS)定位得到。相应地,人流量可以通过历史上在该位置有过LBS数据的用户统计的,离商圈距离可以根据该位置周围预设范围内预先标记的商圈位置得到,附近完成的支付笔数可以基于历史数据统计得到。当然,环境特征也可以是其他与LBS相关的特征。
步骤S202,基于所述训练样本以及预先设置的第一类损失函数和第二类损失函数,对预设的神经网络模型进行训练,得到聚类模型。
其中,预设的神经网络模型的输出对应于两个以上的类簇。神经网络属于在机器学习和认知科学领域,是一种模仿生物神经网络的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。本说明书实施例中,神经网络模型可以采用深度神经网络(DeepNeural Networks,DNN)模型。当然,在本说明书的其他实施例中,神经网络模型也可以采用卷积神经网络(Convolutional Neural Network,CNN)模型或循环神经网络(RecurrentNeural Network,RNN)模型。
本实施例中,预设的神经网络模型的输出层对应的类簇数量可以根据实际需要设置,例如,当需要将目标用户分为10个类别时,可以将输出层对应的类簇数量设置为10。假设神经网络模型的输出为一个c维向量,则对应于c个类簇,c维向量中每个元素值均表示目标对象属于相应类簇的概率,c为大于或等于2的整数。
具体来讲,损失函数是在机器学习模型训练中,用来估量模型的预测值与真实值的不一致程度的函数。本说明书实施例中,预设的损失函数包括第一类损失函数和第二类损失函数。基于预设的第一类损失函数和第二类损失函数,将训练样本输入神经网络模型进行训练,得到聚类模型。也就是说,当第一类损失函数和第二类损失函数均满足预设的训练条件如第一类损失函数值和第二类损失函数值均满足收敛条件如达到最小值或低于预设阈值时,即完成训练,得到聚类模型。
训练得到的聚类模型用于输出所述目标对象属于每个类簇的概率。第一类损失函数用于使每个目标对象对应的概率分布分别集中在上述两个以上类簇中任意一个类簇上。也就是说,针对每个目标对象,通过第一类损失函数控制该目标对象的概率分布集中在上述两个以上类簇中的其中一个类簇上。第二类损失函数用于使多个目标对象在上述两个以上类簇中的分布满足预设条件。
本说明书实施例中,目标对象的概率分布集中在其中一个类簇上是指目标对象在其中一个类簇上的概率大于在其他类簇上的概率,且在该类簇上的概率与在其他类簇上的概率之间的差值均大于预设值。其中,预设值根据实际需要设置,例如,可以设置为20%、30%或50%等。例如,当预设值为50%时,假设聚类模型的输出对应于5个类簇,某目标对象在第一个类簇上的概率为5%,在第二个类簇上的概率为10%,在第三个类簇上的概率为8%,在第四个类簇上的概率为2%,在第五个类簇上的概率为75%,则认为该目标对象的概率分布集中在第五个类簇上。
本说明书实施例中,预设条件根据实际需要设置,尽量使得作为训练样本的多个目标对象能够分散地分布在上述两个以上类簇上,避免目标对象都集中某些类簇上。在一种实施方式中,多个目标对象在上述两个以上类簇中的分布情况可以用分散度表征。具体来讲,分散度可以用属于每个类簇的目标对象的数量的标准差表征,或者,也可以用属于每个类簇的目标对象数量在目标对象总数量中的占比的标准差表征。例如,当多个目标对象在上述两个以上类簇中的分布情况用分散度表征时,可以预先设置标准差阈值,当分散度小于预设的标准差阈值时,则认为多个目标对象在上述两个以上类簇中的分布情况满足预设条件。
假设神经网络模型的输出被设置为一个c维向量,c为大于或等于2的整数,该c维向量中每个元素值均表示目标对象属于相应类簇的概率。此时,作为一种可选的实施方式,在聚类模型的训练过程中,每次迭代对应的第一类损失函数值是按照以下方式得到的:针对每次输入模型的每个样本,计算模型输出的c维向量与预先设置的特征向量集合中每个特征向量之间的距离,将所计算的距离中的最小值作为该样本对应的最小距离值;将每次输入模型的每个样本对应的最小距离值进行累加,将累加和所述第一类损失函数值。
本说明书实施例中,特征向量集合包括c个c维特征向量,每个特征向量均只有一个元素的值为1,除该元素外,其余元素的值均为0,即每个特征向量均为一个c维的onehot向量。且特征向量集合中的不同特征向量的值为1的元素不同,也就是说,特征向量集合中任意两个特征向量中值为1的元素均不同。例如,这c个c维特征向量是通过以下方式得到的:k依次取1到c之间的整数,构建c个c维向量,将c个c维向量中第k个向量的第k个元素值设置为1,所述第k个向量的其余元素均设置为0,得到第k个特征向量。
作为一种可选的实施方式,在聚类模型的训练过程中,每次迭代对应的第二类损失函数值是按照以下方式得到的:将每次输入模型的b个样本对应输出的b个c维向量与预先设置的特征向量集合中每个特征向量之间的距离,得到一距离矩阵;获取所述距离矩阵的每列中最小的m个距离,将各列中最小的m个距离进行累加得到所述第二类损失函数值。其中,b为大于或等于2的正整数,m为大于或等于1且小于b的正整数,当特征向量集合包括c个c维特征向量时,距离矩阵为一个b行c列的矩阵。
需要说明的是,在上述计算第一类损失函数值和第二类损失函数值的过程中,两个向量之间的距离的计算方式可以采用L1范数(L1-norm)、L2范数(L2-norm)或交叉熵等。
另外,为了提高训练效率,作为一种可选的方式,在模型训练过程中,可以采用小批量数据集mini-batch的方式输入训练样本。具体来讲,可以基于训练样本,构建多个小批量数据集mini-batch;基于多个小批量数据集mini-batch以及第一类损失函数和第二类损失函数,对预设的神经网络模型进行训练,得到聚类模型。采用mini-batch的后向传播方式训练,不需要计算距离矩阵或者拉普拉斯矩阵的逆,空间复杂度跟样本量无关,在大数据下训练效率较高。当然,在本说明的其他实施例中,也可以采用其他训练样本输入方式。
以目标对象为目标用户为例,假设一个小批量数据集mini-batch中的目标用户数为p,p为大于或等于2且小于训练样本中的目标用户总数的正整数,则在根据上述实施方式计算当前mini-batch对应的第一类损失函数值时,将当前mini-batch中所有目标用户对应的最小距离值进行累加,得到当前mini-batch对应的第一类损失函数值。在根据上述实施方式计算当前mini-batch对应的第二类损失函数值时,该mini-batch上对应生成一个p行c列的距离矩阵M,此后,获取距离矩阵M的每列中最小的m个距离。需要说明的是,每列中最小的m个距离可以通过将该列中的距离按照由小到大的顺序排列,排在前m个的距离则为该列中最小的m个距离,m具体可以根据实际需要设置,例如,可以设置为1、2或3等。进一步,将各列中最小的m个距离进行累加即可得到该mini-batch对应的第二类损失函数值。例如,m等于2,则需要将所得到的2*c个距离值进行累加得到该mini-batch对应的第二类损失函数值。
完成聚类模型的训练后,当目标对象为目标用户,且将该聚类模型应用于进一步确定每个类簇对应的特征用户时,本说明书实施例提供的数据处理方法还可以包括特征用户筛选步骤,以从每个类簇对应的众多目标用户中筛选特征用户,以便于根据特征用户的特征数据找出有意义的模式或规则,例如,可以帮助运营人员根据特征用户的特征数据如用户画像信息拟定更适应用户喜好的推荐文案,比如某一个类簇对应的特征用户中20-30/女性/白领/网购等画像的比例较多,运营人员可以拟“轻熟女性最爱上网买这个”类似的推荐文案。需要说明的是,上述训练好的聚类模型除了上述应用以外,还可以应用于其他需要先对用户进行聚类分析的应用场景中。具体来讲,如图3所示,特征用户筛选步骤可以包括以下步骤S301至步骤S303。
步骤S301,基于所述聚类模型得到每个所述目标用户在所述两个以上类簇上的概率分布数据。
通过训练好的聚类模型可以输出作为训练样本的每个目标用户属于每个类簇的概率,即得到每个目标用户在上述两个以上类簇上的概率分布数据。
步骤S302,根据每个所述目标用户的所述概率分布数据,确定每个所述目标用户所属的类簇。
具体来讲,可以针对每个目标用户,比较所述目标用户属于每个所述类簇的概率值,将概率值最大的类簇作为该目标用户所属的类簇。
步骤S303,针对每一所述类簇,从属于所述类簇的目标用户中确定特征用户,得到每个所述类簇对应的特征用户。
本实施例中,从属于所述类簇的目标用户中确定特征用户的实施方式可以有多种。例如,在一种实施方式中,可以将属于所述类簇的目标用户对应于该类簇的概率值进行由小到大排序,得到一排序结果;将所述排序结果中,概率值处于前预设位数的目标用户作为所述特征用户。其中,预设位数可以根据实际情况设置,例如,作为训练样本的目标用户有10万个,模型输出对应有10个类簇,属于每个类簇的目标用户至少有5000个,则预设位数可以设置为1000或2000等。在另一种实施方式中,可以根据实际需要预先设置概率阈值,将属于所述类簇的目标用户中,属于该类簇的概率超过该概率阈值的目标用户作为该类簇对应的特征用户。
进一步地,于本说明书一实施例中,在得到每个所述类簇对应的特征用户之后,本实施例提供的数据处理方法还可以包括:基于每个类簇对应的特征用户的特征数据,生成该类簇对应的推荐文案。这样能够实现对每个类簇的用户定制推荐文案,以便于在对属于该类簇的用户推荐信息时,推荐文案能够更好地符合用户的喜好。
具体来讲,基于每个类簇对应的特征用户的特征数据,生成该类簇对应的推荐文案可以包括:根据每个类簇对应的特征用户的特征数据以及预设的文案模板,生成该类簇对应的推荐文案。
在一种实施方式中,特征用户的特征数据可以包括特征用户的用户画像信息。当然,在本实施例的其他实施方式中,特征用户的特征数据也可以包括特征用户所在的环境信息。
文案模板可以根据实际需要设置。举例来讲,当特征用户的特征数据包括特征用户的用户画像信息如用户的年龄、性别、职业、用户行为信息等时,文案模板可以设置为如“***都在&&&,你还在等什么”类似的模板。具体来讲,可以通过将特征用户的特征数据与预设的关键信息库中的关键词进行匹配,得到特征用户的特征数据对应的群体关键词和行为关键词,进而用所得到的群体关键词替换文案模板中的“***”,用所得到的行为关键词替换文案模板中的“&&&”。
其中,关键信息库中预先存储有多个第一关键词、多个第二关键词以及相应的匹配规则。例如,假设关键信息库中存储有关键词“轻熟女性”,该关键词对应有一年龄范围以及性别条件为女性,例如,年龄范围可以为20-30岁,此时,当特征用户中超过预设数量的用户的年龄范围满足20-30岁之间且性别为女时,则表明特征用户的特征数据与该第一关键词匹配,从而将该第一关键词作为特征用户的特征数据对应的群体关键词;同理可以根据特征用户的特征数据中的用户行为信息与关键信息库中第二关键词对应的匹配规则,得到与特征用户的特征数据中的用户行为信息匹配的第二关键词,从而将该第二关键词作为特征用户的特征数据对应的行为关键词。
进一步地,于本说明书一实施例中,上述基于每个类簇对应的特征用户的特征数据,生成该类簇对应的推荐文案之后,本实施例提供的数据处理方法还可以包括:将候选用户的特征数据输入所述聚类模型,得到所述候选用户在所述两个以上类簇上的概率分布数据;基于所述概率分布数据,确定所述候选用户所属的目标类簇;向所述候选用户投放所述目标类簇对应的推荐文案。
其中,候选用户可以是目标用户所在的社交平台、电商平台或支付平台上注册的其他用户。这样在给候选用户投放推荐信息如支付方式、购物资讯、广告、新闻或视频信息等时,就可以给候选用户投放适应该候选用户喜好的推荐文案,有利于得到更好的投放效果。
本说明书实施例提供的数据处理方法,采用端到端的神经网络来解决数据聚类问题,设置了第一类损失函数和第二类损失函数,通过这两种损失函数来控制对多个目标对象进行聚类的优化过程,从而使得聚类模型的输出直接对应目标对象的聚类结果,避免直接定义距离函数,有利于提高对目标对象的聚类效率且得到较好的聚类效果。
第二方面,本说明书一实施例提供了一种数据处理装置,如图4所示,该数据处理装置40包括:
对象样本获取模块401,用于获取训练样本,所述训练样本包括多个目标对象的特征数据;
模型训练模块402,用于基于所述训练样本以及预先设置的第一类损失函数和第二类损失函数,对预设的神经网络模型进行训练,得到聚类模型;
其中,所述神经网络模型的输出对应于两个以上类簇,所述聚类模型用于输出所述目标对象属于每个所述类簇的概率,所述第一类损失函数用于使每个所述目标对象对应的概率分布分别集中在所述两个以上类簇中任意一个类簇上,所述第二类损失函数用于使所述多个目标对象在所述两个以上类簇中的分布满足预设条件。
作为一种可选的实施方式,所述神经网络模型的输出为一个c维向量,c为大于或等于2的整数,在所述聚类模型的训练过程中,每次迭代对应的第一类损失函数值是按照以下方式得到的:针对每次输入模型的每个样本,计算模型输出的c维向量与预先设置的特征向量集合中每个特征向量之间的距离,将所计算的距离中的最小值作为该样本对应的最小距离值,其中,所述特征向量集合包括c个c维特征向量,每个特征向量均只有一个元素的值为1,除该元素外的其余元素的值均为0,且所述特征向量集合中不同特征向量的值为1的元素不同;将每次输入模型的每个样本对应的最小距离值进行累加,将累加和作为所述第一类损失函数值。
作为一种可选的实施方式,所述神经网络模型的输出为一个c维向量,c为大于或等于2的整数,在所述聚类模型的训练过程中,每次迭代对应的第二类损失函数值是按照以下方式得到的:将每次输入模型的b个样本对应输出的b个c维向量与预先设置的特征向量集合中每个特征向量之间的距离,得到一距离矩阵,其中,所述特征向量集合包括c个c维特征向量,每个特征向量均只有一个元素的值为1,除该元素外的其余元素的值均为0,且所述特征向量集合中不同特征向量的值为1的元素不同,所述距离矩阵为b行c列的矩阵,b为大于或等于2的正整数;获取所述距离矩阵的每列中最小的m个距离,将各列中最小的m个距离进行累加得到所述第二类损失函数值,其中,m为大于或等于1且小于b的正整数。
作为一种可选的实施方式,所述模型训练模块402用于:基于所述训练样本,构建多个小批量数据集mini-batch;基于所述多个小批量数据集mini-batch以及所述第一类损失函数和第二类损失函数,对预设的神经网络模型进行训练,得到聚类模型。
需要说明的是,本说明书实施例所提供的数据处理装置40,其中各个模块执行操作的具体方式已经在上述方法实施例中进行了详细描述,此处将不做详细阐述说明。
第三方面,本说明书一实施例提供了一种数据处理装置,如图5所示,该数据处理装置50包括:
用户样本获取模块501,用于获取训练样本,所述训练样本包括多个目标用户的特征数据;
模型训练模块502,基于所述训练样本以及预先设置的第一类损失函数和第二类损失函数,对预设的神经网络模型进行训练,得到聚类模型;
其中,所述神经网络模型的输出对应于两个以上类簇,所述聚类模型用于输出所述目标用户属于每个所述类簇的概率,所述第一类损失函数用于使每个所述目标用户对应的概率分布分别集中在所述两个以上类簇中任意一个类簇上,所述第二类损失函数用于使所述多个目标用户在所述两个以上类簇中的分布满足预设条件。
作为一种可选的实施方式,本实施例提供的数据处理装置50还包括特征用户确定模块503,所述特征用户确定模块503用于:基于所述聚类模型得到每个所述目标用户在所述两个以上类簇上的概率分布数据;根据每个所述目标用户的所述概率分布数据,确定每个所述目标用户所属的类簇;针对每一所述类簇,从属于所述类簇的目标用户中确定特征用户,得到每个所述类簇对应的特征用户。
作为一种可选的实施方式,所述特征用户确定模块503用于:将属于所述类簇的目标用户对应于该类簇的概率值进行由小到大排序,得到一排序结果;将所述排序结果中,概率值处于前预设位数的目标用户作为所述特征用户。
作为一种可选的实施方式,本实施例提供的数据处理装置50还包括文案生成模块504,所述文案生成模块504用于:基于每个类簇对应的特征用户的特征数据,生成该类簇对应的推荐文案。
作为一种可选的实施方式,所述文案生成模块504用于:根据每个类簇对应的特征用户的特征数据以及预设的文案模板,生成该类簇对应的推荐文案。
作为一种可选的实施方式,本实施例提供的数据处理装置50还包括投放模块505,所述投放模块505用于:将候选用户的特征数据输入所述聚类模型,得到所述候选用户在所述两个以上类簇上的概率分布数据;基于所述概率分布数据,确定所述候选用户所属的目标类簇;向所述候选用户投放所述目标类簇对应的推荐文案。
作为一种可选的实施方式,所述神经网络模型的输出为一个c维向量,c为大于或等于2的整数,在所述聚类模型的训练过程中,每次迭代对应的第一类损失函数值是按照以下方式得到的:
针对每次输入模型的每个样本,计算模型输出的c维向量与预先设置的特征向量集合中每个特征向量之间的距离,将所计算的距离中的最小值作为该样本对应的最小距离值,其中,所述特征向量集合包括c个c维特征向量,每个特征向量均只有一个元素的值为1,除该元素外的其余元素的值均为0,且所述特征向量集合中不同特征向量的值为1的元素不同;
将每次输入模型的每个样本对应的最小距离值进行累加,将累加和作为所述第一类损失函数值。
作为一种可选的实施方式,所述神经网络模型的输出为一个c维向量,c为大于或等于2的整数,在所述聚类模型的训练过程中,每次迭代对应的第二类损失函数值是按照以下方式得到的:
将每次输入模型的b个样本对应输出的b个c维向量与预先设置的特征向量集合中每个特征向量之间的距离,得到一距离矩阵,其中,所述特征向量集合包括c个c维特征向量,每个特征向量均只有一个元素的值为1,除该元素外的其余元素的值均为0,且所述特征向量集合中不同特征向量的值为1的元素不同,所述距离矩阵为b行c列的矩阵,b为大于或等于2的正整数;
获取所述距离矩阵的每列中最小的m个距离,将各列中最小的m个距离进行累加得到所述第二类损失函数值,其中,m为大于或等于1且小于b的正整数。
作为一种可选的实施方式,所述特征数据包括用户的画像特征信息和/或用户所在的环境特征信息。
需要说明的是,本说明书实施例所提供的数据处理装置50,其中各个模块执行操作的具体方式已经在上述方法实施例中进行了详细描述,此处将不做详细阐述说明。
第四方面,基于与前述实施例中数据处理方法同样的发明构思,本说明书实施例还提供了一种计算机设备,如图6所示,包括存储器604、一个或多个处理器602及存储在存储器604上并可在处理器602上运行的计算机程序,所述处理器602执行所述程序时实现前文所述数据处理方法的步骤。
其中,在图6中,总线架构(用总线600来代表),总线600可以包括任意数量的互联的总线和桥,总线600将包括由处理器602代表的一个或多个处理器和存储器604代表的存储器的各种电路链接在一起。总线600还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口605在总线600和接收器601和发送器603之间提供接口。接收器601和发送器603可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器602负责管理总线600和通常的处理,而存储器604可以被用于存储处理器602在执行操作时所使用的数据。
可以理解的是,图6所示的结构仅为示意,上述计算机设备还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。图6中所示的各组件可以采用硬件、软件或其组合实现。
第五方面,基于与前述实施例中数据处理方法的发明构思,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述数据处理方法的步骤。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。