确定用户类型的方法及装置、电子设备
技术领域
本说明书一个或多个实施例涉及机器学习技术领域,尤其涉及一种确定用户类型的方法及装置、电子设备。
背景技术
随着互联网的发展,产生了对使用应用(Application,APP)的用户进行分类的需求,如:对于用于实现网络支付的APP,可以根据APP用户的支付行为确定APP用户所属的用户类型(例如:普通用户、商家用户)。随着业务模式的演进,需要提出准确度更高的用于确定用户所属类型的技术方案。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种确定用户类型的方法及装置、电子设备。
为实现上述目的,本说明书一个或多个实施例提供的技术方案如下:
一种确定用户类型的方法,包括:
获得目标用户的行为数据,并确定与所述行为数据对应的第一特征向量,所述行为数据包括多个与行为参数对应的特征值;
将所述第一特征向量输入自动编码器模型,输出第二特征向量;
计算所述第一特征向量和所述第二特征向量之间的距离;
将所述距离和设定阈值进行比较,并根据比较结果确定所述目标用户所属的用户类型。
一种确定用户类型的方法,包括:
获得目标用户的行为数据,并确定与所述行为数据对应的第一特征向量,所述行为数据包括多个与行为参数对应的特征值,所述行为参数为与所述目标用户参与的虚拟资源转移事件对应的参数;
将所述第一特征向量输入自动编码器模型,输出第二特征向量;
计算所述第一特征向量和所述第二特征向量之间的距离;
将所述距离和设定阈值进行比较,若所述距离大于所述设定阈值,确定所述目标用户为长尾商家。
一种确定用户类型的装置,包括:
向量确定单元,获得目标用户的行为数据,并确定与所述行为数据对应的第一特征向量,所述行为数据包括多个与行为参数对应的特征值;
输入单元,将所述第一特征向量输入自动编码器模型,输出第二特征向量;
计算单元,计算所述第一特征向量和所述第二特征向量之间的距离;
类型确定单元,将所述距离和设定阈值进行比较,并根据比较结果确定所述目标用户所属的用户类型。
一种确定用户类型的装置,包括:
向量确定单元,获得目标用户的行为数据,并确定与所述行为数据对应的第一特征向量,所述行为数据包括多个与行为参数对应的特征值,所述行为参数为与所述目标用户参与的虚拟资源转移事件对应的参数;
输入单元,将所述第一特征向量输入自动编码器模型,输出第二特征向量;
计算单元,计算所述第一特征向量和所述第二特征向量之间的距离;
类型确定单元,将所述距离和设定阈值进行比较,若所述距离大于所述设定阈值,确定所述目标用户为长尾商家。
通过以上技术方案可以看出,利用通过机器学习获得的自动编码器模型确定用户所属的类型,准确性较高。
在网络支付场景中,利用上述技术方案可以较准确地识别出属于长尾商家的用户。
附图说明
图1示出了一种示例性的网络环境;
图2示出了一种示例性的自动编码器(Autoencoder)的结构;
图3示出了一示例性实施例提供的一种确定用户类型的方法的流程;
图4示出了一示例性实施例提供的一种确定用户类型的装置所包含的各功能模块;
图5示出了一示例性实施例提供的一种电子设备的结构。
具体实施方式
图1示出了一种示例性的网络环境。其中,该网络环境中可包括网络设备以及若干与所述网络设备进行网络通信的用户设备(User Equipment,UE),所述网络设备可用于为所述UE提供各类资源和/或计算服务,还可以用于存储来自于所述用户设备的数据。所述网络设备可以是各种形式的计算设备,如:单个服务器、或服务器集群、或具有无线通信功能的终端设备(可包括手持设备、车载设备、可穿戴设备等)等。UE可以是固定的或移动的。UE还可以被称为另一术语,诸如移动台(MS)、用户终端(UT)、用户站(SS)、移动终端(MT)或无线设备。UE可以例如:电脑、手机、个人数字助理(PDA)、手表等。其中,对于Client/Server(C/S)架构,各个UE可安装有客户端(Client)程序,网络设备可安装有服务端(Server)程序,用户在使用UE时可通过客户端登录自己的账户。如图1所示,示例性绘出了两个用户设备A、B通过网络设备来实现某种网络事件,如:用户设备A上登录有账户a,用户设备B上登录有账户b,账户a和账户b参与一种虚拟资源(可包括虚拟货币、电子券等)转移事务,以将账户a所拥有的虚拟资源转移给账户b,或将账户b所拥有的虚拟资源转移给账户a。在上述网络环境中,网络事件可以由网络环境中的任意两个用户(或更多用户)来参与。在每一网络事件发生之后,可以产生与网络事件对应的数据,以网络支付事件为例,所产生的数据包括网络支付事件发生的时间、参与网络支付事件的账户、涉及的虚拟资源数额等。网络设备可以将网络事件所产生的数据存储到数据库中,以根据这些数据来确定各账户所属的用户类型。需要说明的是,确定用户所属的用户类型的方法可以由上述网络设备来执行,也可以由该网络设备之外的另一计算设备来执行。
本说明书实施例提供的一种确定用户类型的方法可基于自动编码器(Autoencoder)模型来实现。首先,对自动编码器进行介绍,参图2所示,自动编码器采用一种神经网络(Neural Networks)的算法,用于实现非监督学习的有效编码。自动编码器通常可为前馈神经网络(Feedforward Neural Network),自动编码器可包括:输入层、隐藏层(一层或多层)以及输出层。一般自动编码器的特点可包括如下两个方面:
(1)在训练学习阶段,自动编码器的输入层的输入(x1,x2,...xn)和输出层的目标输出大致为相等的。训练自动编码器的目的在于,使输出层的输出值约等于输入层的输入值,以达到输出层的输出重构(reconstruct)输入数据的效果。因此,自动编码器的输入层的节点数和输出层的节点数是一样的,如图2所示,输入层有n个节点,输出层也有n个节点。
(2)至少有一个隐藏层(称为bottleneck层)的节点数比输入层和输出层的节点数要少。
如图2所示,自动编码器将高维的输入(x1,x2,...xn)映射到隐藏层(低维空间),隐藏层的输出数据可用于表征输入(x1,x2,...xn),实现对输入(x1,x2,...xn)的有效编码。
在介绍确定用户类型的方法之前,需要先介绍通过机器学习获得自动编码器模型的方法。在一实施例中,训练自动编码器模型的方法包括如下步骤10和步骤20,其中:
步骤10:获取样本集中每一样本用户的行为数据,并根据所述行为数据确定每一样本用户对应的第一特征向量。其中所述样本集中包含N个属于第一类型的样本以及M各属于第二类型的样本,N>M。
对于各类网络平台(如网络支付平台、电子商务平台、约车平台等)而言,样本用户可以指从该网络平台上的全量用户中挑选出的一部分用于训练模型的用户,每一个被挑选的用户可称为一个样本。在一示例性场景中,若实际需求是将网络平台上的用户分为两种类型,如:定义第一类型和第二类型,其中,属于第一类型的用户可以占大多数,属于第二类型的用户可以占一小部分。一般地,不同类型的用户在参与网络事件的过程中所产生的行为数据存在一定的差异性,换言之,属于第一类型、第二类型的用户对应的行为数据通常遵循着不同的规律。以网络支付平台为例,若预定义的用户类型包括:“普通用户”和“商家用户”,通常,普通用户的转账频率比属于商家用户的转账频率低。
为了实现对用户的分类,在抽取到若干样本用户后,可以分别提取到每一用户在参与网络事件的过程中产生的行为数据。其中,所述行为数据可以包括多个与预定义的行为参数对应的特征值。继续以网络支付平台为例,所述行为参数可以为与用户参与的虚拟资源转移事件对应的参数,包括但不限于:在设定时间段(如7天或一个月)内的虚拟资源转入笔数、和/或在设定时间段(如7天或一个月)内的虚拟资源转出笔数、和/或在设定时间段(如7天或一个月)内的日均转入笔数、和/或在设定时间段(如7天或一个月)内的日均转出笔数、和/或在设定时间段(如7天或一个月)内的日均转入数额、和/或虚拟资源转移事件发生的频率。
在提取到各个样本用户对应的行为数据之后,可分别对每一样本用户的行为数据进行处理(如:归一化),以获得每一样本用户对应的第一特征向量,该第一特征向量可以反映出每一样本用户的行为数据的特征。
假设样本集中包含m个样本用户,则获得与样本集对应的第一特征向量的集合为:
{X1,X2,X3,...,Xm};
其中,Xi表示第i个样本用户的第一特征向量,1≤i≤m,
n可表示行为参数的数目。
步骤20:利用每一样本用户对应的第一特征向量,训练自动编码器模型,其中训练的目的为使得所述自动编码器模型的输入层的输入和输出层的实际输出之间的误差达到最小化要求。
在训练自动编码器模型的过程中,训练目的可以是令自动编码器模型的输入层的输入(input)为各样本用户的第一特征向量Xi:
输出层的目标输出(target output)为各样本用户的第一特征向量Xi:
自动编码器的输出层的实际输出为Xi':
可以计算出实际输出和目标输出之间的距离L(Xi,Xi'),所述距离可为欧式距离(Euclidean Distance)或曼哈顿距离(Manhattan Distance)等。
最终,可以通过最小化重构误差(Reconstruction Errors)算法,使得
达到最小化要求,从而得到训练完成的自动编码器模型。
可见,由于在样本集中,第一类型的样本数远大于第二类型的样本数,因此,训练过程中,所述第二类型的样本对训练过程所起的作用可忽略不计,自动编码器模型最终可学习到所述第一类型的用户的数据模式。换言之,在识别过程中,第一类型的用户对应的第一特征向量在输入该自动编码器模型之后,得到的实际输出和输入之间的误差会较小,而第二类型的用户对应的第一特征向量在输入该自动编码器模型之后,得到的实际输出和输入之间的误差会相对更大。
图3示出了一示例性实施例提供的一种确定用户类型的方法的流程,该方法可应用于网络设备。为了描述方便,本说明书实施例以网络设备为服务器为例对确定用户类型的方法进行说明,则上述网络设备可例如为:用于实现网络支付的服务器、或用于实现商品交易的服务器、或用于实现即时通信的服务器。在一实施例中,该方法可以包括步骤101~步骤107,其中:
在步骤101中,获得目标用户的行为数据,并确定与所述行为数据对应的第一特征向量,所述行为数据包括多个与行为参数对应的特征值。
以网络支付平台为例,所述行为参数可为与所述目标用户参与的虚拟资源转移事件对应的参数,包括但不限于:在设定时间段内的虚拟资源转入笔数、和/或在设定时间段内的虚拟资源转出笔数、和/或在设定时间段内的日均转入笔数、和/或在设定时间段内的日均转出笔数、和/或在设定时间段内的日均转入数额、和/或虚拟资源转移事件发生的频率,等等。
假设所需提取的行为参数的数量为n,则第一特征向量可记为X={x1,x2,x3,...,xn}。
在步骤103中,将第一特征向量X:{x1,x2,x3,...,xn}输入自动编码器模型,输出第二特征向量X':{x'1,x'2,x'3,...,x'n}。
在步骤105中,计算所述第一特征向量和所述第二特征向量之间的距离。
在步骤107中,将所述距离和设定阈值进行比较,并根据比较结果确定所述目标用户所属的用户类型。
关于设定阈值的确定,列举如下两种方式:
(1)在识别阶段,对于一个目标用户,自动编码器的输出层的输出和输入层的输入之间的距离,可代表这个目标用户偏离正常样本集(即属于第一类型的所有样本所组成的集合)的程度。在实际运用过程中,若需要识别出top h(排序在前h位)的属于第二类型的用户(即异常用户),则上述设定阈值的确定可以与h的取值相关,即,h越小,设定阈值越大,h越大,设定阈值越小。
(2)采用实验的方法,针对一批样本,假设已知这批样本的标签(即各样本所属的用户类型)。将这批样本的第一特征向量输入到自动编码器模型中,可以提供多个候选阈值,通过实验的方法来逐一验证每个候选阈值对应的效果(如通过一种与召回率、准确率相关的评价指标来验证效果)。最终,可以选择出效果评价最好的候选阈值作为上述设定阈值。
在可选的实施例中,在步骤107中,若所述距离小于所述设定阈值,则确定所述目标用户所属的用户类型为第一类型;若所述距离大于所述设定阈值,确定所述目标用户所属的用户类型为第二类型。
接下来,以网络支付平台为例,列举一种上述确定用户类型的方法的具体应用场景。
在使用网络支付APP的用户中,包含在商业活动中使用该网络支付APP进行转账的商家。这类商家一般可以通过与网络支付平台签约的方式成为平台签约商家,以使得网络支付平台可以更好地为商家提供服务。其中,这类平台签约商家通常是资金流动量较大或者转账频率较高的商家。然而,目前也有一部分从事商业活动的用户并没有与网络支付平台进行签约,但是这类用户也使用网络支付APP来实现商业活动过程中的转账。其中,可以将未与网络支付平台签约并且在商业活动中通过网络支付APP进行转账的用户定义为“长尾商家”,如:交易额较小或商业规模较小的诸如菜贩、水果摊、早点铺等线下商户。由于长尾商家和普通用户的网络支付行为所遵循的规律不同,如果能够通过技术手段识别出属于“长尾商家”的用户,则可对这些“长尾商家”提供针对性的服务(如:营销、小额信贷、保险、理财等),从而提高支付交易量或各服务产品的用户量。实际上,普通用户数远大于长尾商家数,因此,可将普通用户在参与网络支付事件的过程中产生的行为数据看作正常数据,将长尾商家在参与网络支付事件的过程中产生的行为数据看作异常数据。对应于上文内容,普通用户可对应于属于“第一类型”的用户,长尾商家可对应于属于“第二类型”的用户。
在网络支付场景中,一种确定用户类型的方法可包括如下步骤:
步骤201:获得目标用户的行为数据,并确定与所述行为数据对应的第一特征向量,所述行为数据包括多个与行为参数对应的特征值,所述行为参数为与所述目标用户参与的虚拟资源转移事件对应的参数。
步骤202:将所述第一特征向量输入自动编码器模型,输出第二特征向量;
步骤203:计算所述第一特征向量和所述第二特征向量之间的距离;
步骤204:将所述距离和设定阈值进行比较,若所述距离大于所述设定阈值,确定所述目标用户为长尾商家。
通过以上技术方案可以看出,利用通过机器学习获得的自动编码器模型确定用户所属的类型,准确性较高。在网络支付场景中,利用上述技术方案可以较准确地识别出属于长尾商家的用户。在实现过程中,可使用带少量噪声数据(如:与网络支付平台完成签约的签约商家)的样本集对自动编码器模型进行训练学习,以提高自动编码器模型的健壮性和泛化能力。
与上述方法相应,本说明书一个或多个实施例还提供一种确定用户类型的装置200,该装置200可以应用于网络设备(如用于实现各类网络事件的服务器)中。
如图4所示,在一实施例中,一种确定用户类型的装置200可包括:
向量确定单元210,获得目标用户的行为数据,并确定与所述行为数据对应的第一特征向量,所述行为数据包括多个与行为参数对应的特征值;
输入单元220,将所述第一特征向量输入自动编码器模型,输出第二特征向量;
计算单元230,计算所述第一特征向量和所述第二特征向量之间的距离;
类型确定单元250,并将所述距离和设定阈值进行比较,并根据比较结果确定所述目标用户所属的用户类型。
在一实施例中,装置200还可包括:
样本获取单元,获取样本集中每一样本用户的行为数据,并根据所述行为数据确定每一样本用户对应的第一特征向量,其中所述样本集中包含N个属于第一类型的样本以及M各属于第二类型的样本,N>M;
训练单元,利用每一样本用户对应的第一特征向量,训练自动编码器模型,其中训练的目的为使得所述自动编码器模型的输入层的输入和输出层的实际输出之间的误差达到最小化要求。
在一实施例中,所述类型确定单元250可以被配置为:
若所述距离小于所述设定阈值,则确定所述目标用户所属的用户类型为第一类型;
若所述距离大于所述设定阈值,确定所述目标用户所属的用户类型为第二类型;
其中,在用于训练所述自动编码器模型的样本集中,属于所述第一类型的样本数大于属于第二类型的样本数。
在一实施例中,所述行为参数可以为与所述目标用户参与的虚拟资源转移事件对应的参数。
以网络支付平台为例,在一种示例性的应用场景中,装置200可包括:
向量确定单元210,获得目标用户的行为数据,并确定与所述行为数据对应的第一特征向量,所述行为数据包括多个与行为参数对应的特征值,所述行为参数为与所述目标用户参与的虚拟资源转移事件对应的参数。
输入单元220,将所述第一特征向量输入自动编码器模型,输出第二特征向量;
计算单元230,计算所述第一特征向量和所述第二特征向量之间的距离;
类型确定单元250,并将所述距离和设定阈值进行比较,若所述距离大于所述设定阈值,确定所述目标用户为长尾商家。
如图5所示,本说明书一个或多个实施例提供了一种电子设备(如:用于实现各类网络事件的网络设备或其他类型的计算设备),可以包括处理器、内部总线、网络接口、存储器(包括内存以及非易失性存储器),当然还可能包括其他业务所需要的硬件。处理器可为中央处理单元(CPU)、处理单元、处理电路、处理器、专用集成电路(ASIC)、微处理器或可执行指令的其他处理逻辑中的一个或多个实例。处理器从非易失性存储器中读取对应的程序到内存中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在一种实施例中,处理器可以被配置为:
获得目标用户的行为数据,并确定与所述行为数据对应的第一特征向量,所述行为数据包括多个与行为参数对应的特征值;
将所述第一特征向量输入自动编码器模型,输出第二特征向量;
计算所述第一特征向量和所述第二特征向量之间的距离;
将所述距离和设定阈值进行比较,根据比较结果确定所述目标用户所属的用户类型。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同/相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例、装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书一个或多个实施例的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的权利要求范围之内。