一种数据处理方法和装置与流程

文档序号:17080152发布日期:2019-03-09 00:09阅读:174来源:国知局
一种数据处理方法和装置与流程

本发明涉及互联网技术领域,尤其涉及一种数据处理方法和装置。



背景技术:

随着网络的飞速发展以及智能手机的普及,衍生出了各种各式各样的社交网络平台,在这些社交网络平台中的用户可选择具有相似特征的个体作为朋友,进而构建一个与该用户相关的好友关系网络,以便于该用户能随时随地与该好友关系网络中的朋友进行文字、语音或视频交流。但是随着社交平台上网络用户数量的增加,各用户之间的好友关系网络也变得越来越复杂,进而增加了计算该社交网络平台中所有用户之间的社交同质性的难度。

现有的社交同质性计算方法通常是统计好友关系网络中好友之间的共同个数统计特征,并对每个统计特征进行加权计算,即该方法主要是利用关系好友之间共同关注数、共同阅读转发数、共同好友数等特征以及与每个特征分别对应的加权值,计算该好友关系网络中好友之间的用户相似度。但是,该方法仅仅是对用户行为数据进行非常浅层、粗粒度的数量上的统计应用,进而存在较大的计算误差,从而无法精细地表达各用户之间的用户相似性。此外,通过人工赋予加权值,无法得到合理的相似度值。



技术实现要素:

本发明实施例提供一种数据处理方法和装置,可以精准、合理的量化任意两个节点之间的相似度,并可降低计算误差。

本发明第一方面提供了一种数据处理方法,包括:

获取所有用户的历史行为数据,并根据所述所有用户的历史行为数据生成用户行为拓扑网;所述用户行为拓扑网包括多个子行为拓扑网,各子行为拓扑网中均至少包含第一用户节点和第二用户节点;

根据所述各子行为拓扑网,生成所述第一用户节点对应的第一拼接向量,并生成所述第二用户节点对应的第二拼接向量;

获取所述第一拼接向量和所述第二拼接向量之间的向量距离值,并根据所述向量距离值确定所述第一用户节点和第二用户节点之间的用户相似度。

其中,所述获取所有用户的历史行为数据,并根据所述所有用户的历史行为数据生成用户行为拓扑网,包括:

获取日志数据库中所有用户的历史行为数据,并基于各历史行为数据生成用户行为拓扑网;

基于多个行为属性类型将所述用户行为拓扑网划分为多个子行为拓扑网;每个子行为拓扑网分别对应一个行为属性类型。

其中,所述多个行为属性类型包括:阅读行为类型,关注行为类型,好友关系类型和沟通行为类型;

所述基于多个行为属性类型将所述用户行为拓扑网划分为多个子行为拓扑网,包括:

获取所有用户所阅读的文章信息,并以所有用户和所有文章信息为节点以及所有用户与所有文章信息之间的阅读关系,构建与所述阅读行为类型对应的阅读行为拓扑网;

获取所有用户所关注的公共广播群组信息,并以所有用户和所有的公共广播群组信息为节点以及所有用户与所有公共广播群组信息之间的关注关系,构建与所述关注行为类型对应的关注行为拓扑网;

获取所有用户之间的好友关系,并以所有用户为节点以及所有用户之间的好友关系,构建与所述好友关系类型对应的好友关系拓扑网;

获取所有用户之间的多种沟通信息,并以所有用户为节点以及所有用户之间的沟通关系,构建与所述沟通行为类型对应的沟通行为拓扑网;所述沟通关系是由多种沟通信息以及各沟通信息分别对应的权重值所决定;

其中,所述多个子行为拓扑网包括:所述阅读行为拓扑网,所述关注行为拓扑网,所述好友关系拓扑网和所述沟通行为拓扑网。

其中,所述根据所述各子行为拓扑网,生成所述第一用户节点对应的第一拼接向量,并生成所述第二用户节点对应的第二拼接向量,包括:

在各子行为拓扑网中分别生成与所述第一用户节点对应的第一映射向量,并根据所述各子行为拓扑网生成与所述第二用户节点对应的第二映射向量;所述第一映射向量的数量和第二映射向量的数量均为子行为拓扑网的数量;

将各第一映射向量进行拼接,生成所述第一用户节点对应的第一拼接向量,并将各第二映射向量进行拼接,生成所述第二用户节点对应的第二拼接向量。

其中,所述在各子行为拓扑网中分别生成与所述第一用户节点对应的第一映射向量,并根据所述各子行为拓扑网生成与所述第二用户节点对应的第二映射向量,包括:

分别在各子行为拓扑网中构建多个节点序列;

在所述各子行为拓扑网分别对应的多个节点序列中,筛选与第一用户节点相关联的第一序列,并筛选与所述第二用户节点相关的第二序列;

将所述各子行为拓扑网分别对应的第一序列映射到向量空间,生成与所述各子行为拓扑网分别对应的映射向量,作为所述第一用户节点对应的第一映射向量;

将所述各子行为拓扑网分别对应的第二序列映射到向量空间,生成与所述各子行为拓扑网分别对应的映射向量,作为所述第二用户节点对应的第二映射向量。

可选的,在所述获取所述第一拼接向量和所述第二拼接向量之间的向量距离值,并根据所述向量距离值确定所述第一用户节点和第二用户节点之间的用户相似度之前,还包括:

检测所述第一用户节点和所述第二用户节点之间的关联关系;

若所述关联关系为好友关系,则执行所述获取所述第一拼接向量和所述第二拼接向量之间的向量距离值,并根据所述向量距离值确定所述第一用户节点和第二用户节点之间的用户相似度的步骤。

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

当所述用户相似度满足推荐条件时,将与所述第一用户节点对应的第一用户作为目标用户,并将与所述第二用户节点对应的第二用户作为待推荐用户;

获取所述目标用户对应的业务数据,并将所述业务数据推送至所述待推荐用户对应的用户终端。

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

在更新时长内,定时更新日志数据库中每个用户对应的历史行为数据,并基于更新后的历史行为数据构建新的用户行为拓扑网,以便于后续根据所述新的用户行为拓扑网计算所述第一用户节点和所述第二用户节点之间的用户相似度。

本发明第二方面提供了一种数据处理装置,包括:

拓扑网生成模块,用于获取所有用户的历史行为数据,并根据所述所有用户的历史行为数据生成用户行为拓扑网;所述用户行为拓扑网包括多个子行为拓扑网,各子行为拓扑网中均至少包含第一用户节点和第二用户节点;

拼接向量生成模块,用于根据所述各子行为拓扑网,生成所述第一用户节点对应的第一拼接向量,并生成所述第二用户节点对应的第二拼接向量;

相似度计算模块,用于获取所述第一拼接向量和所述第二拼接向量之间的向量距离值,并根据所述向量距离值确定所述第一用户节点和第二用户节点之间的用户相似度。

其中,所述拓扑网生成模块包括:

历史数据获取单元,用于获取日志数据库中所有用户的历史行为数据,并基于各历史行为数据生成用户行为拓扑网;

拓扑网划分单元,用于基于多个行为属性类型将所述用户行为拓扑网划分为多个子行为拓扑网;每个子行为拓扑网分别对应一个行为属性类型。

其中,所述多个行为属性类型包括:阅读行为类型,关注行为类型,好友关系类型和沟通行为类型;所述拓扑网划分单元,包括:

第一构建子单元,用于获取所有用户所阅读的文章信息,并以所有用户和所有文章信息为节点以及所有用户与所有文章信息之间的阅读关系,构建与所述阅读行为类型对应的阅读行为拓扑网;

第二构建子单元,用于获取所有用户所关注的公共广播群组信息,并以所有用户和所有的公共广播群组信息为节点以及所有用户与所有公共广播群组信息之间的关注关系,构建与所述关注行为类型对应的关注行为拓扑网;

第三构建子单元,用于获取所有用户之间的好友关系,并以所有用户为节点以及所有用户之间的好友关系,构建与所述好友关系类型对应的好友关系拓扑网;

第四构建子单元,用于获取所有用户之间的多种沟通信息,并以所有用户为节点以及所有用户之间的沟通关系,构建与所述沟通行为类型对应的沟通行为拓扑网;所述沟通关系是由多种沟通信息以及各沟通信息分别对应的权重值所决定;

其中,所述多个子行为拓扑网包括:所述阅读行为拓扑网,所述关注行为拓扑网,所述好友关系拓扑网和所述沟通行为拓扑网。

其中,所述拼接向量生成模块包括:

映射向量生成单元,用于在各子行为拓扑网中分别生成与所述第一用户节点对应的第一映射向量,并根据所述各子行为拓扑网生成与所述第二用户节点对应的第二映射向量;所述第一映射向量的数量和第二映射向量的数量均为子行为拓扑网的数量;

映射向量拼接单元,用于将各第一映射向量进行拼接,生成所述第一用户节点对应的第一拼接向量,并将各第二映射向量进行拼接,生成所述第二用户节点对应的第二拼接向量。

其中,所述映射向量生成单元包括:

序列构建子单元,用于分别在各子行为拓扑网中构建多个节点序列;

序列筛选子单元,用于在所述各子行为拓扑网分别对应的多个节点序列中,筛选与第一用户节点相关联的第一序列,并筛选与所述第二用户节点相关的第二序列;

第一映射子单元,用于将所述各子行为拓扑网分别对应的第一序列映射到向量空间,生成与所述各子行为拓扑网分别对应的映射向量,作为所述第一用户节点对应的第一映射向量;

第二映射子单元,用于将所述各子行为拓扑网分别对应的第二序列映射到向量空间,生成与所述各子行为拓扑网分别对应的映射向量,作为所述第二用户节点对应的第二映射向量。

可选的,所述装置还包括:

关联关系检测模块,用于检测所述第一用户节点和所述第二用户节点之间的关联关系;

通知模块,用于若所述关联关系为好友关系,则通知所述相似度计算模块执行所述获取所述第一拼接向量和所述第二拼接向量之间的向量距离值,并根据所述向量距离值确定所述第一用户节点和第二用户节点之间的用户相似度的步骤。

可选的,所述装置还包括:

条件满足模块,用于当所述用户相似度满足推荐条件时,将与所述第一用户节点对应的第一用户作为目标用户,并将与所述第二用户节点对应的第二用户作为待推荐用户;

数据推送模块,用于获取所述目标用户对应的业务数据,并将所述业务数据推送至所述待推荐用户对应的用户终端。

可选的,所述装置还包括:

数据更新模块,用于在更新时长内,定时更新日志数据库中每个用户对应的历史行为数据,并基于更新后的历史行为数据构建新的用户行为拓扑网,以便于后续根据所述新的用户行为拓扑网计算所述第一用户节点和所述第二用户节点之间的用户相似度。

本发明第三方面提供了一种数据处理装置,包括:处理器和存储器;

所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如本发明实施例中第一方面中的方法。

本发明实施例第四方面提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如本发明实施例中第一方面中的方法。

本发明实施例通过获取所有用户的历史行为数据,并根据所述所有用户的历史行为数据生成用户行为拓扑网;所述用户行为拓扑网包括多个子行为拓扑网,各子行为拓扑网中均至少包含第一用户节点和第二用户节点;根据所述各子行为拓扑网,生成所述第一用户节点对应的第一拼接向量,并生成所述第二用户节点对应的第二拼接向量;获取所述第一拼接向量和所述第二拼接向量之间的向量距离值,并根据所述向量距离值确定所述第一用户节点和第二用户节点之间的用户相似度。由此可见,通过将用户行为拓扑网划分为多个子行为拓扑网,可以得到每个子行为拓扑网中任意两个用户节点(即第一用户节点和第二用户节点)分别对应的映射向量,然后,将与同一用户节点相关的多个映射向量进行拼接,以得到所述第一用户节点对应的第一拼接向量,以及所述第二用户节点对应的第二拼接向量,从而可准确计算出这两个用户节点之间的用户相似度,可见,在整个用户相似度的计算过程中,无需初略地统计具有共同行为特征下的好友数量,也无需对各共同特征分别对应的权重值进行人工赋值,进而可准确、合理的量化任意两个节点之间的相似度,并可降低对相似度值的计算误差。

附图说明

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

图1是本发明实施例提供的一种网络架构的结构示意图;

图2是本发明实施例提供的一种数据处理方法的流程示意图;

图3是本发明实施例提供的一种沟通行为拓扑网的结构示意图;

图4是本发明实施例提供的一种好友关系拓扑网的结构示意图;

图5是本发明实施例提供的一种关注行为拓扑网的结构示意图;

图6是本发明实施例提供的一种阅读行为拓扑网的结构示意图;

图7是本发明实施例提供的一种网络映射技术的示意图;

图8是本发明实施例提供的一种生成映射向量的流程示意图;

图9是本发明实施例提供的一种好友关系拓扑图的局部示意图;

图10是本发明实施例提供的一种计算用户相似度的系统结构示意图;

图11是本发明实施例提供的另一种数据处理方法的流程示意图;

图12是本发明实施例提供的一种推送业务数据的示意图;

图13是本发明实施例提供的一种数据处理装置的结构示意图;

图14是本发明实施例提供的另一种数据处理装置的结构示意图;

图15是本发明实施例提供的一种拓扑网生成模块的结构示意图;

图16是本发明实施例提供的一种拓扑网划分单元的结构示意图;

图17是本发明实施例提供的一种拼接向量生成模块的结构示意图;

图18是本发明实施例提供的一种映射向量生成单元的结构示意图;

图19是本发明实施例提供的又一种应数据处理装置的结构示意图。

具体实施方式

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

请参见图1,是本发明实施例提供的一种网络架构的结构示意图。如图1所示,所述网络架构可以包括服务终端2000以及用户终端集群;所述用户终端集群可以包括多个用户终端,如图1所示,具体包括用户终端3000a、用户终端3000b、…、用户终端3000n;

所述用户终端3000a、用户终端3000b、…、用户终端3000n可以分别与所述服务终端2000进行网络连接。

如图1所示,所述服务终端2000可用于存储持有各用户终端所对应的用户的历史行为数据,并可基于所有用户的历史行为数据生成用户行为拓扑网,其中,所述用户终端可以为平板、个人电脑、智能手机或移动互联网设备。所述用户行为拓扑网中包含n个用户分别对应的用户节点,即可以包含所述用户终端3000a的用户对应的用户节点、所述用户终端3000b的用户对应的用户节点、所述用户终端3000c的用户对应的用户节点、…、所述用户终端3000n的用户对应的用户节点。其中,所述用户行为拓扑网可以包括某社交平台上所有用户和与所有用户所分别对应的行为数据(比如,用户间收发信息等沟通互动数据,且该沟通互动数据对应该社交平台上的沟通行为类型)之间的关联关系。于是,所述服务终端2000可根据各行为数据分别对应的行为属性类型将该用户行为拓扑网划分为:阅读行为拓扑网,关注行为拓扑网,好友关系拓扑网和沟通行为拓扑网。因此,所述服务终端2000可根据所述用户行为拓扑网,获得与各用户节点分别对应的拼接向量,并可进一步根据每两个用户节点分别对应的拼接向量计算这两个用户节点之间的用户相似度,从而可较全面的利用该用户行为拓扑网中所有用户分别对应的拼接向量来量化这两个用户之间的社交同质性。

比如,某社交平台所对应的服务终端2000中存储着4名用户的历史行为数据(该4名用户分别对应的用户终端包括用户终端3000a、用户终端3000b、用户终端3000c以及用户终端3000d),因此,该服务终端2000可根据这4名用户的历史行为数据生成一个用户行为拓扑网,以便于计算每两个用户之间的用户相似度。比如,所述服务终端2000可在所述用户终端集群中筛选至少一个用户终端作为目标用户终端(以目标用户终端为用户终端3000a为例),并将所述用户行为拓扑网中所述用户终端3000a所对应的用户作为各子行为拓扑网中的第一用户节点,并将该社交平台上其余用户(即用户终端3000b对应的用户,用户终端3000c对应的用户和用户终端3000d对应的用户)分别作为所述用户行为拓扑网中各子行为拓扑网中的第二用户节点,以计算所述第一用户节点和各第二用户节点之间的用户相似度。

其中,所述服务终端2000生成所述用户行为拓扑网以及生成与所述第一用户节点和第二用户节点分别对应的拼接向量的具体过程可以参见如下图2至图10对应的实施例。

进一步地,请参见图2,是本发明实施例提供的一种数据处理方法的流程示意图。如图2所示,所述方法可以包括:

步骤s101,获取所有用户的历史行为数据,并根据所述所有用户的历史行为数据生成用户行为拓扑网;

具体的,服务终端可获取日志数据库中所有用户的历史行为数据;所述历史行为数据可以包括:各用户分别对应的沟通互动数据、好友关系链数据、公共广播群组数据和文章阅读数据等行为数据;随后,所述服务终端可基于各历史行为数据生成用户行为拓扑网;然后,所述服务终端可进一步基于多个行为属性类型将所述用户行为拓扑网划分为多个子行为拓扑网。

其中,所述服务终端可为上述图1所对应实施例中的服务终端2000,即该服务终端可用于存储某社交平台上所有离线用户的历史行为数据,并可基于所有离线用户的历史行为数据生成用户行为拓扑网。

其中,所述用户行为拓扑网中包含所有用户节点,且在每个子行为拓扑网中也包含所有用户节点。为了更好的理解本方案,本发明实施例仅以所有用户节点中的两个节点(第一用户节点和第二用户节点)为例,以进一步执行后续的步骤s102和步骤s103,从而可量化所述第一用户节点和第二用户节点之间的用户相似度。当然,对于该方案中的其他任意两个用户节点,也可参照本发明实施例中的相应步骤,以进一步确定该用户行为拓扑网中任意两个节点之间的用户相似度。

其中,所述用户行为拓扑网包括多个子行为拓扑网,各子行为拓扑网中均至少包含第一用户节点和第二用户节点;所述第一用户节点对应的用户可与所述第二用户节点对应用户之间存在关联关系;所述关联关系包括直接关联关系(即好友关系)和间接关联关系。

其中,所述直接关联关系是指在该用户行为拓扑网中的任意两个节点之间存在用于直接连接这两个节点的连边,即与这两个节点分别对应的用户之间互为好友关系;比如,在该用户行为拓扑网中,所述第一用户节点对应的用户a可与所述第二用户节点对应用户b之间存在好友关系,因此,在该用户行为拓扑网中,可认为这两个节点之间存在直接关联关系。

其中,所述间接关联关系是指在该用户行为拓扑网中不具有直接连接这两个节点(第一用户节点和第二用户节点)的连边,但这两个节点分别与该用户行为拓扑网中的第三用户节点之间存在直接相连的连边;即所述第一用户节点对应的用户a可与所述第三用户节点对应用户c之间存在好友关系,且所述第三用户节点对应的用户c可与所述第二用户节点对应用户b之间存在好友关系的关联关系。

其中,所述多个子行为拓扑网包括:所述阅读行为拓扑网,关注行为拓扑网,好友关系拓扑网和沟通行为拓扑网。

其中,每个子行为拓扑网分别对应一个行为属性类型,即所述阅读行为拓扑网对应阅读行为类型,所述关注行为拓扑网对应关注行为类型,所述好友关系拓扑网对应好友关系类型和所述沟通行为拓扑网对应沟通行为类型。

其中,所述行为属性类型的划分完全是基于该服务终端中所统计到的所有用户的历史行为数据,即沟通互动数据、好友关系链数据、公共广播群组数据和文章阅读数据等行为数据。

其中,所述沟通互动数据主要是指所有用户之间的多种沟通信息,即各用户之间收发的文字信息、语音信息、视频信息、评论信息以及点赞信息等类型的沟通信息,且每种沟通信息均对应着相应的权重值。因此,所述服务终端可通过所有用户的历史行为数据获取到所有用户之间的多种沟通信息之后,并可进一步以所有的用户为节点,以及以所有用户之间的沟通关系为连边,构建与所述沟通行为类型对应的沟通行为拓扑网。其中,所述沟通关系是由多种沟通信息以及各沟通信息分别对应的权重值所决定。

进一步的,请参见图3,是本发明实施例提供的一种沟通行为拓扑网的结构示意图。如图3所示,所述服务终端检测到某社交平台上的存在5个用户,这5个用户分别为用户a,用户b,用户c,用户d和用户e;其中,用户a与用户b之间存在沟通关系;用户b分别与用户a和用户c之间存在沟通关系,用户c分别与用户b、用户d和用户e之间存在沟通关系,用户d与用户c之间存在沟通关系,用户e与用户c之间存在沟通关系。因此,所述服务终端可将该社交平台上的这5个用户作为节点,并将这5个用户分别对应的沟通关系作为连边,形成如图3所示的沟通行为拓扑网。此外,在如图3所示的沟通行为拓扑网中,由于用户a与用户c、用户d和用e之间均不存在沟通关系,所以用户a与用户c之间不构成连边,用户a与用户d之间不构成连边,a与用户e之间不构成连边。同理可知,用户b与用户e之间不存在沟通关系,所述用户b与用户e之间不构成连边。

其中,利用多种沟通信息以及各沟通信息分别对应的权重值,可得到任意两个用户之间的沟通互动分值,进而可根据沟通互动分值进一步确定与这两个用户分别对应的用户节点之间的沟通关系的强弱,即沟通互动分值越大,则表明这两个用户节点之间的沟通关系越强。

其中,所述好友关系链数据主要是指所有用户之间所构成的好友关系,即在某社交平台上,某一个用户可与一个或多个用户建立好友关系,以便于具有好友关系的任意两个用户之间能进行即时数据通信,进而可形成如前文所述的多种沟通信息。换言之,所述服务终端可将该社交平台上的所有用户作为节点,并在检测到该社交平台上的任意两个用户之间具有好友关系时,将这两个具有好友关系的用户节点进行连接处理,使得每两个直接相连的节点之间的连线构成表示这两个节点对应的用户为好友关系之间形成连边,进而可构建与所述好友关系类型对应的好友关系拓扑网。

进一步的,请参见图4,是本发明实施例提供的一种好友关系拓扑网的结构示意图。如图4所示,所述服务终端检测到某社交平台上的存在4个用户,这4个用户分别为用户x,用户y,用户z和用户k;其中,用户x分别与用户y和用户z之间存在好友关系;用户y分别与用户x,用户k和用户z之间存在好友关系,用户z分别与用户x,用户y和用户k之间存在好友关系,用户k分别与用户y和用户z之间存在好友关系。因此,所述服务终端可将该社交平台上的这4个用户作为节点,并将这4个用户分别对应的沟通关系作为连边,形成如图4所示的好友关系拓扑网。在如图4所示的好友关系拓扑网中,由于用户x与用户k之间均不存在好友关系,所以用户x与用户k之间不构成连边。

其中,所述公共广播群组数据主要是指所有用户所关注的公共广播群组信息,即所有用户所关注的公众号信息。因此,所述服务终端可在所有用户的历史行为数据中,获取到所有用户所关注的公共广播群组信息,并以所有用户和所有的公共广播群组信息为节点以及所有用户与所有公共广播群组信息之间的关注关系,构建与所述关注行为类型对应的关注行为拓扑网。

进一步的,请参见图5,是本发明实施例提供的一种关注行为拓扑网的结构示意图。如图5所示,所述服务终端检测到某社交平台上的存在3个用户和2个公众号,这3个用户分别为用户a’,用户b’和用户c’,且在该社交平台上,用户a’关注了公众号m和公众号n,用户b’关注了公众号m和公众号n,而用户c’关注了公众号n;即用户a’与公众号m和公众号n之间存在关注关系;用户b’与公众号m和公众号n之间存在关注关系,用户c’与公众号n之间存在关注关系。因此,所述服务终端可将该社交平台上的这3个用户以及这3个用户所关注的公众号m和公众号n作为节点,并将这3个用户与这2个公众号之间的关注关系作为连边,形成如图5所示的关注行为拓扑网。在如图5所示的关注行为拓扑网中,需将每个用户和其所关注的公众号作为节点,并用这两个节点(用户节点和公众号节点)之间连线来描述彼此之间存在的关注关系,而对于不存在关注关系的用户节点之间将不构成连边,此外,在如图5所示的关注行为拓扑网中,某个公众号节点可被一个或多个用户所关注。

其中,所述文章阅读数据主要是指所有用户所阅读的文章信息。因此,所述服务终端可在所有用户的历史行为数据中,获取到所有用户所关注的文章信息,并以所有用户和所有被阅读的文章信息为节点以及所有用户与所有文章信息之间的阅读关系,所述阅读行为类型对应的阅读行为拓扑网。

进一步的,请参见图6,是本发明实施例提供的一种阅读行为拓扑网的结构示意图。如图6所示,所述服务终端检测到某社交平台上的存在3个用户和2个文章信息(即文章i和文章j),这3个用户分别为用户x’,用户y’和用户z’,且在该社交平台上,用户x’阅读了文章i,用户y’阅读了文章j,而用户z’先后阅读了文章i和文章j;即用户x’与文章i之间存在阅读关系;用户y’与文章j之间存在阅读关系,用户z’与文章i和文章j之间存在阅读关系。因此,所述服务终端可将该社交平台上的这3个用户以及这3个用户所阅读的所有文章信息作为节点,并将这3个用户与这2个文章信息之间的阅读关系作为连边,形成如图5所示的阅读行为拓扑网。在如图6所示的阅读行为拓扑网中,需将每个用户和其所阅读的公众号作为节点,并用这两个节点(用户节点和文章信息节点)之间的连线来描述彼此之间存在的阅读关系,而对于不存在阅读关系的用户节点之间将不构成连边,此外,在如图6所示的关注行为拓扑网中,某个文章信息节点可被一个或多个用户所关注。

步骤s102,根据所述各子行为拓扑网,生成所述第一用户节点对应的第一拼接向量,并生成所述第二用户节点对应的第二拼接向量;

具体的,所述服务终端可在各子行为拓扑网中分别生成与所述第一用户节点对应的第一映射向量,并根据所述各子行为拓扑网生成与所述第二用户节点对应的第二映射向量,并将各第一映射向量进行拼接,生成所述第一用户节点对应的第一拼接向量,并将各第二映射向量进行拼接,生成所述第二用户节点对应的第二拼接向量。

其中,所述第一映射向量的数量和第二映射向量的数量均为子行为拓扑网的数量;换言之,所述服务终端可通过网络映射(networkembedding)技术将划分后的每个子行为拓扑网中的节点映射为空间中的一个向量,即通过networkembedding技术可确保每个子行为拓扑网中的第一用户节点和第二用户节点分别对应空间中的一个映射向量;随后,所述服务终端可将与所述第一用户节点相关的各映射向量作为第一映射向量,并将与所述第二用户节点相关的各映射向量作为第二映射向量。当然,对于各子行为拓扑网中其他用户节点分别对应的映射向量,也可参见该网络映射技术,同步得到同一子行为拓扑网中其他用户在空间中分别对应的映射向量。

其中,networkembedding技术可以包括:node2vec技术、deepwalk技术和line(large-scaleinformationnetworkembedding,大型信息网络嵌入)技术。node2vec可以表示为scalablefeaturelearningfornetworks(可扩展的网络特征学习),deepwalk可以表示为anovelapproachforlearninglatentrepresentationsofverticesinanetwork(一种用于学习网络中顶点的潜在表示的新方法)。node2vec、deepwalk和line都是属于networkembedding技术,是一种图特征表达的学习算法。

进一步的,请一并参见图7,是本发明实施例提供的一种网络映射技术的示意图。如图7所示,节点u为某个子行为拓扑网(例如,沟通行为拓扑网)中的一个用户所对应的节点,所述服务终端可通过一种网络映射方法f将该沟通行为拓扑网中包含该节点u的序列映射到d维向量空间rd,以得到该沟通行为拓扑网中节点u对应的映射向量(vec)。同理可得,所述服务终端也可通过该网络映射方法得到其他子用户行为拓扑网中该节点u分别对应的映射向量,进而通过将与该用户节点对应的多个映射向量进行拼接,以得到一个可用于表达用户兴趣和社交拓扑结构的长向量,即该节点u对应的拼接向量。

其中,所述node2vec技术是指所述服务器可以在各子行为拓扑网中基于word2vec工具对所述多个节点序列进行处理,以生成所述各子行为拓扑图中的每个用户节点分别对应的映射向量,进而将与每个用户相关的映射向量进行拼接,得到每个用户分别对应的拼接向量。其中,word2vec使用的是distributedrepresentation的词向量表示方式,word2vec的基本思想是通过训练多个节点序列以将每个节点映射成空间中的映射向量(如实数向量)。由于拼接后所得的拼接向量可以用来表征用户的兴趣和社交关系特征。所以,各拼接向量之间的向量距离(比如cosine相似度、欧氏距离等)可以表征各用户节点之间的用户相似度(如两个拼接向量的距离越小,则说明对应的两个用户节点之间的社交关系的相关性越高)。此外,word2vec是采用一个三层的神经网络的模型(输入层-隐层-输出层),即可以将所述多个节点序列输入到神经网络的输入层,在隐层对所述多个节点序列进行训练以将每个节点映射到低维向量空间,进而生成每个节点分别对应的映射向量,并在输出层输出各映射向量(比如,本发明实施例中第一用户节点对应的第一映射向量和与第二用户节点对应的第二映射向量)。

步骤s103,获取所述第一拼接向量和所述第二拼接向量之间的向量距离值,并根据所述向量距离值确定所述第一用户节点和第二用户节点之间的用户相似度。

其中,所述向量距离值可以用函数sim(a,b)来表示,即函数sim(a,b)可用于衡量第一用户节点所对应的用户a与第二用户节点所对应的用户b之间的用户相似度。比如,所述服务终端可将通过向量拼接处理后所得的n维空间向量分别表示为如下向量形式;即n维第一拼接向量表示为i=1,2,…,n;n维第二拼接向量表示为i=1,2,…,n。在进行所述向量距离值的计算过程当中,可用表示第一拼接向量a的均值,表示第二拼接向量b的均值;此外,还可用i(a)表示第一拼接向量a不为零时的列标所构成的集合,i(b)表示第二拼接向量b不为零时的列标所构成的集合。

其中,可以基于余弦相似度、皮尔逊相关系数、欧式距离以及jaccard距离,获取所述向量距离值。

其中,所述余弦相似度可用如下表达式1.1来描述:

其中,所述皮尔逊相关系数可用如下表达式1.2来描述:

其中,所述皮尔逊相关系数可用如下表达式1.3来描述:

其中,所述皮尔逊相关系数可用如下表达式1.4来描述:

进一步的,请参见图8,是本发明实施例提供的一种生成映射向量的流程示意图。如图8所示,步骤s201-步骤s204的步骤是对上述图2所对应实施例中步骤s102的具体描述,即步骤s201-步骤s204的步骤是本发明实施例提供的一种生成第一映射向量和第二映射向量的具体流程,具体可以包括如下步骤:

步骤s201,分别在各子行为拓扑网中构建多个节点序列;

具体的,所述服务终端可根据多个行为属性类型将所述用户行为拓扑网划分划分为多个子行为拓扑网,并在各子行为拓扑网中,以所有用户,以及所有用户相关的数据信息(比如,文章信息,公共广播群组信息等)为节点,构建与各子行为拓扑网分别对应的多个节点序列。

步骤s202,在所述各子行为拓扑网分别对应的多个节点序列中,筛选与第一用户节点相关联的第一序列,并筛选与所述第二用户节点相关的第二序列;

其中,所述第一序列可以为至少包含第一用户节点的序列;所述第二序列可以为至少包含第二用户节点的序列。

步骤s203,将所述各子行为拓扑网分别对应的第一序列映射到向量空间,生成与所述各子行为拓扑网分别对应的映射向量,作为所述第一用户节点对应的第一映射向量;

具体的,所述服务终端可基于网络映射技术将与各子行为拓扑网分别对应的第一序列映射到n维向量空间,以生成与所述各子行为拓扑网中所述第一用户节点对应的第一映射向量。

当然,在同一子行为拓扑网中,对于生成第二用户节点所对应的第二映射向量的具体过程也可以参照生成所述第一用户节点所对应的第一映射向量的具体过程,这里将不再进行赘述。

步骤s204,将所述各子行为拓扑网分别对应的第二序列映射到向量空间,生成与所述各子行为拓扑网分别对应的映射向量,作为所述第二用户节点对应的第二映射向量。

比如,以用户行为拓扑网中的好友关系拓扑网为例,获取与所述第一用户节点对应的第一映射向量和所述第二用户节点对应的第二映射向量的具体过程如下。进一步的,请一并参见图9,是本发明实施例提供的一种好友关系拓扑图的局部示意图,如图9所示,局部的好友关系拓扑图包括5个节点,分别为x1、x2、x3、x4、x5,这5个节点也分别代表5个不同的用户,此外,所述服务终端可将节点x1作为第一用户节点,并将该好友关系拓扑图中的节点x2作为第二用户节点;在该好友关系拓扑图中,(x1和x2)、(x1和x3)、(x2和x3)、(x3和x4)、(x3和x5)之间均为好友关系,即x1和x3之间存在连边,x2和x3之间存在连边,x3和x4之间存在连边,x3和x5之间存在连边;其中,(x1和x4)、(x1和x5)、(x2和x4)、(x2和x5)、(x4和x5)之间不具备可直接相连的连边,即这些节点之间不存在好友关系。随后,所述服务器可以进一步在所述好友关系拓扑图中生成与这5个用户分别对应的多个节点序列;每个节点序列均由相同数量的用户节点所组成,且每个节点序列中的用户节点均存在于所述用户关系拓扑图中;以图9为例,可以生成节点序列“x1-x3-x4”、“x2-x3-x4”等长度为3的节点序列。随后,所述服务终端可在与这5个用户分别对应的多个节点序列中,筛选与第一用户节点x1相关联的第一序列,并同步筛选与所述第二用户节点相关联的第二序列,并进一步通过网络映射技术将所述第一序列和所述第二序列分别映射到向量空间,生成与所述第一用户节点对应的第一映射向量,和所述第二用户节点对应的第二映射向量。其中,第一序列可以为至少包含第一用户节点的序列(比如,序列x1-x3-x4);第二序列可以为至少包含第二用户节点的序列(比如,序列x2-x3-x4)。

其中,所述服务器可以具体通过randomwalk(随机漫步)算法在所述好友关系拓扑图中生成多个节点序列。所述randomwalk算法的具体过程为:在所述好友关系拓扑图中选择一个节点(比如,第一用户节点x1)作为起始节点,标记起始节点为当前位置,随机或根据预设概率选择当前位置的一个邻居节点,并将当前位置移动至被选择的邻居节点位置(即标记被选择的邻居节点为当前位置),重复该步骤n次,最终会得到从起始节点到结束节点的长度为n的节点序列,通过选择不同的节点作为起始节点,可以生成更多的长度为n的节点序列。

当然,在其余子行为拓扑网中,获取所述第一用户节点对于的第一映射向量和所述第二用户节点对应的第二映射向量的具体过程可参见图8所对应实施例中对获取第一映射向量和第二映射向量的具体过程的描述,这里将不再继续进行赘述。

鉴于此,在执行完步骤s204之后,所述服务终端还可进一步将将各第一映射向量进行拼接,生成所述第一用户节点对应的第一拼接向量,并将各第二映射向量进行拼接,生成所述第二用户节点对应的第二拼接向量。

应当理解,在生成各用户分别对应的拼接向量的过程中,应当以用户为单位对各映射向量进行拼接,即首先筛选得到包含相同用户所对应的映射向量,然后将各映射向量进行拼接,以得到每个用户分别对应的拼接向量。

请一并参见图10,是本发明实施例提供的一种计算用户相似度的系统结构示意图。如图10所示,该系统的主要由基础网络构建模块、网络映射模块、向量拼接模块和用户向量相似度计算模块构成。其中,箭头所指方向表示数据流向。其中,所述基础日志数据库可用于存储所有离线用户的行为日志数据(历史行为数据),例如:所有用户之间的沟通互动数据、好友关系链数据、公共广播群组数据和文章阅读数据等行为数据。于是,该系统中的基础网络构建模块可基于各历史行为数据生成用户行为拓扑网,所述用户行为拓扑网可以包括如图10所示的四个子行为拓扑网,即阅读行为拓扑网,关注行为拓扑网,好友关系拓扑网和沟通行为拓扑网。为了更好的理解本方案,本发明仅以一个用户(比如,用户a)为例,对该系统中的网络映射模块和向量拼接模块进行阐述。如图10所示的网络映射模块,可通过networkembedding技术得到各子行为拓扑网中与该用户a分别对应的映射向量(如图10所示的四个向量即为与该用户a所对应用户节点相关联的映射向量)。应当理解,在生成该用户a所对应的四个映射向量的过程中,还可同步得到各子行为拓扑网中其余用户所对应的用户节点分别相关联的映射向量。随后,该系统中的所述向量拼接模块可用于将得到的与该用户a相关的四个映射向量进行拼接,进一步得到该用户a对应的拼接向量,该拼接向量为能对用户兴趣和社交拓扑结构的进行精细表达的长向量。然后,该系统中的用户相连相似度计算模块,可通过如图10所示的关系链拉取模块拉取其它用户分别对应的拼接向量(例如,可拉取用户b所对应的拼接向量),以计算这两个用户分别对应的节点之间的用户相似度,从而如图10所示的好友相似度接口可以基于所计算出的用户相似度进行相关的推荐业务。比如,与第一用户节点u1对应的映射向量分别为向量x1,向量x2,向量x3和向量x4,与第二用户节点u2对应的映射向量分别为向量y1,向量y2,向量y3和向量y4,所述服务终端可进一步将与所述第一用户节点u1对应的四个向量进行拼接,得到第一拼接向量x=(x1,x2,x3,x4),并将与所述第二用户节点u2对应的四个向量进行拼接,得到第二拼接向量y=(y1,y2,y3,y4)。随后,所述服务终端可根据所述距离计算公式,计算拼接向量x和拼接向量y之间的向量距离值,从而可进一步根据所述向量距离值确定所述第一用户节点和第二用户节点之间的用户相似度(例如,第一用户和第二用户之间的用户相似度为90%,表明这两个用户之间具有高度的相似性,比如,关注了相同的公众号,阅读了相同的文章等)。

本发明实施例通过获取所有用户的历史行为数据,并根据所述所有用户的历史行为数据生成用户行为拓扑网;所述用户行为拓扑网包括多个子行为拓扑网,各子行为拓扑网中均至少包含第一用户节点和第二用户节点;根据所述各子行为拓扑网,生成所述第一用户节点对应的第一拼接向量,并生成所述第二用户节点对应的第二拼接向量;获取所述第一拼接向量和所述第二拼接向量之间的向量距离值,并根据所述向量距离值确定所述第一用户节点和第二用户节点之间的用户相似度。由此可见,通过将用户行为拓扑网划分为多个子行为拓扑网,可以得到每个子行为拓扑网中任意两个用户节点(即第一用户节点和第二用户节点)分别对应的映射向量,然后,将与同一用户节点相关的多个映射向量进行拼接,以得到所述第一用户节点对应的第一拼接向量,以及所述第二用户节点对应的第二拼接向量,从而可准确计算出这两个用户节点之间的用户相似度,可见,在整个用户相似度的计算过程中,无需初略地统计具有共同行为特征下的好友数量,也无需对各共同特征分别对应的权重值进行人工赋值,进而可准确、合理的量化任意两个节点之间的相似度,并可降低对相似度值的计算误差。

进一步地,请参见图11,是本发明实施例提供的另一种数据处理方法的流程示意图。如图11所示,所述方法可以包括:

步骤s301,获取所有用户的历史行为数据,并根据所述所有用户的历史行为数据生成用户行为拓扑网;所述用户行为拓扑网包括多个子行为拓扑网,各子行为拓扑网中均至少包含第一用户节点和第二用户节点;

步骤s302,根据所述各子行为拓扑网,生成所述第一用户节点对应的第一拼接向量,并生成所述第二用户节点对应的第二拼接向量;

其中,步骤s301和步骤s302的具体实现方式可参见上述图2所对应实施例中对步骤s102和步骤s103的描述,这里将不在继续进行赘述。

步骤s303,检测所述第一用户节点和所述第二用户节点之间的关联关系;

具体的,所述服务终端可在得到第一拼接向量和第二拼接向量之后,进一步检测检测所述第一用户节点对应的第一用户和所述第二用户节点所对应的第二用户之间的关联关系,若检测到所述第一用户和所述第二用户之间的存在关联关系,即所述第一用户和所述第二用户之间的关联关系为好友关系,则可进一步执行步骤s304,以进一步计算存在好友关系的两个用户之间的用户相似度。

步骤s304,若所述关联关系为好友关系,则获取所述第一拼接向量和所述第二拼接向量之间的向量距离值,并根据所述向量距离值确定所述第一用户节点和第二用户节点之间的用户相似度;

其中,所述服务终端计算所述第一用户节点和第二用户节点之间的用户相似度的具体过程可参见上述图2所对应实施例中的步骤s103,这里将不在继续进行最少。

步骤s305,当所述用户相似度满足推荐条件时,将与所述第一用户节点对应的第一用户作为目标用户,并将与所述第二用户节点对应的第二用户作为待推荐用户;

具体的,所述服务终端在确定所述第一用户节点所对应的第一用户和所述第二节点所对应的第二用户之间的用户相似度之后,可进一步判断所述用户相似度是否大于预设相似度阈值,若所述用户相似度大于预设相似度阈值,则确定所述第一用户节点和第二用户节点之间的用户相似度满足推荐条件,并进一步将与所述第一用户节点对应的第一用户作为目标用户,并将与所述第二用户节点对应的第二用户作为待推荐用户。

比如,在某社交平台上,当所述预设相似度阈值为90%,且所述服务终端检测到量化后的用户相似度为95%时,可进一步确定所述用户相似度(95%)大于预设相似度阈值(90%),即此时,所述服务终端可确定所述第一用户节点和第二用户节点之间的用户相似度满足推荐条件,并将与所述第一用户节点对应的第一用户a作为目标用户,以及将与所述第二用户节点对应的第二用户b作为待推荐用户,以便于所述服务终端能更好的将所述目标用户所对应的业务数据推荐给所述带推荐用户,以便于所述待推荐用户能根据推送的业务数据进行相应的数据处理,进而可提高所推送的业务数据的正向反馈率。

可选的,所述服务终端还可进一步将与所述第二用户节点对应的第二用户作为目标用户,并将与所述第一用户节点对应的第一用户作为待推荐用户,以便于将所述第二用户所对应的业务数据推送给所述第一用户。

步骤s306,获取所述目标用户对应的业务数据,并将所述业务数据推送至所述待推荐用户对应的用户终端。

具体的,所述服务终端可进一步获取所述目标用户对应的业务数据;所述业务数据可以包括表情推荐数据,广告推荐数据,游戏推荐数据,表情推荐数据,阅读推荐数据等;随后,所述服务终端可将所述目标用户对应的业务数据推送至所述待推荐用户对应的用户终端,以便于所述待推荐用户能根据接收到的所述业务数据进行相应的数据处理。

比如,进一步的请参见图12,是本发明实施例提供的一种推送业务数据的示意图,如图12所示,在第一用户所持有的用户终端a上存在5个业务数据(例如,5个不同的应用数据),即这5个业务数据包括该用户终端a上的应用b1,应用b2,应用b3,应用b4和应用b5,其中,b1~b5为该用户终端a中各应用图标的显示区域。因此,如图12所示的服务终端可在确定该第一用户所对应的第一用户节点和第二用户所对应的第二用户节点之间的用户相似度满足推荐条件时,进一步获取该用户终端a上的这5个应用数据,并将这5个应用数据推送给如图12所示的第二用户所持有的用户终端c,以在该用户终端c上形成如图12所对应的待反馈界面,以便于第二用户在该待反馈界面上对这5个业务数据进行点击操作,以将这5个投放的应用数据添加到该用户终端c上,从而提高业务数据在投放过程中的正向反馈率,即在此时,第二用户可在该待反馈界面所包含的5个应用数据中对应用b1执行点击操作,以将应用b1添加到该用户终端c上。

可选的,所述服务器还用于执行在更新时长内,定时更新日志数据库中每个用户对应的历史行为数据,并基于更新后的历史行为数据构建新的用户行为拓扑网,以便于后续根据所述新的用户行为拓扑网计算所述第一用户节点和所述第二用户节点之间的用户相似度。

其中,所述更新时长可以根据实际情况进行相应的设置,比如,所述服务终端可以以天为单位,对某社交平台所对应的日志数据库中的所有用户的历史行为数据进行更新,即在检测到该日志数据库中的某个用户存在新增的行为数据时,可将该新增的行为数据添加至与该用户对应的历史行为数据中,以更新原有的历史行为数据。此外,当有新用户注册并登陆该社交平台时,可在更新时长到来时,在该社交平台所对应的日志数据库中,将该新用户的行为数据作为历史行为数据,并添加至与所述日志数据库中进行存储。

本发明实施例通过获取所有用户的历史行为数据,并根据所述所有用户的历史行为数据生成用户行为拓扑网;所述用户行为拓扑网包括多个子行为拓扑网,各子行为拓扑网中均至少包含第一用户节点和第二用户节点;根据所述各子行为拓扑网,生成所述第一用户节点对应的第一拼接向量,并生成所述第二用户节点对应的第二拼接向量;获取所述第一拼接向量和所述第二拼接向量之间的向量距离值,并根据所述向量距离值确定所述第一用户节点和第二用户节点之间的用户相似度。由此可见,通过将用户行为拓扑网划分为多个子行为拓扑网,可以得到每个子行为拓扑网中任意两个用户节点(即第一用户节点和第二用户节点)分别对应的映射向量,然后,将与同一用户节点相关的多个映射向量进行拼接,以得到所述第一用户节点对应的第一拼接向量,以及所述第二用户节点对应的第二拼接向量,从而可准确计算出这两个用户节点之间的用户相似度,可见,在整个用户相似度的计算过程中,无需初略地统计具有共同行为特征下的好友数量,也无需对各共同特征分别对应的权重值进行人工赋值,进而可准确、合理的量化任意两个节点之间的相似度,并可降低对相似度值的计算误差。

进一步的,请参见图13,是本发明实施例提供的一种数据处理装置的结构示意图,如图13所示,所述数据处理装置1可以应用于上述图1所对应实施例中的服务终端2000,所述数据处理装置1至少包括:拓扑网生成模块10,拼接向量生成模块20和相似度计算模块30;

所述拓扑网生成模块10,用于获取所有用户的历史行为数据,并根据所述所有用户的历史行为数据生成用户行为拓扑网;所述用户行为拓扑网包括多个子行为拓扑网,各子行为拓扑网中均至少包含第一用户节点和第二用户节点;

所述拼接向量生成模块20,用于根据所述各子行为拓扑网,生成所述第一用户节点对应的第一拼接向量,并生成所述第二用户节点对应的第二拼接向量;

所述相似度计算模块30,用于获取所述第一拼接向量和所述第二拼接向量之间的向量距离值,并根据所述向量距离值确定所述第一用户节点和第二用户节点之间的用户相似度。

其中,所述拓扑网生成模块10,拼接向量生成模块20和相似度计算模块30的具体实现过程可参见上述图2所对应实施例中对步骤s101-步骤s103的描述,这里将不再继续进行赘述。

本发明实施例通过获取所有用户的历史行为数据,并根据所述所有用户的历史行为数据生成用户行为拓扑网;所述用户行为拓扑网包括多个子行为拓扑网,各子行为拓扑网中均至少包含第一用户节点和第二用户节点;根据所述各子行为拓扑网,生成所述第一用户节点对应的第一拼接向量,并生成所述第二用户节点对应的第二拼接向量;获取所述第一拼接向量和所述第二拼接向量之间的向量距离值,并根据所述向量距离值确定所述第一用户节点和第二用户节点之间的用户相似度。由此可见,通过将用户行为拓扑网划分为多个子行为拓扑网,可以得到每个子行为拓扑网中任意两个用户节点(即第一用户节点和第二用户节点)分别对应的映射向量,然后,将与同一用户节点相关的多个映射向量进行拼接,以得到所述第一用户节点对应的第一拼接向量,以及所述第二用户节点对应的第二拼接向量,从而可准确计算出这两个用户节点之间的用户相似度,可见,在整个用户相似度的计算过程中,无需初略地统计具有共同行为特征下的好友数量,也无需对各共同特征分别对应的权重值进行人工赋值,进而可准确、合理的量化任意两个节点之间的相似度,并可降低对相似度值的计算误差。

进一步的,请参见图14,是本发明实施例提供的另一种数据处理装置的结构示意图,如图14所示,所述数据处理装置1包含上述图13所对应实施例中的所述拓扑网生成模块10,拼接向量生成模块20和相似度计算模块30;此外,所述数据处理装置还包括:关联关系检测模块40,通知模块50,条件满足模块60,数据推送模块70和数据更新模块80;

所述关联关系检测模块40,用于检测所述第一用户节点和所述第二用户节点之间的关联关系;

所述通知模块50,用于若所述关联关系为好友关系,则通知所述相似度计算模块30执行所述获取所述第一拼接向量和所述第二拼接向量之间的向量距离值,并根据所述向量距离值确定所述第一用户节点和第二用户节点之间的用户相似度的步骤。

所述条件满足模块60,用于当所述用户相似度满足推荐条件时,将与所述第一用户节点对应的第一用户作为目标用户,并将与所述第二用户节点对应的第二用户作为待推荐用户;

所述数据推送模块70,用于获取所述目标用户对应的业务数据,并将所述业务数据推送至所述待推荐用户对应的用户终端。

所述数据更新模块80,用于在更新时长内,定时更新日志数据库中每个用户对应的历史行为数据,并基于更新后的历史行为数据构建新的用户行为拓扑网,以便于后续根据所述新的用户行为拓扑网计算所述第一用户节点和所述第二用户节点之间的用户相似度。

其中,所述关联关系检测模块40,通知模块50,条件满足模块60,数据推送模块70和数据更新模块80的具体实现方式可参见上述图11所对应实施例中对步骤s303-步骤306的描述。这里将不再继续进行赘述。

进一步的,请请参见图15,是本发明实施例提供的一种拓扑网生成模块的结构示意图,如图15所示,所述拓扑网生成模块10包括:历史数据获取单元101和拓扑网划分单元102;

所述历史数据获取单元101,用于获取日志数据库中所有用户的历史行为数据,并基于各历史行为数据生成用户行为拓扑网;

所述拓扑网划分单元102,用于基于多个行为属性类型将所述用户行为拓扑网划分为多个子行为拓扑网;每个子行为拓扑网分别对应一个行为属性类型。

其中,所述历史数据获取单元101和拓扑网划分单元102的具体实现方式可参见上述图2所对应实施例中对步骤s101的描述,这里将不再继续进行赘述。

进一步的,请请参见图16,是本发明实施例提供的一种拓扑网划分单元的结构示意图,如图16所示,所述拓扑网划分单元102包括:第一构建子单元1021,第二构建子单元1022,第三构建子单元1023和第四构建子单元1024;

其中,所述多个行为属性类型包括:阅读行为类型,关注行为类型,好友关系类型和沟通行为类型;

所述第一构建子单元1021,用于获取所有用户所阅读的文章信息,并以所有用户和所有文章信息为节点以及所有用户与所有文章信息之间的阅读关系,构建与所述阅读行为类型对应的阅读行为拓扑网;

所述第二构建子单元1022,用于获取所有用户所关注的公共广播群组信息,并以所有用户和所有的公共广播群组信息为节点以及所有用户与所有公共广播群组信息之间的关注关系,构建与所述关注行为类型对应的关注行为拓扑网;

所述第三构建子单元1023,用于获取所有用户之间的好友关系,并以所有用户为节点以及所有用户之间的好友关系,构建与所述好友关系类型对应的好友关系拓扑网;

所述第四构建子单元1024,用于获取所有用户之间的多种沟通信息,并以所有用户为节点以及所有用户之间的沟通关系,构建与所述沟通行为类型对应的沟通行为拓扑网;所述沟通关系是由多种沟通信息以及各沟通信息分别对应的权重值所决定;

其中,所述多个子行为拓扑网包括:所述阅读行为拓扑网,所述关注行为拓扑网,所述好友关系拓扑网和所述沟通行为拓扑网。

其中,所述第一构建子单元1021,第二构建子单元1022,第三构建子单元1023和第四构建子单元1024的具体实现方式可参见上述图2所对应实施例中对步骤s101的描述,这里将不再继续进行赘述。

进一步的,请请参见图17,是本发明实施例提供的一种拼接向量生成模块的结构示意图,如图17所示,所述拼接向量生成模块20包括:映射向量生成单元201和映射向量拼接单元202;

所述映射向量生成单元201,用于在各子行为拓扑网中分别生成与所述第一用户节点对应的第一映射向量,并根据所述各子行为拓扑网生成与所述第二用户节点对应的第二映射向量;所述第一映射向量的数量和第二映射向量的数量均为子行为拓扑网的数量;

所述映射向量拼接单元202,用于将各第一映射向量进行拼接,生成所述第一用户节点对应的第一拼接向量,并将各第二映射向量进行拼接,生成所述第二用户节点对应的第二拼接向量。

其中,所述映射向量生成单元201和映射向量拼接单元202的具体实现方式可参见上述图2所对应实施例中对步骤s102的描述,这里将不再继续进行赘述。

进一步的,请请参见图18,是本发明实施例提供的一种映射向量生成单元的结构示意图,如图18所示,所述映射向量生成单元201包括:序列构建子单元2011,序列筛选子单元2012,第一映射子单元2013和第二映射子单元2014;

所述序列构建子单元2011,用于分别在各子行为拓扑网中构建多个节点序列;

所述序列筛选子单元2012,用于在所述各子行为拓扑网分别对应的多个节点序列中,筛选与第一用户节点相关联的第一序列,并筛选与所述第二用户节点相关的第二序列;

所述第一映射子单元2013,用于将所述各子行为拓扑网分别对应的第一序列映射到向量空间,生成与所述各子行为拓扑网分别对应的映射向量,作为所述第一用户节点对应的第一映射向量;

所述第二映射子单元2014,用于将所述各子行为拓扑网分别对应的第二序列映射到向量空间,生成与所述各子行为拓扑网分别对应的映射向量,作为所述第二用户节点对应的第二映射向量。

其中,所述序列构建子单元2011,序列筛选子单元2012,第一映射子单元2013和第二映射子单元2014的具体实现方式可参见上述图8所对应实施例中对步骤s201-步骤s204的描述,这里将不再继续进行赘述。

本发明实施例通过获取所有用户的历史行为数据,并根据所述所有用户的历史行为数据生成用户行为拓扑网;所述用户行为拓扑网包括多个子行为拓扑网,各子行为拓扑网中均至少包含第一用户节点和第二用户节点;根据所述各子行为拓扑网,生成所述第一用户节点对应的第一拼接向量,并生成所述第二用户节点对应的第二拼接向量;获取所述第一拼接向量和所述第二拼接向量之间的向量距离值,并根据所述向量距离值确定所述第一用户节点和第二用户节点之间的用户相似度。由此可见,通过将用户行为拓扑网划分为多个子行为拓扑网,可以得到每个子行为拓扑网中任意两个用户节点(即第一用户节点和第二用户节点)分别对应的映射向量,然后,将与同一用户节点相关的多个映射向量进行拼接,以得到所述第一用户节点对应的第一拼接向量,以及所述第二用户节点对应的第二拼接向量,从而可准确计算出这两个用户节点之间的用户相似度,可见,在整个用户相似度的计算过程中,无需初略地统计具有共同行为特征下的好友数量,也无需对各共同特征分别对应的权重值进行人工赋值,进而可准确、合理的量化任意两个节点之间的相似度,并可降低对相似度值的计算误差。

进一步地,请参见图19,是本发明实施例提供的又一种应数据处理装置的结构示意图。如图19所示,所述数据处理装置1000可以应用于上述图1对应实施例中的服务终端2000,所述数据处理装置1000可以包括:处理器1001,网络接口1004和存储器1005,此外,所述应用访问装置1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(display)、键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1004可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器1004可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图19所示,作为一种计算机存储介质的存储器1004中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。

在图19所示的数据处理装置1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1004中存储的设备控制应用程序,以实现:

获取所有用户的历史行为数据,并根据所述所有用户的历史行为数据生成用户行为拓扑网;所述用户行为拓扑网包括多个子行为拓扑网,各子行为拓扑网中均至少包含第一用户节点和第二用户节点;

根据所述各子行为拓扑网,生成所述第一用户节点对应的第一拼接向量,并生成所述第二用户节点对应的第二拼接向量;

获取所述第一拼接向量和所述第二拼接向量之间的向量距离值,并根据所述向量距离值确定所述第一用户节点和第二用户节点之间的用户相似度。

应当理解,本发明实施例中所描述的数据处理装置1000可执行前文图2、或图11所对应实施例中对所述数据处理方法的描述,也可执行前文图13或图14所对应实施例中对所述数据处理装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。

此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且所述计算机存储介质中存储有前文提及的数据处理装置1所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图2或图11所对应实施例中对所述数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

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