发明内容
为克服相关技术中存在的问题,本公开提供一种应用程序推荐方法及相应的装置。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
根据本公开实施例的第一方面,提供一种应用程序推荐方法,包括:
监听针对各项应用程序的目标事件;
根据监听结果,生成监听记录,其中,所述监听记录中包括:用户标识、各类型的目标事件发生时间和目标事件针对的应用程序的名称;
将所述监听记录传输至服务器;
接收所述服务器返回的根据所述监听记录生成的应用程序推荐列表,其中,所述服务器接收到所述监听记录后,根据所述监听记录中包含的各项信息计算用户对各个应用程序的需求预测值,并根据所述用户对各个应用程序的需求预测值生成所述应用程序推荐列表。
优选的,所述将所述监听记录传输至服务器,包括:
检测终端是否连接无线网络;
若所述终端连接无线网络,通过所述无线网络将所述监听记录传输至服务器。
根据本公开实施例的第二方面,提供一种应用程序推荐方法,包括:
获取各个终端传输的监听记录,其中,所述监听记录中包括:用户标识、各类型的目标事件发生时间和目标事件针对的应用程序的名称;
根据所述监听记录中包含的各项信息,计算用户对各个应用程序的需求预测值;
根据所述用户对各个应用程序的需求预测值,生成应用程序推荐列表,并将所述应用程序推荐列表传输至所述目标终端。
优选的,所述根据所述监听记录中包含的各项信息,计算用户对各个应用程序的需求预测值,包括:
根据所述监听记录中包含的目标事件发生时间和目标事件针对的应用程序的名称,统计各个用户标识对应的目标终端在预设时间段内,各个应用程序对应的目标事件发生的次数;
根据所述各个应用程序对应的目标事件发生的次数,计算所述用户对各个应用程序的需求预测值。
优选的,所述根据所述各个应用程序对应的目标事件发生的次数,计算所述用户对各个应用程序的需求预测值,包括:
根据所述各个应用程序对应的目标事件发生的次数,计算用户对各个应用程序的需求值;
根据所述用户对各个应用程序的需求值,创建用户需求矩阵,其中,所述用户需求矩阵中包含各个用户对各个应用程序的需求值;
对所述用户需求矩阵进行分解,获取用户特征矩阵和应用特征矩阵,其中,所述用户特征矩阵用于表征所述用户对应用程序包含的特征的偏好程度,所述应用特征矩阵用于表征各个应用程序与所述特征的相似程度;
根据所述用户特征矩阵和应用特征矩阵,计算所述用户对各个应用程序的需求预测值。
优选的,若所述目标事件包括:启动事件、和/或下载事件、和/或搜索事件、和/或浏览事件,在根据所述各个应用程序对应的目标事件发生的次数,计算用户对各个应用程序的需求值时,采用以下公式:
Rij=t1×startij+t2×downij+t3×searchij+t4×viewij;
其中,Rij表示用户i对应用程序j的需求值,startij表示用户i启动应用程序j的次数,downij表示用户i下载应用程序j的次数,searchij表示用户i搜索应用程序j的次数,viewij表示用户i浏览应用程序j的次数,t1、t2、t3和t4为预设的常数。
优选的,在根据所述用户特征矩阵和应用特征矩阵,计算所述用户对各个应用程序的需求预测值时,采用以下公式:
其中,Pij表示用户i对应用程序j的需求预测值,Uik为用户特征矩阵中的元素,表示用户i对k类别的特征的偏好程度,Vkj为应用特征矩阵中的元素,表示应用程序j与k类别的特征的相似程度,N表示特征的类别数目。
根据本公开实施例的第三方面,提供一种应用程序推荐装置,包括:
监听模块,用于监听针对各项应用程序的目标事件;
记录生成模块,用于根据监听结果,生成监听记录,其中,所述监听记录中包括:用户标识、各类型的目标事件发生时间和目标事件针对的应用程序的名称;
传输模块,用于将所述监听记录传输至服务器;
接收模块,用于接收所述服务器返回的根据所述监听记录生成的应用程序推荐列表,其中,所述服务器接收到所述监听记录后,根据所述监听记录中包含的各项信息计算用户对各个应用程序的需求预测值,并根据所述用户对各个应用程序的需求预测值生成所述应用程序推荐列表。
优选的,所述传输模块包括:
检测单元,用于检测终端是否连接无线网络;
无线传输单元,用于若所述终端连接无线网络,通过所述无线网络将所述监听记录传输至服务器。
根据本公开实施例的第四方面,提供一种应用程序推荐装置,包括:
获取模块,用于获取各个终端传输的监听记录,其中,所述监听记录中包括:用户标识、各类型的目标事件发生时间和目标事件针对的应用程序的名称;
计算模块,用于根据所述监听记录中包含的各项信息,计算用户对各个应用程序的需求预测值;
推荐模块,用于根据所述用户对各个应用程序的需求预测值,生成应用程序推荐列表,并将所述应用程序推荐列表传输至所述目标终端。
优选的,所述计算模块包括:
统计子模块,用于根据所述监听记录中包含的目标事件发生时间和目标事件针对的应用程序的名称,统计各个用户标识对应的目标终端在预设时间段内,各个应用程序对应的目标事件发生的次数;
计算子模块,用于根据所述各个应用程序对应的目标事件发生的次数,计算所述用户对各个应用程序的需求预测值。
优选的,所述计算子模块包括:
需求值计算单元,用于根据所述各个应用程序对应的目标事件发生的次数,计算用户对各个应用程序的需求值;
矩阵创建单元,用于根据所述用户对各个应用程序的需求值,创建用户需求矩阵,其中,所述用户需求矩阵中包含各个用户对各个应用程序的需求值;
矩阵分解单元,用于对所述用户需求矩阵进行分解,获取用户特征矩阵和应用特征矩阵,其中,所述用户特征矩阵用于表征所述用户对应用程序包含的特征的偏好程度,所述应用特征矩阵用于表征各个应用程序与所述特征的相似程度;
预测值计算单元,用于根据所述用户特征矩阵和应用特征矩阵,计算所述用户对各个应用程序的需求预测值。
优选的,若所述目标事件包括:启动事件、和/或下载事件、和/或搜索事件、和/或浏览事件,所述需求值计算单元在根据所述各个应用程序对应的目标事件发生的次数,计算用户对各个应用程序的需求值时,采用以下公式:
Rij=t1×startij+t2×downij+t3×searchij+t4×viewij;
其中,Rij表示用户i对应用程序j的需求值,startij表示用户i启动应用程序j的次数,downij表示用户i下载应用程序j的次数,searchij表示用户i搜索应用程序j的次数,viewij表示用户i浏览应用程序j的次数,t1、t2、t3和t4为预设的常数。
所述预测值计算单元在根据所述用户特征矩阵和应用特征矩阵,计算所述用户对各个应用程序的需求预测值时,采用以下公式:
其中,Pij表示用户i对应用程序j的需求预测值,Uik为用户特征矩阵中的元素,表示用户i对k类别的特征的偏好程度,Vkj为应用特征矩阵中的元素,表示应用程序j与k类别的特征的相似程度,N表示特征的类别数目。
本公开的实施例提供的技术方案可以包括以下有益效果:
本申请公开的方案,能够获取应用程序推荐列表,所述应用程序推荐列表由服务器根据用户对应用程序的需求预测值产生,因此该应用程序列表推荐的应用程序符合用户需求,从而能更准确地预测出用户对应用程序的需求,解决现有的应用程序推荐方法不能满足用户需求,用户获取自身所需应用程序时会耗费大量时间和精力的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
本申请公开一种应用程序推荐方法及装置,以解决现有的应用程序推荐方法不能满足用户的需求,导致用户获取自身所需应用程序时,会耗费大量时间和精力的问题。
本申请的实施例一公开一种应用程序推荐方法。参见图1所示的工作流程示意图,所述应用程序推荐方法包括以下步骤:
步骤S11、监听针对各项应用程序的目标事件。
其中,所述目标事件通常包括:启动事件、和/或下载事件、和/或搜索事件、和/或浏览事件。当然,所述目标事件还可以为其他对应用程序执行操作的事件,本申请对此不做限定。当终端发生对应用程序的目标事件时,往往说明用户对该应用程序有兴趣。
步骤S12、根据监听结果,生成监听记录,其中,所述监听记录中包括:用户标识、各类型的目标事件发生时间和目标事件针对的应用程序的名称。
其中,用户标识可以为用户登录网站时采用的账号,如淘宝账号、微博账号等,或者,也可以为其他能够区分用户的标识,本申请对此不做限定。
步骤S13、将所述监听记录传输至服务器。
步骤S14、接收所述服务器返回的根据所述监听记录生成的应用程序推荐列表,其中,所述服务器接收到所述监听记录后,根据所述监听记录中包含的各项信息计算用户对各个应用程序的需求预测值,并根据所述用户对各个应用程序的需求预测值生成所述应用程序推荐列表。
其中,所述需求预测值用于表征用户对应用程序的需求程度。所述需求预测值越高,说明用户对该应用程序的需求程度越高。
终端在生成监听记录后,会将所述监听记录传输至服务器。服务器接收到各个终端传输的监听记录后,对所述监听记录进行分析处理,计算用户对各个应用程序的需求预测值,并据此生成相应的应用程序推荐列表,将所述应用程序推荐列表推送至终端,终端可根据该应用程序推荐列表下载安装相应的应用程序。
本申请的第一实施例公开一种应用程序推荐方法,该方法中,终端监听针对各项应用程序的目标事件,根据监听结果,生成监听记录,并将所述监听记录传输至服务器,服务器接收到监听记录后,根据所述监听记录中包含的各项信息计算用户对各个应用程序的需求预测值,并根据所述用户对各个应用程序的需求预测值生成所述应用程序推荐列表,再将所述应用程序推荐列表传输至终端,以便终端根据所述应用程序推荐列表确定用户所需的应用程序。
本申请公开的方案,能够获取应用程序推荐列表,所述应用程序推荐列表由服务器根据用户对应用程序的需求预测值产生,因此该应用程序列表推荐的应用程序符合用户需求,从而能更准确地预测出用户对应用程序的需求,解决现有的应用程序推荐方法不能满足用户需求,用户获取自身所需应用程序时会耗费大量时间和精力的问题。
在步骤S13中,公开将所述监听记录传输至服务器的操作。该操作中,终端可通过自带流量传输所述监听记录。另外,为了节省流量,还可以通过无线网络进行传输,这种情况下,所述将所述监听记录传输至服务器,包括:
首先,检测终端是否连接无线网络;然后,若所述终端连接无线网络,通过所述无线网络将所述监听记录传输至服务器,若所述终端未连接无线网络,再通过终端自带流量传输所述监听记录,或者,若确定终端未连接无线网络,每隔一定时间再检测终端是否连接无线网络,直到根据检测结果确定所述终端连接无线网络,再通过无线网络传输所述监听记录。
通过上述操作,能够使终端优先通过无线网络传输无线网络,从而节省终端的流量,为用户节省网络资费的支出。
随着科技水平的发展,出现多种类型的应用程序。特别的,在智能移动终端中,如智能手机中往往安装多个应用程序,以满足用户需求。这种情况下,智能移动终端可采用本申请公开的应用程序推荐方法,生成监听记录,将所述监听记录传输至服务器,并接收服务器根据监听记录产生的应用程序推荐列表,根据所述应用程序推荐列表下载相应的程序,通过该应用程序推荐列表,能够更准确地预测出用户对应用程序的需求,提高用户体验。
相应的,本申请的第二实施例公开一种应用程序推荐方法。参见图2所示的工作流程示意图,所述应用程序推荐方法包括以下步骤:
步骤S21、获取各个终端传输的监听记录,其中,所述监听记录中包括:用户标识、各类型的目标事件发生时间和目标事件针对的应用程序的名称。
其中,所述目标事件通常包括:启动事件、和/或下载事件、和/或搜索事件、和/或浏览事件。当然,所述目标事件还可以为其他对应用程序执行操作的事件,本申请对此不做限定。当终端发生对应用程序的目标事件时,往往说明用户对该应用程序有兴趣。
步骤S22、根据所述监听记录中包含的各项信息,计算用户对各个应用程序的需求预测值。
步骤S23、根据所述用户对各个应用程序的需求预测值,生成应用程序推荐列表,并将所述应用程序推荐列表传输至所述目标终端。
其中,所述需求预测值用于表征用户对应用程序的需求程度。所述需求预测值越高,说明用户对该应用程序的需求程度越高。
本申请的第二实施例公开一种应用程序推荐方法,该方法中,服务器获取到各个终端传输的监听记录后,根据所述监听记录,计算用户对各个应用程序的需求预测值,然后根据所述各个应用程序的需求预测值,生成应用程序推荐列表,并将所述应用程序推荐列表传输至终端,以便终端根据所述应用程序推荐列表下载安装所需的应用程序。
本申请公开的方案,能够获取应用程序推荐列表,所述应用程序推荐列表由服务器根据用户对应用程序的需求预测值产生,因此该应用程序列表推荐的应用程序符合用户需求,从而能更准确地预测出用户对应用程序的需求,解决现有的应用程序推荐方法不能满足用户需求,用户获取自身所需应用程序时会耗费大量时间和精力的问题。
本申请公开的应用程序推荐方法在步骤S22中,公开根据所述监听记录中包含的各项信息,计算用户对各个应用程序的需求预测值的步骤。其中,所述根据所述监听记录中包含的各项信息,计算用户对各个应用程序的需求预测值,包括以下步骤:
首先,根据所述监听记录中包含的目标事件发生时间和目标事件针对的应用程序的名称,统计各个用户标识对应的目标终端在预设时间段内,各个应用程序对应的目标事件发生的次数;然后,根据所述各个应用程序对应的目标事件发生的次数,计算所述用户对各个应用程序的需求预测值。
其中,参见图3所示的工作流程示意图,所述根据所述各个应用程序对应的目标事件发生的次数,计算所述用户对各个应用程序的需求预测值,包括:
步骤S31、根据所述各个应用程序对应的目标事件发生的次数,计算用户对各个应用程序的需求值。
步骤S32、根据所述用户对各个应用程序的需求值,创建用户需求矩阵,其中,所述用户需求矩阵中包含各个用户对各个应用程序的需求值。
其中,所述用户需求矩阵可如表1所示,该表中,填充有各个用户对各个应用程序的需求值,例如,表1中表示用户1对应用1的需求值为3,用户1对应用2的需求值为0,用户2对应用1的需求值为0。
表1
用户/应用 |
应用1 |
应用2 |
应用3 |
用户1 |
3 |
0 |
6 |
用户2 |
0 |
9 |
0 |
用户3 |
0 |
6 |
5 |
当然,所述用户需求矩阵还可以采用其他形式,本申请对此不做限定。
另外,若计算得到所述需求值大多数情况下为0,也可将所述用户需求矩阵称为用户需求稀疏矩阵。
步骤S33、对所述用户需求矩阵进行分解,获取用户特征矩阵和应用特征矩阵,其中,所述用户特征矩阵用于表征所述用户对应用程序包含的特征的偏好程度,所述应用特征矩阵用于表征各个应用程序与所述特征的相似程度。
本申请中,将所述用户需求矩阵分解为用户特征矩阵和应用特征矩阵两个矩阵,其中,通常采用最小二乘法、随机梯度下降法等方法对用户需求矩阵进行分解,当然,也可以采用其他矩阵分解的方法,本申请对此不做限定。
其中,所述特征为机器学习领域中的概念,通过特征,能够体现应用程序所具有的特征,例如,若某一应用程序与视频这一特征的相似程度较高,则说明该应用程序与视频相关。
步骤S34、根据所述用户特征矩阵和应用特征矩阵,计算所述用户对各个应用程序的需求预测值。
其中,若所述目标事件包括:启动事件、和/或下载事件、和/或搜索事件、和/或浏览事件,在根据所述各个应用程序对应的目标事件发生的次数,计算用户对各个应用程序的需求值时,采用以下公式:
Rij=t1×startij+t2×downij+t3×searchij+t4×viewij;
其中,Rij表示用户i对应用程序j的需求值,startij表示用户i启动应用程序j的次数,downij表示用户i下载应用程序j的次数,searchij表示用户i搜索应用程序j的次数,viewij表示用户i浏览应用程序j的次数,t1、t2、t3和t4为预设的常数。
在上述公式中,t1、t2、t3和t4为常数,该常数的值可根据对不同目标事件的侧重预先设置。
进一步的,在根据所述用户特征矩阵和应用特征矩阵,计算所述用户对各个应用程序的需求预测值时,采用以下公式:
其中,Pij表示用户i对应用程序j的需求预测值,Uik为用户特征矩阵中的元素,表示用户i对k类别的特征的偏好程度,Vkj为应用特征矩阵中的元素,表示应用程序j与k类别的特征的相似程度,N表示特征的类别数目。
在计算用户对各个应用程序的需求预测值时,分别从用户特征矩阵和应用特征矩阵中依次提取所需元素,再按照上述公式即可获取用户对各个应用程序的需求预测值。
在计算得到用户对各个应用程序的需求预测值后,服务器根据所述需求预测值,为用户生成应用程序推荐列表,以便用户根据所述应用程序推荐列表下载安装用户所需的应用程序。
其中,在所述应用程序推荐列表中,各应用程序按照计算得到的需求预测值从大到小顺次排列。其中,所述应用程序推荐列表中包含的各个应用程序可包含需求预测值在预设范围内的全部应用程序,服务器还可以确定终端中已经安装的应用程序,并在所述应用程序推荐列表中去除终端中已经安装的应用程序。
相应的,在本申请的第三实施例中,公开一种应用程序推荐装置。参见图4所示的结构示意图,所述应用程序推荐装置包括:监听模块110、记录生成模块120、传输模块130和接收模块140。
其中,所述监听模块110,用于监听针对各项应用程序的目标事件,其中,所述目标事件通常包括:启动事件、和/或下载事件、和/或搜索事件、和/或浏览事件。当然,所述目标事件还可以为其他对应用程序执行操作的事件,本申请对此不做限定。
所述记录生成模块120,用于根据监听结果,生成监听记录,其中,所述监听记录中包括:用户标识、各类型的目标事件发生时间和目标事件针对的应用程序的名称,用户标识可以为用户登录网站时采用的账号,如淘宝账号、微博账号等,或者,也可以为其他能够区分用户的标识,本申请对此不做限定。
所述传输模块130,用于将所述监听记录传输至服务器。
所述接收模块140,用于接收所述服务器返回的根据所述监听记录生成的应用程序推荐列表,其中,所述服务器接收到所述监听记录后,根据所述监听记录中包含的各项信息计算用户对各个应用程序的需求预测值,并根据所述用户对各个应用程序的需求预测值生成所述应用程序推荐列表。
其中,所述需求预测值用于表征用户对应用程序的需求程度。所述需求预测值越高,说明用户对该应用程序的需求程度越高。
进一步的,所述传输模块130包括:
检测单元,用于检测终端是否连接无线网络;
无线传输单元,用于若所述终端连接无线网络,通过所述无线网络将所述监听记录传输至服务器。
本申请公开的装置,能够使终端获取应用程序推荐列表,所述应用程序推荐列表由服务器根据用户对应用程序的需求预测值产生,因此该应用程序列表推荐的应用程序符合用户需求,从而能更准确地预测出用户对应用程序的需求,解决现有的应用程序推荐方法不能满足用户需求,用户获取自身所需应用程序时会耗费大量时间和精力的问题。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
相应的,本申请的第四实施例公开一种应用程序推荐装置。参见图5所示的结构示意图,所述应用程序推荐装置包括:获取模块210、计算模块220和推荐模块230。
其中,所述获取模块210,用于获取各个终端传输的监听记录,其中,所述监听记录中包括:用户标识、各类型的目标事件发生时间和目标事件针对的应用程序的名称,其中,所述目标事件通常包括:启动事件、和/或下载事件、和/或搜索事件、和/或浏览事件。当然,所述目标事件还可以为其他对应用程序执行操作的事件,本申请对此不做限定。
所述计算模块220,用于根据所述监听记录中包含的各项信息,计算用户对各个应用程序的需求预测值,其中,所述需求预测值用于表征用户对应用程序的需求程度。所述需求预测值越高,说明用户对该应用程序的需求程度越高;
所述推荐模块230,用于根据所述用户对各个应用程序的需求预测值,生成应用程序推荐列表,并将所述应用程序推荐列表传输至所述目标终端。
进一步的,所述计算模块220包括:统计子模块和计算子模块。
其中,所述统计子模块用于根据所述监听记录中包含的目标事件发生时间和目标事件针对的应用程序的名称,统计各个用户标识对应的目标终端在预设时间段内,各个应用程序对应的目标事件发生的次数;
所述计算子模块,用于根据所述各个应用程序对应的目标事件发生的次数,计算所述用户对各个应用程序的需求预测值。
进一步的,所述计算子模块包括:
需求值计算单元,用于根据所述各个应用程序对应的目标事件发生的次数,计算用户对各个应用程序的需求值;
矩阵创建单元,用于根据所述用户对各个应用程序的需求值,创建用户需求矩阵,其中,所述用户需求矩阵中包含各个用户对各个应用程序的需求值;
矩阵分解单元,用于对所述用户需求矩阵进行分解,获取用户特征矩阵和应用特征矩阵,其中,所述用户特征矩阵用于表征所述用户对应用程序包含的特征的偏好程度,所述应用特征矩阵用于表征各个应用程序与所述特征的相似程度;
预测值计算单元,用于根据所述用户特征矩阵和应用特征矩阵,计算所述用户对各个应用程序的需求预测值。
进一步的,若所述目标事件包括:启动事件、和/或下载事件、和/或搜索事件、和/或浏览事件,所述需求值计算单元在根据所述各个应用程序对应的目标事件发生的次数,计算用户对各个应用程序的需求值时,采用以下公式:
Rij=t1×startij+t2×downij+t3×searchij+t4×viewij;
其中,Rij表示用户i对应用程序j的需求值,startij表示用户i启动应用程序j的次数,downij表示用户i下载应用程序j的次数,searchij表示用户i搜索应用程序j的次数,viewij表示用户i浏览应用程序j的次数,t1、t2、t3和t4为预设的常数。
在上述公式中,t1、t2、t3和t4为常数,该常数的值可根据不同目标事件的侧重预先设置。
进一步的,所述预测值计算单元在根据所述用户特征矩阵和应用特征矩阵,计算所述用户对各个应用程序的需求预测值时,采用以下公式:
其中,Pij表示用户i对应用程序j的需求预测值,Uik为用户特征矩阵中的元素,表示用户i对k类别的特征的偏好程度,Vkj为应用特征矩阵中的元素,表示应用程序j与k类别的特征的相似程度,N表示特征的类别数目。
在计算用户对各个应用程序的需求预测值时,分别从用户特征矩阵和应用特征矩阵中依次提取所需元素,再按照上述公式即可获取用户对各个应用程序的需求预测值。
在计算得到用户对各个应用程序的需求预测值后,所述推荐模块240根据所述需求预测值,为用户生成应用程序推荐列表,以便用户根据所述应用程序推荐列表下载安装用户所需的应用程序。
其中,在所述应用程序推荐列表中,各应用程序按照计算得到的需求预测值从大到小顺次排列。其中,所述应用程序推荐列表中包含的各个应用程序可包含需求预测值在预设范围内的全部应用程序,另外,所述推荐模块240还可以确定终端中已经安装的应用程序,并在所述应用程序推荐列表中去除终端中已经安装的应用程序。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。