本发明涉及信息
技术领域:
,具体涉及一种应用推荐方法及装置。
背景技术:
:随着信息技术的飞速发展,移动终端上的各种应用APP(APPLITION手机软件应用)成为服务商为用户提供各种增值服务的主要渠道,苹果和谷歌的应用商店中,各种应用的总量都超过百万,并且一致保持快速增长的趋势。面对海量的应用,用户需要花费高昂的时间成本对应用进行筛选和试用后,才能找到自己真正感兴趣的应用。目前,电信运营商和服务提供商,会根据用户已经使用过的应用的统计,为其推荐相同类型的应用,也根据与其有相同使用兴趣的用户所使用的应用。但这种只根据是否使用作为是否向用户推荐的标准,所推荐的应用存在很大的不准确性,如推荐的应用的可用性不高。如推荐了大多数安装后的用户都很快的不再继续使用的应用,在这种情况下,其推荐的应用就是不准确的,所推荐的应用质量不高,或是无效的推荐。如何从根本上解决为用户准确推荐应用的问题,实现结合用户的使用兴趣的变化为用户推荐可用度高的应用,提高应用推荐的准确性,是信息
技术领域:
亟待解决的问题。技术实现要素:本发明所要解决的技术问题是针对现有技术中所存在的上述缺陷,提供一种应用推荐方法及装置,用以解决现有技术中存在的不能根据用户的兴趣变化为其推荐可用程度高的应用的问题。为实现上述目的,本发明提供一种应用推荐方法,包括:一种应用推荐方法,所述方法包括如下步骤:根据预设的时长范围内各用户的上网记录,确定待推荐用户和相似用户,所述相似用户为与待推荐用户使用相同应用的用户;确定相似用户使用过但待推荐用户未使用过的应用k,计算相似用户对应用k的粘合度和新鲜度,所述粘合度为相似用户在所述预设时长内第一次使用应用k与最后一次使用应用k的时间差,所述新鲜度为相似用户在所述预设时长内最后一次使用应用k的时间与所述预设时长截止时间之间的时间差;根据相似用户对应用k的粘合度、新鲜度以及相似用户与待推荐用户之间的相关度,计算应用k的推荐指数;根据所述应用k的推荐指数和预设的第一阈值,确定是否为待推荐用户推荐所述应用k。优选的,所述确定待推荐用户和相似用户包括:将所述预设时长划分为至少两个统计时段,计算各用户在各统计时段内使用各应用所花费的流量;计算各用户对应各统计时段的时间权重系数;确定与所述待推荐用户使用相同应用j的各用户q,根据所述流量和时间权重系数,计算各用户q对各应用的兴趣得分;根据待推荐用户使用应用j的兴趣得分、待推荐用户使用各应用的平均兴趣得分、用户q使用应用j的兴趣得分、用户q使用各应用的平均兴趣得分,计算待推荐用户与用户q之间的相关度;根据所述待推荐用户与所述各用户q之间的相关度,确定待推荐用户的相似用户。优选的,所述计算各用户对应各统计时段的时间权重系数中,所述时间权重系数fia(t)按照以下公式(1)计算:fia(t)=e[tiatiA-1];---(1)]]>其中,i为待推荐用户为用户i;tiA为用户i划分的时间段的数量;tia为用户i在所述A个时间段内的第a个时段;即tia∈(1…tia…tiA)。优选的,所述计算相似用户对应用k的粘合度和新鲜度中,粘合度fvk(t)的计算公式为:fvk(t)=etvk1;---(2)]]>其中,v为相似用户v;tvk1为相似用户v最后一次访问应用k的时间与第一次访问应用k的时间差。优选的,所述计算相似用户对应用k的粘合度和新鲜度中,新鲜度gvk(t)的计算公式为:gvk(t)=log12tvk2;---(3)]]>其中,v为相似用户v;tvk2表示各相似用户v中最近一次访问应用k的时间差与当前时间的最小值。本发明还提供一种应用推荐装置,包括:相似用户模块,用于根据预设的时长范围内各用户的上网记录,确定待推荐用户和相似用户,所述相似用户为与待推荐用户使用相同应用的用户;粘合度新鲜度模块,用于确定相似用户使用过但待推荐用户未使用过的应用k,计算相似用户对应用k的粘合度和新鲜度,所述粘合度为相似用户在所述预设时长内第一次使用应用k与最后一次使用应用k的时间差,所述新鲜度为相似用户在所述预设时长内最后一次使用应用k的时间与所述预设时长截止时间之间的时间差;推荐模块,用于根据相似用户对应用k的粘合度、新鲜度以及相似用户与待推荐用户之间的相关度,计算应用k的推荐指数;并用于根据所述应用k的推荐指数和预设的第一阈值,确定是否为待推荐用户推荐所述应用k。所述相似用户模块,包括:流量计算单元,用于将所述预设时长划分为至少两个统计时段,计算各用户在各统计时段内使用各应用所花费的流量;时间权重单元,用于计算各用户对应各统计时段的时间权重系数;兴趣得分单元,用于确定与所述待推荐用户使用相同应用j的各用户q,根据所述流量和时间权重系数,计算各用户q对各应用的兴趣得分;相关度单元,用于根据待推荐用户使用应用j的兴趣得分、待推荐用户使用各应用的平均兴趣得分、用户q使用应用j的兴趣得分、用户q使用各应用的平均兴趣得分,计算待推荐用户与用户q之间的相关度,并根据所述待推荐用户与所述各用户q之间的相关度,确定待推荐用户的相似用户。所述时间权重单元,具体用于计算所述时间权重系数,所述时间权重系数fia(t)按照以下公式(1)计算:fia(t)=e[tiatiA-1];---(1)]]>其中,i为待推荐用户为用户i;tiA为用户i划分的时间段的数量;tia为用户i在所述A个时间段内的第a个时段;即tia∈(1…tia…tiA)。所述粘合度新鲜度模块,具体用于计算粘合度fvk(t),所述粘合度fvk(t)的计算公式为:fvk(t)=etvk1;---(2)]]>其中,v为相似用户v;tvk1为相似用户v最后一次访问应用k的时间与第一次访问应用k的时间差。所述粘合度新鲜度模块,具体用于计算新鲜度gvk(t),所述新鲜度gvk(t)的计算公式为:gvk(t)=log12tvk2;---(3)]]>其中,v为相似用户v;tvk2表示各相似用户v中最近一次访问应用k的时间差与当前时间的最小值。本发明所提供的应用推荐方法及装置,能够为待推荐用户推荐可用度高的应用,具体的实现方式为,寻找与待推荐用户有相同应用使用兴趣的相似用户,在相似用户使用过而待推荐用户没有用过的应用中,寻找相似用户粘合度高且新鲜度高的应用向待推荐用户推荐,所述的粘合度为相似用户使用所推荐应用的持续时间长、所述的新鲜度为相似用户使用所推荐应用的最近一次时间距离推荐时间最近。本发明所提供的应用推荐方法,能够避免将相似用户最近不再使用的应用,或者使用频率很低的应用推荐给待推荐用户,从而提高所推荐应用的可用度。附图说明为了更清楚的说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明提供的应用推荐方法第一实施例的流程示意图;图2为本发明提供的应用推荐方法第二实施例的流程示意图;图3为本发明提供的应用推荐装置的结构示意图;图4为本发明提供的应用推荐装置中相似用户模块的结构示意图。具体实施方式为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和实施例对本发明作进一步详细描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明提供的应用推荐方法第一实施例的流程示意图,如图1所示的应用推荐方法包括如下步骤:步骤S101,根据预设的时长范围内各用户的上网记录,确定待推荐用户和相似用户,所述相似用户为与待推荐用户使用相同应用的用户。具体的,只有与待推荐用户使用相同应用的用户,才具有推荐应用的参考价值,在待推荐用户使用过的应用中,至少有一个应用与之相同的用户,就可以认为是待推荐用户的相似用户。步骤S102,确定相似用户使用过但待推荐用户未使用过的应用k,计算相似用户对应用k的粘合度和新鲜度,所述粘合度为相似用户在所述预设时长内第一次使用应用k与最后一次使用应用k的时间差,所述新鲜度为相似用户在所述预设时长内最后一次使用应用k的时间与所述预设时长截止时间之间的时间差。具体的,由于需要排除用户近期已经不再使用或使用频率过低的应用,需要考虑相似用户对于待推荐应用的粘合度和新鲜度。其中,所述粘合度fvk(t)的计算公式为:fvk(t)=etvk1;---(2)]]>其中,v为相似用户v;tvk1为相似用户v最后一次访问应用k的时间与第一次访问应用k的时间差。所述新鲜度gvk(t)的计算公式为:gvk(t)=log12tvk2;---(3)]]>其中,v为相似用户v;tvk2表示各相似用户v中最近一次访问应用k的时间差与当前时间的最小值。计算出用户v对于应用k的新鲜度和粘合度后,便可以将用户v对于应用k的使用情况做出统计。步骤S103,根据相似用户对应用k的粘合度、新鲜度以及相似用户与待推荐用户之间的相关度,计算应用k的推荐指数。具体的,本发明提供的推荐指数的计算公式为:Pik=Σv∈Visim(i,v)(rv,k-rv‾)gik(t)fvk(t)Σv∈Visim(i,v);---(6)]]>其中,i表示待推荐用户i;Pik表示用户i对于应用k的推荐指数;Vi为用户i的相似用户v的集合;表示用户i使用其所有应用的平均兴趣得分;表示用户v使用其所有应用的平均兴趣得分;rv,k表示相似用户v对应用k的兴趣得分;sim(i,v)表示用户i和相似用户v的相关度。为使推荐指数的计算结果更加直观和统一,本发明还提供以下公式作为推荐指数的另外一个计算公式:P′ik=r‾i+Σv∈Visim(i,v)(rv,k-rv‾)gik(t)fvk(t)Σv∈Visim(i,v);---(7)]]>步骤S104,根据所述应用k的推荐指数和预设的第一阈值,确定是否为待推荐用户推荐所述应用k。具体的,根据预设的第一阈值,将符合条件的应用k推荐给待推荐用户。也可以将所述推荐指数进行排序后,选取推荐指数大的应用k向待推荐用户推荐。本发明所提供的应用推荐方法,能够为待推荐用户推荐可用度高的应用,具体的实现方式为,寻找与待推荐用户有相同应用的相似用户,在相似用户使用过而待推荐用户没有用过的应用中,寻找相似用户粘合度高且新鲜度高的应用向待推荐用户推荐,所述的粘合度为相似用户使用所推荐应用的持续时间长、所述的新鲜度为相似用户使用所推荐应用的最近一次时间距离推荐时间最近。本发明所提供的应用推荐方法,能够避免将相似用户最近不再使用的应用,或者使用频率很低的应用推荐给待推荐用户,从而提高所推荐应用的可用度。图2为本发明提供的应用推荐方法第二实施例的流程示意图,如图2所示的应用推荐方法包括如下步骤:步骤S201,将所述预设时长划分为至少两个统计时段,计算各用户在各统计时段内使用各应用所花费的流量。具体的,所述计算各用户使用各种应用的流量值,包括所有用户使用的所有应用,其中的流量值,为各用户在所述预设的时长范围内每天所使用的各应用的流量值的统计。如将一个月的统计时长按照5天为一个统计时段,可划分为6个统计时段,但在实际中,由于各用户使用应用属于主观的使用习惯,将其统计时段进行统一时段划分的方法可能会使统计结果产生偏差,因此,本发明所采用的统计时段的划分方法,是将各用户按照所使用应用的时间分别进行划分,防止将不同用户行为按照统一标准进行考量。为方便后续对方案的详细描述,举例说明如下,预设统计时长为一个月,提取2015年1月份各用户(只举例3个用户)使用各应用(只举例2个应用)的上网记录,计算得出各用户使用各种应用的流量值和时间的统计如表1:用户名称应用名称流量值(M)时间XXXX1优酷22015-1-1XXXX1优酷52015-1-4XXXX1优酷62015-1-6XXXX1优酷32015-1-13XXXX2淘宝22015-1-1XXXX2淘宝62015-1-3XXXX2淘宝12015-1-12XXXX2优酷32015-1-20XXXX3淘宝62015-1-4XXXX3淘宝12015-1-6XXXX3淘宝32015-1-13表1在表1中,按照5天为一个统计时段的划分标准,用户1可以划分为3个统计时段,用户2划分为4个统计时段,而用户3划分为3个统计时段。步骤S202,计算各用户对应各统计时段的时间权重系数。具体的,所述计算各用户对应各统计时段的时间权重系数中,所述时间权重系数fia(t)按照以下公式(1)计算:fia(t)=e[tiatiA-1];---(1)]]>其中,i为待推荐用户为用户i;tiA为用户i划分的时间段的数量;tia为用户i在所述A个时间段内的第a个时段;即tia∈(1…tia…tiA)。则根据公式(1)的计算,用户1的时间权重系数为0.51,0.72,1;用户2的时间权重系数为0.47,0.60,0.78,1;用户3的时间权重系数为0.51,0.72,1。步骤S203,确定与所述待推荐用户使用相同应用j的各用户q,根据所述流量和时间权重系数,计算各用户q对各应用的兴趣得分。具体的,首先确定一个待推荐用户为用户i,与待推荐用户i使用相同应用j的各用户q,才能用来计算与待推荐用户i之间的相关度。否则,与待推荐用户i所使用的应用完全不同,则其与待推荐用户i完全不相关。具体的,计算用户i使用应用j的兴趣得分的公式为:rij=Σa∈Abia,jfia(t);---(4)]]>其中,bia为用户i在第a个时段内使用应用j的流量值。举例说明,根据公式(4)计算用户1至3使用各应用的兴趣得分:用户1使用优酷的兴趣得分为:(2+5)*0.51+6*0.72+3*1=10.89;用户2使用淘宝的兴趣得分为:(2+6)*0.47+1*0.78=4.54;用户2使用优酷的兴趣得分为:3*1=3;用户3使用淘宝的兴趣得分为:6*0.51+1*0.72+3*1=6.78。如统计的各用户共为M个,各用户所使用的各应用共为N个,则对各用户使用各应用的兴趣得分,可以用下面的矩阵表示:r11,r12,...,r1j,...,r1N...ri1,ri2,...,rij,...,riN...rM1,rM2,...,rMj,...,rMN]]>步骤S204,根据待推荐用户使用应用j的兴趣得分、待推荐用户使用各应用的平均兴趣得分、用户q使用应用j的兴趣得分、用户q使用各应用的平均兴趣得分,计算待推荐用户与用户q之间的相关度。具体的,采用Pearson相关系数公式,计算用户i和用户q之间的相关度,如公式(5)所示,sim(i,q)=Σj∈cn(ri,j-ri‾)(rq,j-rq‾)Σj∈cn(ri,j-ri‾)2Σj∈cn(rq,j-rq‾)2;---(5)]]>其中,q为与待推荐用户i使用相同应用j的各用户qQ为用户q的集合,q∈Q;表示用户i使用其所有应用的平均兴趣得分;表示用户q使用其所有应用的平均兴趣得分;cn表示用户i和用户q共同使用的应用j的集合。步骤S205,根据所述待推荐用户与所述各用户q之间的相关度,确定待推荐用户的相似用户。具体的,将相关度的计算结果按照从大到小的顺序进行排序后,可以根据预设的筛选规则,选择相关程度最高的用户作为待推荐用户i的相似用户v。可以理解的是,相似用户v是用户q中的部分或全部,上述公式(5)同样适用于用户i和用户v之间的相似度的计算,即:sim(i,v)=Σj∈cn(ri,j-ri‾)(rv,j-rv‾)Σj∈cn(ri,j-ri‾)2Σj∈cn(rv,j-rv‾)2]]>本发明所提供的应用推荐方法,在确定相似用户时便考虑了用户使用兴趣的变化,将用户的不同时段赋予不同的时间权重系数,越早的时段权重系数越小,最近的时段权重系数最大,因此,当某个相似用户近期不再使用某一个应用时,其根据时间权重和流量值计算得出的使用兴趣会偏低,计算得出的所述相似用户与待推荐用户的相关度也会随之降低,从而能够找出与待推荐用户具有相同的兴趣变化的相似用户,提高应用推荐的可用性。图3为本发明提供的应用推荐装置的结构示意图,如图3所示的应用推荐装置包括:相似用户模块31,用于根据预设的时长范围内各用户的上网记录,确定待推荐用户和相似用户,所述相似用户为与待推荐用户使用相同应用的用户。粘合度新鲜度模块32,用于确定相似用户使用过但待推荐用户未使用过的应用k,计算相似用户对应用k的粘合度和新鲜度,所述粘合度为相似用户在所述预设时长内第一次使用应用k与最后一次使用应用k的时间差,所述新鲜度为相似用户在所述预设时长内最后一次使用应用k的时间与所述预设时长截止时间之间的时间差;具体用于计算粘合度fvk(t),所述粘合度fvk(t)的计算公式为:fvk(t)=etvk1;---(2)]]>其中,v为相似用户v;tvk1为相似用户v最后一次访问应用k的时间与第一次访问应用k的时间差。具体用于计算新鲜度gvk(t),所述新鲜度gvk(t)的计算公式为:gvk(t)=log12tvk2;---(3)]]>其中,v为相似用户v;tvk2表示各相似用户v中最近一次访问应用k的时间差与当前时间的最小值。推荐模块33,用于根据相似用户对应用k的粘合度、新鲜度以及相似用户与待推荐用户之间的相关度,计算应用k的推荐指数;并用于根据所述应用k的推荐指数和预设的第一阈值,确定是否为待推荐用户推荐所述应用k。本发明所提供的应用推荐装置,能够为待推荐用户推荐可用度高的应用,具体的实现方式为,寻找与待推荐用户有相同应用使用兴趣的相似用户,在相似用户使用过而待推荐用户没有用过的应用中,寻找相似用户粘合度高且新鲜度高的应用向待推荐用户推荐,所述的粘合度为相似用户使用所推荐应用的持续时间长、所述的新鲜度为相似用户使用所推荐应用的最近一次时间距离推荐时间最近。本发明所提供的应用推荐方法,能够避免将相似用户最近不再使用的应用,或者使用频率很低的应用推荐给待推荐用户,从而提高所推荐应用的可用度。图4为本发明提供的应用推荐装置中相似用户模块的结构示意图,如图4所示的应用推荐装置中相似用户模块包括:流量计算单元311,用于将所述预设时长划分为至少两个统计时段,计算各用户在各统计时段内使用各应用所花费的流量。时间权重单元312,用于计算各用户对应各统计时段的时间权重系数;具体用于计算所述时间权重系数,所述时间权重系数fia(t)按照以下公式(1)计算:fia(t)=e[tiatiA-1];---(1)]]>其中,i为待推荐用户为用户i;tiA为用户i划分的时间段的数量;tia为用户i在所述A个时间段内的第a个时段;即tia∈(1…tia…tiA)。兴趣得分单元313,用于确定与所述待推荐用户使用相同应用j的各用户q,根据所述流量和时间权重系数,计算各用户q对各应用的兴趣得分。相关度单元314,用于根据待推荐用户使用应用j的兴趣得分、待推荐用户使用各应用的平均兴趣得分、用户q使用应用j的兴趣得分、用户q使用各应用的平均兴趣得分,计算待推荐用户与用户q之间的相关度,并根据所述待推荐用户与所述各用户q之间的相关度,确定待推荐用户的相似用户。本发明所提供的相似用户模块,在确定相似用户时便考虑了用户使用兴趣的变化,将用户的不同时段赋予不同的时间权重系数,越早的时段权重系数越小,最近的时段权重系数最大,因此,当某个相似用户近期不再使用某一个应用时,其根据时间权重和流量值计算得出的使用兴趣会偏低,计算得出的所述相似用户与待推荐用户的相关度也会随之降低,从而能够找出与待推荐用户具有相同的兴趣变化的相似用户,提高应用推荐的可用性。在本申请所提供的几个实施例中,应该理解到,所揭露的方法、设备和系统,可以通过其它的方式实现。例如,以上所描述的设备实施例仅是是示意性的,所述功能模块的划分,仅为一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或者一些特征可以忽略,或不执行。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页1 2 3