CN110968773A - 应用推荐方法、装置、设备及存储介质 - Google Patents
应用推荐方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110968773A CN110968773A CN201811147034.8A CN201811147034A CN110968773A CN 110968773 A CN110968773 A CN 110968773A CN 201811147034 A CN201811147034 A CN 201811147034A CN 110968773 A CN110968773 A CN 110968773A
- Authority
- CN
- China
- Prior art keywords
- user
- application
- applications
- scoring matrix
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0282—Rating or review of business operators or products
Abstract
本发明实施例公开了一种应用推荐方法、装置、设备及存储介质。该方法包括:根据不同用户针对不同应用的使用次数和使用时长,确定不同用户针对不同应用的评分;根据评分,生成用户与应用对应的第一评分矩阵;根据应用对应的多个应用标签,确定用户对应的多个用户标签;根据评分,确定每个用户标签对应的权重;根据第一评分矩阵、用户标签和权重,生成应用标签与应用对应的第二评分矩阵;根据第二评分矩阵,计算应用间的相似度;根据相似度,预测第二评分矩阵中的未知评分,并利用未知评分对第二评分矩阵进行补充;根据第二评分矩阵,为不同用户推荐应用。本发明实施例的应用推荐方法、装置、设备及存储介质,能够降低运算量,提高推荐效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用推荐方法、装置、设备及存储介质。
背景技术
协同过滤推荐(Collaborative Filtering recommendation)技术是目前推荐系统中应用最为广泛的技术之一。协同过滤分析用户兴趣,在用户群中找到指定用户的相似(兴趣)用户,综合这些相似用户对某一信息的评价,形成系统对该指定用户对此信息的喜好程度预测。
目前,协同过滤推荐算法主要分为基于应用的协同过滤推荐算法和基于用户的协同过滤推荐算法。其中,基于应用的协同过滤推荐算法,通过相同用户对不同的应用的评分来评测应用之间的相似性,基于应用之间的相似性做出推荐;基于用户的协同过滤推荐算法,通过不同用户对相同项目的评分来评测用户之间的相似性,基于用户之间的相似性做出推荐。
然而,用户数量和应用数量均非常大,利用现有的协同过滤推荐算法运算量较大,会耗费大量的计算资源,推荐效率较低。
发明内容
本发明实施例提供一种应用推荐方法、装置、设备及存储介质,能够降低运算量,减少计算资源的浪费,提高推荐效率。
一方面,本发明实施例提供了一种应用推荐方法,方法包括:
根据不同用户针对不同应用的使用次数和使用时长,确定不同用户针对不同应用的评分;
根据评分,生成用户与应用对应的第一评分矩阵;
根据应用对应的多个应用标签,确定用户对应的多个用户标签;
根据评分,确定每个用户标签对应的权重;
根据第一评分矩阵、用户标签和权重,生成应用标签与应用对应的第二评分矩阵;
根据第二评分矩阵,计算应用间的相似度;
根据相似度,预测第二评分矩阵中的未知评分,并利用未知评分对第二评分矩阵进行补充;
根据补充未知评分后的第二评分矩阵,为不同用户推荐应用。
在本发明的一个实施例中,根据不同用户针对不同应用的使用次数和使用时长,确定不同用户针对不同应用的评分,包括:
获得预设时间段内不同用户针对不同应用的使用次数,确定使用次数对应的次数分值;
获得预设时间段内不同用户针对不同应用的使用时长,确定使用时长对应的时长分值;
根据次数分值和时长分值,确定不同用户针对不同应用的评分。
在本发明的一个实施例中,根据应用对应的多个应用标签,确定用户对应的多个用户标签,包括:
将用户所安装的应用对应的应用标签,均作为用户对应的用户标签。
在本发明的一个实施例中,根据评分,确定每个用户标签对应的权重,包括:
针对一个用户标签,将用户标签对应的应用的评分之和,作为用户标签的权重。
在本发明的一个实施例中,根据第二评分矩阵,计算应用间的相似度,包括:
根据第二评分矩阵,利用皮尔逊系数,计算应用间的相似度。
在本发明的一个实施例中,根据相似度,预测第二评分矩阵中的未知评分,包括:
根据相似度,利用近邻算法,预测第二评分矩阵中的未知评分。
在本发明的一个实施例中,根据补充未知评分后的第二评分矩阵,为不同用户推荐应用,包括:
针对不同用户的每一用户,根据用户对应的多个用户标签,确定每个用户标签对应的待推荐应用;
根据待推荐应用对应于第二评分矩阵中的评分以及每个用户标签对应的权重,计算待推荐应用对应的最终评分;
根据最终评分,向用户推荐应用。
另一方面,本发明实施例提供了一种应用推荐装置,装置包括:
第一确定模块,用于根据不同用户针对不同应用的使用次数和使用时长,确定不同用户针对不同应用的评分;
第一生成模块,用于根据评分,生成用户与应用对应的第一评分矩阵;
第二确定模块,用于根据应用对应的多个应用标签,确定用户对应的多个用户标签;
第三确定模块,用于根据评分,确定每个用户标签对应的权重;
第二生成模块,用于根据第一评分矩阵、用户标签和权重,生成应用标签与应用对应的第二评分矩阵;
计算模块,用于根据第二评分矩阵,计算应用间的相似度;
预测模块,用于根据相似度,预测第二评分矩阵中的未知评分,并利用未知评分对第二评分矩阵进行补充;
推荐模块,用于根据补充未知评分后的第二评分矩阵,为不同用户推荐应用。
在本发明的一个实施例中,第一确定模块,具体用于:
获得预设时间段内不同用户针对不同应用的使用次数,确定使用次数对应的次数分值;
获得预设时间段内不同用户针对不同应用的使用时长,确定使用时长对应的时长分值;
根据次数分值和时长分值,确定不同用户针对不同应用的评分。
在本发明的一个实施例中,第二确定模块,具体用于:
将用户所安装的应用对应的应用标签,均作为用户对应的用户标签。
在本发明的一个实施例中,第三确定模块,具体用于:
针对一个用户标签,将用户标签对应的应用的评分之和,作为用户标签的权重。
在本发明的一个实施例中,计算模块,具体用于:
根据第二评分矩阵,利用皮尔逊系数,计算应用间的相似度。
在本发明的一个实施例中,预测模块,具体用于:
根据相似度,利用近邻算法,预测第二评分矩阵中的未知评分。
在本发明的一个实施例中,推荐模块,具体用于:
针对不同用户的每一用户,根据用户对应的多个用户标签,确定每个用户标签对应的待推荐应用;
根据待推荐应用对应于第二评分矩阵中的评分以及每个用户标签对应的权重,计算待推荐应用对应的最终评分;
根据最终评分,向用户推荐应用。
再一方面,本发明实施例提供一种应用推荐设备,设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序;
处理器执行计算机程序时实现本发明实施例提供的应用推荐方法。
再一方面,本发明实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现本发明实施例提供的应用推荐方法。
本发明实施例的应用推荐方法、装置、设备及存储介质,通过应用标签进行应用的推荐,由于应用标签用来形容应用的特征,且各应用间的应用标签存在大量的重复,相比于用户数量和应用数量,应用标签的数量非常的少,进而能够降低运算量,减少计算资源的浪费,提高推荐效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例提供的应用推荐方法的流程示意图;
图2示出了本发明实施例提供的应用推荐装置的结构示意图;
图3示出了能够实现根据本发明实施例的应用推荐方法及装置的计算设备的示例性硬件架构的结构图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
如图1所示,图1示出了本发明实施例提供的应用推荐方法的流程示意图。应用推荐方法可以包括:
S101:根据不同用户针对不同应用的使用次数和使用时长,确定不同用户针对不同应用的评分。
S102:根据评分,生成用户与应用对应的第一评分矩阵。
S103:根据应用对应的多个应用标签,确定用户对应的多个用户标签。
S104:根据评分,确定每个用户标签对应的权重。
S105:根据第一评分矩阵、用户标签和权重,生成应用标签与应用对应的第二评分矩阵。
S106:根据第二评分矩阵,计算应用间的相似度。
S107:根据相似度,预测第二评分矩阵中的未知评分,并利用未知评分对第二评分矩阵进行补充。
S108:根据补充未知评分后的第二评分矩阵,为不同用户推荐应用。
在本发明的一个实施例中,根据不同用户针对不同应用的使用次数和使用时长,确定不同用户针对不同应用的评分,可以包括:获得预设时间段内不同用户针对不同应用的使用次数,确定使用次数对应的次数分值;获得预设时间段内不同用户针对不同应用的使用时长,确定使用时长对应的时长分值;根据次数分值和时长分值,确定不同用户针对不同应用的评分。
在本发明的一个实施例中,可以按照下述公式(1),确定不同用户针对不同应用的评分。
R=α*RF+β*RD (1)
其中,R为用户对应用的评分,RF为用户使用应用的使用次数对应的次数分值,RD为用户使用应用的使用时长对应的时长分值,α和β分别为次数分值和时长分值对应的权重值。
示例性的,假设应用在预设时间段内被使用1次计1分,应用在预设时间段内被使用1分钟计1分。
针对用户1所使用的应用1,在预设时间段内应用1被用户1使用5次,被使用总时长为3分钟,则次数分值为5分,时长分值为3分。
假设次数分值和时长分值对应的权重分别为0.5。
根据上述公式(1)确定出用户1针对应用1的评分=0.5*5+0.5*3=4分。
相应的,可以确定用户1针对其他应用的评分,和其他用户针对应用的评分。
在本发明的一个实施例中,还可以将预设时间段再进行分段,针对每段时间设置相应的分段权重,针对每段时间统计用户在该时间段内应用的使用次数和使用时长,确定每段时间统计的用户在该时间段内应用的使用次数和使用时长对应的次数分值和时长分值,再根据分段权重以及次数分值和时长分值,计算用户针对应用的评分。
可以理解的是,若将预设时间段再进行分段,则
RF=(α1,α2,…,αi,…,αn)*(RF,1,RF,2,…,RF,i,…,RF,n)T (2)
RD=(β1,β2,…,βi,…,βn)*(RD,1,RD,2,…,RD,i,…,RD,n)T (3)
其中,上述公式(2)和公式(3)中,n为分段数量;αi为第i段内应用的使用次数对应的权重;βi为第i段内应用的使用时长对应的权重;RF,i为第i段内应用的使用次数对应的次数分值;DF,i为第i段内应用的使用时长对应的时长分值。
示例性的,以预设时间段为4天为例,将该预设时间段再以1天为段进行划分,则分为4段,4段时间段对应的分段权重分别为0.5、0.3、0.1和0.1。第一天用户1使用应用1,共计5次,时长50分钟;第二天用户1使用应用1,共计8次,时长60分钟,第三天用户1使用应用1共计7次,时长40分钟;第四天用户1使用应用1共计6次,时长100分钟。
根据上述公式(2)计算次数分值
RF=0.5*5+0.3*8+0.1*7+0.1*6=9.8分。
根据上述公式(3)计算时长分值
RD=0.5*50+0.3*60+0.1*40+0.1*100=57分。
根据上述公式(1)确定出用户1针对应用1的评分=0.5*9.8+0.5*57=33.4分。
相应的,可以确定用户1针对其他应用的评分,和其他用户针对应用的评分。
在本发明的一个实施例中,在确定每段时间统计的用户在该时间段内应用的使用次数对应的次数分值时,还可以按照使用次数进行线性打分和按照使用次数排名进行打分,然后取两个分值的最大值作为该时间段的使用次数对应的次数分值。相应的,还可以按照使用时长进行线性打分和按照使用时长排名进行打分,然后取两个分值的最大值作为该时间段的使用时长对应的时长分值。
示例性的,还以上述4个时间段为例进行说明。
使用次数进行线性打分的规则为:使用次数最高的时间段为100分,使用次数为0的时间段为0分。则按照使用次数进行线性打分得到第一天对应的次数分值为:100/8*5=62.5分,第二天对应的次数分值为:100分,第三天对应的次数分值为:100/8*7=87.5分,第四天对应的次数分值为100/8*6=75分。
按照使用次数对4个时间段进行排名,由高至低分别为:第二天、第三天、第四天和第一天。排名最高计100分,剩余的按排名以10分为单位递减,则第二天对应的次数分值为100分,第三天对应的次数分值为90分,第四天对应的次数分值为80分,第一天对应的次数分值为70分。
对于第一天而言,按照使用次数线性打分得到的次数分值为62.5,按照使用次数排名进行打分得到的次数分值为70,则第一天对应的最终次数分值为70,相应的,第二天对应的最终次数分值为100分,第三天对应的最终次数分值为90分,第四天对应的最终次数分值为80分。
根据上述公式(2)计算次数分值
RF=0.5*70+0.3*100+0.1*90+0.1*80=82分。
相应的,可以根据上述公式(3)计算出时长分值RD。然后根据上述公式(1)确定出用户1针对应用1的评分。
进而可以确定用户1针对其他应用的评分,和其他用户针对应用的评分。
示例性的,下面以4个用户和5个应用为例进行说明,4个用户分别为用户1、用户2、用户3和用户4;5个应用分别为应用1、应用2、应用3、应用4和应用5。
以ri,j表示用户i针对应用j的评分。
则通过上述计算得到的评分,生成用户与应用对应的评分矩阵。用户与应用对应的评分矩阵如表1所示。
表1
其中,表1中的N/A表示未知评分,即按照已有数据,无法计算出该用户针对该应用的评分。可以理解的是,此种情况的出现,是因为该用户并未安装该应用。
由表1可以看出,用户i没有安装应用i,且四个用户均没有安装应用5,此时的应用5可以是刚上线的应用。
本发明实施例中的应用标签为应用开发者为应用所填写的标签,用来形容应用的特征,比如:聊天社交、办公、邮箱、游戏等。
在本发明的一个实施例中,根据应用对应的多个应用标签,确定用户对应的多个用户标签,可以包括:将用户所安装的应用对应的应用标签,均作为用户对应的用户标签。
示例性的,假设应用1对应3个应用标签:Tag1、Tag2和Tag3;应用2对应3个应用标签:Tag1、Tag4和Tag5;应用3对应2个应用标签:Tag4和Tag5;应用4对应2个应用标签:Tag2和Tag5;应用5对应2个应用标签:Tag1和Tag3。
则对于用户1而言,用户1安装的应用有:应用2、应用3和应用4,则将应用2、应用3和应用4对应的应用标签,均作为用户1对应的用户标签,即将Tag1、Tag2、Tag4和Tag5均作为用户1对应的用户标签。
相应的,将Tag1、Tag2、Tag3、Tag4和Tag5均作为用户2对应的用户标签;将Tag1、Tag2、Tag3、Tag4和Tag5均作为用户3对应的用户标签;将Tag1、Tag2、Tag3、Tag4和Tag5均作为用户4对应的用户标签。
在本发明的一个实施例中,根据评分,确定每个用户标签对应的权重,可以包括:针对一个用户标签,将用户标签对应的应用的评分之和,作为用户标签的权重。
下面以tagi,j表示第i个用户的第j个用户标签,以θi,j表示该用户标签tagi,j的权重。
则针对第1个用户的第1个用户标签tag1,1,该用户标签tag1,1的权重θ1,1=N/A+r1,2+r1,5。
相应的,用户标签tag1,2的权重θ1,2=N/A+r1,4。用户标签tag1,3的权重θ1,3=r1,2+r1,3。用户标签tag1,4的权重θ1,4=r1,3+r1,4。
可以理解的是,第1个用户的第1个用户标签至第4个用户标签依次为上述的Tag1、Tag2、Tag4和Tag5。第2个用户的第1个用户标签至第5个用户标签依次为上述的Tag1、Tag2、Tag3、Tag4和Tag5。第3个用户的第1个用户标签至第5个用户标签依次为上述的Tag1、Tag2、Tag3、Tag4和Tag5。第4个用户的第1个用户标签至第5个用户标签依次为上述的Tag1、Tag2、Tag3、Tag4和Tag5。
在本发明的一个实施例中,计算用户标签的权重时,N/A取值为零。
相应的,可以计算出其他用户的每一用户标签对应的权重。
在本发明的一个实施例中,可以对每一用户标签对应的权重进行归一化处理。
基于上述表1,用户标签以及各个用户标签的权重,得到用户、用户标签、用户标签权重以及应用的对应关系,如表2所示。
表2
不同的用户存在相同的标签,基于表2将相同的标签进行合并,并对标签对应的应用评分进行加权求平均,得到标签对应的应用的评分,进而得到标签对应的应用的评分矩阵。
可以通过公式(4)计算标签对应的应用的评分。
其中,Xt,i表示标签t对应应用i的评分,U(i)表示对应用i评过分的用户u的集合,ru,i表示用户u对应用i的评分,θt (u)表示标签t对应的用户u的用户标签权重。
示例性的,用户1的用户标签tag1,1、用户2的用户标签tag2,1、用户3的用户标签tag3,1和用户4的用户标签tag4,1为相同的标签Tag1。
则按照上述公式(4),标签Tag1对应的应用1的评分X1,1=(θ2,1*r2,1+θ3,1*r3,1+θ4,1*r4,1)/(θ2,1+θ3,1+θ4,1)。
标签Tag1对应的应用2的评分X1,2=(θ1,1*r1,2+θ4,1*r3,1+θ4,1*r4,1)/(θ1,1+θ3,1+θ4,1)。
标签Tag1对应的应用3的评分X1,3=(θ1,1*r1,3+θ2,1*r2,3+θ4,1*r4,3)/(θ1,1+θ2,1+θ4,1)。
标签Tag1对应的应用4的评分X1,4=(θ1,4*r1,4+θ2,1*r2,4+θ3,1*r3,1)/(θ1,1+θ2,1+θ3,1)。
标签Tag1对应的应用5的评分X1,5=N/A。
可以理解的是,用户1的用户标签tag1,2、用户2的用户标签tag2,2、用户3的用户标签tag3,2和用户4的用户标签tag4,2为相同的标签Tag2。
用户2的用户标签tag2,3、用户3的用户标签tag3,3和用户4的用户标签tag4,3为相同的标签Tag3。
用户1的用户标签tag1,3、用户2的用户标签tag2,4、用户3的用户标签tag3,4和用户4的用户标签tag4,4为相同的标签Tag4。
用户1的用户标签tag1,4、用户2的用户标签tag2,5、用户3的用户标签tag3,5和用户4的用户标签tag4,5为相同的标签Tag5。
相应的,可以根据上述公式(4)以及上述表2计算出标签Tag2-5分别对应应用1-5的评分。得到的评分矩阵如表3所示。
表3
在得到表3所示的标签与应用对应的评分矩阵后,可以基于表3中的数据计算应用间的相似度。
在本发明的一个实施例中,优选可以利用皮尔逊系数,计算应用间的相似度。基于表3中的数据利用皮尔逊系数,计算应用间的相似度公式如下:
基于表3以及上述公式(5)得到应用间的相似度。如表4所示。
表4
相似度 | 应用1 | 应用2 | 应用3 | 应用4 | 应用5 |
应用1 | w<sub>11</sub> | w<sub>12</sub> | w<sub>13</sub> | w<sub>14</sub> | w<sub>15</sub> |
应用2 | w<sub>21</sub> | w<sub>22</sub> | w<sub>23</sub> | w<sub>24</sub> | w<sub>25</sub> |
应用3 | w<sub>31</sub> | w<sub>32</sub> | w<sub>33</sub> | w<sub>34</sub> | w<sub>35</sub> |
应用4 | w<sub>41</sub> | w<sub>42</sub> | w<sub>43</sub> | w<sub>44</sub> | w<sub>45</sub> |
应用5 | w<sub>51</sub> | w<sub>52</sub> | w<sub>53</sub> | w<sub>54</sub> | w<sub>55</sub> |
在得到各个应用间的相似度之后,可以基于表4中的数据利用近邻算法,预测表3中的未知评分,即表3中的N/A值。基于表4中的数据利用近邻算法,预测表3中的未知评分的公式如下:
其中,Mti为标签t对应的应用i的未知评分,S(i,k)表示与应用i最近似的k个应用的集合,N(t)表示已知的标签t评分的应用的集合。
基于表4以及上述公式(6)得到各标签对应的应用的未知评分,将得到的未知评分补充到上述表3中,得到各标签与应用对应的评分矩阵,如表5所示。
表5
基于表5,为不同用户推荐应用。
在本发明的一个实施例中,根据补充未知评分后的第二评分矩阵,为不同用户推荐应用,可以包括:针对不同用户的每一用户,根据用户对应的多个用户标签,确定每个用户标签对应的待推荐应用;根据待推荐应用对应于第二评分矩阵中的评分以及每个用户标签对应的权重,计算待推荐应用对应的最终评分;根据最终评分,向用户推荐应用。
示例性的,下面以向用户1推荐应用为例进行说明。可以理解的是,用户1已安装使用的应用不再向用户推荐。
用户1对应的用户标签有4个,分别为Tag1、Tag2、Tag4和Tag5。
根据用户标签Tag1,确定向用户1待推荐应用列表为:应用1和应用5。
根据用户标签Tag2,确定向用户1待推荐应用列表为:应用1和应用5。
根据用户标签Tag4,确定向用户1待推荐应用列表为:应用1和应用5。
根据用户标签Tag5,确定向用户1待推荐应用列表为:应用1和应用5。
而在进行应用推荐中,仅从待推荐应用列表中选择一个应用进行推荐,假设Tag1对应的待推荐应用为应用1,Tag2对应的待推荐应用为应用5,Tag4对应的待推荐应用为应用5,Tag5对应的待推荐应用为应用1。
可以理解的是,在基于上述表2将相同的标签进行合并,并对标签对应的应用评分进行加权求平均,得到标签对应的应用的评分时,相同的,还可以基于上述表2将相同的标签进行合并,并对标签对应的权重进行加权求平均,得到标签对应的权重。
比如:对于Tag1对应的权重Y1=(θ2,1*r2,1+θ3,1*r3,1+θ4,1*r4,1)/(r2,1+r3,1+r4,1)。
同样的,可以计算出Tag2-5分别对应的权重Y2-5。
则对于应用1的最终分值Z1=Y1*X1,1+Y5*X5,1;对于应用5的最终分值Z5=Y2*M2,5+Y4*M4,5。
将Z1和Z5进行比较,然后将Z1和Z5中最大者对应的应用推荐给用户1。
相应的,可以向其他用户进行应用推荐。
需要说明的是,本发明实施例中以4个用户和5个应用为例进行说明仅为本发明的一具体实例,并不构成对本发明的限定。
本发明实施例的应用推荐方法,通过应用标签进行应用的推荐,由于应用标签用来形容应用的特征,且各应用间的应用标签存在大量的重复,相比于用户数量和应用数量,应用标签的数量非常的少,进而能够降低运算量,减少计算资源的浪费,提高推荐效率。
与上述的方法实施例相对应,本发明实施例还提供一种应用推荐装置。
如图2所示,图2示出了本发明实施例提供的应用推荐装置的结构示意图。应用推荐装置可以包括:
第一确定模块201,用于根据不同用户针对不同应用的使用次数和使用时长,确定不同用户针对不同应用的评分。
第一生成模块202,用于根据评分,生成用户与应用对应的第一评分矩阵。
第二确定模块203,用于根据应用对应的多个应用标签,确定用户对应的多个用户标签。
第三确定模块204,用于根据评分,确定每个用户标签对应的权重。
第二生成模块205,用于根据第一评分矩阵、用户标签和权重,生成应用标签与应用对应的第二评分矩阵。
计算模块206,用于根据第二评分矩阵,计算应用间的相似度。
预测模块207,用于根据相似度,预测第二评分矩阵中的未知评分,并利用未知评分对第二评分矩阵进行补充。
推荐模块208,用于根据补充未知评分后的第二评分矩阵,为不同用户推荐应用。
在本发明的一个实施例中,第一确定模块201,具体可以用于:
获得预设时间段内不同用户针对不同应用的使用次数,确定使用次数对应的次数分值;
获得预设时间段内不同用户针对不同应用的使用时长,确定使用时长对应的时长分值;
根据次数分值和时长分值,确定不同用户针对不同应用的评分。
在本发明的一个实施例中,第二确定模块203,具体可以用于:
将用户所安装的应用对应的应用标签,均作为用户对应的用户标签。
在本发明的一个实施例中,第三确定模块204,具体可以用于:
针对一个用户标签,将用户标签对应的应用的评分之和,作为用户标签的权重。
在本发明的一个实施例中,计算模块206,具体可以用于:
根据第二评分矩阵,利用皮尔逊系数,计算应用间的相似度。
在本发明的一个实施例中,预测模块207,具体可以用于:
根据相似度,利用近邻算法,预测第二评分矩阵中的未知评分。
在本发明的一个实施例中,推荐模块208,具体可以用于:
针对不同用户的每一用户,根据用户对应的多个用户标签,确定每个用户标签对应的待推荐应用;
根据待推荐应用对应于第二评分矩阵中的评分以及每个用户标签对应的权重,计算待推荐应用对应的最终评分;
根据最终评分,向用户推荐应用。
本发明实施例的应用推荐装置,通过应用标签进行应用的推荐,由于应用标签用来形容应用的特征,且各应用间的应用标签存在大量的重复,相比于用户数量和应用数量,应用标签的数量非常的少,进而能够降低运算量,减少计算资源的浪费,提高推荐效率。
图3示出了能够实现根据本发明实施例的应用推荐方法及装置的计算设备的示例性硬件架构的结构图。如图3所示,计算设备300包括输入设备301、输入接口302、中央处理器303、存储器304、输出接口305、以及输出设备306。其中,输入接口302、中央处理器303、存储器25 304、以及输出接口305通过总线310相互连接,输入设备301和输出设备306分别通过输入接口302和输出接口305与总线310连接,进而与计算设备300的其他组件连接。
具体地,输入设备301接收来自外部的输入信息,并通过输入接口302将输入信息传送到中央处理器303;中央处理器303基于存储器304中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器304中,然后通过输出接口305将输出信息传送到输出设备306;输出设备306将输出信息输出到计算设备300的外部供用户使用。
也就是说,图3所示的计算设备也可以被实现为应用推荐设备,该应用推荐设备可以包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现结合图1和图2描述的应用推荐方法和装置。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现本发明实施例提供的应用推荐方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种应用推荐方法,其特征在于,所述方法包括:
根据不同用户针对不同应用的使用次数和使用时长,确定不同用户针对不同应用的评分;
根据所述评分,生成用户与应用对应的第一评分矩阵;
根据应用对应的多个应用标签,确定用户对应的多个用户标签;
根据所述评分,确定每个用户标签对应的权重;
根据所述第一评分矩阵、所述用户标签和所述权重,生成应用标签与应用对应的第二评分矩阵;
根据所述第二评分矩阵,计算应用间的相似度;
根据所述相似度,预测所述第二评分矩阵中的未知评分,并利用所述未知评分对所述第二评分矩阵进行补充;
根据补充所述未知评分后的第二评分矩阵,为所述不同用户推荐应用。
2.根据权利要求1所述的方法,其特征在于,所述根据不同用户针对不同应用的使用次数和使用时长,确定不同用户针对不同应用的评分,包括:
获得预设时间段内不同用户针对不同应用的使用次数,确定所述使用次数对应的次数分值;
获得所述预设时间段内不同用户针对不同应用的使用时长,确定所述使用时长对应的时长分值;
根据所述次数分值和所述时长分值,确定不同用户针对不同应用的评分。
3.根据权利要求1所述的方法,其特征在于,所述根据应用对应的多个应用标签,确定用户对应的多个用户标签,包括:
将用户所安装的应用对应的应用标签,均作为所述用户对应的用户标签。
4.根据权利要求1所述的方法,其特征在于,所述根据所述评分,确定每个用户标签对应的权重,包括:
针对一个用户标签,将所述用户标签对应的应用的评分之和,作为所述用户标签的权重。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第二评分矩阵,计算应用间的相似度,包括:
根据所述第二评分矩阵,利用皮尔逊系数,计算应用间的相似度。
6.根据权利要求1所述的方法,其特征在于,所述根据所述相似度,预测所述第二评分矩阵中的未知评分,包括:
根据所述相似度,利用近邻算法,预测所述第二评分矩阵中的未知评分。
7.根据权利要求1所述的方法,其特征在于,所述根据补充所述未知评分后的第二评分矩阵,为所述不同用户推荐应用,包括:
针对所述不同用户的每一用户,根据所述用户对应的多个用户标签,确定每个用户标签对应的待推荐应用;
根据所述待推荐应用对应于所述第二评分矩阵中的评分以及所述每个用户标签对应的权重,计算所述待推荐应用对应的最终评分;
根据所述最终评分,向所述用户推荐应用。
8.一种应用推荐装置,其特征在于,所述装置包括:
第一确定模块,用于根据不同用户针对不同应用的使用次数和使用时长,确定不同用户针对不同应用的评分;
第一生成模块,用于根据所述评分,生成用户与应用对应的第一评分矩阵;
第二确定模块,用于根据应用对应的多个应用标签,确定用户对应的多个用户标签;
第三确定模块,用于根据所述评分,确定每个用户标签对应的权重;
第二生成模块,用于根据所述第一评分矩阵、所述用户标签和所述权重,生成应用标签与应用对应的第二评分矩阵;
计算模块,用于根据所述第二评分矩阵,计算应用间的相似度;
预测模块,用于根据所述相似度,预测所述第二评分矩阵中的未知评分,并利用所述未知评分对所述第二评分矩阵进行补充;
推荐模块,用于根据补充所述未知评分后的第二评分矩阵,为所述不同用户推荐应用。
9.一种应用推荐设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;
所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的应用推荐方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的应用推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811147034.8A CN110968773B (zh) | 2018-09-29 | 2018-09-29 | 应用推荐方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811147034.8A CN110968773B (zh) | 2018-09-29 | 2018-09-29 | 应用推荐方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110968773A true CN110968773A (zh) | 2020-04-07 |
CN110968773B CN110968773B (zh) | 2023-04-28 |
Family
ID=70027703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811147034.8A Active CN110968773B (zh) | 2018-09-29 | 2018-09-29 | 应用推荐方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110968773B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111950907A (zh) * | 2020-08-13 | 2020-11-17 | 北京每日优鲜电子商务有限公司 | 信息生成方法、装置、电子设备和计算机可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150073931A1 (en) * | 2013-09-06 | 2015-03-12 | Microsoft Corporation | Feature selection for recommender systems |
US9633081B1 (en) * | 2013-09-30 | 2017-04-25 | Google Inc. | Systems and methods for determining application installation likelihood based on user network characteristics |
CN107239993A (zh) * | 2017-05-24 | 2017-10-10 | 海南大学 | 一种基于拓展标签的矩阵分解推荐方法及系统 |
CN108573041A (zh) * | 2018-04-08 | 2018-09-25 | 南京理工大学 | 基于加权信任关系的概率矩阵分解推荐方法 |
-
2018
- 2018-09-29 CN CN201811147034.8A patent/CN110968773B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150073931A1 (en) * | 2013-09-06 | 2015-03-12 | Microsoft Corporation | Feature selection for recommender systems |
US9633081B1 (en) * | 2013-09-30 | 2017-04-25 | Google Inc. | Systems and methods for determining application installation likelihood based on user network characteristics |
CN107239993A (zh) * | 2017-05-24 | 2017-10-10 | 海南大学 | 一种基于拓展标签的矩阵分解推荐方法及系统 |
CN108573041A (zh) * | 2018-04-08 | 2018-09-25 | 南京理工大学 | 基于加权信任关系的概率矩阵分解推荐方法 |
Non-Patent Citations (2)
Title |
---|
CANTADOR I: "Extracting multilayered Communities of Interest from semantic user profiles: Application to group modeling and hybrid recommendations", 《COMPUTERS IN HUMAN BEHAVIOR》 * |
张景龙等: "基于标签优化的协同过滤推荐算法", 《计算机应用研究》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111950907A (zh) * | 2020-08-13 | 2020-11-17 | 北京每日优鲜电子商务有限公司 | 信息生成方法、装置、电子设备和计算机可读介质 |
CN111950907B (zh) * | 2020-08-13 | 2024-01-16 | 中诚信息服务(深圳)有限公司 | 信息生成方法、装置、电子设备和计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110968773B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
More et al. | A SI model for social media influencer maximization | |
Solus et al. | Consistency guarantees for greedy permutation-based causal inference algorithms | |
US20180341898A1 (en) | Demand forecast | |
CN106844407B (zh) | 基于数据集相关性的标签网络产生方法和系统 | |
CN109165975B (zh) | 标签推荐方法、装置、计算机设备及存储介质 | |
CN112561082A (zh) | 生成模型的方法、装置、设备以及存储介质 | |
CN112148986B (zh) | 一种基于众包的top-N服务再推荐方法及系统 | |
CN111814056A (zh) | 基于信息处理的供应商推荐方法及相关设备 | |
CN112818230A (zh) | 内容推荐方法、装置、电子设备和存储介质 | |
CN103699573A (zh) | 社交平台的ugc标签聚类方法和装置 | |
CN112418258A (zh) | 一种特征离散化方法和装置 | |
CN110968773B (zh) | 应用推荐方法、装置、设备及存储介质 | |
CN113033709A (zh) | 链路预测方法和装置 | |
US11651271B1 (en) | Artificial intelligence system incorporating automatic model updates based on change point detection using likelihood ratios | |
US11636377B1 (en) | Artificial intelligence system incorporating automatic model updates based on change point detection using time series decomposing and clustering | |
CN115204971B (zh) | 产品推荐方法、装置、电子设备及计算机可读存储介质 | |
US20190114673A1 (en) | Digital experience targeting using bayesian approach | |
CN113656586B (zh) | 情感分类方法、装置、电子设备及可读存储介质 | |
CN115563310A (zh) | 一种关键业务节点的确定方法、装置、设备及介质 | |
CN111191049B (zh) | 信息推送方法、装置、计算机设备和存储介质 | |
CN114925275A (zh) | 产品推荐方法、装置、计算机设备及存储介质 | |
CN114254204A (zh) | 数据处理方法、装置、介质及电子设备 | |
CN114037060A (zh) | 预训练模型的生成方法、装置、电子设备以及存储介质 | |
CN113837252A (zh) | 聚类处理方法和装置 | |
CN115049446A (zh) | 商户识别方法、装置、电子设备及计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |