应用程序的推荐方法和装置转让专利

申请号 : CN201610615764.0

文献号 : CN107526753B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郭鑫鹏吴德龙邱泰生

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明公开了一种应用程序的推荐方法和装置。其中,该方法包括:获取第一应用程序推荐模型和第二应用程序推荐模型;获取第一应用程序推荐模型的第一参数和第二应用程序推荐模型的第二参数,其中,第一参数用于指示第一应用程序推荐模型的推荐效果和第一应用程序推荐模型的属性,第二参数用于指示第二应用程序推荐模型的推荐效果和第二应用程序推荐模型的属性;比较第一参数和第二参数得到比较结果;根据比较结果选择第一应用程序推荐模型和第二应用程序推荐模型中推荐质量较高的模型推荐与目标应用程序相关的应用程序。本发明解决了现有技术中无法选择出推荐质量最高的应用程序推荐模型导致应用程序的推荐准确度差的技术问题。

权利要求 :

1.一种应用程序的推荐方法,其特征在于,包括:

获取用于筛选出与目标应用程序相关的应用程序的第一应用程序推荐模型和第二应用程序推荐模型;

获取所述第一应用程序推荐模型的用于指示所述第一应用程序推荐模型的推荐效果和所述第一应用程序推荐模型的属性的第一参数和所述第二应用程序推荐模型的用于指示所述第二应用程序推荐模型的推荐效果和所述第二应用程序推荐模型的属性的第二参数,其中,所述第一参数通过将包括所述第一应用程序推荐模型已推荐应用程序的安装数据的第一数据输入到预设公式中得到,所述第二参数通过将包括所述第二应用程序推荐模型已推荐应用程序的安装数据的第二数据输入到所述预设公式中得到;

比较所述第一参数和所述第二参数,得到用于指示所述第一应用程序推荐模型的推荐质量高于所述第二应用程序推荐模型的推荐质量,或者所述第二应用程序推荐模型的推荐质量高于所述第一应用程序推荐模型的推荐质量的比较结果;

根据所述比较结果选择所述第一应用程序推荐模型和所述第二应用程序推荐模型中推荐质量较高的模型推荐与所述目标应用程序相关的应用程序。

2.根据权利要求1所述的方法,其特征在于,所述第一参数包括矩阵评估参数,获取所述第一应用程序推荐模型的第一参数包括:利用所述第一应用程序推荐模型筛选出与参考应用程序的相似度在预设范围以内的第一应用程序;

将筛选出的所述第一应用程序按照所述相似度由高到低进行排序,得到排序结果;

根据所述排序结果获取所述矩阵评估参数,其中,所述矩阵评估参数用于表示所述第一应用程序推荐模型获取的所述第一应用程序与所述参考应用程序的相似度的准确程度。

3.根据权利要求1所述的方法,其特征在于,所述第一参数包括第一子参数和第二子参数,获取第一应用程序推荐模型的第一参数包括:获取所述第一应用程序推荐模型的训练集和测试集,其中,所述训练集包括在第一预设时间内应用程序的安装数据,所述测试集包括在第二预设时间内应用程序的安装数据,其中,所述第二预设时间在所述第一预设时间之后并且所述第二预设时间的开始时刻是所述第一预设时间的结束时刻;

根据所述训练集和所述测试集获取所述第一子参数和所述第二子参数,其中,所述第一子参数用于指示所述第一应用程序推荐模型的推荐效果,所述第二子参数用于指示所述第一应用程序推荐模型的属性。

4.根据权利要求3所述的方法,其特征在于,根据所述训练集和所述测试集获取所述第一子参数和所述第二子参数包括:根据所述训练集和所述测试集获取所述第一子参数和以下参数中的至少一个:推荐列表场景覆盖人数、模型覆盖人数和推荐列表长度分布。

5.根据权利要求3所述的方法,其特征在于,所述第一子参数包括召回率,根据所述训练集和所述测试集获取所述第一子参数包括:采用以下公式计算所述召回率:

其中,precision表示所述召回率,n表示在所述第二预设时间内,新安装了应用程序的用户的数量;u表示第u个用户;i表示第i个展示位,其中所述展示位用于展示应用程序;mu表示向所述第u个用户推荐的应用程序的数量;hitu,i表示向第u个用户推荐的位于第i个展示位的应用程序是否被所述第u个用户安装,若所述第u个用户安装了,hitu,i为1,否则hitu,i为0;ku表示所述第u个用户在所述第二预设时间内新安装的应用程序的数量。

6.根据权利要求3所述的方法,其特征在于,所述第一子参数包括新颖性参数,根据所述训练集和所述测试集获取所述第一子参数包括:采用以下公式计算所述新颖性参数:

其中,Novelty表示所述新颖性参数,n表示在所述第二预设时间内,新安装了应用程序的用户的数量;u表示第u个用户;i表示第i个展示位,其中所述展示位用于展示应用程序;

mu表示向所述第u个用户推荐的应用程序的数量;ku表示所述第u个用户在所述第二预设时间内新安装的应用程序的数量;install(i)表示推荐的位于第i个展示位的应用程序的安装量。

7.根据权利要求3所述的方法,其特征在于,所述第一子参数包括预估转化率,根据所述训练集和所述测试集获取所述第一子参数包括:采用以下公式计算所述预估转化率:

其中,conversion表示所述预估转化率,n表示在所述第二预设时间内,新安装了应用程序的用户的数量;u表示第u个用户;i表示第i个展示位,其中所述展示位用于展示应用程序;mu表示向所述第u个用户推荐的应用程序的数量;maxShow表示展示位的数量;hitu,i表示向所述第u个用户推荐的位于第i个展示位的应用程序是否被所述第u个用户安装,若所述第u个用户安装了,hitu,i为1,否则hitu,i为0。

8.一种应用程序的推荐装置,其特征在于,包括:

第一获取单元,用于获取用于筛选出与目标应用程序相关的应用程序的第一应用程序推荐模型和第二应用程序推荐模型;

第二获取单元,获取所述第一应用程序推荐模型的用于指示所述第一应用程序推荐模型的推荐效果和所述第一应用程序推荐模型的属性的第一参数和所述第二应用程序推荐模型的用于指示所述第二应用程序推荐模型的推荐效果和所述第二应用程序推荐模型的属性的第二参数,其中,所述第一参数通过将包括所述第一应用程序推荐模型已推荐应用程序的安装数据的第一数据输入到预设公式中得到,所述第二参数通过将包括所述第二应用程序推荐模型已推荐应用程序的安装数据的第二数据输入到所述预设公式中得到;

比较单元,比较所述第一参数和所述第二参数,得到用于指示所述第一应用程序推荐模型的推荐质量高于所述第二应用程序推荐模型的推荐质量,或者所述第二应用程序推荐模型的推荐质量高于所述第一应用程序推荐模型的推荐质量的比较结果;

选择单元,根据所述比较结果选择所述第一应用程序推荐模型和所述第二应用程序推荐模型中推荐质量较高的模型推荐与所述目标应用程序相关的应用程序。

9.根据权利要求8所述的装置,其特征在于,所述第一参数包括矩阵评估参数,所述第二获取单元包括:筛选子单元,用于利用所述第一应用程序推荐模型筛选出与参考应用程序的相似度在预设范围以内的第一应用程序;

排序子单元,用于将筛选出的所述第一应用程序按照所述相似度由高到低进行排序,得到排序结果;

第一获取子单元,用于根据所述排序结果获取所述矩阵评估参数,其中,所述矩阵评估参数用于表示所述第一应用程序推荐模型获取的所述第一应用程序与所述参考应用程序的相似度的准确程度。

10.根据权利要求8所述的装置,其特征在于,所述第一参数包括第一子参数和第二子参数,所述第二获取单元包括:第二获取子单元,用于获取所述第一应用程序推荐模型的训练集和测试集,其中,所述训练集包括在第一预设时间内应用程序的安装数据,所述测试集包括在第二预设时间内应用程序的安装数据,其中,所述第二预设时间在所述第一预设时间之后并且所述第二预设时间的开始时刻是所述第一预设时间的结束时刻;

第三获取子单元,用于根据所述训练集和所述测试集获取所述第一子参数和所述第二子参数,其中,所述第一子参数用于指示所述第一应用程序推荐模型的推荐效果,所述第二子参数用于指示所述第一应用程序推荐模型的属性。

11.根据权利要求10所述的装置,其特征在于,所述第三获取子单元包括:

获取模块,用于根据所述训练集和所述测试集获取所述第一子参数和以下参数中的至少一个:推荐列表场景覆盖人数、模型覆盖人数和推荐列表长度分布。

12.根据权利要求10所述的装置,其特征在于,所述第一子参数包括召回率,所述第三获取子单元包括:第一计算模块,用于采用以下公式计算所述召回率:

其中,precision表示所述召回率,n表示在所述第二预设时间内,新安装了应用程序的用户的数量;u表示第u个用户;i表示第i个展示位,其中所述展示位用于展示应用程序;mu表示向所述第u个用户推荐的应用程序的数量;hitu,i表示向第u个用户推荐的位于第i个展示位的应用程序是否被所述第u个用户安装,若所述第u个用户安装了,hitu,i为1,否则hitu,i为0;ku表示所述第u个用户在所述第二预设时间内新安装的应用程序的数量。

13.根据权利要求10所述的装置,其特征在于,所述第一子参数包括新颖性参数,所述第三获取子单元包括:第二计算模块,用于采用以下公式计算所述新颖性参数:

其中,Novelty表示所述新颖性参数,n表示在所述第二预设时间内,新安装了应用程序的用户的数量;u表示第u个用户;i表示第i个展示位,其中所述展示位用于展示应用程序;

mu表示向所述第u个用户推荐的应用程序的数量;ku表示所述第u个用户在所述第二预设时间内新安装的应用程序的数量;install(i)表示推荐的位于第i个展示位的应用程序的安装量。

14.根据权利要求10所述的装置,其特征在于,所述第一子参数包括预估转化率,所述第三获取子单元包括:第三计算模块,用于采用以下公式计算所述预估转化率:

其中,conversion表示所述预估转化率,n表示在所述第二预设时间内,新安装了应用程序的用户的数量;u表示第u个用户;i表示第i个展示位,其中所述展示位用于展示应用程序;mu表示向所述第u个用户推荐的应用程序的数量;maxShow表示展示位的数量;hitu,i表示向所述第u个用户推荐的位于第i个展示位的应用程序是否被所述第u个用户安装,若所述第u个用户安装了,hitu,i为1,否则hitu,i为0。

15.一种计算机可读的存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序运行时执行所述权利要求1至7任一项中所述的方法。

说明书 :

应用程序的推荐方法和装置

技术领域

[0001] 本发明涉及互联网领域,具体而言,涉及一种应用程序的推荐方法和装置。

背景技术

[0002] 应用程序推荐模型能够向用户推荐应用程序,例如,玩家在使用手机管家的游戏盒子的时候,会有游戏推荐给用户;用户在使用软件卡片页的时候,会在相应的TAB有软件推荐给用户。
[0003] 当应用程序推荐模型向用户推荐的应用程序是用户所需要或者喜欢的,那么推荐的效果好;当应用程序推荐模型向用户推荐的应用程序是用户所不需要或者不喜欢的,那么推荐的效果不好。需要从多个应用程序推荐模型中选择出效果最好的应用程序推荐模型,使用效果最好的应用程序推荐模型向用户推荐应用程序,以获得最好的推荐效果。
[0004] 可以采用离线方式对应用程序推荐模型进行选择。主要参考的指标有以下几个方面:准确率:推荐列表中命中推荐的个数与推荐个数的比值;召回率:推荐列表中命中推荐的个数与用户潜在喜欢个数的比值;覆盖率:所有被推荐物品的集合与所有物品集合的比值;新颖性:推荐物品的冷门程度或用户之前没有行为的物品。
[0005] 现有技术中往往只根据某一个指标对应用程序推荐模型进行选择。由于一个指标只能反映应用程序推荐模型的一个方面,因此,这种方法选择得到的应用程序推荐模型并不是最佳的,导致应用程序的推荐准确度差。
[0006] 针对上述的问题,目前尚未提出有效的解决方案。

发明内容

[0007] 本发明实施例提供了一种应用程序的推荐方法和装置,以至少解决现有技术中无法选择出推荐质量最高的应用程序推荐模型导致应用程序的推荐准确度差的技术问题。
[0008] 根据本发明实施例的一个方面,提供了一种应用程序推荐模型的选择方法,包括:获取第一应用程序推荐模型和第二应用程序推荐模型,其中,所述第一应用程序推荐模型和所述第二应用程序推荐模型用于筛选出与目标应用程序相关的应用程序;获取所述第一应用程序推荐模型的第一参数和所述第二应用程序推荐模型的第二参数,其中,所述第一参数用于指示所述第一应用程序推荐模型的推荐效果和所述第一应用程序推荐模型的属性,所述第二参数用于指示所述第二应用程序推荐模型的推荐效果和所述第二应用程序推荐模型的属性,所述第一参数根据第一数据和预设条件得到,所述第二参数根据第二数据和所述预设条件得到,所述第一数据包括所述第一应用程序推荐模型已推荐应用程序的安装数据,所述第二数据包括所述第二应用程序推荐模型已推荐应用程序的安装数据;比较所述第一参数和所述第二参数得到比较结果,其中,所述比较结果用于指示所述第一应用程序推荐模型的推荐质量高于所述第二应用程序推荐模型的推荐质量,或者所述第二应用程序推荐模型的推荐质量高于所述第一应用程序推荐模型的推荐质量;根据所述比较结果选择所述第一应用程序推荐模型和所述第二应用程序推荐模型中推荐质量较高的模型推荐与所述目标应用程序相关的应用程序。
[0009] 根据本发明实施例的又一个方面,提供了一种应用程序推荐模型的选择装置,包括:第一获取单元,用于获取第一应用程序推荐模型和第二应用程序推荐模型,其中,所述第一应用程序推荐模型和所述第二应用程序推荐模型用于筛选出与目标应用程序相关的应用程序;第二获取单元,获取所述第一应用程序推荐模型的第一参数和所述第二应用程序推荐模型的第二参数,其中,所述第一参数用于指示所述第一应用程序推荐模型的推荐效果和所述第一应用程序推荐模型的属性,所述第二参数用于指示所述第二应用程序推荐模型的推荐效果和所述第二应用程序推荐模型的属性,所述第一参数根据第一数据和预设条件得到,所述第二参数根据第二数据和所述预设条件得到,所述第一数据包括所述第一应用程序推荐模型已推荐应用程序的安装数据,所述第二数据包括所述第二应用程序推荐模型已推荐应用程序的安装数据;比较单元,比较所述第一参数和所述第二参数得到比较结果,其中,所述比较结果用于指示所述第一应用程序推荐模型的推荐质量高于所述第二应用程序推荐模型的推荐质量,或者所述第二应用程序推荐模型的推荐质量高于所述第一应用程序推荐模型的推荐质量;选择单元,根据所述比较结果选择所述第一应用程序推荐模型和所述第二应用程序推荐模型中推荐质量较高的模型推荐与所述目标应用程序相关的应用程序。
[0010] 在本发明实施例中,在选择应用程序推荐模型时,综合考虑到了应用程序推荐模型的各个方面,不仅考虑到了应用程序推荐模型的推荐效果,还考虑到了应用程序推荐模型的属性,能够从两个及以上应用程序推荐模型中选择出推荐质量最高的应用程序推荐模型,达到了根据推荐效果和属性选择出推荐质量最高的应用程序推荐模型从而使得应用程序的推荐准确度高的技术效果,进而解决了现有技术中无法选择出推荐质量最高的应用程序推荐模型导致应用程序的推荐准确度差的技术问题。

附图说明

[0011] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0012] 图1是根据本发明实施例的硬件环境的架构图;
[0013] 图2是根据本发明实施例的应用程序推荐模型的选择方法的流程图;
[0014] 图3是根据本发明实施例的一种可选的应用程序推荐模型的应用场景的示意图;
[0015] 图4是根据本发明实施例的又一种可选的应用程序推荐模型的应用场景的示意图;
[0016] 图5是根据本发明实施例的用户已经安装的应用程序的示意图;
[0017] 图6是根据本发明实施例的用户智能推荐列表的示意图;
[0018] 图7是根据本发明实施例的离线评估体系在整个应用程序推荐系统中的位置的示意图;
[0019] 图8是根据本发明实施例的离线评估的示意图;
[0020] 图9是根据本发明实施例的离线评估体系的基础结构的示意图;
[0021] 图10是根据本发明实施例的数据流部分架构图;
[0022] 图11是根据本发明实施例的线下指标评估模块的示意图;
[0023] 图12是根据本发明实施例的基础质量评估模块的示意图;
[0024] 图13是根据本发明实施例的模型内矩阵评估模块的示意图;
[0025] 图14是根据本发明实施例的应用程序推荐模型的选择装置的示意图;
[0026] 图15是根据本发明实施例的服务器的示意图。

具体实施方式

[0027] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0028] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0029] 术语解释:
[0030] 手机管家:一款主要包含手机病毒查杀、垃圾清理、骚扰拦截、流量管理、软件管理等功能的手机管理软件。
[0031] Item2item:特指软件到软件的关联模型。
[0032] User2user:特指用户到用户的关联模型。
[0033] 新颖性:向用户推荐那些他们以前没有听说过的应用程序。
[0034] 下面对本发明实施例中出现的技术术语进行解释:
[0035] 根据本发明实施例,提供了一种可以通过本申请装置实施例执行的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0036] 根据本发明实施例,提供了一种应用程序的推荐方法。
[0037] 可选地,在本实施例中,上述应用程序推荐模型的选择方法可以应用于如图1所示的第一终端102、第二终端106和服务器104所构成的硬件环境中。如图1所示,第一终端102和第二终端106可以通过网络与服务器104进行连接,第一终端102也可以不与服务器104连接。在第一终端102不与服务器104连接的情况下,第一终端102和第二终端106之间也可以进行通信。上述网络包括但不限于:移动通信网络、广域网、城域网或局域网,终端102可以是手机终端,也可以是PC终端、笔记本终端或平板电脑终端。
[0038] 图1中示出的硬件环境系统的主要工作原理是:
[0039] 第一终端102和第二终端106向服务器104上报应用程序的安装情况和使用情况。服务器104根据第一预设时间内和第二预设时间内应用程序的安装情况和使用情况得出(1)预估转化率、召回率和新颖性参数这3个用于指示应用程序推荐模型的推荐效果的参数,(2)推荐列表场景覆盖人数、模型覆盖人数和推荐列表长度分布这3个应用程序推荐模型的属性数据,以及(3)应用程序推荐模型计算两个应用程序之间的相似度的矩阵评估参数。根据以上参数中的两个或多个计算第一应用程序推荐模型的第一参数和第二应用程序推荐模型的第二参数,根据第一参数和第二参数比较第一应用程序推荐模型和第二应用程序推荐模型,根据比较结果从第一应用程序推荐模型和第二应用程序推荐模型中选择较优的应用程序推荐模型。当从多个应用程序推荐模型中选择出最优的应用程序推荐模型之后,使用该最优的应用程序推荐模型中进行应用程序的程序。需要注意的是,第一终端102和第二终端106仅仅是示意性的,实际上,需要数量众多的终端向服务器104上报应用程序的安装情况和使用情况。
[0040] 根据本发明实施例,提供了一种应用程序的推荐方法。如图2所示,该方法包括以下步骤:
[0041] 步骤S202,获取第一应用程序推荐模型和第二应用程序推荐模型,其中,第一应用程序推荐模型和第二应用程序推荐模型用于筛选出与目标应用程序相关的应用程序。
[0042] 步骤S204,获取第一应用程序推荐模型的第一参数和第二应用程序推荐模型的第二参数,其中,第一参数用于指示第一应用程序推荐模型的推荐效果和第一应用程序推荐模型的属性,第二参数用于指示第二应用程序推荐模型的推荐效果和第二应用程序推荐模型的属性,第一参数根据第一数据和预设条件得到,第二参数根据第二数据和预设条件得到,第一数据包括第一应用程序推荐模型已推荐应用程序的安装数据,第二数据包括第二应用程序推荐模型已推荐应用程序的安装数据。
[0043] 步骤S206,比较第一参数和第二参数得到比较结果,其中,比较结果用于指示第一应用程序推荐模型的推荐质量高于第二应用程序推荐模型的推荐质量,或者第二应用程序推荐模型的推荐质量高于第一应用程序推荐模型的推荐质量。
[0044] 步骤S208,根据比较结果选择第一应用程序推荐模型和第二应用程序推荐模型中推荐质量较高的模型推荐与目标应用程序相关的应用程序。
[0045] 在本发明实施例中,需要从多个应用程序推荐模型中选择出推荐质量最高的应用程序推荐模型。以从两个应用程序推荐模型中选择出推荐质量较高的应用程序推荐模型为例进行说明。假设需要从第一应用程序推荐模型和第二应用程序推荐模型中选出推荐质量较高的应用程序推荐模型。使用第一参数指示第一应用程序推荐模型的推荐效果和第一应用程序推荐模型的属性。使用第二参数指示第二应用程序推荐模型的推荐效果和第二应用程序推荐模型的属性。
[0046] 应用程序推荐模型的属性可以包括应用程序推荐模型覆盖的人数、推荐列表长度分布等。应用程序推荐模型的推荐效果可以包括应用程序推荐模型的预估转化率、召回率、新颖性、多样性等。其中,多样性指应用程序推荐模型为用户推荐的应用程序的类型是多种多样的,能够使用户有较大的选择空间。
[0047] 第一参数根据第一数据和预设条件得到,第一数据包括第一应用程序推荐模型已推荐应用程序的安装数据。预设条件可以是某个公式。例如,当第一数据是第一应用程序推荐模型已推荐应用程序的安装数据时,将第一数据带入计算应用程序推荐模型的召回率的公式(预设条件),即得到了第一应用程序推荐模型的召回率。再例如,当第一数据是第一应用程序推荐模型已推荐应用程序的安装数据时,将第一数据带入计算应用程序推荐模型的预估转化率的公式(预设条件),即得到了第一应用程序推荐模型的预估转化率。
[0048] 第二参数根据第二数据和预设条件得到,第二数据包括第二应用程序推荐模型已推荐应用程序的安装数据。例如,当第二数据是第二应用程序推荐模型已推荐应用程序的安装数据时,将第二数据带入计算应用程序推荐模型的召回率的公式(预设条件),即得到了第二应用程序推荐模型的召回率。再例如,当第二数据是第二应用程序推荐模型已推荐应用程序的安装数据时,将第二数据带入计算应用程序推荐模型的预估转化率的公式(预设条件),即得到了第二应用程序推荐模型的预估转化率。
[0049] 需要注意的是,根据第一数据和预设条件得到第一应用程序推荐模型的第一参数,根据第二数据和预设条件得到第二应用程序推荐模型的第二参数,对于第一应用程序推荐模型和第二应用程序推荐模型来说,预设条件是相同的,例如,都是计算召回率的公式、或者都是计算预估转化率的公式等等。由于不同的应用程序推荐模型的推荐质量是不同的,推荐质量较好的应用程序推荐模型向用户推荐应用程序后,用户的安装量较大。推荐质量较差的应用程序推荐模型向用户推荐应用程序后,用户的安装量较小。因此,第一数据和第二数据是不同的,第一参数和第二参数也是不同的。
[0050] 比较第一参数和第二参数得到比较结果,比较结果有两种可能,一、比较结果指示第一应用程序推荐模型的推荐质量高于第二应用程序推荐模型的推荐质量;二、比较结果指示第二应用程序推荐模型的推荐质量高于第一应用程序推荐模型的推荐质量。
[0051] 根据比较结果从第一应用程序推荐模型和第二应用程序推荐模型中选择出推荐质量较高的应用程序推荐模型。使用该质量较高的应用程序推荐模型进行应用程序的推荐,该质量较高的应用程序推荐模型会向用户推荐与目标应用程序相关的应用程序。
[0052] 在本发明实施例中,在选择应用程序推荐模型时,综合考虑到了应用程序推荐模型的各个方面,不仅考虑到了应用程序推荐模型的推荐效果,还考虑到了应用程序推荐模型的属性,能够从两个及以上应用程序推荐模型中选择出推荐质量最高的应用程序推荐模型,解决了现有技术中无法选择出推荐质量最高的应用程序推荐模型导致应用程序的推荐准确度差的技术问题,达到了根据推荐效果和属性选择出推荐质量最高的应用程序推荐模型从而使得应用程序的推荐准确度高的技术效果。
[0053] 应用程序推荐模型应用在很多场景,例如,图3示出了游戏TAB推荐场景。在图3中,应用程序推荐模型向用户推荐了王者荣耀、穿越火线-枪战王者、开心消消乐、天天酷跑、无尽之剑命运等应用程序,在每个推荐的应用程序的右边有下载标识,点击“下载”,即可下载并安装相应的应用程序。图4示出了游戏盒子推荐场景。在图4中,应用程序推荐模型向用户推荐了新花千骨、大话西游、星河战神-雷、驯龙战机3D等应用程序。
[0054] 下面表1详述了应用程序推荐模型的选择方法所覆盖到的应用场景。
[0055] 表1
[0056] 场景 场景详解游戏盒子 用户玩游戏提供加速和安全的保障,并且给用户推荐游戏。
游戏TAB 用户在软件卡片的游戏TAB页面中,是游戏分发的重要页面。
WIFI场景 手机管家6.0以上版本,用户连接WIFI的时候,会推荐一些游戏。
榜单 用户在榜单TAB列表页面,有猜你喜欢的场景。
同步助手 同步助手的产品上月光宝盒功能上提供了软件和游戏的推荐。
[0057] 以游戏TAB为例子,来说明应用程序推荐模型所达到的效果。图5示出了用户已安装应用程序列表。从图5中可以看到,用户已经安装的应用程序有微信、应用宝、全民挖宝、全民突击、王者荣耀、火影忍者等。从图5中可以看到,用户安装了枪战类游戏、全民出品的游戏、动漫类游戏,说明这些类型的游戏是用户的兴趣所在。图6示出了用户智能推荐列表。从图6中可以看到,向用户推荐了很多枪战类游戏、全民出品的游戏、动漫类游戏,非常好地命中了用户的兴趣,同时向用户推荐的这些游戏也是用户付费意愿强烈的游戏。
[0058] 本发明实施例提供了一种离线评估体系,该离线评估体系能够执行本发明实施例的应用程序推荐模型的选择方法。该离线评估体系在整个应用程序推荐系统中的位置如图7所示。由图7能够看出,离线评估是贯穿整个推荐始终的,是对算法输入,算法中间值和算法结果的一个评估,包含以下几个方面:转化率预估、准召评估、离线调优、质量控制,图8示出了这几个方面。
[0059] 本发明实施例提供的离线评估体系的基础结构图如图9所示。由图9可以看出,该体系由以下模块构成:(1)训练集、测试集构造模块;(2)线下指标评估模块;(3)基础质量评估模块;(4)模型内矩阵评估模块。
[0060] 下面分别详细讲解各个模块。
[0061] (1)训练集、测试集构造模块:
[0062] 数据流部分架构图如图10所示。
[0063] 现有技术中应用程序推荐模型选择方法中的训练集和测试集的构造,都是将数据集合随机切分成训练集和测试集。这种方法存在几个问题:(1)关于内置应用和外置应用的问题:有许多应用是内置的,判断内置外置应用有一定的成本。(2)训练数据减少:将已有数据集合切分为训练集和测试集,必定导致训练数据会有所减少,没有全量训练的效果好。(3)必备应用的陷阱:像微信,手机QQ,如果被划分到测试集,不在训练集中,那么结果评估出来给用户推荐微信和手机QQ的准确率一定很高,但是意义不大,因为用户其实已经安装过这个软件了。
[0064] 为了解决上述问题,在本发明实施例中,将第一预设时间内应用程序的安装数据作为训练集,将第二预设时间内应用程序的安装数据作为测试集。其中,第二预设时间在第一预设时间之后并且第二预设时间的开始时刻是第一预设时间的结束时刻。例如,以时间为刻度划分训练集和测试集,将当前时刻作为训练集和测试集的分割点,将过去(第一预设时间)的“整体”的用户数据作为训练集,将未来(第二预设时间)“整体”的维度作为测试集,将用户已安装列表和已使用列表的数据作为训练集,将用户未来安装的实际数据作为测试集。相比于现有技术中按照安装列表的方法选取测试集和训练集,以时间为刻度划分训练集和测试集的方法更符合用户场景。
[0065] (2)线下指标评估模块:
[0066] 如图11所示,线下指标包括召回率、新颖性、多样性和预估转化率。召回率、新颖性、多样性和预估转化率用于指示第一应用程序推荐模型的推荐效果,是第一子参数。其中,召回率、新颖性参数和预估转化率的具体计算方式如下。
[0067] 采用以下公式(a)计算召回率:
[0068]
[0069] 其中,precision表示召回率,n表示在第二预设时间内,新安装了应用程序的用户的数量;u表示第u个用户;i表示第i个展示位,其中展示位用于展示应用程序;mu表示向第u个用户推荐的应用程序的数量;hitu,表示向第u个用户推荐的位于第i个展示位的应用程序是否被第u个用户安装,若第u个用户安装了,hitu,为1,否则hitu,为0;ku表示第u个用户在第二预设时间内新安装的应用程序的数量。
[0070] 为了评估新颖性,采用“用户安装个数”的倒数,作为对列表的新颖程度的判断,采用以下公式(b)计算新颖性参数:
[0071]
[0072] 其中,Novelty表示新颖性参数,n表示在第二预设时间内,新安装了应用程序的用户的数量;u表示第u个用户;i表示第i个展示位,其中展示位用于展示应用程序;mu表示向第u个用户推荐的应用程序的数量;ku表示第u个用户在第二预设时间内新安装的应用程序的数量;install(i)表示推荐的位于第i个展示位的应用程序的安装量。
[0073] 采用以下公式(c)计算预估转化率:
[0074]
[0075] 其中,conversion表示预估转化率,n表示在第二预设时间内,新安装了应用程序的用户的数量;u表示第u个用户;i表示第i个展示位,其中展示位用于展示应用程序;mu表示向第u个用户推荐的应用程序的数量;maxShow表示展示位的数量;hitu,i表示向第u个用户推荐的位于第i个展示位的应用程序是否被第u个用户安装,若第u个用户安装了,hitu,i为1,否则hitu,i为0。
[0076] 在公式(a)、公式(b)和公式(c)中,第一预设时间可以是图9或图10中的第x-1天,第二预设时间可以是图9或图10中的第x天,n是在第x天新安装了应用程序的用户的数量。
[0077] (3)基础质量评估模块:
[0078] 基础质量评估模块的作用是对数据基本质量维度的评估。基础质量评估模块评估包括以下几个方面:评估人员评估调优、模型覆盖人数、推荐列表长度分布、推荐列表场景覆盖人数,如图12所示。模型覆盖人数、推荐列表长度分布、推荐列表场景覆盖人数用于指示第一应用程序推荐模型的属性,是第二子参数。推荐列表长度分布为数据侧用户的推荐列表长度是多少,即,应用程序推荐模型向用户推荐的应用程序的数量。模型覆盖评估包括:评估应用程序推荐模型能够覆盖多少用户、对用户的覆盖率是多少。
[0079] 例如,评估人员评估调优如表2所示,把推荐系统做成白盒子,能够列举给用户推了哪些应用程序。推荐结果可视化能够让开发者真真切切地感受到数据的质量。
[0080] 表2
[0081]
[0082] 通过模型基础覆盖的评估,能够全方位了解模型的大致的体量,而转化率评估是模型好坏评估的核心能力。表3示出了模型基础覆盖评估和转化评估的部分数据。
[0083] 表3
[0084]
[0085] 在表3中,一共出现了6个应用程序推荐模型。这6个应用程序推荐模型向用户推荐应用程序,用户根据自己的兴趣选择安装或不安装推荐的应用程序。一共有2,185,364个人新安装了应用程序,一共有7,805,263人次新安装了应用程序。以名称为“ar”的应用程序推荐模型为例,对表3中的各项数据进行说明。应用程序推荐模型“ar”覆盖到的人数是7,814,036。新安装了应用程序的用户的总人数是3,715,141。其中,这3,715,141个人中,有2,185,
364个人是通过应用程序推荐模型“ar”的推荐而安装的,即应用程序推荐模型“ar”匹配到的安装的人数是2,185,364。用2,185,364除以3,715,141,得到59%,59%即为应用程序推荐模型“ar”的人数覆盖率。一共有7,805,263人次新安装了应用程序。其中,这7,805,263人次中,有45,609人次是通过应用程序推荐模型“ar”的推荐而安装的,即应用程序推荐模型“ar”匹配到的安装次数是45,609。用45,609除以7,805,263,得到1%,1%即为程序推荐模型“ar”的安装覆盖率。
[0086] (4)模型内矩阵评估模块:
[0087] 如图13所示,模型内矩阵评估模块是作用是深入算法内部的矩阵评估,包括user2user的评估和itme2item的评估。表4示出了模型内的item2item的评估情况。
[0088] 表4
[0089]相似度 参考应用程序 第一应用程序 排序 应用程序推荐模型
0.076 芭比公主的婚礼 芭比公主房间装饰 1 game_item_cf_bool
0.0606 芭比公主的婚礼 芭比美化造型 2 game_item_cf_bool
0.0538 芭比公主的婚礼 芭比公主换装 3 game_item_cf_bool
0.0266 芭比公主的婚礼 冰雪公主装扮 4 game_item_cf_bool
0.0241 芭比公主的婚礼 时尚公主装扮 5 game_item_cf_bool
0.0226 芭比公主的婚礼 可可冰雪公主 6 game_item_cf_bool
0.0225 芭比公主的婚礼 Wedding Salon 7 game_item_cf_bool
0.0221 芭比公主的婚礼 公主爱装扮 8 game_item_cf_bool
[0090] 模型内矩阵评估模块的作用是评估应用程序推荐模型的算法的准确度。首先选择一个参考应用程序,利用应用程序推荐模型筛选出与参考应用程序的相似度在预设范围以内的第一应用程序;将筛选出的第一应用程序按照相似度由高到低进行排序;根据排序结果获取矩阵评估参数,其中,矩阵评估参数用于表示第一应用程序推荐模型获取的第一应用程序与参考应用程序的相似度的准确程度。
[0091] 参考应用程序的选取可以是随机的,例如,如表4所示,选择“芭比公主的婚礼”作为参考应用程序,使用应用程序推荐模型“game_item_cf_bool”筛选出与“芭比公主的婚礼”的相似度最高的8个应用程序(相似度在预设范围以内的第一应用程序),并按照相似度由高到低的顺序排列。由表4中可以看出,应用程序推荐模型“game_item_cf_bool”筛选出的8个应用程序都是关于“芭比公主”“公主”“婚礼”的,与参考应用程序“芭比公主的婚礼”的相似度较高,这说明,应用程序推荐模型“game_item_cf_bool”的算法是比较准确的。
[0092] 如果选择“芭比公主的婚礼”作为参考应用程序,使用应用程序推荐模型M1筛选出与“芭比公主的婚礼”的相似度最高的8个应用程序(相似度在预设范围以内的第一应用程序),并按照相似度由高到低的顺序排列。如果应用程序推荐模型M1筛选出与“芭比公主的婚礼”的相似度最高的8个应用程序分别是欢乐斗地主、天天酷跑、天天飞车、天天象棋、芭比公主换装、时尚公主装扮、公主爱装扮、芭比公主房间装饰。那么显然,应用程序推荐模型M1的算法是比较不准确的,因为,很明显,欢乐斗地主、天天酷跑、天天飞车、天天象棋这几个应用程序与“芭比公主的婚礼”这个应用程序的相似度不高。
[0093] 那么,应用程序推荐模型“game_item_cf_bool”内部算法比应用程序推荐模型M1的内部算法更准确。使用矩阵评估参数表示应用程序推荐模型获取的第一应用程序与参考应用程序的相似度的准确程度,当应用程序推荐模型获取的第一应用程序与参考应用程序的相似度的准确程度高时,矩阵评估参数较大;当应用程序推荐模型获取的第一应用程序与参考应用程序的相似度的准确程度低时,矩阵评估参数较小。
[0094] 如果应用程序推荐模型筛选的第一应用程序与参考应用程序的相似度高,则说明应用程序推荐模型计算应用程序之间的相似度比较准确,那么应用程序推荐模型根据用户的已安装应用程序计算待推荐应用程序的能力强,计算出的待推荐应用程序与用户已安装的应用程序比较类似,能够命中用户的兴趣。如果应用程序推荐模型筛选的第一应用程序与参考应用程序的相似度低,则说明应用程序推荐模型计算应用程序之间的相似度比较不准确,那么应用程序推荐模型根据用户的已安装应用程序计算待推荐应用程序的能力差,计算出的待推荐应用程序与用户已安装的应用程序相差较大,难以命中用户的兴趣。通过比较多个应用程序推荐模型内部算法的准确程度,能够预测应用程序推荐模型是否能够命中用户兴趣,在从多个应用程序推荐模型中选择最优的应用程序推荐模型时,将应用程序推荐模型内部算法的准确程度作为一个参考方面,使得选择结果更为准确。
[0095] 现有技术在从多个应用程序推荐模型中选择最优的应用程序推荐模型时存在以下问题:训练集和测试集的构造方法不清晰;新颖性的计算方法不明确;没有对数据基本质量维度的评估;没有对深入推荐算法内部的矩阵评估,导致现有技术在选择应用程序推荐模型时准确性差,选择效果差,选择出的应用程序并不是真正最优的。
[0096] 而在本发明实施例中,提出来一种明确的构造训练集和测试集的方法,即将已安装列表和已使用列表中的数据作为训练集,将用户未来安装的实际数据作为测试集,考察了应用程序推荐模型的多个方面,例如用于指示第一应用程序推荐模型的推荐效果的预估转化率、召回率、多样性、新颖性等,用于指示第一应用程序推荐模型的属性的模型覆盖评估、推荐列表长度分布等,还对应用程序推荐模型的内部算法的准确性进行了比较,得到了用于指示应用程序推荐模型的内部算法的准确性的矩阵评估参数。通过将上述多个参数综合起来,从而能够对应用程序推荐模型有一个客观、全面、准确的评估,从多个应用程序推荐模型中选择出最优的应用程序推荐模型,使用选择出来的最优的应用程序推荐模型向用户推荐应用程序,使得推荐的应用程序是用户感兴趣的,使得用户更加积极地安装和使用推荐的应用程序,提升转化率。
[0097] 例如,如表5所示,在游戏TAB场景中,在没有使用本发明实施例提供的应用程序推荐模型的选择方法时,使用应用程序推荐模型“运营配置”为用户推荐应用程序,转化率是6.10%~8.99%。使用本发明实施例提供的应用程序推荐模型的选择方法,多个应用程序推荐模型中选择出最优的应用程序推荐模型“离线引擎”,使用应用程序推荐模型“离线引擎”为用户推荐应用程序,转化率是8.63%~11.0%。通过在游戏TAB场景中,使用本发明实施例提供的应用程序推荐模型的选择方法选择最优的应用程序推荐模型,使得转化率提升了22%~51%。
[0098] 在手管WIFI6.0(全称为手机管家WIFI6.0)场景中,在没有使用本发明实施例提供的应用程序推荐模型的选择方法时,使用应用程序推荐模型“热门游戏”为用户推荐应用程序,转化率是0.50%~0.79%。使用本发明实施例提供的应用程序推荐模型的选择方法,多个应用程序推荐模型中选择出最优的应用程序推荐模型“离线引擎”,使用应用程序推荐模型“离线引擎”为用户推荐应用程序,转化率是0.63%~0.95%。通过在手管WIFI6.0中,使用本发明实施例提供的应用程序推荐模型的选择方法选择最优的应用程序推荐模型,使得转化率提升了20%~50%。
[0099] 表5
[0100]场景 模型 转化率 相对提升
游戏TAB 运营配置 6.10%~8.99% -
游戏TAB 离线引擎 8.63%~11.0% 22%~51%
手管WIFI6.0 热门游戏 0.50%~0.79% -
手管WIFI6.0 离线引擎 0.63%~0.95% 20%~50%
[0101] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0102] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
[0103] 根据本发明实施例,还提供了用于实施上述应用程序推荐模型的选择方法的应用程序推荐模型的选择装置,该应用程序推荐模型的选择装置主要用于执行本发明实施例上述内容所提供的应用程序推荐模型的选择方法,以下对本发明实施例所提供的应用程序推荐模型的选择装置做具体介绍:
[0104] 图14是根据本发明实施例的应用程序的推荐装置的示意图,如图14所示,该装置包括第一获取单元10、第二获取单元20、比较单元30和选择单元40。
[0105] 第一获取单元10,用于获取第一应用程序推荐模型和第二应用程序推荐模型,其中,第一应用程序推荐模型和第二应用程序推荐模型用于筛选出与目标应用程序相关的应用程序。
[0106] 第二获取单元20,获取第一应用程序推荐模型的第一参数和第二应用程序推荐模型的第二参数,其中,第一参数用于指示第一应用程序推荐模型的推荐效果和第一应用程序推荐模型的属性,第二参数用于指示第二应用程序推荐模型的推荐效果和第二应用程序推荐模型的属性,第一参数根据第一数据和预设条件得到,第二参数根据第二数据和预设条件得到,第一数据包括第一应用程序推荐模型已推荐应用程序的安装数据,第二数据包括第二应用程序推荐模型已推荐应用程序的安装数据。
[0107] 比较单元30,比较第一参数和第二参数得到比较结果,其中,比较结果用于指示第一应用程序推荐模型的推荐质量高于第二应用程序推荐模型的推荐质量,或者第二应用程序推荐模型的推荐质量高于第一应用程序推荐模型的推荐质量。
[0108] 选择单元40,根据比较结果选择第一应用程序推荐模型和第二应用程序推荐模型中推荐质量较高的模型推荐与目标应用程序相关的应用程序。
[0109] 可选地,第一参数包括矩阵评估参数,第二获取单元20包括筛选子单元、排序子单元、第一获取子单元。筛选子单元,用于利用第一应用程序推荐模型筛选出与参考应用程序的相似度在预设范围以内的第一应用程序。排序子单元,用于将筛选出的第一应用程序按照相似度由高到低进行排序,得到排序结果。第一获取子单元,用于根据排序结果获取矩阵评估参数,其中,矩阵评估参数用于表示第一应用程序推荐模型获取的第一应用程序与参考应用程序的相似度的准确程度。
[0110] 可选地,第一参数包括第一子参数和第二子参数,第二获取单元20包括第二获取子单元、第三获取子单元。第二获取子单元,用于获取第一应用程序推荐模型的训练集和测试集,其中,训练集包括在第一预设时间内应用程序的安装数据,测试集包括在第二预设时间内应用程序的安装数据,其中,第二预设时间在第一预设时间之后并且第二预设时间的开始时刻是第一预设时间的结束时刻。第三获取子单元,用于根据训练集和测试集获取第一子参数和第二子参数,其中,第一子参数用于指示第一应用程序推荐模型的推荐效果,第二子参数用于指示第一应用程序推荐模型的属性。
[0111] 可选地,第三获取子单元包括获取模块。获取模块,用于根据训练集和测试集获取第一子参数和以下参数中的至少一个:推荐列表场景覆盖人数、模型覆盖人数和推荐列表长度分布。
[0112] 可选地,第一子参数包括召回率,第三获取子单元包括第一计算模块。第一计算模块,用于采用以下公式计算召回率:
[0113]
[0114] 其中,precision表示召回率,n表示在第二预设时间内,新安装了应用程序的用户的数量;u表示第u个用户;i表示第i个展示位,其中展示位用于展示应用程序;mu表示向第u个用户推荐的应用程序的数量;hitu,i表示向第u个用户推荐的位于第i个展示位的应用程序是否被第u个用户安装,若第u个用户安装了,hitu,i为1,否则hitu,i为0;ku表示第u个用户在第二预设时间内新安装的应用程序的数量。
[0115] 可选地,第一子参数包括新颖性参数,第三获取子单元包括第二计算模块。第二计算模块,用于采用以下公式计算新颖性参数:
[0116]
[0117] 其中,Novelty表示新颖性参数,n表示在第二预设时间内,新安装了应用程序的用户的数量;u表示第u个用户;i表示第i个展示位,其中展示位用于展示应用程序;mu表示向第u个用户推荐的应用程序的数量;ku表示第u个用户在第二预设时间内新安装的应用程序的数量;install(i)表示推荐的位于第i个展示位的应用程序的安装量。
[0118] 可选地,第一子参数包括预估转化率,第三获取子单元包括第三计算模块。第三计算模块,用于采用以下公式计算预估转化率:
[0119]
[0120] 其中,conversion表示预估转化率,n表示在第二预设时间内,新安装了应用程序的用户的数量;u表示第u个用户;i表示第i个展示位,其中展示位用于展示应用程序;mu表示向第u个用户推荐的应用程序的数量;maxShow表示展示位的数量;hitu,i表示向第u个用户推荐的位于第i个展示位的应用程序是否被第u个用户安装,若第u个用户安装了,hitu,i为1,否则hitu,i为0。
[0121] 根据本发明实施例,还提供了一种用于实施上述应用程序的推荐方法的服务器,如图15所示,该服务器主要包括处理器1501、显示器1503、数据接口1504、存储器1505和网络接口1506,其中:
[0122] 数据接口1504则主要通过数据传输的方式将训练集和测试集传输给处理器1501。
[0123] 存储器1505主要用于存储第一参数、第二参数、训练集和测试集。
[0124] 网络接口1506主要用于与服务器进行网络通信。
[0125] 显示器1503主要用于显示第一参数、第二参数和选择结果。
[0126] 处理器1501主要用于执行如下操作:
[0127] 获取第一应用程序推荐模型和第二应用程序推荐模型,其中,所述第一应用程序推荐模型和所述第二应用程序推荐模型用于筛选出与目标应用程序相关的应用程序;获取所述第一应用程序推荐模型的第一参数和所述第二应用程序推荐模型的第二参数,其中,所述第一参数用于指示所述第一应用程序推荐模型的推荐效果和所述第一应用程序推荐模型的属性,所述第二参数用于指示所述第二应用程序推荐模型的推荐效果和所述第二应用程序推荐模型的属性,所述第一参数根据第一数据和预设条件得到,所述第二参数根据第二数据和所述预设条件得到,所述第一数据包括所述第一应用程序推荐模型已推荐应用程序的安装数据,所述第二数据包括所述第二应用程序推荐模型已推荐应用程序的安装数据;比较所述第一参数和所述第二参数得到比较结果,其中,所述比较结果用于指示所述第一应用程序推荐模型的推荐质量高于所述第二应用程序推荐模型的推荐质量,或者所述第二应用程序推荐模型的推荐质量高于所述第一应用程序推荐模型的推荐质量;根据所述比较结果选择所述第一应用程序推荐模型和所述第二应用程序推荐模型中推荐质量较高的模型推荐与所述目标应用程序相关的应用程序。
[0128] 处理器1501还用于执行:利用所述第一应用程序推荐模型筛选出与参考应用程序的相似度在预设范围以内的第一应用程序;将筛选出的所述第一应用程序按照所述相似度由高到低进行排序,得到排序结果;根据所述排序结果获取所述矩阵评估参数,其中,所述矩阵评估参数用于表示所述第一应用程序推荐模型获取的所述第一应用程序与所述参考应用程序的相似度的准确程度。
[0129] 处理器1501还用于执行:获取所述第一应用程序推荐模型的训练集和测试集,其中,所述训练集包括在第一预设时间内应用程序的安装数据,所述测试集包括在第二预设时间内应用程序的安装数据,其中,所述第二预设时间在所述第一预设时间之后并且所述第二预设时间的开始时刻是所述第一预设时间的结束时刻;根据所述训练集和所述测试集获取所述第一子参数和所述第二子参数,其中,所述第一子参数用于指示所述第一应用程序推荐模型的推荐效果,所述第二子参数用于指示所述第一应用程序推荐模型的属性。
[0130] 处理器1501还用于执行:根据所述训练集和所述测试集获取所述第一子参数和以下参数中的至少一个:推荐列表场景覆盖人数、模型覆盖人数和推荐列表长度分布。
[0131] 处理器1501还用于执行:采用以下公式计算所述召回率:
[0132]
[0133] 其中,precision表示所述召回率,n表示在所述第二预设时间内,新安装了应用程序的用户的数量;u表示第u个用户;i表示第i个展示位,其中所述展示位用于展示应用程序;mu表示向所述第u个用户推荐的应用程序的数量;hitu,i表示向第u个用户推荐的位于第i个展示位的应用程序是否被所述第u个用户安装,若所述第u个用户安装了,hitu,i为1,否则hitu,i为0;ku表示所述第u个用户在所述第二预设时间内新安装的应用程序的数量。
[0134] 处理器1501还用于执行:采用以下公式计算所述新颖性参数:
[0135]
[0136] 其中,Novelty表示所述新颖性参数,n表示在所述第二预设时间内,新安装了应用程序的用户的数量;u表示第u个用户;i表示第i个展示位,其中所述展示位用于展示应用程序;mu表示向所述第u个用户推荐的应用程序的数量;ku表示所述第u个用户在所述第二预设时间内新安装的应用程序的数量;install(i)表示推荐的位于第i个展示位的应用程序的安装量。
[0137] 处理器1501还用于执行:采用以下公式计算所述预估转化率:
[0138]
[0139] 其中,conversion表示所述预估转化率,n表示在所述第二预设时间内,新安装了应用程序的用户的数量;u表示第u个用户;i表示第i个展示位,其中所述展示位用于展示应用程序;mu表示向所述第u个用户推荐的应用程序的数量;maxShow表示展示位的数量;hitu,i表示向所述第u个用户推荐的位于第i个展示位的应用程序是否被所述第u个用户安装,若所述第u个用户安装了,hitu,i为1,否则hitu,i为0。
[0140] 可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
[0141] 本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于存储本发明实施例的应用程序的推荐方法的程序代码。
[0142] 可选地,在本实施例中,上述存储介质可以位于移动通信网络、广域网、城域网或局域网的网络中的多个网络设备中的至少一个网络设备。
[0143] 可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
[0144] S1,获取第一应用程序推荐模型和第二应用程序推荐模型,其中,所述第一应用程序推荐模型和所述第二应用程序推荐模型用于筛选出与目标应用程序相关的应用程序;
[0145] S2,获取所述第一应用程序推荐模型的第一参数和所述第二应用程序推荐模型的第二参数,其中,所述第一参数用于指示所述第一应用程序推荐模型的推荐效果和所述第一应用程序推荐模型的属性,所述第二参数用于指示所述第二应用程序推荐模型的推荐效果和所述第二应用程序推荐模型的属性,所述第一参数根据第一数据和预设条件得到,所述第二参数根据第二数据和所述预设条件得到,所述第一数据包括所述第一应用程序推荐模型已推荐应用程序的安装数据,所述第二数据包括所述第二应用程序推荐模型已推荐应用程序的安装数据;
[0146] S3,比较所述第一参数和所述第二参数得到比较结果,其中,所述比较结果用于指示所述第一应用程序推荐模型的推荐质量高于所述第二应用程序推荐模型的推荐质量,或者所述第二应用程序推荐模型的推荐质量高于所述第一应用程序推荐模型的推荐质量;
[0147] S4,根据所述比较结果选择所述第一应用程序推荐模型和所述第二应用程序推荐模型中推荐质量较高的模型推荐与所述目标应用程序相关的应用程序。
[0148] 可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:利用所述第一应用程序推荐模型筛选出与参考应用程序的相似度在预设范围以内的第一应用程序;将筛选出的所述第一应用程序按照所述相似度由高到低进行排序,得到排序结果;根据所述排序结果获取所述矩阵评估参数,其中,所述矩阵评估参数用于表示所述第一应用程序推荐模型获取的所述第一应用程序与所述参考应用程序的相似度的准确程度。
[0149] 可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:获取所述第一应用程序推荐模型的训练集和测试集,其中,所述训练集包括在第一预设时间内应用程序的安装数据,所述测试集包括在第二预设时间内应用程序的安装数据,其中,所述第二预设时间在所述第一预设时间之后并且所述第二预设时间的开始时刻是所述第一预设时间的结束时刻;根据所述训练集和所述测试集获取所述第一子参数和所述第二子参数,其中,所述第一子参数用于指示所述第一应用程序推荐模型的推荐效果,所述第二子参数用于指示所述第一应用程序推荐模型的属性。
[0150] 可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:根据所述训练集和所述测试集获取所述第一子参数和以下参数中的至少一个:推荐列表场景覆盖人数、模型覆盖人数和推荐列表长度分布。
[0151] 可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:采用以下公式计算所述召回率:
[0152]
[0153] 其中,precision表示所述召回率,n表示在所述第二预设时间内,新安装了应用程序的用户的数量;u表示第u个用户;i表示第i个展示位,其中所述展示位用于展示应用程序;mu表示向所述第u个用户推荐的应用程序的数量;hitu,i表示向第u个用户推荐的位于第i个展示位的应用程序是否被所述第u个用户安装,若所述第u个用户安装了,hitu,i为1,否则hitu,i为0;ku表示所述第u个用户在所述第二预设时间内新安装的应用程序的数量。
[0154] 可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:采用以下公式计算所述新颖性参数:
[0155]
[0156] 其中,Novelty表示所述新颖性参数,n表示在所述第二预设时间内,新安装了应用程序的用户的数量;u表示第u个用户;i表示第i个展示位,其中所述展示位用于展示应用程序;mu表示向所述第u个用户推荐的应用程序的数量;ku表示所述第u个用户在所述第二预设时间内新安装的应用程序的数量;install(i)表示推荐的位于第i个展示位的应用程序的安装量。
[0157] 可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:采用以下公式计算所述预估转化率:
[0158]
[0159] 其中,conversion表示所述预估转化率,n表示在所述第二预设时间内,新安装了应用程序的用户的数量;u表示第u个用户;i表示第i个展示位,其中所述展示位用于展示应用程序;mu表示向所述第u个用户推荐的应用程序的数量;maxShow表示展示位的数量;hitu,i表示向所述第u个用户推荐的位于第i个展示位的应用程序是否被所述第u个用户安装,若所述第u个用户安装了,hitu,i为1,否则hitu,i为0。
[0160] 可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0161] 可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
[0162] 上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
[0163] 在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0164] 在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0165] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0166] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0167] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。