应用推荐方法、装置及服务器与流程

文档序号:12470468阅读:149来源:国知局
应用推荐方法、装置及服务器与流程
本发明涉及互联网
技术领域
,具体而言,涉及一种应用推荐方法、装置及服务器。
背景技术
:随着移动终端技术及网络技术的飞速发展,越来越多的用户选择在手机或平板电脑等移动终端上下载应用软件,各种专为移动终端用户打造的应用获取平台,例如应用商店也应运而生。目前,应用商店推荐应用的方法通常是通过计算整个商店每个应用的下载量,并按下载量进行应用排序,然后把排序靠前的应用推荐给用户,即基于排行榜的应用推荐。但是这种方法为每个用户推荐的应用都是一样的,不一定是用户真正想要的,用户体验较差。技术实现要素:有鉴于此,本发明实施例的目的在于提供一种应用推荐方法、装置及服务器,以解决上述问题。为了实现上述目的,本发明实施例采用的技术方案如下:第一方面,本发明实施例提供了一种应用推荐方法,所述方法包括:获取各个用户的应用列表以及所述各个用户所在区域;根据所述各个用户的应用列表以及所述各个用户所在区域,分别计算各个区域中各个应用对应的独特性指标值;基于所述各个区域中各个应用的独特性指标值为每个区域确定待推荐应用。第二方面,本发明实施例提供了一种应用推荐装置,所述装置包括:第一获取模块,用于获取各个用户的应用列表以及所述各个用户所在区域;计算模块,用于根据所述各个用户的应用列表以及所述各个用户所在区域,分别计算各个区域中各个应用对应的独特性指标值;确定模块,用于基于所述各个区域中各个应用的独特性指标值为每个区域确定待推荐应用第三方面,本发明实施例提供了一种服务器,所述服务器包括存储器及处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述处理器执行以下操作:第一获取模块,用于获取各个用户的应用列表以及所述各个用户所在区域;计算模块,用于根据所述各个用户的应用列表以及所述各个用户所在区域,分别计算各个区域中各个应用对应的独特性指标值;确定模块,用于基于所述各个区域中各个应用的独特性指标值为每个区域确定待推荐应用与现有技术相比,本发明实施例提供的一种应用推荐方法、装置及服务器,通过计算各个区域中各个应用对应的独特性指标值,根据独特性指标值的排序结果,分别为每个区域选择预设个数的应用作为每个区域对应的推荐应用,从而可以通过获取待推荐用户所在区域,向所述待推荐用户的用户终端返回所述待推荐用户所在区域对应的推荐应用。这种方式能够在不需要人工干预的情况下,自动、有效地筛选各区域最具独特性的应用,实现基于地理位置的个性化推荐,更符合用户的需求。为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1是本发明实施例提供的用户终端与服务器进行交互的示意图。图2是本发明实施例提供的服务器的结构示意图。图3是本发明实施例提供的一种应用推荐方法的流程图。图4是本发明实施例提供的一种应用推荐方法中的步骤S500的详细流程图。图5是本发明实施例提供的一种应用推荐方法的步骤S600的详细流程图。图6是本发明实施例提供的一种应用推荐方法的步骤S620的详细流程图。图7是本发明实施例提供的一种应用推荐方法的部分流程图。图8是本发明实施例提供的一种应用推荐装置的结构框图。具体实施方式下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。图1示出了本发明实施例提供的服务器200与用户终端100进行交互的示意图。所述服务器200通过网络300与一个或多个用户终端100进行通信连接,以进行数据通信或交互。所述服务器200可以是网络服务器、数据库服务器等。所述用户终端100可以是个人电脑(personalcomputer,PC)、平板电脑、智能手机、个人数字助理(personaldigitalassistant,PDA)、车载设备、穿戴设备等。如图2所示,是所述服务器200的方框示意图。所述服务器200包括存储器201、处理器202以及网络模块203。存储器201可用于存储软件程序以及模块,如本发明实施例中的应用推荐方法及装置对应的程序指令/模块,处理器202通过运行存储在存储器201内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本发明实施例中的应用推荐方法。存储器201可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。进一步地,上述存储器201内的软件程序以及模块还可包括:操作系统221以及服务模块222。其中操作系统221,例如可为LINUX、UNIX、WINDOWS,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。服务模块222运行在操作系统221的基础上,并通过操作系统221的网络服务监听来自网络的请求,根据请求完成相应的数据处理,并返回处理结果给客户端。也就是说,服务模块222用于向客户端提供网络服务。网络模块203用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。可以理解,图2所示的结构仅为示意,所述服务器200还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。另外,本发明实施例中的服务器还可以包括多个具体不同功能的服务器。于本发明实施例中,用户终端100中安装有客户端,该客户端可以是第三方应用软件,与服务器(Server)端相对应,共同遵循同一套数据协议,使得服务端跟客户端能够互相解析出对方的数据,为用户提供应用专题推荐服务。图3示出了本发明实施例提供的一种应用推荐方法的流程图,请参阅图3,本实施例描述的是服务器的处理流程,所述方法包括:步骤S400,获取各个用户的应用列表以及所述各个用户所在区域。其中,用户的应用列表的实施方法可以有多种,例如应用下载类别、应用安装列表、应用浏览列表、或者应用更新列表,但并不局限于所述实施方式。用户的应用列表可以记录在用户日志中。用户所在区域可以是用户所在的城市,也可以是用户所在的省份等。用户所在的区域可以通过获取用户的用户终端的位置信息来获取。例如,可以首先从用户日志中收集用户最近一段时间的应用安装列表,例如最近一周或者最近一个月的应用安装列表,优选的,可以从中排除系统预安装应用,得到用户自定义安装的应用作为用户的操作应用列表。然后通过获取用户的用户终端的位置信息获取用户当前所在城市,得到用户、城市、应用三元组,如表1所示。表1步骤S500,根据所述各个用户的应用列表以及所述各个用户所在区域,分别计算各个区域中各个应用对应的独特性指标值。其中,根据所述各个用户的应用列表以及所述各个用户所在区域,分别计算各个区域中各个应用对应的独特性指标值的实施方式可以有多种,下面介绍其中一种实施方式,但是可以理解的是,并不局限于这种实施方式。请参阅图4,步骤S500可以包括:步骤S510,根据各个区域中各个应用的用户数以及各个应用在所有区域中的平均用户数,分别计算各个应用在所有区域的标准差。其中,可以根据各个用户的应用列表以及各个用户所在区域进行计算,分别计算各个区域中各个应用的用户数。例如,假设获取到各个用户的应用列表以及所述各个用户所在区域如下表2所示:表2用户城市应用名A广州应用1A广州应用2B广州应用1B广州应用3C北京应用1C北京应用3用ui,j来表示各个区域中各个应用的用户数,其中i表示城市,j表示应用。则i的取值为(广州,北京),j的取值为(应用1,应用2,应用3)。则各个区域中各个应用的用户数如下:u(广州,应用1)=2;u(广州,应用2)=1;u(广州,应用3)=1;u(北京,应用1)=1;u(北京,应用2)=0;u(北京,应用3)=1。接着,分别计算各个应用在所有区域中的平均用户数。若各个区域中各个应用的用户数为ui,j,其中i表示城市,j表示应用,则各个应用在所有区域中的平均用户数为:其中N为区域个数。接上例,此时N=2,分别为广州和北京,i的取值为(广州,北京),j的取值为(应用1,应用2,应用3),则各个应用在所有区域中的平均用户数如下:应用1=u(广州,应用1)+u(北京,应用1)=2+1=3;应用2=u(广州,应用2)+u(北京,应用2)=1+0=1;应用2=u(广州,应用3)+u(北京,应用3)=1+1=2。当计算出各个区域中各个应用的用户数以及各个应用在所有区域中的平均用户数,可以根据如下公式计算各个应用在所有区域的标准差:σj=1NΣi(ui,j-μj)]]>其中,ui,j为各个区域中各个应用的用户数,i表示城市,j表示应用,σi各个应用在所有区域中的平均用户数,N为区域个数。步骤S520,根据所述各个区域中各个应用的用户数以及所述各个应用在所有区域的标准差,分别计算各个区域中各个应用对应的独特性指标值。优选的,所述各个区域中各个应用对应的独特性指标值为所述各个区域中各个应用的用户数与所述各个应用在所有区域的标准差的比值。即所述独特性指标值可以按照如下公式进行计算:Si,j=ui,jσj]]>其中,ui,j为各个区域中各个应用的用户数,i表示城市,j表示应用,σi为各个应用在所有区域的标准差。可以理解的是,一个应用在各个城市的用户数分布,近似成高斯分布,如下式:f(x)=12πσexp(-(x-μ)22σ2)]]>高斯分布中,该分布的标准差σ反映了分布的集中程度,即分布越集中,σ越小。因此,独特性指标对同一个城市而言,S的值越大,说明该应用越独特。即该城市用户最常用的应用,也是该城市的独特应用。请参阅图3,执行完步骤S500后,继续执行步骤S600。步骤S600,基于所述各个区域中各个应用的独特性指标值为每个区域确定待推荐应用。作为一种实施方式,请参阅图5,所述步骤S600可以包括:步骤S610,将各个区域中各个应用按照独特性指标值进行排序,得到每个区域的待推荐应用候选集。对城市i,将其所有应用j的独特性指标Si,j按照降序排序,选取各个区域中排序靠前的前K个应用作为每个区域对应推荐应用。例如,假设将各个区域中各个应用按照独特性指标值进行排序后,得到如下表3所示:表3假设第一预设个数为3,则分别为每个区域选择3个的应用作为每个区域对应的待推荐应用集合,因此每个区域的待推荐应用集合如下表4所示:表4城市应用名独特性指标广州应用11.00294399261广州应用21.00283753872广州应用31.00281596184北京应用21.00267326832北京应用31.00266420841北京应用41.00261163712步骤S620,从所述每个区域的待推荐应用候选集中确定每个区域的待推荐应用。优选的,请参见图6,所述步骤S620可以包括:步骤S621,计算所述每个区域对应的待推荐应用集合中各个应用对应的用户数。可以基于用户已安装/已下载应用的日志数据,计算每个应用的安装/下载用户数;将对每个区域的待推荐应用集合的应用与所述每个应用的安装/下载用户数关联起来,将关联之后的数据,如下表5所示:表5步骤S622,分别将所述每个区域对应的待推荐应用集合中应用按照用户数进行排序,得到每个区域的待推荐应用。可以将所述每个区域对应的待推荐应用集合中应用按照用户数进行降序排序,选取各个区域中排序靠前的前第二预设个应用作为每个区域对应推荐应用。其中,第二预设个数可以小于或等于第一预设个数。接上例,重新排序后,得到每个区域对应推荐应用列表如下表6所示:表6城市应用名推荐序列广州应用31广州应用12广州应用23北京应用41北京应用32北京应用23若第二预设个数为2,则向广州的用户推荐的应用为应用3和应用2,向北京的用户推荐的为应用4和应用3。可以理解的是,对每个区域选择出对应的推荐应用后,可以分别向不同区域用户推荐不同的应用,因此,请参见图7,在步骤S600之后,所述方法还可以包括以下步骤:步骤S700,获取待推荐用户所在区域;步骤S800,查询所述待推荐用户所在区域对应的推荐应用;步骤S900,向所述待推荐用户的用户终端返回所述待推荐用户所在区域对应的推荐应用。本发明实施例提供的一种应用推荐方法,通过计算各个区域中各个应用对应的独特性指标值,根据独特性指标值的排序结果,分别为每个区域选择预设个数的应用作为每个区域对应的推荐应用,从而可以通过获取待推荐用户所在区域,向所述待推荐用户的用户终端返回所述待推荐用户所在区域对应的推荐应用。这种方式能够在不需要人工干预的情况下,自动、有效地筛选各区域最具独特性的应用,实现基于地理位置的个性化推荐,从而增强产品的大数据感知力度,此外,因为推荐的应用结合了用户所在的地理位置,所以能够在一定程度上增加用户下载量。并且,进一步的,则按照独特性指标值排序后,再根据待推荐应用集合中应用按照用户数进行排序,分别为每个区域选择第二预设个数的应用作为每个区域对应的推荐应用。这种方式通过独特性指标以及应用的用户数这两种指标进行各个区域的推荐应用的筛选,使得最终选出的每个区域对应的推荐应用更加准确。请参阅图8,是本发明实施例提供的应用推荐装置210的功能模块示意图。所述应用推荐装置210包括第一获取模块211,计算模块212,确定模块213。所述第一获取模块211,用于获取各个用户的应用列表以及所述各个用户所在区域。所述计算模块212,用于根据所述各个用户的应用列表以及所述各个用户所在区域,分别计算各个区域中各个应用对应的独特性指标值。优选的,所述计算模块212包括第一计算子模块2121以及第二计算子模块2122。其中,所述第一计算子模块2121,用于根据各个区域中各个应用的用户数以及各个应用在所有区域中的平均用户数,分别计算各个应用在所有区域的标准差;所述第二计算子模块2122,用于根据所述各个区域中各个应用的用户数以及所述各个应用在所有区域的标准差,分别计算各个区域中各个应用对应的独特性指标值。其中,各个区域中各个应用对应的独特性指标值为所述各个区域中各个应用的用户数与所述各个应用在所有区域的标准差的比值。所述确定模块213,用于基于所述各个区域中各个应用的独特性指标值为每个区域确定待推荐应用。优选的,所述确定模块213包括排序子模块2131以及选中子模块2132。其中,所述排序子模块2131,用于将各个区域中各个应用按照独特性指标值进行排序,得到每个区域的待推荐应用候选集;所述选中子模块2132,用于从所述每个区域的待推荐应用候选集中确定每个区域的待推荐应用。优选的,所述选中子模块2132,具体用于计算所述每个区域对应的待推荐应用集合中各个应用对应的用户数;分别将所述每个区域对应的待推荐应用集合中应用按照用户数进行排序,得到每个区域的待推荐应用。优选的,所述装置还包括第二获取模块214,查询模块215以及返回模块216。其中,所述第二获取模块214,用于获取待推荐用户所在区域;所述查询模块215,用于查询所述待推荐用户所在区域对应的推荐应用;所述返回模块216,用于向所述待推荐用户的用户终端返回所述待推荐用户所在区域对应的推荐应用。以上各模块可以是由软件代码实现,此时,上述的各模块可存储于服务器200的存储器201内。以上各模块同样可以由硬件例如集成电路芯片实现。需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。本发明实施例所提供的应用推荐装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1