应用推荐方法及装置的制造方法
【技术领域】
[0001]本发明涉及互联网技术领域,特别涉及一种应用推荐方法及装置。
【背景技术】
[0002]互联网环境下,用户在登录微博等网络社交平台后,若网络社交平台的服务器可向用户推送其感兴趣的应用,则不但可增强用户的体验度,还可提高应用的访问点击率。
[0003]现有技术通常采取两种应用推荐方式。第一种方式为基于用户的兴趣类目和应用的类目属性进行应用推荐,即针对某一用户来说,根据用户的行为数据(比如,历史访问记录)确定用户的兴趣类目,之后计算用户的兴趣类目与各个推荐应用的类别属性之间的相似度,根据相似度确定待推荐的应用;第二种方式为基于具有相似兴趣的用户进行应用推荐,即针对某一用户来说,先分析用户兴趣,之后根据k邻近算法或SVM (Support VectorMachine,支持向量机)算法在全网注册用户中查找与该用户具有相似兴趣的用户,综合这些相似兴趣用户访问或下载的应用,确定待推荐应用。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005]无论针对上述哪一种应用推荐方式来说,由于仅根据用户的兴趣进行了粗略的推荐,所以均存在推荐精准度不高的缺陷。
【发明内容】
[0006]为了解决现有技术的问题,本发明实施例提供了一种应用推荐方法及装置。所述技术方案如下:
[0007]—方面,提供了一种应用推荐方法,所述方法包括:
[0008]根据第一用户的行为数据,获取第一行为特征值;
[0009]从所述第一用户的用户关系链中,根据所述第一行为特征值,确定至少一个第二用户,所述第二用户在所述第一用户的用户关系链上,且第二行为特征值与所述第一行为特征值之间的相似度大于预设阈值,所述第二行为特征值为第二用户的行为特征值;
[0010]基于所述至少一个第二用户的行为数据,确定所述第一用户的待推荐应用。
[0011]另一方面,提供了一种应用推荐装置,所述装置包括:
[0012]行为特征值获取模块,用于根据第一用户的行为数据,获取第一行为特征值;
[0013]第二用户确定模块,用于从所述第一用户的用户关系链中,根据所述第一行为特征值,确定至少一个第二用户,所述第二用户在所述第一用户的用户关系链上,且第二行为特征值与所述第一行为特征值之间的相似度大于预设阈值,所述第二行为特征值为第二用户的行为特征值;
[0014]应用确定模块,用于基于所述至少一个第二用户的行为数据,确定所述第一用户的待推荐应用。
[0015]本发明实施例提供的技术方案带来的有益效果是:
[0016]在根据第一用户的行为数据获取第一行为特征值之后,从用户关系链中确定行为特征值与第一行为特征值之间相似度大于预设阈值的第二用户,进而基于至少一个第二用户的行为数据,确定第一用户的待推荐应用,由于行为特征值可对用户的行为数据进行归纳总结,且以数值化的形式进行精确表示,所以行为特征值可精确表达用户的兴趣爱好,进而基于行为特征值确定的至少一个第二用户与第一用户之间的兴趣爱好也能够更加相似,所以基于至少一个第二用户的行为数据,可精确地确定第一用户的待推荐应用,推荐精准率较高。
【附图说明】
[0017]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1是本发明实施例提供的一种应用推荐服务器的组成示意图;
[0019]图2是本发明实施例提供的一种应用推荐的方法流程图;
[0020]图3是本发明实施例提供的一种应用推荐的方法流程图;
[0021]图4是本发明实施例提供的一种应用推荐装置的结构示意图。
【具体实施方式】
[0022]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0023]在对本发明实施例作详细描述之前,先对本发明实施例的应用场景进行阐述。本发明实施例的典型应用场景为:在网络社交平台进行注册的用户,当其登录网络社交平台后,网络社交平台的服务器可向该用户推荐应用,以增添用户的趣味性和体验度。在进行应用推荐时,为提高推荐精准率,服务器不会随意向该用户推荐应用,而是基于该用户的行为数据和用户关系链进行推荐。具体过程为:服务器根据第一用户的行为数据,获取第一行为特征值,之后从第一用户的用户关系链中,根据第一行为特征值确定至少一个第二用户,第二行为特征值与第一行为特征值之间的相似度大于预设阈值,第二行为特征值为第二用户的行为特征值;最后,基于至少一个第二用户的行为数据,确定第一用户的待推荐应用。
[0024]针对微博等网络社交平台来说,每个用户的用户关系链均很长且为弱关系链。其中,弱关系链指代用户与其用户关系链中各个用户的亲密程度较低的关系链。也即,弱关系链中通常很少存在与用户关系密切的,诸如亲人、朋友、同学、同事的用户,而常常存在大量的陌生人,用户与其关系链中的陌生人可能很少互相关注或互相评论等。在进行应用推荐时,由于基于弱关系链进行推荐,且用户的行为数据通常包括实时行为数据和历史行为数据等海量数据,所以运算量很大,实时性不佳。所以针对用户关系链为弱关系链的情况,本发明实施例采取了如图1所示的分布式计算方式,以加快应用推荐的速度。参见图1,服务器主要包括:一个任务(task)节点、多个计算(map)节点及一个合并计算(reduce)节点。其中,任务节点负责派发应用推荐任务,任务节点按照各个计算节点的负载情况为应用推荐任务分配计算节点。针对一个应用推荐任务来讲,若用户的行为数据过多或用户的用户关系链过长,则为了加快应用推荐速度,任务节点在分配应用推荐任务时,还可将一个应用推荐任务划分为多个子任务。将多个子任务分配给多个计算节点进行计算,得到各个计算结果,并将各个计算结果发送至合并计算节点。合并计算节点将各个计算节点发送的计算结果进行合并处理,得到最终的计算结果。比如,在根据用户的海量行为数据计算行为特征值时,可将行为数据分配给多个计算节点,多个计算节点根据分配的行为数据进行行为特征值的计算,之后合并计算节点将多个计算计算节点的计算结果进行合并处理,得到用户的行为特征值。
[0025]图2是本发明实施例提供的一种应用推荐方法的流程图。参见图2,本实施例提供的方法流程包括:
[0026]201、根据第一用户的行为数据,获取第一行为特征值。
[0027]202、从第一用户的用户关系链中,根据第一行为特征值,确定至少一个第二用户,第二用户在第一用户的用户关系链上,且第二行为特征值与第一行为特征值之间的相似度大于预设阈值,第二行为特征值为第二用户的行为特征值。
[0028]203、基于至少一个第二用户的行为数据,确定第一用户的待推荐应用。
[0029]本实施例提供的方法,在根据第一用户的行为数据获取第一行为特征值之后,从用户关系链中确定行为特征值与第一行为特征值之间相似度大于预设阈值的第二用户,进而基于至少一个第二用户的行为数据,确定第一用户的待推荐应用,由于行为特征值可对用户的行为数据进行归纳总结,且以数值化的形式进行精确表示,所以行为特征值可精确表达用户的兴趣爱好,进而基于行为特征值确定的至少一个第二用户与第一用户之间的兴趣爱好也能够更加相似,所以基于至少一个第二用户的行为数据,可精确地确定第一用户的待推荐应用,推荐精准率较高。
[0030]可选地,根据第一用户的行为数据,获取第一行为特征值,包括:
[0031]根据第一用户的实时行为数据,获取实时行为特征值;
[0032]根据第一用户的历史行为数据,获取历史行为特征值;
[0033]根据实时行为特征值和历史行为特征值,获取第一用户的第一行为特征值。
[0034]可选地,该方法还包括:
[0035]基于第一用户的当前用户关系链和历史用户关系链,确定历史用户关系链相对于当前用户关系链所删减的用户,将行为特征值与第一行为特征值之间相似度大于预设阈值的所删减用户确定为第二用户。
[0036]可选地,根据第一用户的行为数据,获取第一行为特征值,包括:
[0037]获取第一用户的每条行为数据的特征值;
[0038]根据每条行为数据的特征值及预先设置的每条行为数据的权重值,计算第一行为特征值。
[0039]可选地,根据第一用户的行为数据,获取第一行为特征值之前,该方法还包括:
[0040]获取各个计算节点的调度权重;
[0041]根据各个计算节点的调度权重,调度多个计算节点中的至少一个计算节点执行根据第一用户的行为数据,获取第一行为特征值的步骤。
[0042]可选地,获取各个计算节点的调度权重,包括:
[0043]对于多个计算节点中的一个计算节点,获取计算节点的计算延时、计算节点的资源利用率;
[0044]根据计算延时和资源利用率,计算计算节点的系统负载;
[0045]根据计算节点的系统负载和除计算节点之外的其他计算节点的系统负载,获取计算节点的调度权重。
[0046]可选地,根据计算延时和资源利用率,应用下述公式,计算计算节点的系统负载,包括:
[0047]Zi=Ri=K0.