本申请涉及计算机技术领域,特别是涉及一种应用程序推荐方法和一种应用程序推荐装置。
背景技术:
随着应用程序的快速增加,各应用程序平台为解决用户选择困难的问题,纷纷开发了“相关应用”的推荐功能。
当前应用的相关推荐功能大抵基于以下三种方式生成:1、基于用户行为的相似度函数计算;2、基于应用内容的热度排名计算,3、基于用户行为的相似度和应用内容的热度排名的简单加权平均算法。
第一种方式考虑用户行为之间的相似性,在相关推荐的可解释性上弱于基于应用内容的热度排名计算,同时需要面临冷启动问题。第二种方式在推荐结果上新颖度不足,会出现重复推荐某项应用多次的情况。第三种方式避免了单独采用一种推荐方式带来的问题,但是对于用户行为的相似度和应用内容的热度排名的相关性取值范围差异较大的情况,仅仅采用简单的线性加权难以给出准确的相关性描述,使得推荐的应用程序不能准确匹配用户偏好。
技术实现要素:
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种应用程序推荐方法和相应的一种应用程序推荐装置。
为了解决上述问题,本申请实施例公开了一种应用程序推荐方法,包括:
获取用户行为信息;
计算预设应用程序与所述用户行为信息的第一相似度,采用所述第一相似度,生成所述预设应用程序的第一排名值;
计算所述预设应用程序与预设特征数据的第二相似度,采用所述第二相似度,生成所述预设应用程序的第二排名值;
采用所述第一排名值、所述第二排名值以及预设的加权系数,生成所述预设应用程序的排名评分;
按照所述排名评分展现所述应用程序。
优选的,所述预设的加权系数包括:第一加权系数和第二加权系数;所述采用所述第一排名值、所述第二排名值以及预设的加权系数,生成所述预设应用程序的排名评分的步骤包括:
将应用程序的第一排名值乘以所述第一加权系数,得到第一加权排名值;
将应用程序的第二排名值乘以所述第二加权系数,得到第二加权排名值;
将所述第一加权排名值与所述第二加权排名值的乘积,除以所述第一加权排名值与所述第二加权排名值的和,得到排名评分。
优选的,所述按照所述排名评分展现所述应用程序的步骤包括:
将所述预设应用程序的排名评分,按小到大的顺序进行排名;
将排名评分的排名顺序,靠前的预设个数的应用程序作为目标应用程序;
展现所述目标应用程序。
优选的,还包括:
获取应用程序的内容热度排名;
将热度排名最高的应用程序的内容作为所述预设特征数据。
优选的,还包括:
获取输入搜索内容;
将所述输入搜索内容作为所述预设特征数据。
同时,本申请实施例还公开了一种应用程序推荐装置,包括:
行为信息获取模块,用于获取用户行为信息;
第一排名值计算模块,用于计算预设应用程序与所述用户行为信息的第一相似度,采用所述第一相似度,生成所述预设应用程序的第一排名值;
第二排名值计算模块,用于计算所述预设应用程序与预设特征数据的第二相似度,采用所述第二相似度,生成所述预设应用程序的第二排名值;
排名评分计算模块,用于采用所述第一排名值、所述第二排名值以及预设的加权系数,生成所述预设应用程序的排名评分;
展现模块,用于按照所述排名评分展现所述应用程序。
优选的,所述预设的加权系数包括:第一加权系数和第二加权系数;排名评分计算模块包括:
第一加权排名值计算子模块,用于将应用程序的第一排名值乘以所述第一加权系数,得到第一加权排名值;
第二加权排名值计算子模块,用于将应用程序的第二排名值乘以所述第二加权系数,得到第二加权排名值;
加权计算子模块,用于将所述第一加权排名值与所述第二加权排名值的乘积,除以所述第一加权排名值与所述第二加权排名值的和,得到排名评分。
优选的,所述展现模块包括:
评分排名子模块,用于将所述预设应用程序的排名评分,按小到大的顺序进行排名;
目标应用程序确定子模块,用于将排名评分的排名顺序,靠前的预设个数的应用程序作为目标应用程序;
目标应用程序展现子模块,用于展现所述目标应用程序。
优选的,还包括:
热度排名获取模块,用于获取应用程序的内容热度排名;
第一预设特征数据确定模块,用于将热度排名最高的应用程序的内容作为所述预设特征数据。
优选的,还包括:
搜索内容获取模块,用于获取输入搜索内容;
第二预设特征数据确定模块,用于将所述输入搜索内容作为所述预设特征数据。
本申请实施例包括以下优点:
本申请实施例通过采用基于应用程序与所述用户行为信息的第一相似度的第一排名值、基于应用程序与预设特征数据(例如,热点内容)的第二相似度的第二排名值,以及预设的加权系数,计算得到的应用程序的排名评分,按排名评分为用户推荐应用程序。本申请实施例提供的采用加权系数融合用户行为信息和预设特征数据的排名评分计算方法,能更好的结合反应用户行为信息和预设特征数据的相关性,使得推荐的应用程序更符合用户偏好。
附图说明
图1是本申请的一种应用程序推荐方法实施例1的步骤流程图;
图2是本申请的一种应用程序推荐方法实施例2的步骤流程图;
图3是本申请的一种应用程序推荐方法实施例3的步骤流程图;
图4是本申请的一种应用程序推荐装置实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例的核心构思之一在于,采用基于应用程序与所述用户行为信息的第一相似度的第一排名值,和基于应用程序与预设特征数据的第二相似度的第二排名值,计算得到的应用程序的排名评分,按排名评分为用户推荐应用程序。
参照图1,示出了本申请的一种应用程序推荐方法实施例1的步骤流程图,具体可以包括如下步骤:
步骤101,获取用户行为信息;
用户行为信息是,根据用户终端中应用程序的使用情况分析得到的用户喜好信息。
具体的,应用程序平台,可以根据各个应用程序的使用时长,判断得到用户的喜好。例如,用户使用某个视频直播应用程序的时间最长,则可以判断用户喜欢观看视频直播。又例如,用户使用游戏类应用程序的时间最长,则可以判断用户喜欢玩游戏。
另外,还可以根据用户安装的各种类型的应用程序的数量,判断用户喜欢的应用程序类型。例如,用户的终端中安装的游戏类应用程序最多,则判断用户喜欢玩游戏。
步骤102,计算预设应用程序与所述用户行为信息的第一相似度,采用所述第一相似度,生成所述预设应用程序的第一排名值;
用户行为信息可以是用户的喜好,应用程序平台可以计算一些待推广的应用程序与用户喜好之间的相似度。例如,用户喜好的是烹饪类应用程序;应用程序A是图像编辑应用程序;应用程序B是烹饪类应用程序;应用程序C是饮食管理应用程序。根据一定的相似度算法,计算得到应用程序A、B、C与用户喜好之间的相似度分别为0%,100%,50%。按照应用程序与用户喜好之间的相似度从大到小进行排序,得到应用程序的排名值。排名值,是排名顺序的值。例如,按照应用程序与用户喜好之间的相似度从大到小进行排序,应用程序A、B、C的排名顺序为:应用程序B、应用程序C、应用程序A。应用程序B排名顺序为第1位,即其排名值为1;应用程序C排名顺序为第2位,即其排名值为2;应用程序A排名顺序为第3位,即其排名值为3。
步骤103,计算所述预设应用程序与预设特征数据的第二相似度,采用所述第二相似度,生成所述预设应用程序的第二排名值;
在本申请实施例中,预设特征数据可以是应用程序平台中下载量最多的应用程序的类型,也可以是用户上一次在应用平台输入的搜索内容。
例如,当前应用程序平台的下载最多的应用程序类别是游戏类应用程序。应用程序A是游戏类应用程序;应用程序B是视频应用程序;应用程序C是健康类应用程序。根据一定的相似度算法,计算得到应用程序A、B、C与游戏类应用程序的相似度分别为100%,0%,0%。按照应用程序A、B、C与游戏类应用程序的相似度从大到小进行排序,得到应用程序A、B、C的排名值。
例如应用程序A、B、C的排名顺序为:应用程序A、应用程序B和应用程序C。应用程序A排名顺序为第1位,即其排名值为1;应用程序B和应用程序C的排名顺序为第2位,即其排名值为2。
步骤104,采用所述第一排名值、所述第二排名值以及预设的加权系数,生成所述预设应用程序的排名评分;
采用应用程序的第一排名值、第二排名值以及预设的加权系数,计算应用程序的排名评分。
步骤105,按照所述排名评分展现所述应用程序。
按照应用程序的排名评分,向用户推荐应用程序。
本申请实施例通过采用基于应用程序与所述用户行为信息的第一相似度的第一排名值、基于应用程序与预设特征数据的第二相似度的第二排名值,以及预设的加权系数,计算得到的应用程序的排名评分,按排名评分为用户推荐应用程序。本申请实施例提供的采用加权系数融合用户行为信息和预设特征数据的排名评分计算方法,能更好的结合反应用户行为信息和预设特征数据的相关性,使得推荐的应用程序更符合用户偏好。
参照图2,示出了本申请的一种应用程序推荐方法实施例2的步骤流程图,具体可以包括如下步骤:
步骤201,获取应用程序的内容热度排名;
应用程序的内容热点排名,可以是应用程序所属的类别的下载量排名。
具体的,应用程序平台中会统计一段时间内,被下载次数较多的应用程序;应用程序平台可以将被下载次数较多的应用程序所属的类别进行排名,得到应用程序的内容热点排名。
步骤202,将热度排名最高的应用程序的内容作为预设特征数据;
热度排名最高的应用程序的内容具体可以为,被下载次数最多的应用程序类别。应用程序平台将被下载次数最多的应用程序类别,作为预设特征数据。
步骤203,获取用户行为信息;
步骤204,计算预设应用程序与所述用户行为信息的第一相似度,采用所述第一相似度,生成所述预设应用程序的第一排名值;
步骤205,计算所述预设应用程序与预设特征数据的第二相似度,采用所述第二相似度,生成所述预设应用程序的第二排名值;
步骤206,采用所述第一排名值、所述第二排名值以及预设的加权系数,生成所述预设应用程序的排名评分;
在本申请实施例的一种优选示例中,所述预设的加权系数包括:第一加权系数和第二加权系数;所述步骤206具体可以包括如下子步骤:
子步骤S11,将应用程序的第一排名值乘以所述第一加权系数,得到第一加权排名值;
子步骤S12,将应用程序的第二排名值乘以所述第二加权系数,得到第二加权排名值;
子步骤S13,将所述第一加权排名值与所述第二加权排名值的乘积,除以所述第一加权排名值与所述第二加权排名值的和,得到排名评分。
在本申请实施例中,以第一加权系数和第二加权系数调节,第一排名值和第二排名值对排名评分的影响。
具体的,设基于应用程序与用户行为信息的第一相似度的第一排名值为r1;设基于应用程序与预设特征数据的第二相似度的第二排名值为r2;第一加权系数为α;第二加权系数为β。
应用程序的排名评分即为:
第一加权系数为α和第二加权系数为β不宜相差太大,具体的,可以将第一加权系数为α和第二加权系数β的取值范围设置为0-1.
例如,第一加权系数为α设置为0.4;第二加权系数β设置为0.6;若应用程序A的第一排名值为1;第二排名值为3;则应用程序A的排名评分为:0.33;
若应用程序B的第一排名值为2;第二排名值为1;则应用程序B的排名评分为0.34;
若应用程序C的第一排名值为3;第二排名值为2;则应用程序C的排名评分为0.6。
步骤207,按照所述排名评分展现所述应用程序。
在本申请实施例的一种优选示例中,所述步骤207具体可以包括如下子步骤:
子步骤S21,将所述预设应用程序的排名评分,按小到大的顺序进行排名;
例如,用户程序A的排名评分为0.33;应用程序B的排名评分为0.34;应用程序C的排名评分为0.6。按从小到大进行排序,则第一名为应用程序A,第二名为应用程序B,第三名为应用程序C。
子步骤S22,将排名评分的排名顺序,靠前的预设个数的应用程序作为目标应用程序;
预设个数可以由应用程序平台自行设定。例如,将靠前的两个应用程序作为目标程序,即将按排名评分,从小到大进行排名,排名第一、第二的两个应用程序作为目标应用程序。
子步骤S23,展现所述目标应用程序。
应用程序平台向用户推荐目标应用程序。
根据本申请实施例的排名评分计算方法,当某个应用程序仅仅在某一种相似度计算中存在排名时,其最终排名保持不变;当该应用在两种相似度计算中均有排名时,其最终排名值要小于二者之间较小的排名值。
参照图3,示出了本申请的一种应用程序推荐方法实施例3的步骤流程图,具体可以包括如下步骤:
步骤301,获取输入搜索内容;
应用程序平台获取用户输入的搜索内容。
步骤302,将所述输入搜索内容作为所述预设特征数据;
例如用户输入的是:浏览器;则应用程序平台将浏览器作为预设特征数据。
步骤303,获取用户行为信息;
步骤304,计算预设应用程序与所述用户行为信息的第一相似度,采用所述第一相似度,生成所述预设应用程序的第一排名值;
步骤305,计算所述预设应用程序与预设特征数据的第二相似度,采用所述第二相似度,生成所述预设应用程序的第二排名值;
步骤306,采用所述第一排名值、所述第二排名值以及预设的加权系数,生成所述预设应用程序的排名评分;
在本申请实施例的一种优选示例中,所述预设的加权系数包括:第一加权系数和第二加权系数;所述步骤306具体可以包括如下子步骤:
子步骤S31,将应用程序的第一排名值乘以所述第一加权系数,得到第一加权排名值;
子步骤S32,将应用程序的第二排名值乘以所述第二加权系数,得到第二加权排名值;
子步骤S33,将所述第一加权排名值与所述第二加权排名值的乘积,除以所述第一加权排名值与所述第二加权排名值的和,得到排名评分。
步骤307,按照所述排名评分展现所述应用程序。
在本申请实施例的一种优选示例中,所述步骤307具体可以包括如下子步骤:
子步骤S41,将所述预设应用程序的排名评分,按小到大的顺序进行排名;
子步骤S42,将排名评分的排名顺序,靠前的预设个数的应用程序作为目标应用程序;
子步骤S43,展现所述目标应用程序。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图4,示出了本申请的一种应用程序推荐装置实施例的结构框图,具体可以包括如下模块:
行为信息获取模块41,用于获取用户行为信息;
第一排名值计算模块42,用于计算预设应用程序与所述用户行为信息的第一相似度,采用所述第一相似度,生成所述预设应用程序的第一排名值;
第二排名值计算模块43,用于计算所述预设应用程序与预设特征数据的第二相似度,采用所述第二相似度,生成所述预设应用程序的第二排名值;
排名评分计算模块44,用于采用所述第一排名值、所述第二排名值以及预设的加权系数,生成所述预设应用程序的排名评分;
展现模块45,用于按照所述排名评分展现所述应用程序。
在本申请实施例的一种优选示例中,所述预设的加权系数包括:第一加权系数和第二加权系数;排名评分计算模块44可以包括:
第一加权排名值计算子模块,用于将应用程序的第一排名值乘以所述第一加权系数,得到第一加权排名值;
第二加权排名值计算子模块,用于将应用程序的第二排名值乘以所述第二加权系数,得到第二加权排名值;
加权计算子模块,用于将所述第一加权排名值与所述第二加权排名值的乘积,除以所述第一加权排名值与所述第二加权排名值的和,得到排名评分。
在本申请实施例的一种优选示例中,所述展现模块45可以包括:
评分排名子模块,用于将所述预设应用程序的排名评分,按小到大的顺序进行排名;
目标应用程序确定子模块,用于将排名评分的排名顺序,靠前的预设个数的应用程序作为目标应用程序;
目标应用程序展现子模块,用于展现所述目标应用程序。
在本申请实施例的一种优选示例中,所述的装置还可以包括:
热度排名获取模块,用于获取应用程序的内容热度排名;
第一预设特征数据确定模块,用于将热度排名最高的应用程序的内容作为所述预设特征数据。
在本申请实施例的另一种优选示例中,所说的装置还可以包括:
搜索内容获取模块,用于获取输入搜索内容;
第二预设特征数据确定模块,用于将所述输入搜索内容作为所述预设特征数据。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种应用程序推荐方法和一种应用程序推荐装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。