数据处理方法、装置及服务器
技术领域
本说明书实施例涉及数据优化处理技术领域,特别涉及一种数据处理方法、装置及服务器。
背景技术
随着互联网消费时代的发展,越来越多的人会在一些电子商务平台购买商品,为了提高商品的购买率,往往可以基于电子商务平台中的历史交易数据,推断出用户与商家之间的关联度,进而向商家推荐高关联度的用户,以便于商家有针对性的进行商品营销、用户维护;或者向用户推荐高关联度的商家。
现有技术中需要确定商家与用户之间的关联度,往往可以根据原始的历史交易数据人为的设定并构建大量的特征,比如最近1天的交易量、最近一周的交易金额、月交易频率等等;然后,根据各个特征之间的比较来衡量商家与用户之间的关联度,例如用户A在商家X最近一周的交易金额为280元,用户B在商家X最近一周的交易金额为80元,相应的,根据该特征(最近一周的交易金额),可以判断出用户A与商家X之间的关联度大于用户B与商家X之间的关联度。但上述现有技术中用于确定用户和商家之间关联度的特征需要人为设定并构建,容易出现无效的特征,且对于大量的历史交易数据,往往存在处理效率低的问题。因此,需要提供更快速或更有效的方案。
发明内容
本说明书实施例的目的是提供一种数据处理方法、装置及服务器,可以快速有效的得到表征交易特征的交易嵌入特征数据,提高数据处理效率。
本说明书实施例是这样实现的:
一种数据处理方法,包括:
获取历史交易数据,确定所述历史交易数据中交易店铺和交易用户的特征向量;
将目标交易店铺所对应的第一预设数量的交易用户的特征向量作为所述目标交易店铺的交易特征向量;
将目标交易用户所对应的第二预设数量的交易店铺的特征向量作为所述目标交易用户的交易特征向量;
利用所述目标交易店铺的交易特征向量和所述目标交易用户的交易特征向量进行交易店铺和交易用户的交易表征学习,得到相应的交易店铺和交易用户的交易嵌入特征数据。
一种数据处理装置,包括:
历史交易数据获取模块,用于获取历史交易数据;
特征向量确定模块,用于确定所述历史交易数据中交易店铺和交易用户的特征向量;
第一交易特征向量确定模块,用于将目标交易店铺所对应的第一预设数量的交易用户的特征向量作为所述目标交易店铺的交易特征向量;
第二交易特征向量确定模块,用于将目标交易用户所对应的第二预设数量的交易店铺的特征向量作为所述目标交易用户的交易特征向量;
表征学习模块,用于利用所述目标交易店铺的交易特征向量和所述目标交易用户的交易特征向量进行交易店铺和交易用户的交易表征学习,得到相应的交易店铺和交易用户的交易嵌入特征数据。
一种数据处理服务器,包括处理器及存储器,所述存储器存储由所述处理器执行的计算机程序指令,所述计算机程序指令包括:
获取历史交易数据,确定所述历史交易数据中交易店铺和交易用户的特征向量;
将目标交易店铺所对应的第一预设数量的交易用户的特征向量作为所述目标交易店铺的交易特征向量;
将目标交易用户所对应的第二预设数量的交易店铺的特征向量作为所述目标交易用户的交易特征向量;
利用所述目标交易店铺的交易特征向量和所述目标交易用户的交易特征向量进行交易店铺和交易用户的交易表征学习,得到相应的交易店铺和交易用户的交易嵌入特征数据。
由以上可见,本说明书一个或多个实施例通过获取原始的历史交易数据;然后,直接将目标交易店铺所对应的第一预设数量的交易用户的特征向量作为所述目标交易店铺的交易特征向量;将目标交易用户所对应的第二预设数量的交易店铺的特征向量作为所述目标交易用户的交易特征向量;利用目标交易店铺的交易特征向量和所述目标交易用户的交易特征向量进行交易店铺和交易用户的交易表征学习,将交易特征增加到相应的交易店铺和交易用户的特征向量中,进而得到可以表征交易特征的交易嵌入特征数据。本说明书实施例直接利用原始的交易数据学习到可以表征交易特征的交易嵌入特征数据,不仅可以有效保证学习到的交易嵌入特征数据能直接表征交易特征,还可以提高数据处理效率。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书提供的数据处理方法的一种实施例的流程示意图;
图2是本说明书提供的利用所述目标交易店铺的交易特征向量和所述目标交易用户的交易特征向量进行交易店铺和交易用户的交易表征学习,得到相应的交易店铺和交易用户的交易嵌入特征数据的一种实施例的流程示意图;
图3是本说明书提供的确定隐藏关系特征数据的一种实施例的流程示意图;
图4是基于本说明书提供的数据处理方法得到的数据进行用户与商家之间关联度计算的一种实施例的示意图;
图5是本说明书提供的数据处理装置的一种实施例的结构示意图。
具体实施方式
本说明书实施例提供一种数据处理方法、装置及服务器。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
目前,在一些电子商务平台上,商家往往需要进行商品营销、用户维护等来提高商品的购买率。历史交易数据作为用户在商家(店铺)进行购物产生交易行为的记录,往往可以用来反映用户对店铺的喜好程度。因此,往往根据历史交易数据提取相关特征以进行用户与店铺之间的关联度的确定,进而进行相关的推荐处理来提高商品的购买率。现有的根据原始的历史交易数据人为设定并构建大量的特征过程中,人为构建的特征往往存在一定的主观性,容易出现无效的特征,导致提取的特征无法有效的表征用户与店铺之间的交易特征(所述交易特征可以包括反映用户的交易行为的特征)。基于此,可以提高计算用户与店铺之间关联度所采用的特征数据对交易特征的表征能力。
以下介绍本说明书数据处理方法的一种具体实施例。图1是本说明书提供的数据处理方法的一种实施例的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图1所示,所述方法可以包括:
S102:获取历史交易数据,确定所述历史交易数据中交易店铺和交易用户的特征向量。
本说明书实施例中,可以获取大量的历史交易数据,并确定历史交易数据所对应的每一交易店铺和交易用户的特征向量。
具体的,所述历史交易数据可以包括交易所对应的用户和店铺。所述交易店铺的特征向量可以包括预设维度的随机特征向量,且所述随机特征向量的每一特征值的取值范围为0-1。具体的,例如预设维度为三维,搜索随机特征向量可以为(0.6,0.4,0.5)。所述交易用户的特征向量可以包括预设维度的随机特征向量,且所述随机特征向量的预设维度的特征值之和为1。所述交易店铺的特征向量与所述交易用户的特征向量的维度相同。
S104:将目标交易店铺所对应的第一预设数量的交易用户的特征向量作为所述目标交易店铺的交易特征向量。
本说明书实施例中,可以将目标交易店铺所对应的第一预设数量的交易用户的特征向量作为所述目标交易店铺的交易特征向量。具体的,在一些实施例中,所述历史交易数据还可以包括交易时间。相应的,所述将目标交易店铺所对应的第一预设数量的交易用户的特征向量作为所述目标交易店铺的交易特征向量可以包括:
根据所述目标交易店铺所对应的交易数据中的交易时间选取与所述目标交易店铺相对应的第一预设数量的交易用户的特征向量;
将所述第一预设数量的交易用户的特征向量作为所述目标交易店铺的交易特征向量。
在一个具体的实施例中,根据交易时间选取与所述目标交易店铺相对应的第一预设数量的交易用户的特征向量可以包括按照交易时间先后,连续或者有规律的间隔选取第一预设数量的交易用户的特征向量;还可以包括按照交易时间,选取某一时间段内的第一预设数量的交易用户的特征向量。具体的,所述第一预设数量可以为预先根据实际需求设置的数量,例如设置为5,相应的,目标交易店铺的交易特征向量可以为(U1,U2,U3,U4,U5),其中,U1,U2,U3,U4,U5为所述目标交易店铺所对应的5个交易用户的特征向量。
S106:将目标交易用户所对应的第二预设数量的交易店铺的特征向量作为所述目标交易用户的交易特征向量。
本说明书实施例中,可以将目标交易用户所对应的第二预设数量的交易店铺的特征向量作为所述目标交易用户的交易特征向量。具体的,在一些实施例中,所述历史交易数据还可以包括交易时间。相应的,所述将目标交易用户所对应的第二预设数量的交易店铺的特征向量作为所述目标交易用户的交易特征向量可以包括:
根据所述目标交易用户所对应的交易数据中的交易时间选取与所述目标交易用户相对应的第二预设数量的交易店铺的特征向量;
将所述第二预设数量的交易店铺的特征向量作为所述目标交易用户的交易特征向量。
在一个具体的实施例中,根据交易时间选取与所述目标交易用户相对应的第二预设数量的交易店铺的特征向量可以包括按照交易时间先后,连续或者有规律的间隔选取第二预设数量的交易店铺的特征向量;还可以包括按照交易时间,选取某一时间段内的第二预设数量的交易店铺的特征向量。具体的,所述第二预设数量可以为预先根据实际需求设置的数量,所述第二预设数量可以与所述第一预设数量不同,优选的,所述第二预设数量可以与所述第一预设数量相同。具体的。例如所述第二预设数量设置为5,相应的,目标交易用户的交易特征向量可以为(S1,S2,S3,S4,S5),其中,S1,S2,S3,S4,S5为所述目标交易用户所对应的5个交易店铺的特征向量。
S108:利用所述目标交易店铺的交易特征向量和所述目标交易用户的交易特征向量进行交易店铺和交易用户的交易表征学习,得到相应的交易店铺和交易用户的交易嵌入特征数据。
本说明书实施例中可以利用所述目标交易店铺的交易特征向量和所述目标交易用户的交易特征向量进行交易店铺和交易用户的交易表征学习,得到相应的交易店铺和交易用户的交易嵌入特征数据。如图2所示,图2是本说明书提供的利用所述目标交易店铺的交易特征向量和所述目标交易用户的交易特征向量进行交易店铺和交易用户的交易表征学习,得到相应的交易店铺和交易用户的交易嵌入特征数据的一种实施例的流程示意图,具体的,可以包括:
S202:分别对所述目标交易店铺的交易特征向量和所述目标交易用户的交易特征向量进行预处理,得到所述目标交易店铺和所述目标交易用户的交易表征向量。
具体的,本说明书实施例中,由于交易特征向量包括一个或多个特征向量,为了保证交易特征向量与相应的特征向量为相同维度的特征向量,以便于后续的计算,可以对交易特征向量进行预处理。具体的,所述预处理可以包括下述任意一种:
平均值计算处理、求和计算处理、取最大值处理、加权平均值计算处理。
以平均值计算处理为例,可以对交易特征向量所对应的多个特征向量进行平均值计算处理,然后将得到的平均值向量作为相应的交易表征向量。另外,对于交易特征向量对应一个特征向量的情况,对一个特征向量的平均值计算处理得到的还是该特征向量。
S204:对所述目标交易店铺的交易表征向量和所述目标交易店铺的特征向量进行归一化处理,基于预设损失函数计算所述目标交易店铺归一化后的交易表征向量和特征向量之间的差异度。
本说明书实施例可以对所述目标交易店铺的交易表征向量和所述目标交易店铺的特征向量进行归一化处理,这样可以保证计算损失函数时,两个向量之间为相同维度且相同量级的向量。具体的,所述归一化处理可以包括采用softmax柔性最大值传输函数的方式,但本说明书实施例并不以此为限。相应的归一化后的交易表征向量和特征向量的特征值之和为1,且每一特征值的取值范围在0-1。例如一个三维的向量(0.1,0.3,0.6)。
在归一化处理之后,可以基于预设损失函数计算所述目标交易店铺归一化后的交易表征向量和特征向量之间的差异度。将相应的预设损失函数的值作为差异度。具体的,本说明书实施例所述预设损失函数至少可以包括下述之一:
相对熵函数、0-1损失函数、对数损失函数、指数损失函数、负交叉熵和平方差函数。
以相对熵函数为例,H(S,Z)=∑(S·log(S/Z)),这里H(S,Z)表示目标交易店铺归一化后的交易表征向量与特征向量之间的相对熵;S表示目标交易店铺归一化后的特征向量;Z目标交易店铺归一化后的交易表征向量。相应的计算得到的相对熵的值可以作为所述目标交易店铺归一化后的交易表征向量与特征向量之间差异度。
由上述可见,当预设损失函数所对应的值越大,相应的向量之间的差异度越大;反之,当预设损失函数所对应的值越小,相应的向量之间的差异度越小。
S206:调整所述目标交易店铺所对应的第一预设数量的交易用户的特征向量以改变所述目标交易店铺的交易特征向量,重复上述对所述目标交易店铺的交易特征向量的预处理至计算差异度的步骤至所述目标交易店铺归一化后的交易表征向量和特征向量之间的差异度符合第一预设条件。
为了缩小所述目标交易店铺的归一化后的交易表征向量与特征向量之间差异度,可以调整所述目标交易店铺所对应的第一预设数量的交易用户的特征向量以改变所述目标交易店铺的交易特征向量,然后重复上述S202中对所述目标交易店铺的交易特征向量进行预处理和S204的步骤至所述目标交易店铺归一化后的交易表征向量和特征向量之间的差异度符合第一预设条件。其中,所述第一预设条件可以包括当前的差异度与上一次计算得到的差异度的差值小于等于第一预设值或者相邻的差异度之间的差值小于等于第一预设值的次数大于等于第一预设次数。具体的,所述第一预设值和所述第一预设次数可以结合实际应用需求预先设置。
当所述目标交易店铺归一化后的交易表征向量和特征向量之间的差异度符合第一预设条件,所述目标交易店铺归一化后的交易表征向量和当前的特征向量之间的差异度较小且趋于稳定。
S208:将符合所述第一预设条件时所述目标交易店铺所对应的交易用户的特征向量作为所述目标交易用户的特征向量,对所述目标交易用户的特征向量和交易表征向量进行归一化处理,基于预设损失函数计算所述目标交易用户归一化后的特征向量和交易表征向量之间的差异度。
具体的,这里的归一化处理和基于预设损失函数的计算可以参见上述相关的步骤,在此不再赘述。
S210:调整所述目标交易用户所对应的第二预设数量的交易店铺的特征向量以改变所述目标交易用户的交易特征向量,重复上述对所述目标交易用户的交易特征向量的预处理至计算差异度的步骤至所述目标交易用户归一化后的交易表征向量和特征向量之间的差异度符合第二预设条件。
具体的,所述第二预设条件可以包括当前的差异度与上一次计算得到的差异度的差值小于等于第二预设值或者相邻的差异度之间的差值小于等于第二预设值的次数大于等于第二预设次数。具体的,所述第二预设值和所述第二预设次数可以结合实际应用需求预先设置。所述第二预设值可以与所述第一预设值相同,也可以不同;所述第二预设次数可以与所述第一预设次数相同,也可以不同。
当所述目标交易用户归一化后的交易表征向量和特征向量之间的差异度符合第二预设条件,所述目标交易用户归一化后的交易表征向量和当前的特征向量之间的差异度较小且趋于稳定。
S212:将符合所述第二预设条件时的所述目标交易用户所对应的交易店铺的特征向量作为所述目标交易店铺的特征向量,重复上述预处理至计算差异度的步骤至所述目标交易店铺归一化后的交易表征向量和特征向量之间的差异度符合第一预设条件且所述目标交易用户归一化后的交易表征向量和特征向量之间的差异度符合第二预设条件。
S214:将所述目标交易店铺归一化后的交易表征向量和特征向量之间的差异度符合第一预设条件且所述目标交易用户归一化后的交易表征向量和特征向量之间的差异度符合第二预设条件时的交易用户和交易店铺的特征向量分别作为相应的交易用户和交易店铺的交易嵌入特征数据。
本说明书实施例通过不断交替调整交易用户和交易店铺的特征向量,重复上述基于预设损失函数计算相应的向量之间的差异度,来减少预设损失函数的计算值的过程中可以将交易特征增加到相应的交易用户与交易店铺的特征向量中,进而得到可以表征交易特征的交易嵌入特征数据。
此外,需要说明的是,本说明书实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。例如,上述步骤S204和S206中先对目标交易店铺的交易表征向量的特征向量进行归一化、相应的差异度计算以及特征向量的调整处理;然后再对目标交易用户的交易表征向量的特征向量进行归一化、相应的差异度计算以及特征向量的调整处理。在另一些实施例中,还可以先对目标交易用户的交易表征向量的特征向量进行归一化、相应的差异度计算以及特征向量的调整处理,然后对目标交易店铺的交易表征向量的特征向量进行归一化、相应的差异度计算以及特征向量的调整处理。当然,这种情况下,可将符合所述第二预设条件时所述目标交易用户所对应的交易店铺的特征向量作为所述目标交易店铺的特征向量。
在另一些实施例中,为了更好的表征交易特征,可以采用多个损失函数生成多个交易嵌入特征数据,来挖掘不同的交易特征。相应的,所述方法还可以包括:
基于至少两种类型的预设损失函数计算所述目标交易用户的特征向量和所述目标交易用户的交易表征向量之间的差异度,以及计算所述目标交易店铺归一化后的交易表征向量和所述目标交易店铺的特征向量之间的差异度;
相应的,所述交易用户和交易店铺的交易嵌入特征数据至少包括两种类型的交易嵌入特征数据。
在另一些实施例中,如图3所示,图3是本说明书提供的确定隐藏关系特征数据的一种实施例的流程示意图。具体的,可以包括:
S302:分别选取交易用户和交易店铺的任意两种类型的交易嵌入特征数据。
S304:将交易用户的任意两种类型的交易嵌入特征数据分别作为输入层和输出层,中间加入第一预设隐藏层构建第一神经网络。
任意两种类型的交易嵌入特征数据分别作为输入层和输出层可以包括将某一交易嵌入特征数据作为输入层,另一交易嵌入特征数据作为输出层;以及对输入层和输出层的交易嵌入特征数据进行互换。
具体的,所述第一预设隐藏层可以包括一层或多层的隐藏层。在构建所述第一神经网络时所述第一预设隐藏层和输入层之间的激活函数可以采用tanh双曲正切函数,但本说明书实施例并不以此为限。
S306:将交易店铺的任意两种类型的交易嵌入特征数据分别作为输入层和输出层,中间加入第二预设隐藏层构建第二神经网络。
这里构建第二神经网络的步骤可以参见上述构建第一神经网络的描述,在此不再赘述。
S308:基于构建的第一神经网络的学习训练,得到交易用户的任意两种类型的交易嵌入特征信息之间的隐藏关系特征数据。
S310:基于构建的第二神经网络的学习训练,得到交易店铺的任意两种类型的交易嵌入特征信息之间的隐藏关系特征数据。
本说明书实施例由于不同类型的交易嵌入特征数据可以从不同的角度表征交易特征,本说明书实施例可以通过获取可以反映不同类型的交易特征数据之间的关系的隐藏关系特征数据,后续可以更好的确定用户与店铺之间的关联度。
由于用户与店铺之间的交易可以反映用户与店铺之间的关联度,因此,可以利用表征交易特征的交易嵌入特征数据来确定用户与店铺之间的关联度,并基于该关联度来进行相应的推荐处理。相应的,所述方法还可以包括:
利用交易店铺和交易用户的交易嵌入特征数据计算交易用户与交易店铺之间的关联度;
对关联度大于等于预设关联值的交易嵌入特征数据所对应的交易店铺和交易用户之间进行推荐处理。
具体的,本说明书实施例中所述利用交易店铺和交易用户的交易嵌入特征数据计算交易用户与交易店铺之间的关联度可以包括计算所述交易用户和交易店铺的交易嵌入特征数据之间的距离。在一个具体的实施例中,交易嵌入特征数据之间的距离可以为交易嵌入特征数据之间欧氏距离,当基于两个交易嵌入特征数据计算得到的欧氏距离的数值越小,可以表示相应的交易用户和交易店铺之间的关联程度越好,关联度越高;反之,当基于两个交易嵌入特征数据计算得到的欧氏距离的数值越大,可以表示相应的交易用户和交易店铺之间的关联程度越差,关联度越低。
当然,本说明书实施例中交易嵌入特征数据之间的距离不仅限于上述的欧式距离,还可以包括余弦距离、曼哈顿距离等,本说明书实施例所述交易嵌入特征数据之间的距离并不以上述为限。
具体的,所述预设关联值可以包括根据实际应用需求预先设置的推荐条件。当交易用户和交易店铺的交易嵌入特征数据之间的关联度大于所述预设关联值时,可以对相应的交易用户与交易店铺之间进行推荐处理。
在另一些实施例中,所述方法还可以包括:
分别将交易店铺和交易用户的交易嵌入特征数据和相应的隐藏关系特征数据作为相应的交易店铺和交易用户的表征数据;
利用交易店铺和交易用户的表征数据计算交易用户与交易店铺之间的关联度;
对关联度大于等于预设关联值的表征数据所对应的交易店铺和交易用户之间进行推荐处理。
这里利用交易店铺和交易用户的表征数据计算交易用户与交易店铺之间的关联度可以包括计算所述交易用户和交易店铺的表征数据之间的距离。这里计算表征数据之间的距离可参见上述计算交易嵌入特征数据之间的距离,在此不再赘述。
在另一些实施例中,所述方法还可以包括:
基于预设机器学习算法对交易店铺和交易用户的交易嵌入特征数据进行关联推荐训练,得到第一关联推荐模型;
基于所述第一关联推荐模型的输出结果进行交易用户和交易店铺之间的推荐处理。
本说明书实施例可以基于预设机器学习算法对交易店铺和交易用户的交易嵌入特征数据进行关联推荐训练,得到第一关联推荐模型,用所述第一关联推荐模型来确定交易用户和交易店铺之间的关联的概率,将关联的概率高于预设的概率值的作为输出结果以进行推荐处理。具体的,所述预设的概率值可以根据实际应用中对用户与店铺之间的关联度的要求设置。
在另一些实施例中,所述方法还可以包括:
基于预设机器学习算法对交易店铺和交易用户的交易嵌入特征数据和相应的隐藏关系特征数据进行关联推荐训练,得到第二关联推荐模型;
基于所述第二关联推荐模型的输出结果进行交易用户和交易店铺之间的推荐处理。
本说明书实施例可以基于预设机器学习算法对交易店铺和交易用户的交易嵌入特征数据和相应的隐藏关系特征数据进行关联推荐训练,得到第二关联推荐模型,用所述第二关联推荐模型来确定交易用户和交易店铺之间的关联的概率,将关联的概率高于预设的概率值的作为输出结果以进行推荐处理。具体的,所述预设的概率值可以根据实际应用中对用户与店铺之间的关联度的要求设置。
由此可见,本说明书一种数据处理方法的一个或多个实施例通过获取原始的历史交易数据;然后,直接将目标交易店铺所对应的第一预设数量的交易用户的特征向量作为所述目标交易店铺的交易特征向量;将目标交易用户所对应的第二预设数量的交易店铺的特征向量作为所述目标交易用户的交易特征向量;利用目标交易店铺的交易特征向量和所述目标交易用户的交易特征向量进行交易店铺和交易用户的交易表征学习,将交易特征增加到相应的交易店铺和交易用户的特征向量中,进而得到可以表征交易特征的交易嵌入特征数据。本说明书实施例直接利用原始的交易数据学习到可以表征交易特征的交易嵌入特征数据,不仅可以有效保证学习到的交易嵌入特征数据能直接表征交易特征,还可以提高数据处理效率。
如图4所示,图4是基于本说明书提供的数据处理方法得到的数据进行用户与商家之间关联度计算的一种实施例的示意图;以下结合图4介绍基于本说明书实施例提供的数据处理方法得到的数据进行用户与商家之间关联度计算的一种实施例,从图4中可见,在一个具体的实施例中,根据历史交易数据以店铺为中心,选取5个与该店铺进行过交易的用户:用户1,用户2,用户3,用户4和用户5;以及根据历史交易数据以用户为中心,选取5个与该用户进行过交易的店铺:店铺1,店铺2,店铺3,店铺4和店铺5;接着,对5个用户和5个店铺的所对应的特征向量进行平均值计算的预处理;然后,通过不断交替调整交易用户和交易店铺的特征向量重复归一化处理,以及分别基于相对熵函数和平方差函数计算相应的向量之间的差异度,来减少预设损失函数的计算值的过程中可以将交易特征增加到相应的交易用户与交易店铺的特征向量中,进而得到可以表征交易特征的交易嵌入特征数据U1、U2、S1、S2;然后,利用用户的交易嵌入特征数据U1、U2确定出可以反映U1、U2之间关系的隐藏关系特征数据H_U12;以及利用店铺的交易嵌入特征数据S1、S2确定出可以反映S1、S2之间关系的隐藏关系特征数据H_S12;接着,将U1、U2、H_U12作为用户的表征数据,将S1、S2、H_S12作为店铺的表征数据;最后,基于用户与店铺的表征数据之间的计算来确定用户与店铺之间的关联度。这里用来确定用户与店铺之间的关联度的特征数据不仅包括了多个可以表征交易特征的交易嵌入特征数据,还包括可以反映交易嵌入特征数据之间关系的隐藏关系特征数据,实现将基于原始的历史交易数据的不同过程学习到的特征进行融合起来,可以更好的体现用户和店铺之间的关联度。
本说明书另一方面还提供一种数据处理装置,图5是本说明书提供的数据处理装置的一种实施例的结构示意图,如图5所示,所述装置500可以包括:
历史交易数据获取模块510,可以用于获取历史交易数据;
特征向量确定模块520,可以用于确定所述历史交易数据中交易店铺和交易用户的特征向量;
第一交易特征向量确定模块530,可以用于将目标交易店铺所对应的第一预设数量的交易用户的特征向量作为所述目标交易店铺的交易特征向量;
第二交易特征向量确定模块540,可以用于将目标交易用户所对应的第二预设数量的交易店铺的特征向量作为所述目标交易用户的交易特征向量;
表征学习模块550,可以用于利用所述目标交易店铺的交易特征向量和所述目标交易用户的交易特征向量进行交易店铺和交易用户的交易表征学习,得到相应的交易店铺和交易用户的交易嵌入特征数据。
另一实施例中,所述表征学习模块550可以包括:
预处理单元,可以用于分别对所述目标交易店铺的交易特征向量和所述目标交易用户的交易特征向量进行预处理,得到所述目标交易店铺和所述目标交易用户的交易表征向量;
第一归一化处理单元,可以用于对所述目标交易店铺的交易表征向量和所述目标交易店铺的特征向量进行归一化处理;
第一差异度计算单元,可以用于基于预设损失函数计算所述目标交易店铺归一化后的交易表征向量和特征向量之间的差异度;
第一调整处理单元,可以用于调整所述目标交易店铺所对应的第一预设数量的交易用户的特征向量以改变所述目标交易店铺的交易特征向量,重复上述对所述目标交易店铺的交易特征向量的预处理至计算差异度的步骤至所述目标交易店铺归一化后的交易表征向量和特征向量之间的差异度符合第一预设条件;
第二归一化处理单元,可以用于将符合所述第一预设条件时所述目标交易店铺所对应的交易用户的特征向量作为所述目标交易用户的特征向量,对所述目标交易用户的特征向量和交易表征向量进行归一化处理;
第二差异度计算单元,可以用于基于预设损失函数计算所述目标交易用户归一化后的特征向量和交易表征向量之间的差异度;
第二调整处理单元,可以用于调整所述目标交易用户所对应的第二预设数量的交易店铺的特征向量以改变所述目标交易用户的交易特征向量,重复上述对所述目标交易用户的交易特征向量的预处理至计算差异度的步骤至所述目标交易用户归一化后的交易表征向量和特征向量之间的差异度符合第二预设条件;
数据处理单元,可以用于将符合所述第二预设条件时的所述目标交易用户所对应的交易店铺的特征向量作为所述目标交易店铺的特征向量,重复上述预处理至计算差异度的步骤至所述目标交易店铺归一化后的交易表征向量和特征向量之间的差异度符合第一预设条件且所述目标交易用户归一化后的交易表征向量和特征向量之间的差异度符合第二预设条件;
交易嵌入特征数据确定单元,可以用于将所述目标交易店铺归一化后的交易表征向量和特征向量之间的差异度符合第一预设条件且所述目标交易用户归一化后的交易表征向量和特征向量之间的差异度符合第二预设条件时的交易用户和交易店铺的特征向量分别作为相应的交易用户和交易店铺的交易嵌入特征数据。
另一实施例中,所述装置500还可以包括:
数据处理模块,可以用于基于至少两种类型的预设损失函数计算所述目标交易用户的特征向量和所述目标交易用户的交易表征向量之间的差异度,以及计算所述目标交易店铺归一化后的交易表征向量和所述目标交易店铺的特征向量之间的差异度;
相应的,所述交易用户和交易店铺的交易嵌入特征数据至少包括两种类型的交易嵌入特征数据。
另一实施例中,所述装置500还可以包括:
交易嵌入特征数据选取模块,可以用于分别选取交易用户和交易店铺的任意两种类型的交易嵌入特征数据;
第一神经网络构建模块,可以用于将交易用户的任意两种类型的交易嵌入特征数据分别作为输入层和输出层,中间加入第一预设隐藏层构建第一神经网络;
第二神经网络构建模块,可以用于将交易店铺的任意两种类型的交易嵌入特征数据分别作为输入层和输出层,中间加入第二预设隐藏层构建第二神经网络;
第一学习训练模块,可以用于基于构建的第一神经网络的学习训练,得到交易用户的任意两种类型的交易嵌入特征信息之间的隐藏关系特征数据;
第二学习训练模块,可以用于基于构建的第二神经网络的学习训练,得到交易店铺的任意两种类型的交易嵌入特征信息之间的隐藏关系特征数据。
另一实施例中,所述预处理可以包括下述任意一种:
平均值计算处理、求和计算处理、取最大值处理、加权平均值计算处理。
另一实施例中,所述历史交易数据还可以包括:交易时间。
另一实施例中,所述第一交易特征向量确定模块530可以包括:
第一特征向量选取单元,可以用于根据所述目标交易店铺所对应的交易数据中的交易时间选取与所述目标交易店铺相对应的第一预设数量的交易用户的特征向量;
第一交易特征向量确定单元,可以用于将所述第一预设数量的交易用户的特征向量作为所述目标交易店铺的交易特征向量。
另一实施例中,所述第二交易特征向量确定模块540可以包括:
第二特征向量选取单元,可以用于根据所述目标交易用户所对应的交易数据中的交易时间选取与所述目标交易用户相对应的第二预设数量的交易店铺的特征向量;
第二交易特征向量确定单元,可以用于将所述第二预设数量的交易店铺的特征向量作为所述目标交易用户的交易特征向量。
另一实施例中,所述装置还可以包括:
第一关联度计算模块,可以用于利用交易店铺和交易用户的交易嵌入特征数据计算交易用户与交易店铺之间的关联度;
第一推荐处理模块,可以用于对关联度大于等于预设关联值的交易嵌入特征数据所对应的交易店铺和交易用户之间进行推荐处理。
另一实施例中,所述装置500还可以包括:
表征数据确定模块,可以用于分别将交易店铺和交易用户的交易嵌入特征数据和相应的隐藏关系特征数据作为相应的交易店铺和交易用户的表征数据;
第二关联度计算模块,可以用于利用交易店铺和交易用户的表征数据计算交易用户与交易店铺之间的关联度;
第二推荐处理模块,可以用于对关联度大于等于预设关联值的表征数据所对应的交易店铺和交易用户之间进行推荐处理。
另一实施例中,所述装置500还可以包括:
第一关联推荐模型确定模块,可以用于基于预设机器学习算法对交易店铺和交易用户的交易嵌入特征数据进行关联推荐训练,得到第一关联推荐模型;
第三推荐处理模块,可以用于基于所述第一关联推荐模型的输出结果进行交易用户和交易店铺之间的推荐处理。
另一实施例中,所述装置500还可以包括:
第二关联推荐模型确定模块,可以用于基于预设机器学习算法对交易店铺和交易用户的交易嵌入特征数据和相应的隐藏关系特征数据进行关联推荐训练,得到第二关联推荐模型;
第四推荐处理模块,可以用于基于所述第二关联推荐模型的输出结果进行交易用户和交易店铺之间的推荐处理。
本说明书实施例提供的上述数据处理方法或装置可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作系统的c++语言在PC端实现,或其他例如使用android、iOS系统程序设计语言在智能终端实现,以及基于量子计算机的处理逻辑实现等。因此,本说明书另一方面还提供一种数据处理服务器,包括处理器及存储器,所述存储器存储由所述处理器执行的计算机程序指令,所述计算机程序指令可以包括:
获取历史交易数据,确定所述历史交易数据中交易店铺和交易用户的特征向量;
将目标交易店铺所对应的第一预设数量的交易用户的特征向量作为所述目标交易店铺的交易特征向量;
将目标交易用户所对应的第二预设数量的交易店铺的特征向量作为所述目标交易用户的交易特征向量;
利用所述目标交易店铺的交易特征向量和所述目标交易用户的交易特征向量进行交易店铺和交易用户的交易表征学习,得到相应的交易店铺和交易用户的交易嵌入特征数据。
具体的,本说明书实施例中,所述的处理器可以包括中央处理器(CPU),当然也可以包括其他的具有逻辑处理能力的单片机、逻辑门电路、集成电路等,或其适当组合。所述存储器可以包括非易失性存储器等。
所述利用所述目标交易店铺的交易特征向量和所述目标交易用户的交易特征向量进行交易店铺和交易用户的交易表征学习,得到相应的交易店铺和交易用户的交易嵌入特征数据可以包括:
分别对所述目标交易店铺的交易特征向量和所述目标交易用户的交易特征向量进行预处理,得到所述目标交易店铺和所述目标交易用户的交易表征向量;
对所述目标交易店铺的交易表征向量和所述目标交易店铺的特征向量进行归一化处理,基于预设损失函数计算所述目标交易店铺归一化后的交易表征向量和特征向量之间的差异度;
调整所述目标交易店铺所对应的第一预设数量的交易用户的特征向量以改变所述目标交易店铺的交易特征向量,重复上述对所述目标交易店铺的交易特征向量的预处理至计算差异度的步骤至所述目标交易店铺归一化后的交易表征向量和特征向量之间的差异度符合第一预设条件;
将符合所述第一预设条件时所述目标交易店铺所对应的交易用户的特征向量作为所述目标交易用户的特征向量,对所述目标交易用户的特征向量和交易表征向量进行归一化处理,基于预设损失函数计算所述目标交易用户归一化后的特征向量和交易表征向量之间的差异度;
调整所述目标交易用户所对应的第二预设数量的交易店铺的特征向量以改变所述目标交易用户的交易特征向量,重复上述对所述目标交易用户的交易特征向量的预处理至计算差异度的步骤至所述目标交易用户归一化后的交易表征向量和特征向量之间的差异度符合第二预设条件;
将符合所述第二预设条件时的所述目标交易用户所对应的交易店铺的特征向量作为所述目标交易店铺的特征向量,重复上述预处理至计算差异度的步骤至所述目标交易店铺归一化后的交易表征向量和特征向量之间的差异度符合第一预设条件且所述目标交易用户归一化后的交易表征向量和特征向量之间的差异度符合第二预设条件;
将所述目标交易店铺归一化后的交易表征向量和特征向量之间的差异度符合第一预设条件且所述目标交易用户归一化后的交易表征向量和特征向量之间的差异度符合第二预设条件时的交易用户和交易店铺的特征向量分别作为相应的交易用户和交易店铺的交易嵌入特征数据。
另一实施例中,所述计算机程序指令还可以包括:
基于至少两种类型的预设损失函数计算所述目标交易用户的特征向量和所述目标交易用户的交易表征向量之间的差异度,以及计算所述目标交易店铺归一化后的交易表征向量和所述目标交易店铺的特征向量之间的差异度;
相应的,所述交易用户和交易店铺的交易嵌入特征数据至少包括两种类型的交易嵌入特征数据。
另一实施例中,所述计算机程序指令还可以包括:
分别选取交易用户和交易店铺的任意两种类型的交易嵌入特征数据;
将交易用户的任意两种类型的交易嵌入特征数据分别作为输入层和输出层,中间加入第一预设隐藏层构建第一神经网络;
将交易店铺的任意两种类型的交易嵌入特征数据分别作为输入层和输出层,中间加入第二预设隐藏层构建第二神经网络;
基于构建的第一神经网络的学习训练,得到交易用户的任意两种类型的交易嵌入特征信息之间的隐藏关系特征数据;
基于构建的第二神经网络的学习训练,得到交易店铺的任意两种类型的交易嵌入特征信息之间的隐藏关系特征数据。
另一实施例中,其中,所述预处理可以包括下述任意一种:
平均值计算处理、求和计算处理、取最大值处理、加权平均值计算处理。
另一实施例中,其中,所述历史交易数据还包括:交易时间。
另一实施例中,所述将目标交易店铺所对应的第一预设数量的交易用户的特征向量作为所述目标交易店铺的交易特征向量包括:
根据所述目标交易店铺所对应的交易数据中的交易时间选取与所述目标交易店铺相对应的第一预设数量的交易用户的特征向量;
将所述第一预设数量的交易用户的特征向量作为所述目标交易店铺的交易特征向量。
另一实施例中,所述将目标交易用户所对应的第二预设数量的交易店铺的特征向量作为所述目标交易用户的交易特征向量包括:
根据所述目标交易用户所对应的交易数据中的交易时间选取与所述目标交易用户相对应的第二预设数量的交易店铺的特征向量;
将所述第二预设数量的交易店铺的特征向量作为所述目标交易用户的交易特征向量。
另一实施例中,所述计算机程序指令还包括:
利用交易店铺和交易用户的交易嵌入特征数据计算交易用户与交易店铺之间的关联度;
对关联度大于等于预设关联值的交易嵌入特征数据所对应的交易店铺和交易用户之间进行推荐处理。
另一实施例中,所述计算机程序指令还可以包括:
分别将交易店铺和交易用户的交易嵌入特征数据和相应的隐藏关系特征数据作为相应的交易店铺和交易用户的表征数据;
利用交易店铺和交易用户的表征数据计算交易用户与交易店铺之间的关联度;
对关联度大于等于预设关联值的表征数据所对应的交易店铺和交易用户之间进行推荐处理。
另一实施例中,所述计算机程序指令还可以包括:
基于预设机器学习算法对交易店铺和交易用户的交易嵌入特征数据进行关联推荐训练,得到第一关联推荐模型;
基于所述第一关联推荐模型的输出结果进行交易用户和交易店铺之间的推荐处理。
另一实施例中,所述计算机程序指令还可以包括:
基于预设机器学习算法对交易店铺和交易用户的交易嵌入特征数据和相应的隐藏关系特征数据进行关联推荐训练,得到第二关联推荐模型;
基于所述第二关联推荐模型的输出结果进行交易用户和交易店铺之间的推荐处理。
由此可见,本说明书一种数据处理方法、装置、或服务器的实施例通过获取原始的历史交易数据;然后,直接将目标交易店铺所对应的第一预设数量的交易用户的特征向量作为所述目标交易店铺的交易特征向量;将目标交易用户所对应的第二预设数量的交易店铺的特征向量作为所述目标交易用户的交易特征向量;利用目标交易店铺的交易特征向量和所述目标交易用户的交易特征向量进行交易店铺和交易用户的交易表征学习,将交易特征增加到相应的交易店铺和交易用户的特征向量中,进而得到可以表征交易特征的交易嵌入特征数据。本说明书实施例直接利用原始的交易数据学习到可以表征交易特征的交易嵌入特征数据,不仅可以有效保证学习到的交易嵌入特征数据能直接表征交易特征,还可以提高数据处理效率。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在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)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、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、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。