确定用户标签的方法、自编码网络的训练方法及装置与流程

文档序号:17662811发布日期:2019-05-15 22:30阅读:340来源:国知局
确定用户标签的方法、自编码网络的训练方法及装置与流程

本发明实施例涉及机器学习技术领域,尤其涉及一种确定用户标签的方法、自编码网络的训练方法及装置。



背景技术:

用户画像,又称人群画像,是根据客户人口统计学信息,社交关系,偏好习惯和消费行为等信息而抽象出来的标签化画像,构建用户画像的核心即挖掘用户标签。目前常用的挖掘方法是采用监督学习训练模型用于挖掘用户标签,即预先获取用户的属性信息和行为数据,然后基于用户的属性信息和行为数据人为给用户打上潜在的标签,之后以用户的属性信息和行为数据以及用户标签为训练样本,采用监督学习的方式训练模型,之后采用训练好的模型挖掘用户标签。传统监督学习采用损失函数对模型收敛方向进行约束时,是基于训练样本中的用户标签完全正确的前提下,使模型预测结果更加拟合训练样本中的用户标签。而实际的训练样本中,用户标签往往存在偏差,即存在噪声标签,从而导致模型学习到噪声标签,进一步影响模型预测用户标签的精度。



技术实现要素:

由于采用传统监督学习训练模型时,学习了训练样本中的噪声标签,从而影响模型预测用户标签的精度的问题,本申请实施例提供了一种确定用户标签的方法、自编码网络的训练方法及装置。

一方面,本申请实施例提供了一种确定用户标签的方法,该方法包括:

获取待识别用户的特征数据;

采用自编码网络中的编码层对待识别用户的特征数据进行编码,确定待识别用户的嵌入特征,自编码网络是以用户特征数据以及用户标签为训练样本训练获得,自编码网络的损失函数至少是基于相似度损失函数确定的,相似度损失函数是根据输入编码层的训练样本的用户特征数据和编码层输出的训练样本的嵌入特征确定的;

根据待识别用户的嵌入特征确定待识别用户的用户标签。

由于在训练自编码网络时,至少基于相似度损失函数确定自编码网路的损失函数,其中,相似度损失函数是根据输入编码层的训练样本的用户特征数据和编码层输出的训练样本的嵌入特征确定的,即采用不含有用户标签的用户特征数据与编码层输出的嵌入特征之间的关系来约束自编码网络的收敛方向,从而减少了噪声标签对网络输出结果的影响,提高了编码层输出的嵌入特征的准确度。其次,自编码网络的编码层提取待识别用户的嵌入特征后,基于嵌入特征确定用户标签,从而提高预测用户标签的精度。

一方面,本申请实施例提供了一种自编码网络的训练方法,包括:

将训练样本输入初始的自编码网络,所述训练样本包括用户特征数据以及用户标签;

采用所述自编码网络的编码层对所述训练样本进行编码,确定所述训练样本的嵌入特征;

根据所述训练样本的嵌入特征和所述训练样本的用户特征数据确定所述自编码网络的相似度损失函数;

至少根据所述相似度损失函数确定所述自编码网络的损失函数;

在所述自编码网络的损失函数没有满足预设条件时,采用所述自编码网络的损失函数调整所述自编码网络的参数,并采用调整后的自编码网络对所述训练样本进行编码,确定所述训练样本的嵌入特征;依次循环,直到所述自编码网络的损失函数满足所述预设条件时,训练结束。

一方面,本申请实施例提供了一种确定用户标签的装置,该装置包括:

获取模块,用于获取待识别用户的特征数据;

特征提取模块,用于采用自编码网络中的编码层对待识别用户的特征数据进行编码,确定待识别用户的嵌入特征,自编码网络是以用户特征数据以及用户标签为训练样本训练获得,自编码网络的损失函数至少是基于相似度损失函数确定的,相似度损失函数是根据输入所述编码层的训练样本的用户特征数据和编码层输出的训练样本的嵌入特征确定的;

分类模块,用于根据待识别用户的嵌入特征确定待识别用户的用户标签。

一方面,本申请实施例提供了一种终端设备,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行确定用户标签的方法以及自编码网络的训练方法的步骤。

一方面,本申请实施例提供了一种计算机可读介质,其存储有可由终端设备执行的计算机程序,当所述程序在终端设备上运行时,使得所述终端设备执行确定用户标签的方法以及自编码网络的训练方法的步骤。

本申请实施例中,由于在训练自编码网络时,至少基于相似度损失函数确定自编码网路的损失函数,其中,相似度损失函数是根据输入编码层的训练样本的用户特征数据和编码层输出的训练样本的嵌入特征确定的,即采用不含有用户标签的用户特征数据与编码层输出的嵌入特征之间的关系来约束自编码网络的收敛方向,使输入编码层的用户特征数据与编码层输出的嵌入特征尽可能相似,从而减少了噪声标签对网络输出结果的影响,提高了编码层输出的嵌入特征的准确度。其次,自编码网络的编码层提取待识别用户的嵌入特征后,将待识别用户的嵌入特征与标记用户标签的样本特征进行聚类,根据嵌入特征所属类别中样本特征的用户标签确定待识别用户的用户标签,减小了噪声标签对嵌入特征分类结果的影响,从而提高预测用户标签的精度。

附图说明

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

图1a为本申请实施例提供的一种应用场景图;

图1b为本申请实施例提供的一种网络的结构示意图;

图2为本申请实施例提供的一种确定用户标签的方法的流程示意图;

图3为本申请实施例提供的一种确定相似度损失函数的方法的流程示意图;

图4为本申请实施例提供的一种确定用户标签的方法的流程示意图;

图5为本申请实施例提供的一种确定用户标签的装置的结构示意图;

图6为本申请实施例提供的一种自编码网络的训练装置的结构示意图;

图7为本申请实施例提供的一种终端设备的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

为了方便理解,下面对本发明实施例中涉及的名词进行解释。

自编码网络:一种无监督的神经网络,由编码层和解码层组成,编码层对原始特征进行编码,获得原始特征的另一种表示向量,然后对表示向量进行解码可以还原原始特征,自编码网络自身的损失函数是使解码层输出的特征与输入编码器的原始特征尽可能相似。自编码网络中编码层输出的表示向量可以作为原始特征的另一种表达形式,后续可以将编码层输出的表示向量输入分类器,得到原始特征对应的类别。

噪声标签:样本标签中包含的错误标签。

超参数:在机器学习的上下文中,超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,需要对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果。

在具体实践过程中,本申请的发明人发现,传统监督学习训练模型用于挖掘用户标签时,采用损失函数对模型收敛方向进行约束,该损失函数使模型预测结果更加拟合训练样本中人为标记的用户标签。而实际的训练样本中,人为给标记的用户标签往往存在偏差,即存在噪声标签,从而导致模型学习了噪声标签,进一步影响模型预测用户标签的精度。

为此,本申请实施例中,在训练自编码网络时,至少基于相似度损失函数确定自编码网路的损失函数,其中,相似度损失函数是根据输入编码层的训练样本的用户特征数据和编码层输出的训练样本的嵌入特征确定的,即采用不含有用户标签的用户特征数据与编码层输出的嵌入特征之间的关系来约束自编码网络的收敛方向,使输入编码层的用户特征数据与编码层输出的嵌入特征尽可能相似,从而减少了噪声标签对自编码网络的影响。在训练好自编码网络之后,获取待识别用户的特征数据,采用自编码网络中的编码层对待识别用户的特征数据进行编码,确定待识别用户的嵌入特征,之后再根据待识别用户的嵌入特征确定待识别用户的用户标签,从而提高预测用户标签的精度。

本申请实施例中确定用户标签的方法可以应用于如图1a所示的应用场景,该应用场景中包括终端设备101、服务器102。

终端设备101中预先可以安装确定用户标签的应用程序,在需要挖掘用户标签时,在应用程序的输入界面中输入待识别用户的特征数据,其中用户特征数据可以是用户属性信息,比如性别、年龄、身高、体重等,用户特征数据也可以是用户行为信息,比如应用程序安装记录、网页浏览记录、商品购买记录、视频观看记录等。用户特征数据还可以是用户的图像。终端设备101可以在获取待识别用户的特征数据后,直接对待识别用户的特征数据进行挖掘,确定待识别用户的用户标签。示例性地,待识别用户的特征数据为:性别:女、年龄:28、应用程序安装记录:安装育儿应用程序、商品购买记录:购买纸尿裤。将上述待识别用户的特征数据输入挖掘用户标签的应用程序,输出用户标签为母婴人群。

终端设备101也可以将待识别用户的特征数据发送至服务器102,服务器102对待识别用户的特征数据进行挖掘,确定待识别用户的用户标签,将用户标签发送至终端设备101,终端设备101在应用程序中显示待识别用户的用户标签。终端设备101通过无线网络与服务器102连接,终端设备101可以是智能手机、平板电脑或便携式个人计算机等,服务器102可以是一台服务器或若干台服务器组成的服务器集群或云计算中心。

进一步地,在确定待识别用户的用户标签后,可以根据用户标签向用户定向推送用户关注的新闻、广告等。示例性地,在确定待识别用户的用户标签为母婴人群时,可以向该用户推送教育相关或者母婴用品相关的广告或消息。示例性地,在确定待识别用户的用户标签为爱好运动时,可以向该用户推送体育用品相关的广告或体育赛事相关的消息。

本申请实施例中采用自编码网络和分类器组成的网络确定用户标签,具体的网络结构如图1b所示,自编码网络包括编码层和解码层,其中编码层中包括一个或多个隐藏层,解码层中包括一个或多个隐藏层。在确定待识别用户的用户标签时,将待识别用户的特征数据输入编码层,编码层对待识别用户的特征数据进行编码,输出待识别用户的嵌入(embedding)特征。编码层将待识别用户的嵌入特征输入解码层,解码层对待识别用户的嵌入特征进行解码,输出自编码结果。编码层将待识别用户的嵌入特征输入分类器,分类器输出待识别用户的用户标签。在训练该网络时,可以将自编码网络和分类器一起训练,也可以将自编码网络和分类器分开训练,还可以只训练自编码网络。

基于图1a所示的应用场景图和图1b所示的网络结构图,本申请实施例提供了一种确定用户标签的方法的流程,如图2所示,该方法的流程可以由确定用户标签的装置执行,确定用户标签的装置可以是上述图1a中的终端设备101或服务器102,该方法包括以下步骤:

步骤s201,获取待识别用户的特征数据。

待识别用户的特征数据包括但不限于用户属性信息、用户行为信息、用户的图像,其中,用户属性信息包括性别、年龄、身高、体重、职业等,用户行为信息包括应用程序安装记录、网页浏览记录、商品购买记录、视频观看记录等。

示例性地,待识别用户a的特征数据如下所示:

性别:女、年龄:26、职业:体育老师、视频观看记录:世界杯、商品购买记录:球衣。

步骤s202,采用自编码网络中的编码层对待识别用户的特征数据进行编码,确定待识别用户的嵌入特征。

自编码网络是以用户特征数据以及用户标签为训练样本训练获得,具体地,在训练自编码网络之前,先获取多个用户的用户特征数据,然后根据用户特征数据为每个用户标记一个或多个用户标签。将获取的多个用户的用户特征数据以及每个用户对应的用户标签作为训练样本输入自编码网络进行训练。在训练过程,采用自编码网络的损失函数约束自编码网络的收敛方向,自编码网络的损失函数至少是基于相似度损失函数确定的,相似度损失函数是根据输入编码层的训练样本的用户特征数据和编码层输出的训练样本的嵌入特征确定的。具体地,输入编码层的训练样本的用户特征数据不包含用户标签,编码层输出的训练样本的嵌入特征是在训练过程中,编码层对输入的用户标签以及用户特征数据进行编码后获得的。

步骤s203,根据待识别用户的嵌入特征确定待识别用户的用户标签。

具体地,分类器基于待识别用户的嵌入特征对待识别用户进行分类,确定待识别用户的用户标签,其中,分类器的分类规则可以是预先设定的,也可以是基于训练样本训练获得的,在训练分类器时,可以与自编码网络一起训练,也可以与自编码网络分开训练。

由于在训练自编码网络时,至少基于相似度损失函数确定自编码网路的损失函数,其中,相似度损失函数是根据输入编码层的训练样本的用户特征数据和编码层输出的训练样本的嵌入特征确定的,即采用不含有用户标签的用户特征数据与编码层输出的嵌入特征之间的关系来约束自编码网络的收敛方向,从而减少了错误的用户标签对网络输出结果的影响,提高了编码层输出的嵌入特征的准确度。其次,自编码网络的编码层提取待识别用户的嵌入特征后,基于嵌入特征确定用户标签,从而提高预测用户标签的精度。

可选地,在上述步骤s202中,可以采用如下方法确定相似度损失函数,如图3所示,包括以下步骤:

步骤s301,针对输入编码层的任意两个训练样本,根据两个训练样本的用户特征数据确定两个训练样本的原始特征。

具体地,对训练样本的用户特征数据进行向量化处理,得到用户特征数据的表示向量,将用户特征数据的表示向量作为训练样本的原始特征。

步骤s302,确定两个训练样本的原始特征的第一相似度。

基于余弦相似度算法确定两个训练样本的原始特征的第一相似度,具体符合下述公式(1):

其中,x′i为训练样本i的原始特征,x′j训练样本j的原始特征,similar(x′i,x′j)为训练样本i的原始特征与训练样本j的原始特征的第一相似度。

步骤s303,确定编码层输出的两个训练样本的嵌入特征的第二相似度。

基于余弦相似度算法确定两个训练样本的嵌入特征的第二相似度,具体符合下述公式(2):

其中,xi为训练样本i的嵌入特征,xj训练样本j的嵌入特征,similar(xi,xj)为训练样本i的嵌入特征与训练样本j的嵌入特征的第二相似度。

步骤s304,根据第一相似度和第二相似度确定自编码网络的相似度损失函数。

具体地,基于abs(求绝对值)函数对第一相似度和第二相似度进行计算,确定自编码网络的相似度损失函数,具体符合下述公式(3):

losssim=∑abs(similar(xi,xj)-similar(x′i,x′j))……………(3)

其中,losssim为自编码网络的相似度损失函数,similar(x′i,x′j)为训练样本i的原始特征与训练样本j的原始特征的第一相似度,similar(xi,xj)为训练样本i的嵌入特征与训练样本j的嵌入特征的第二相似度。

当相似度损失函数取最小值时,说明编码层输出的嵌入特征与输入编码层的原始特征最近似,故在采用相似度损失函数控制自编码网络收敛时,能有效减小噪声标签对编码层输出的嵌入特征的影响,后续基于嵌入特征预测用户标签时,能有效提高预测精度。

可选地,在上述步骤s202中,至少可以采用以下几种方法训练自编码网络:

在一种可能的实施方式中,自编码网络的损失函数是基于相似度损失函数、分类损失函数和自编码损失函数确定的,分类损失函数是根据训练样本的用户标签预测值和训练样本的用户标签真实值确定的。自编码损失函数是根据输入自编码网络的训练样本和自编码网络输出的自编码结果确定的。

具体地,分类损失函数包括但不限于softmax函数、softmaxwithloss函数。

在训练自编码网络时,同时训练分类器。训练样本包括用户特征数据以及用户标签,将训练样本输入初始的自编码网络,自编码网络的编码层对训练样本进行编码,输出训练样本的嵌入特征,然后获取输入编码层的训练样本中的用户特征数据,根据训练样本的用户特征数据和训练样本的嵌入特征确定相似度损失函数。将训练样本的嵌入特征输入分类器,分类器输出训练样本的用户标签预测值,然后基于训练样本的用户标签预测值和预先标记的训练样本的用户标签真实值确定分类损失函数。将训练样本的嵌入特征输入自编码网络的解码器,解码器对训练样本的嵌入特征进行解码,输出自编码结果,然后根据输入自编码网络的训练样本和自编码网络输出的自编码结果确定自编码损失函数。最后根据相似度损失函数、分类损失函数和自编码损失函数确定自编码网络的损失函数。判断自编码网络的损失函数是否满足预设条件,在自编码网络的损失函数没有满足预设条件时,采用自编码网络的损失函数调整自编码网络的参数,采用自编码网络的损失函数调整分类器的参数。然后采用调整后的自编码网络中的编码层对训练样本进行编码,确定训练样本的嵌入特征,根据训练样本的用户特征数据和训练样本的嵌入特征确定相似度损失函数。采用调整后的自编码网络中的解码层对训练样本进行解码,输出自编码结果,根据训练样本和训练样本的自编码结果确定自编码损失函数。采用调整后的分类器确定训练样本的用户标签预测值,根据训练样本的用户标签预测值和预先标记的训练样本的用户标签真实值确定分类损失函数。之后再根据相似度损失函数、分类损失函数和自编码损失函数确定自编码网络的损失函数,并再次判断自编码网络的损失函数是否满足预设条件,依次循环,直到自编码网络的损失函数满足预设条件时,训练结束。

可选地,当自编码网络的损失函数取最小值时,训练结束。

可选地,根据相似度损失函数、分类损失函数和自编码损失函数各自对应的预设参数对相似度损失函数、分类损失函数和自编码损失函数加权相加,确定自编码网络的损失函数,具体符合下述公式(4):

loss=loss1+αloss2+βloss3……………………(4)

其中,loss1为分类损失函数,loss2为相似度损失函数,loss3为自编码损失函数,α和β为预设参数。具体地,α和β可以为超参数。

由于在训练过程中,将自编码网络与分类器结合进行训练,并且以相似度损失函数、分类损失函数以及自编码损失函数来控制自编码网络和分类器的收敛,其中,相似度损失函数使编码层输出的嵌入特征与输入编码层的原始特征尽量相似,从而减少噪声标签对编码层输出的嵌入特征的影响,进一步提高了分类器预测用户标签的精度。

在一种可能的实施方式中,自编码网络的损失函数是基于相似度损失函数、分类损失函数确定的,分类损失函数是根据训练样本的用户标签预测值和训练样本的用户标签真实值确定的。

具体地,在训练自编码网络时,同时训练分类器。训练样本包括用户特征数据以及用户标签,将训练样本输入初始的自编码网络,编码层对训练样本进行编码,输出训练样本的嵌入特征,然后获取输入编码层的训练样本中的用户特征数据,根据训练样本的用户特征数据和训练样本的嵌入特征确定相似度损失函数。将训练样本的嵌入特征输入分类器,分类器输出训练样本的用户标签预测值,然后基于训练样本的用户标签预测值和预先标记的训练样本的用户标签真实值确定分类损失函数。最后根据相似度损失函数、分类损失函数确定自编码网络的损失函数。判断自编码网络的损失函数是否满足预设条件,在自编码网络的损失函数没有满足预设条件时,采用自编码网络的损失函数调整自编码网络的参数,采用自编码网络的损失函数调整分类器的参数。然后采用调整后的自编码网络中的编码层对训练样本进行编码,确定训练样本的嵌入特征,根据训练样本的用户特征数据和训练样本的嵌入特征确定相似度损失函数。采用调整后的分类器确定训练样本的用户标签预测值,根据训练样本的用户标签预测值和预先标记的训练样本的用户标签真实值确定分类损失函数。之后再根据相似度损失函数和分类损失函数确定自编码网络的损失函数,并再次判断自编码网络的损失函数是否满足预设条件,依次循环,直到自编码网络的损失函数满足预设条件时,训练结束。

可选地,当自编码网络的损失函数取最小值时,训练结束。

在一种可能的实施方式中,自编码网络的损失函数是基于相似度损失函数和自编码损失函数确定的。自编码损失函数是根据输入自编码网络的训练样本和自编码网络输出的自编码结果确定的。

具体地,训练样本包括用户特征数据以及用户标签,在训练自编码网络时,将训练样本输入初始的自编码网络,编码层对训练样本进行编码,输出训练样本的嵌入特征,然后获取输入编码层的训练样本中的用户特征数据,根据训练样本的用户特征数据和训练样本的嵌入特征确定相似度损失函数。将训练样本的嵌入特征输入自编码网络的解码器,解码器对训练样本的嵌入特征进行解码,输出自编码结果,然后根据输入自编码网络的训练样本和自编码网络输出的自编码结果确定自编码损失函数。最后根据相似度损失函数和自编码损失函数确定自编码网络的损失函数。判断自编码网络的损失函数是否满足预设条件,在自编码网络的损失函数没有满足预设条件时,采用自编码网络的损失函数调整自编码网络的参数。然后采用调整后的自编码网络中的编码层对训练样本进行编码,确定训练样本的嵌入特征,根据训练样本的用户特征数据和训练样本的嵌入特征确定相似度损失函数。采用调整后的自编码网络中的解码层对训练样本进行解码,输出自编码结果,根据训练样本和训练样本的自编码结果确定自编码损失函数。之后再根据相似度损失函数和自编码损失函数确定自编码网络的损失函数,并再次判断自编码网络的损失函数是否满足预设条件,依次循环,直到自编码网络的损失函数满足预设条件时,训练结束。

可选地,当自编码网络的损失函数取最小值时,训练结束。

由于在训练自编码网络的过程中,采用相似度损失函数以及自编码损失函数来控制自编码网络的收敛,其中,相似度损失函数使编码层输出的嵌入特征与输入编码层的原始特征尽量相似,自编码损失函数使自编码网络的输入与自编码网络的输出尽量相似,从而既减少噪声标签对编码层输出的嵌入特征的影响,同时避免嵌入特征偏离原始特征,进一步也提高了分类器预测用户标签的精度。

在一种可能的实施方式中,自编码网络的损失函数是基于相似度损失函数确定的。

具体地,训练样本包括用户特征数据以及用户标签,在训练自编码网络时,将训练样本输入初始的自编码网络,编码层对训练样本进行编码,输出训练样本的嵌入特征,然后获取输入编码层的训练样本中的用户特征数据,根据训练样本的用户特征数据和训练样本的嵌入特征确定相似度损失函数。将相似度损失函数确定为自编码网络的损失函数,判断自编码网络的损失函数是否满足预设条件,在自编码网络的损失函数没有满足预设条件时,采用自编码网络的损失函数调整自编码网络的参数。然后采用调整后的自编码网络中的编码层对训练样本进行编码,确定训练样本的嵌入特征,根据训练样本的用户特征数据和训练样本的嵌入特征确定相似度损失函数。之后再将相似度损失函数确定为自编码网络的损失函数,并再次判断自编码网络的损失函数是否满足预设条件,依次循环,直到自编码网络的损失函数满足预设条件时,训练结束。

可选地,当自编码网络的损失函数取最小值时,训练结束。

由于在训练自编码网络的过程中,以相似度损失函数来控制自编码网络的收敛,使编码层输出的嵌入特征与输入编码层的原始特征尽量相似,从而减少噪声标签对编码层输出的嵌入特征的影响,进一步提高了分类器预测用户标签的精度。

可选地,在上述步骤s203中,根据待识别用户的嵌入特征确定待识别用户的用户标签,至少包括以下几种实施方式:

在一种可能的实施方式中,预先设定分类器的分类规则,将待识别用户的嵌入特征输入分类器后,分类器将待识别用户的嵌入特征与预先获取的多个样本特征进行聚类,每个样本特征预先标记用户标签。根据与待识别用户的嵌入特征同属一类的样本特征的用户标签,确定待识别用户的用户标签。

具体地,样本特征可以是对包含用户标签的用户特征数据进行向量化后的特征,每个样本特征预先标记用户标签。将待识别用户的嵌入特征与预先获取的多个样本特征进行聚类时,采用的聚类算法包括但不限于k-means(k均值)聚类算法、均值漂移聚类算法、基于密度的聚类算法。

可选地,分类器将待识别用户的嵌入特征与样本特征进行聚类后,可以先确定与待识别用户的嵌入特征同属一类的至少一个样本特征,然后对至少一个样本特征的用户标签进行统计,确定每类用户标签的数量,然后将数量最多的用户标签确定为待识别用户的用户标签。

示例性地,设定根据10个包含用户标签的用户特征数据确定了10个样本特征,分别为第一样本特征至第十样本特征,该10个样本特征中,第一样本特征至第五样本特征的用户标签为“爱好运动”,第六样本特征至第十样本特征的用户标签为“不爱运动”。将待识别用户的用户特征数据输入训练好的自编码网络后,将自编码网络的编码层输出的嵌入特征与上述10个样本特征进行聚类。设定聚类后,第一样本特征至第六样本特征与待识别用户的嵌入特征聚为一类,第七样本特征至第十样本特征聚为一类。通过统计可知,与待识别用户的嵌入特征同属一类的样本特征中,“爱好运动”的用户标签的数量为5个,“不爱运动”的用户标签的数量为1个,则将待识别用户的标签确定为“爱好运动”。

可选地,在具体实施中,可以将多个待识别用户的嵌入特征输入分类器,然后将多个待识别用户的嵌入特征与多个样本特征进行聚类。统计每一个类别中的样本特征的用户标签,将数量最多的用户标签确定为该类别中的所有待识别用户的用户标签。

示例性地,设定分类器中预先设有10个样本特征,分别为第一样本特征至第十样本特征,该10个样本特征中,第一样本特征至第五样本特征的用户标签为“爱好运动”,第六样本特征至第十样本特征的用户标签为“不爱运动”。自编码网络的编码层输出5个待识别用户的嵌入特征,分别为第一嵌入特征至第五嵌入特征,分类器将5个嵌入特征与10个样本特征进行聚类。设定聚类后形成两个类别,分别为第一类别和第二类别,其中第一类别中包括第一嵌入特征至第三嵌入特征、第一样本特征至第六样本特征,第二类别中包括第四嵌入特征、第五嵌入特征以及第七样本特征至第十样本特征。在第一类别的样本特征中,“爱好运动”的用户标签的数量为5个,“不爱运动”的用户标签的数量为1个,则第一类别中待识别用户的用户标签为“爱好运动”,即第一嵌入特征至第三嵌入特征对应的3个待识别用户的用户标签为“爱好运动”。在第二类别的样本特征中,“爱好运动”的用户标签的数量为0个,“不爱运动”的用户标签的数量为4个,则第二类别中待识别用户的用户标签为“不爱运动”,即第四嵌入特征、第五嵌入特征对应的2个待识别用户的用户标签为“不爱运动”。

由于自编码网络的编码层提取待识别用户的嵌入特征后,将待识别用户的嵌入特征与标记用户标签的样本特征进行聚类,根据嵌入特征所属类别中样本特征的用户标签确定待识别用户的用户标签,减小了噪声标签对嵌入特征分类结果的影响,从而提高预测用户标签的精度。

在一种可能的实施方式中,在训练自编码网络时,同时训练分类器。自编码网络的编码层输出待识别用户的嵌入特征后,将待识别用户的嵌入特征输入训练好的分类器后,分类器基于训练获取的分类规则以及待识别用户的嵌入特征预测待识别用户的用户标签。

由于在训练自编码网络时,同时训练分类器,并且至少基于相似度损失函数和分类损失函数确定自编码网路的损失函数,使自编码网络的编码层输出的嵌入特征与输入编码层的原始特征尽量相似,从而减少噪声标签对编码层输出的嵌入特征的影响,进一步提高了分类器预测用户标签的精度。

为了更好的解释本申请实施例,下面结合具体的实施场景描述本申请实施例提供的一种确定用户标签的方法,预先对自编码网络和第一分类器组成的网络进行训练,训练样本为预先获取的用户特征数据以及基于用户特征数据标记的用户标签。设定用户特征数据包括年龄、性别、身高、体重、视频观看记录、商品购买记录,用户标签包括“爱好运动”以及“不爱运动”。将训练样本输入自编码网络,自编码网络的编码层对训练样本进行编码,输出训练样本的嵌入特征。将训练样本的嵌入特征输入第一分类器,第一分类器输出训练样本的用户标签预测值。将训练样本的嵌入特征输入自编码网络的解码器,解码器对训练样本的嵌入特征进行解码,输出自编码结果。在训练过程中,采用自编码网络的损失函数约束自编码网络的收敛方向,其中,自编码网络的损失函数为相似度损失函数、分类损失函数和自编码损失函数以各自对应的预设参数加权后相加的和。具体地,相似度损失函数是根据训练样本的用户特征数据和训练样本的嵌入特征确定的,分类损失函数是根据训练样本的用户标签预测值和预先标记的训练样本的用户标签真实值确定的,自编码损失函数是根据输入自编码网络的训练样本和自编码网络输出的自编码结果确定的。当自编码网络的损失函数取最小值时,自编码网络和分类器训练结束。

设定待识别用户的用户特征数据为:年龄:20、性别:男、身高:175cm、体重:68kg、视频观看记录:世界杯、商品购买记录:球衣。

在一种可能的实施方式中,可以将训练好的自编码网络和第一分类器用于预测待识别用户的标签,将上述待识别用户的用户特征数据输入训练好的自编码网络,自编码网络的编码层对待识别用户的用户特征数据进行编码,输出待识别用户的嵌入特征。然后将待识别用户的嵌入特征输入训练好的第一分类器,第一分类器基于嵌入特征输出待识别用户的用户标签为“爱好运动”。

在另一种可能的实施方式中,可以将训练好的自编码网络用于预测待识别用户的标签,将上述待识别用户的用户特征数据输入训练好的自编码网络,自编码网络的编码层对待识别用户的用户特征数据进行编码,输出待识别用户的嵌入特征。然后将待识别用户的嵌入特征输入第二分类器,第二分类器将待识别用户的嵌入特征与预先获取的多个样本特征进行聚类。设定聚类后与待识别用户的嵌入特征同属一类的样本特征为10个,这10个样本特征中,9个样本特征的用户标签为“爱好运动”,1个样本特征的用户标签为“不爱运动”,则第二分类器输出待识别用户的标签确定为“爱好运动”。

为了更好的解释本申请实施例,下面结合具体的实施场景描述本申请实施例提供的另一种确定用户标签的方法,预先对自编码网络进行训练,训练样本为预先获取的用户特征数据以及基于用户特征数据标记的用户标签,设定用户特征数据包括年龄、性别、身高、体重、视频观看记录、商品购买记录,用户标签包括“爱好运动”以及“不爱运动”。将训练样本输入自编码网络,自编码网络的编码层对训练样本进行编码,输出训练样本的嵌入特征。将训练样本的嵌入特征输入自编码网络的解码器,解码器对训练样本的嵌入特征进行解码,输出自编码结果。在训练过程中,采用自编码网络的损失函数约束自编码网络的收敛方向,其中,自编码网络的损失函数是基于相似度损失函数和自编码损失函数以各自对应的预设参数加权后相加的和。具体地,相似度损失函数是根据训练样本的用户特征数据和训练样本的嵌入特征确定的,自编码损失函数是根据输入自编码网络的训练样本和自编码网络输出的自编码结果确定的。当自编码网络的损失函数取最小值时,自编码网络训练结束。

设定待识别用户的用户特征数据为:年龄:20、性别:男、身高:175cm、体重:68kg、视频观看记录:世界杯、商品购买记录:球衣,具体如图4所示。

可以将训练好的自编码网络用于预测待识别用户的标签,将上述待识别用户的用户特征数据输入训练好的自编码网络,自编码网络的编码层对待识别用户的用户特征数据进行编码,输出待识别用户的嵌入特征。然后将待识别用户的嵌入特征输入分类器,分类器将待识别用户的嵌入特征与预先获取的多个样本特征进行聚类。设定聚类后与待识别用户的嵌入特征同属一类的样本特征为10个,这10个样本特征中,9个样本特征的用户标签为“爱好运动”,1个样本特征的用户标签为“不爱运动”,则第二分类器输出待识别用户的标签确定为“爱好运动”。

本申请实施例中,由于在训练自编码网络时,至少基于相似度损失函数确定自编码网路的损失函数,其中,相似度损失函数是根据输入编码层的训练样本的用户特征数据和编码层输出的训练样本的嵌入特征确定的,即采用不含有用户标签的用户特征数据与编码层输出的嵌入特征之间的关系来约束自编码网络的收敛方向,使输入编码层的用户特征数据与编码层输出的嵌入特征尽可能相似,从而减少了噪声标签对网络输出结果的影响,提高了编码层输出的嵌入特征的准确度。其次,自编码网络的编码层提取待识别用户的嵌入特征后,将待识别用户的嵌入特征与标记用户标签的样本特征进行聚类,根据嵌入特征所属类别中样本特征的用户标签确定待识别用户的用户标签,减小了噪声标签对嵌入特征分类结果的影响,从而提高预测用户标签的精度。

基于相同的技术构思,本申请实施例提供了一种确定用户标签的装置,如图5所示,该装置500包括:

获取模块501,用于获取待识别用户的特征数据;

特征提取模块502,用于采用自编码网络中的编码层对所述待识别用户的特征数据进行编码,确定所述待识别用户的嵌入特征,所述自编码网络是以用户特征数据以及用户标签为训练样本训练获得,所述自编码网络的损失函数至少是基于相似度损失函数确定的,所述相似度损失函数是根据输入所述编码层的训练样本的用户特征数据和所述编码层输出的训练样本的嵌入特征确定的;

分类模块503,用于根据所述待识别用户的嵌入特征确定所述待识别用户的用户标签。

可选地,所述特征提取模块502具体用于:

针对输入编码层的任意两个训练样本,根据所述两个训练样本的用户特征数据确定所述两个训练样本的原始特征;

确定所述两个训练样本的原始特征的第一相似度;

确定编码层输出的所述两个训练样本的嵌入特征的第二相似度;

根据所述第一相似度和所述第二相似度确定所述自编码网络的相似度损失函数。

可选地,所述分类模块503具体用于:

将所述待识别用户的嵌入特征与预先获取的多个样本特征进行聚类,每个样本特征预先标记用户标签;

根据与所述待识别用户的嵌入特征同属一类的样本特征的用户标签,确定所述待识别用户的用户标签。

可选地,所述分类模块503具体用于:

确定与所述待识别用户的嵌入特征同属一类的至少一个样本特征;

对所述至少一个样本特征的用户标签进行统计,确定每类用户标签的数量;

将数量最多的用户标签确定为所述待识别用户的用户标签。

可选地,所述分类模块503具体用于:

将所述待识别用户的嵌入特征输入训练好的分类器,确定所述待识别用户的用户标签。

基于相同的技术构思,本申请实施例提供了一种自编码网络的训练装置,如图6所示,该装置600包括:

输入模块601,用于将训练样本输入初始的自编码网络,所述训练样本包括用户特征数据以及用户标签;

处理模块602,用于采用所述自编码网络的编码层对所述训练样本进行编码,确定所述训练样本的嵌入特征;根据所述训练样本的嵌入特征和所述训练样本的用户特征数据确定所述自编码网络的相似度损失函数;

分析模块603,至少根据所述相似度损失函数确定所述自编码网络的损失函数;在所述自编码网络的损失函数没有满足预设条件时,采用所述自编码网络的损失函数调整所述自编码网络的参数,并采用调整后的自编码网络对所述训练样本进行编码,确定所述训练样本的嵌入特征;依次循环,直到所述自编码网络的损失函数满足所述预设条件时,训练结束。

可选地,所述处理模块602还用于:

采用所述自编码网络的解码层对所述训练样本的嵌入特征进行解码,确定所述训练样本的自编码结果;

根据所述训练样本和所述训练样本的自编码结果确定所述自编码网络的自编码损失函数;

可选地,所述分析模块603具体用于:

根据所述相似度损失函数和所述自编码损失函数确定所述自编码网络的损失函数。

可选地,所述处理模块602还用于:

将所述训练样本的嵌入特征输入分类器,确定所述训练样本的用户标签预测值;

根据所述训练样本的用户标签预测值和所述训练样本的用户标签真实值确定所述自编码网络的分类损失函数;

可选地,所述分析模块603具体用于:

根据所述相似度损失函数和所述分类损失函数确定所述自编码网络的损失函数。

可选地,所述处理模块602还用于:

采用所述自编码网络的解码层对所述训练样本的嵌入特征进行解码,确定所述训练样本的自编码结果;

根据所述训练样本和所述训练样本的自编码结果确定所述自编码网络的自编码损失函数;

将所述训练样本的嵌入特征输入分类器,确定所述训练样本的用户标签预测值;

根据所述训练样本的用户标签预测值和所述训练样本的用户标签真实值确定所述自编码网络的分类损失函数;

可选地,所述分析模块603具体用于:

根据所述相似度损失函数、所述分类损失函数和所述自编码损失函数确定所述自编码网络的损失函数。

可选地,所述分析模块603具体用于:

根据所述相似度损失函数、所述分类损失函数和所述自编码损失函数各自对应的预设参数对所述相似度损失函数、所述分类损失函数和所述自编码损失函数加权相加,确定所述自编码网络的损失函数。

可选地,所述自编码网络的损失函数满足所述预设条件为所述自编码网络的损失函数取最小值。

基于相同的技术构思,本申请实施例提供了一种终端设备,如图7所示,包括至少一个处理器701,以及与至少一个处理器连接的存储器702,本申请实施例中不限定处理器701与存储器702之间的具体连接介质,图7中处理器701和存储器702之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。

在本申请实施例中,存储器702存储有可被至少一个处理器701执行的指令,至少一个处理器701通过执行存储器702存储的指令,可以执行前述的确定用户标签的方法以及自编码网络的训练方法中所包括的步骤。

其中,处理器701是终端设备的控制中心,可以利用各种接口和线路连接终端设备的各个部分,通过运行或执行存储在存储器702内的指令以及调用存储在存储器702内的数据,从而确定用户标签和训练自编码网络。可选的,处理器701可包括一个或多个处理单元,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。在一些实施例中,处理器701和存储器702可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。

处理器701可以是通用处理器,例如中央处理器(cpu)、数字信号处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器702作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器702可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(randomaccessmemory,ram)、静态随机访问存储器(staticrandomaccessmemory,sram)、可编程只读存储器(programmablereadonlymemory,prom)、只读存储器(readonlymemory,rom)、带电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、磁性存储器、磁盘、光盘等等。存储器702是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器702还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。

基于同一发明构思,本申请实施例还提供一种计算机可读存储介质,该可读存储介质存储有计算机指令,当该计算机指令在终端设备上运行时,使得终端设备执行如前述的确定用户标签的方法以及自编码网络的训练方法的步骤。

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

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

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

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

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1