一种基于用户已安装应用来推荐应用的方法和装置技术领域
本发明涉及信息处理技术领域,具体而言涉及一种基于用户已安装应用来推荐应
用的方法和装置。
背景技术
随着互联网技术和智能移动终端技术的快速发展,很多在计算机终端上实现的功
能(例如购物、阅读)也都可以在智能移动终端上实现,例如使用智能手机或平板电脑等。另
外,这些功能的实现需要在智能移动终端上安装相应的应用程序。例如,网上购物,需要安
装例如淘宝客户端,听音乐需要安装音乐播放器客户端等。由此,很多软件公司提供了应用
商店或应用市场,例如豌豆荚或者PP助手等。用户可以打开应用商店或者应用市场,从而能
够快速搜索和下载所需要的各种应用程序,包括影音播放类、系统工具类、通讯社交类、网
上购物类、阅读类等,当然还可以下载游戏等休闲娱乐类应用程序(APP)。
在应用商店或者应用市场中,为了不断提升用户使用应用商店或者应用市场的良
好体验感,目前开发商开发出很多便捷用户使用的功能,其中之一是推荐功能,即向用户推
荐一些应用,以帮助用户发现更多感兴趣的应用,例如:“猜你喜欢”、“大家还下载”等。目前
的推荐应用的方法基本以应用的大众的欢迎程度来进行推荐,例如推荐下载量排在前面的
应用,或是推荐热门排行榜上的应用。但是由于不同的用户拥有不同的兴趣,根据现有技术
推荐的应用不一定是用户感兴趣的,无法满足不同用户的需求,致使用户的体验感不佳。
发明内容
本发明的目的在于提供一种基于用户已安装应用来推荐应用的方法和装置,以改
善上述问题。
本发明实施例提供了一种基于用户已安装应用来推荐应用的方法,其包括:
确定预置应用库里的两两应用之间的相似度列表;
基于用户已安装的1个或多个应用和所述相似度列表,确定该用户对预置应用库
里的每个应用的偏好度;
基于所述偏好度值从大到小顺序从预置应用库里选取一定数量的相应应用作为
推荐应用。
在确定该用户对预置应用库里的每个应用的偏好度和基于所述偏好度值从大到
小顺序从预置应用库里选取一定数量的相应应用作为推荐应用的步骤中,从预置应用库里
选取出多个应用作为预推荐应用,建立包含该多个预推荐应用的候选集,由此确定该用户
对所述候选集里的每个预推荐应用的偏好度,基于所述偏好度值从大到小顺序从所述候选
集里选取一定数量的相应应用作为推荐应用。
优选的,所述预推荐应用是具有与用户已安装的1个或多个应用的标签相同标签
的应用。
本发明实施例还提供了一种基于用户已安装应用来推荐应用的装置,其包括:
应用的相似度列表确定单元,用于确定预置应用库里的两两应用之间的相似度列
表;
用户对应用的偏好度确定单元,用于基于用户已安装的1个或多个应用和所述相
似度列表,确定该用户对预置应用库里的每个应用的偏好度;
推荐单元,用于基于所述偏好度值从大到小顺序从预置应用库里选取一定数量的
相应应用作为推荐应用。
优选的,计算预置应用库里的两两应用之间的相似度值,将这些两两应用之间的
相似度值制成列表,所述两两应用之间的相似度的计算方法如下:
![]()
其中:k=1,2,…,n j=1,2…,n
Sk,l表示应用k与应用l之间的相似度;
n表示表示预置应用库里的应用数量;
m表示预置标签集合里的标签数量;
tk,j表示应用k是否有标签j,有为1,无为0;
tl,j表示应用l是否有标签j,有为1,无为0;
rj表示标签j的分辨率,其中:
![]()
n表示表示预置应用库里的应用数量;
ti,j表示应用i是否有标签j,有为1,无为0。
所述用户对某个应用的偏好度为用户已安装的多个应用分别与所述某个应用之
间的相似度的累加之和,计算公式如下:
![]()
其中:Pl表示用户对预置应用库里的应用l的偏好度;
T表示用户已安装应用的数量;
Sk,l表示用户已安装应用k与预置应用库里的应用l之间的相似度。
本发明实施例还提供了一种基于用户已安装应用来推荐应用的装置,其包括:
应用的相似度列表确定单元,用于确定预置应用库里的两两应用之间的相似度列
表;
预推荐应用的候选集建立单元,用于从预置应用库里选取出多个应用作为预推荐
应用,建立包含该多个预推荐应用的候选集;
用户对应用的偏好度确定单元,用于基于用户已安装的1个或多个应用和所述相
似度列表,确定该用户对所述候选集里的每个预推荐应用的偏好度;
推荐单元,用于基于所述偏好度值从大到小顺序从所述候选集里选取一定数量的
相应应用作为推荐应用。
优选的,所述预推荐应用是具有与用户已安装的1个或多个应用的标签相同标签
的应用。
根据本发明的基于用户已安装应用来推荐应用的方法和装置,首先建立预置应用
库里的两两应用之间的相似度列表;然后根据用户已安装的1个或多个应用和所述相似度
列表来确定该用户对预置应用库里的每个应用的偏好度;在根据所述偏好度值从大到小顺
序从预置应用库里选取一定数量的相应应用作为推荐应用,从而实现了根据用户的兴趣爱
好进行个性化推荐应用的目的,大大提高了用户体验。
附图说明
图1是本发明第一实施例的基于用户已安装应用来推荐应用的方法的流程图;
图2是本发明第二实施例的基于用户已安装应用来推荐应用的方法的流程图;
图3是本发明第三实施例的基于用户已安装应用来推荐应用的装置的示意性框
图;
图4是本发明第四实施例的基于用户已安装应用来推荐应用的装置的示意性框
图。
具体实施方式
下面将结合本发明实施例和附图,对本发明实施例中的技术方案进行清楚、完整
地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。通常在此
处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,
以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范
围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出
创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在上面提到的用户体验感不佳的原因之一是不同的用户拥有不同的兴趣,而现有
技术的推荐方案仅仅是推荐推荐下载量排在前面的应用,但下载量最高的应用不一定是人
人都喜欢的。以游戏为例,假设“捕鱼达人APP”是下载量最高的,但用户A不喜欢玩“捕鱼达
人”的游戏,而是喜欢玩格斗游戏,所以向用户A推荐“捕鱼达人”是无法激发他的兴趣去点
击下载;再例如,用户B在朋友的推荐下下载了“捕鱼达人”,但不喜欢玩,将其卸载。但根据
现有技术的推荐方法,当用户B点击进入应用商店或者应用市场时依然会向其推荐“捕鱼达
人”,这就带来了不好的用户体验。
本技术方案的发明人充分考虑了用户的兴趣和爱好,提出一种新的个性化推荐方
法,能够根据不同用户的兴趣爱好不同而推荐不同应用,从而实现个性化推荐,这会大大提
升用户的体验感。
通常可以认为,用户使用的例如智能手机或平板电脑或计算机等智能终端上安装
的各种应用,如游戏类、休闲类、办公类等,是该用户感兴趣的应用,如果能够找到一种方法
可以基于用户已安装应用来推荐应用,就可以实现所述的个性化推荐的目的。
图1是本发明第一实施例的基于用户已安装应用来推荐应用的方法的流程图。如
图1所示,本发明的基于用户已安装应用来推荐应用的方法包括以下步骤:
S1:确定预置应用库里的两两应用之间的相似度列表。
在开发应用市场或应用商店时通常都会预置应用库,从应用市场或应用商店下载
的应用信息都在保存在该预置应用库中。本发明的方法首先是计算预置应用库里的两两应
用之间的相似度值,将这些两两应用之间的相似度值制成列表。该相似度列表可以包括:两
个应用的ID号,这两个应用之间的相似度值。例如下表所示:
第一应用ID
第二应用ID
相似度
00001
00002
0.21
00001
00003
0.35
00001
00004
0.26
…
…
…
00002
00003
0.13
00002
00004
0.29
00002
00005
0.38
…
…
…
确定两两应用之间的相似度的方法有很多,很简单的方法如分类法,将同类的两
个应用的相似度设为1,不同类的两个应用的相似度设为0。另外,应用商店或者应用市场里
提供的各种第三方应用程序(简称应用)通常都具有标签,标签的作用是标识各种应用程序
的分类或内容,便于用户查找。目前,在应用市场或应用商店中每一个应用都会包含至少1
个应用标签,这样可以根据两两应用是否具有相同标签,来确定它俩之间的相似度。再者,
还可以根据具有相同标签的数量确定相似度的值,例如可以设具有1个相同标签的两个应
用之间的相似度为1,设具有2个相同标签的两个应用之间的相似度为2。当然,这里举例的
相似度值为1或2等,仅仅是出于说明的目的,实践中可以采用其他数字,例如(0,1]之间的
百分比值。
应用商店或应用市场提供的第三方应用都具有1个或多个标签,这些标签来自于
在开发应用商店或应用市场时预置的标签集合,这对于本领域技术人员来说是公知常识,
这里不对这些常规技术做过多介绍。
当然,上述举例的方法为最简单的方法,也可以使用其他方法。但在本发明里,优
选提供一种更佳的确定方法,由此得到的相似度值更能表现预置应用库里的两两应用之间
的相似性。
所述两两应用之间的相似度的计算方法如下:
![]()
其中:k=1,2,…,n j=1,2…,n
Sk,l表示应用k与应用l之间的相似度;
n表示表示预置应用库里的应用数量;
m表示预置标签集合里的标签数量;
tk,j表示应用k是否有标签j,有为1,无为0;
tl,j表示应用l是否有标签j,有为1,无为0;
rj表示标签j的分辨率,其中:
![]()
n表示表示预置应用库里的应用数量;
ti,j表示应用i是否有标签j,有为1,无为0。
这里使用标签j的分辨率rj来反映通过标签j划分内容的精细程度,分辨率值越大
表示划分内容越精细。
例如:在预置的标签集合里有两个标签“手电筒”、“小工具”。有“手电筒”的应用有
10款,这些应用的功能都是手机照明。有“小工具”标签的应用有100款,其中除了包含的所
有“手电筒”应用之外,还包含了一些关于天气查询、闹钟、计算器等小工具类的应用。那么
在该例子中标签“手电筒”在划分内容上要比标签“小工具”更为精细,通过“手电筒”的标签
更能准确地匹配到相关应用,因此可以认为“手电筒”的分辨率更高。在量化分辨率上可以
通过统计一个标签覆盖的应用的数量的倒数进行衡量。在该例子中,“手电筒”的分辨率是
0.1,“小工具”的分别率是0.01,可以认为“手电筒”的分辨率是“小工具”的分辨率的10倍,
其划分内容更精细。
这里通过叠加两两应用中应用k与应用l具有相同标签的分辨率,再进行标准化处
理,将相似度值压缩到(0,1]之间。
S2:基于用户已安装的1个或多个应用和所述相似度列表,确定该用户对预置应用
库里的每个应用的偏好度。
这里所述的用户已安装应用是指在向用户推荐应用时在用户使用的终端上已安
装着的第三方应用。
要想从预置应用库里找出适合向用户推荐的多个应用,需要一个能够确定该用户
对预置应用库里的每个应用的偏好度的方法,根据偏好度的大小来选取推荐应用。
这里采用的方法为:将用户已安装的多个应用分别与某个应用之间的相似度的累
加之和作为所述用户对所述某个应用的偏好度的值。即,从在上一步建立的所述相似度列
表中找出预置应用库里的某一个应用分别与用户已安装的1个或多个应用之间的相似度
值,将该多个相似度值累加求和,所得数值为该用户对该应用的偏好度值。同理,可以得到
用户对预置应用库里的每一个应用的偏好度。确定所述偏好度的计算公式如下:
![]()
其中:Pl表示用户对预置应用库里的应用l的偏好度;
T表示用户已安装应用的数量;
Sk,l表示用户已安装应用k与预置应用库里的应用l之间的相似度。
由于这里涉及使用用户已安装应用与预置应用库里的应用之间的相似度,所以这
里所述用户已安装应用包括用户通过应用商店或应用市场下载安装的应用和能够在应用
商店或应用市场里找得到的应用。
S3:基于所述偏好度值从大到小顺序从预置应用库里选取一定数量的相应应用作
为推荐应用。
根据所得到的用户对预置应用库里的每一个应用的偏好度,按偏好度值从大到小
顺序从预置应用库里选取一定数量的相应应用,如从偏好度最大值开始往下选取一定数量
的相应应用作为推荐应用,展示给用户。所述一定数量在实践中可以自由选择,例如选择5
个、10个、20个、50个或其值等。
在上面的实施例中,采用确定该用户对预置应用库里的每个应用的偏好度的方
式,但预置应用库里的应用数量很多,会造成计算量很大。下面介绍一个优选实施例,预先
从预置应用库里选取出一部分应用作为预推荐应用,建立包含该多个预推荐应用的候选
集,由此确定该用户对所述候选集里的每个预推荐应用的偏好度,可以降低计算量,提高查
找推荐应用的速度。
图2是本发明第二实施例的基于用户已安装应用来推荐应用的方法的流程图。如
图2所示,本发明的基于用户已安装应用来推荐应用的方法包括以下步骤:
S1:确定预置应用库里的两两应用之间的相似度列表。
与第一实施例的相应步骤S1相同,不再重复描述。
S2:从预置应用库里选取出多个应用作为预推荐应用,建立包含该多个预推荐应
用的候选集。
从预置应用库里选取出多个应用作为预推荐应用的选取方法可以采用多种方式
或多种方式并存。例如选取方法之一:统计应用商店或应用市场所提供的应用的下载量,选
取下载量排名靠前的多个应用作为预推荐应用,或者从与用户已安装应用的分类相同的多
个分类应用中,选取每个分类里下载量排名靠前的多个应用作为预推荐应用;选取方法之
二:统计应用商店或应用市场所提供的应用的质量评分,选取评分高的多个应用作为预推
荐应用,或者从与用户已安装应用的分类相同的多个分类应用中,选取每个分类里评分高
的多个应用作为预推荐应用;选取方法之三:统计应用商店或应用市场所提供的应用的转
化率,即点击一个应用并下载它的用户数与点击该应用的用户数的比值为转化率,选取转
化率排名靠前的多个应用作为预推荐应用,或者从与用户已安装应用的分类相同的多个分
类应用中,选取每个分类里转化率排名靠前的多个应用作为预推荐应用;选取方法之四:选
取具有与用户已安装的1个或多个应用的标签相同标签的应用作为预推荐应用,即如果用
户已安装的1个应用具有3个标签,则选取具有该3个标签中的1个或2个或3个标签的应用作
为预推荐应用。除此之外,可以使用其他方法来选取,还可以对上述4种方法进行任何组合
来从预置应用库里选取出多个应用作为预推荐应用。
建立包含该多个预推荐应用的候选集。对于选取出的多个应用,可以将它们记录
在一个列表里,如果选取的预推荐应用数量很多,几千或几万,也可以单独建立一个候选应
用库,里面记录所选取的预推荐应用。
S3:基于用户已安装的1个或多个应用和所述相似度列表,确定该用户对所述候选
集里的每个预推荐应用的偏好度。
与第一实施例的相应步骤S2相同。即,从所建立的所述相似度列表中找出所述候
选集里的某一个应用分别与用户已安装的1个或多个应用之间的相似度值,将该多个相似
度值累加求和,所得数值为该用户对该应用的偏好度值。同理,可以得到用户对所述候选集
里的每一个应用的偏好度。确定所述偏好度的计算公式如下:
![]()
其中:Pl表示用户对候选集里的应用l的偏好度;
T表示用户已安装应用的数量;
Sk,l表示用户已安装应用k与所述候选集里的应用l之间的相似度。
由于这里涉及使用用户已安装应用与预置应用库里的应用之间的相似度,所以这
里所述用户已安装应用包括用户通过应用商店或应用市场下载安装的应用和能够在应用
商店或应用市场里找得到的应用。
S4:基于所述偏好度值从大到小顺序从所述候选集里选取一定数量的相应应用作
为推荐应用。
与第一实施例的相应步骤S3相同,不再重复描述。
该第二实施例与第一实施例相比,区别之处在于基于一定条件从预置应用库里预
先选取出多个应用作为预推荐应用,可以舍弃质量差、无人关注的应用,避免了后续计算用
户对这些质量差的应用的偏好度,减少了计算量,提高了查找推荐应用的速度。
根据本发明的基于用户已安装应用来推荐应用的方法,能够确定该用户对预置应
用库里的每个应用的偏好度;根据所述偏好度值从大到小顺序从预置应用库里选取一定数
量的相应应用作为推荐应用,实现了根据用户的兴趣爱好进行个性化推荐应用的目的,大
大提高了用户体验。
图3是本发明第三实施例的基于用户已安装应用来推荐应用的装置的示意性框
图。如图3所示,本发明的基于用户已安装应用来推荐应用的装置包括:
应用的相似度列表确定单元,用于确定预置应用库里的两两应用之间的相似度列
表;
用户对应用的偏好度确定单元,用于基于用户已安装的1个或多个应用和所述相
似度列表,确定该用户对预置应用库里的每个应用的偏好度;
推荐单元,用于基于所述偏好度值从大到小顺序从预置应用库里选取一定数量的
相应应用作为推荐应用。
优选的,所述应用的相似度列表确定单元用于计算预置应用库里的两两应用之间
的相似度值,将这些两两应用之间的相似度值制成列表,所述两两应用之间的相似度的计
算方法如下:
![]()
其中:k=1,2,…,n j=1,2…,n
Sk,l表示应用k与应用l之间的相似度;
n表示表示预置应用库里的应用数量;
m表示预置标签集合里的标签数量;
tk,j表示应用k是否有标签j,有为1,无为0;
tl,j表示应用l是否有标签j,有为1,无为0;
rj表示标签j的分辨率,其中:
![]()
n表示表示预置应用库里的应用数量;
ti,j表示应用i是否有标签j,有为1,无为0。
优选的,所述用户对应用的偏好度确定单元用于将用户已安装的多个应用分别与
所述应用之间的相似度的累加之和作为该用户对所述应用的偏好度,计算公式如下:
![]()
其中:Pl表示用户对预置应用库里的应用l的偏好度;
T表示用户已安装应用的数量;
Sk,l表示用户已安装应用k与预置应用库里的应用l之间的相似度。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,结合第三实施例
描述的装置的具体工作过程,可以参考前述第一实施例中的对应过程,在此不再重复描述。
图4是本发明第四实施例的基于用户已安装应用来推荐应用的装置的示意性框
图。如图4所示,本发明的基于用户已安装应用来推荐应用的装置包括:
应用的相似度列表确定单元,用于确定预置应用库里的两两应用之间的相似度列
表;
预推荐应用的候选集建立单元,用于从预置应用库里选取出多个应用作为预推荐
应用,建立包含该多个预推荐应用的候选集;
用户对应用的偏好度确定单元,用于基于用户已安装的1个或多个应用和所述相
似度列表,确定该用户对所述候选集里的每个预推荐应用的偏好度;
推荐单元,用于基于所述偏好度值从大到小顺序从所述候选集里选取一定数量的
相应应用作为推荐应用。
优选的,应用的相似度列表确定单元的工作与第三实施例描述的相同。
优选的,预推荐应用的候选集建立单元的工作过程可以参考前述第二实施例中的
对应过程,在此不再重复描述,所述预推荐应用优选是具有与用户已安装的1个或多个应用
的标签相同标签的应用。
优选的,用户对应用的偏好度确定单元的工作过程可以参考前述第二实施例中的
对应过程。即,从所建立的所述相似度列表中找出所述候选集里的某一个应用分别与用户
已安装的1个或多个应用之间的相似度值,将该多个相似度值累加求和,所得数值为该用户
对该应用的偏好度值。同理,可以得到用户对所述候选集里的每一个应用的偏好度。确定所
述偏好度的计算公式如下:
![]()
其中:Pl表示用户对候选集里的应用l的偏好度;
T表示用户已安装应用的数量;
Sk,l表示用户已安装应用k与所述候选集里的应用l之间的相似度。
由于这里涉及使用用户已安装应用与预置应用库里的应用之间的相似度,所以这
里所述用户已安装应用包括用户通过应用商店或应用市场下载安装的应用和能够在应用
商店或应用市场里找得到的应用。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,结合第四实施例
描述的装置的具体工作过程,可以参考前述第二实施例中的对应过程,在此不再重复描述。
根据本发明的基于用户已安装应用来推荐应用的装置,能够确定该用户对预置应
用库里的每个应用的偏好度;根据所述偏好度值从大到小顺序从预置应用库里选取一定数
量的相应应用作为推荐应用,实现了根据用户的兴趣爱好进行个性化推荐应用的目的,大
大提高了用户体验。
本发明实施例所提供的基于用户已安装应用来推荐应用的方法的计算机程序产
品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前
面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以
存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说
对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计
算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个
人计算机,平板电脑,智能手机,服务器,或者网络设备等)执行本发明各个实施例所述方法
的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存
储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何
熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵
盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。