一种应用APP推荐方法及电子设备与流程

文档序号:31447625发布日期:2022-09-07 12:19阅读:133来源:国知局
一种应用APP推荐方法及电子设备与流程
一种应用app推荐方法及电子设备
技术领域
1.本技术涉及终端技术领域,尤其涉及一种应用(application,app)推荐方法及电子设备。


背景技术:

2.当前用户使用电子设备的app的时候,往往会按照app在电子设备页面的特定排序进行查找,在进入这一app进行使用。在这个操作过程中,由于电子设备安装的app数量多,用户查找需要翻页,或者滑动,电子设备安装的app数量越多,用户找到app的过程中操作屏幕的次数也就越多,用户的操作体验差。


技术实现要素:

3.本技术实施例公开了一种应用app推荐方法及电子设备,以提高应用推荐的准确性的同时提高推荐效率。
4.第一方面,本技术提供了一种应用app推荐方法,包括:获取第一应用数量,所述第一应用数量为第一时间段内的每单位时间启动应用的平均数量;在所述第一应用数量落入第一数量范围的情况下,基于第一推荐策略对第一数据进行处理,获取第一推荐应用列表,显示第一画面,其中,所述第一画面包括所述第一推荐应用列表中的应用,所述第一数据包括电子设备中用于分析推荐应用的数据;在所述第一应用数量落入第二数量范围的情况下,基于第二推荐策略对第一数据进行处理,获取第二推荐应用列表,显示第二画面;其中,所述第二画面包括所述第二推荐应用列表中的应用。
5.在本技术实施例中,对于不同的第一应用数量,电子设备能够将第一数据通过不同的推荐策略进行处理,得到应用推荐列表。因此,本技术实施例可以将第一应用数量作为用户分群指标,为不同的用户群体制定不同的推荐策略,使得使用应用数量较少的用户可以使用效率更高的推荐策略;使用应用数量较多的用户可以使用准确率更高的推荐策略。这样,可以兼顾应用推荐的准确性的同时,提高推荐效率。
6.在一种可能的实现方式中,所述方法还包括:在所述第一应用数量落入第三数量范围的情况下,基于第三推荐策略对第一数据进行处理,获取第三推荐应用列表,显示第三画面;其中,所述第三画面包括所述第三推荐应用列表中的应用。这样,基于第一应用数量选择对应推荐策略,从而可以保证推荐的应用的准确性的同时,提高应用推荐的效率。
7.在一种可能的实现方式中,所述第一数据包括应用使用数据,所述应用使用数据为用户点击应用的历史数据,所述基于第一推荐策略对第一数据进行处理,获取第一推荐应用列表,具体包括:将所述应用使用数据中的应用进行排序,得到第一排序应用列表,所述第一排序应用列表中的应用按照点击频次由大到小的顺序进行排列;基于当前时间的信息从所述第一排序应用列表中获取第一推荐应用列表,所述第一推荐应用列表中的应用为所述第一排序应用列表中前n个应用,n为正整数。这样,在电子设备通过第一推荐策略确定第一推荐应用列表的过程中,电子设备可以仅仅基于用户点击频次的排序预测用户将会使
用的应用,使用的推荐策略相对更加简单,所使用的推荐算法能够保证较高的准确率的同时,处理器执行的效率更高,获取结果更加迅速,也可以节约电子设备的能耗。
8.在一种可能的实现方式中,所述应用使用数据包括以一周为单位或者以工作日和节假日为单位的应用点击数据;在所述应用使用数据包括以一周为单位的应用点击数据的情况下,所述基于当前时间的信息从所述第一排序应用列表中获取第一推荐应用列表,具体包括:基于当前星期的信息从所述第一排序应用列表中确定对应星期的应用列表为第一推荐应用列表;或者在所述应用使用数据包括以工作日和节假日为单位的应用点击数据的情况下,所述基于当前时间的信息从所述第一排序应用列表中获取第一推荐应用列表,具体包括:基于当前日期的信息从所述第一排序应用列表中确定对应工作日或者节假日的应用列表为第一推荐应用列表。这样,人们的工作是有规律的工作和生活,例如,通常一周中两天休息,五天工作或上学。本技术实施例考虑到这种生活的规律性会使得用户使用电子设备时也会存在一定的规律性,因此,应用使用数据为以一周为单位或者以工作日和节假日为单位的应用点击数据,可以保证获取到的第一推荐应用列表的准确性。
9.在一种可能的实现方式中,所述应用使用数据包括一天中不同时间间隔或者不同时间窗口的应用点击数据;所述基于当前时间的信息从所述第一排序应用列表中获取第一推荐应用列表,具体包括:基于当前时刻的信息从所述第一排序应用列表中确定对应时间间隔的应用列表为第一推荐应用列表;或者基于当前时刻的信息从所述第一排序应用列表中确定对应时间窗口的应用列表为第一推荐应用列表。这样,将应用使用数据按照不同的时间段的划分为不同的时间间隔或时间窗口,从而可以确定当前时刻对应的时间间隔或时间窗口的应用使用数据,便能够更加准确地确定对应的推荐应用列表。
10.在一种可能的实现方式中,所述第一数据包括应用使用数据,所述基于第二推荐策略对第一数据进行处理,获取第二推荐应用列表,具体包括:将所述应用使用数据输入第一决策树,得到第一决策应用列表;将所述第一决策应用列表进行排序,获取第二推荐应用列表。这样,对于第一应用数量为中等数量的用户群体,使用决策树算法学习用户历史应用使用习惯。决策树模型可记录每条决策树规则下各app的历史使用频率,按频率值排序可推出前几的应用列表。从而可以保证一定的应用推荐准确性的情况下,可以尽可能的简化推荐策略,节约计算资源。
11.在一种可能的实现方式中,所述第一数据还包括网络数据、环境数据、上下文数据、位置数据、通知数据、设备连接数据和推荐反馈数据中的至少一种,所述环境数据包括天气数据和运动状态数据中的至少一种。这样,电子设备能够将网络数据、环境数据、上下文数据、位置数据、通知数据、设备连接数据和推荐反馈数据均考虑进第一决策树,使得第二推荐列表更加符合用户个人的需求和情况,从而可以提高用户推荐的准确性,以及提高用户体验。
12.在一种可能的实现方式中,所述第一数据包括应用使用数据,所述应用使用数据包括长期应用使用数据、近期应用使用数据和实时应用使用数据,所述基于第三推荐策略对第一数据进行处理,获取第三推荐应用列表,具体包括:将所述长期应用使用数据输入第二决策树,获取各个应用的第一概率值;基于所述第一概率值和第一路召回权重获取所述各个应用的第一权重;将所述近期应用使用数据输入最近热门召回算法,获取所述各个应用的第二概率值;基于所述第二概率值和第二路召回权重获取所述各个应用的第二权重;
将所述实时应用使用数据输入时间衰减算法,获取所述各个应用的第三概率值;基于所述第三概率值和第三路召回权重获取所述各个应用的第三权重;将所述各个应用的所述第一权重,所述第二权重和第三权重相加,获取所述各个应用的第四权重;将所述各个应用的第四权重进行排序,获取第三推荐应用列表。这样,对于第一应用数量较多的用户群体,使用多路召回分别学习用户长期、近期、实时的使用习惯。采用每路召回率动态计算每路召回权重,实现多路召回融合排序。此时,不仅能够考虑到用户长期使用应用的习惯,还可以考虑到近期用户应用的改变和用户实时的应用使用习惯。长期、近期和实时的数据均有所考虑,从而可以保证推荐的应用的准确性,进而可以提高用户体验。
13.在一种可能的实现方式中,在所述第一数据还包括网络数据、环境数据、上下文数据、位置数据、通知数据、设备连接数据和推荐反馈数据中的至少一种的情况下,所述方法还包括:基于特殊应用场景和第一数据调整所述第三推荐应用列表,获取调整之后的第三推荐应用列表;所述显示目标应用推荐画面,具体包括:基于所述调整之后的第三推荐应用列表显示第三应用推荐画面。这样,通过电子设备连接的网络数据,所处的环境数据,上下文数据设备连接数据和用户的反馈数据等,调整第三推荐应用列表,使得第三推荐列表更加符合用户个人的需求和情况,从而可以提高用户推荐的准确性,以及提高用户体验。
14.第二方面,本技术提供了一种电子设备,包括:触控屏、一个或多个处理器和一个或多个存储器,所述一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,以使得所述电子设备执行:
15.获取第一应用数量,所述第一应用数量为第一时间段内的每单位时间启动应用的平均数量;
16.在所述第一应用数量落入第一数量范围的情况下,基于第一推荐策略对第一数据进行处理,获取第一推荐应用列表,显示第一画面,其中,所述第一画面包括所述第一推荐应用列表中的应用,所述第一数据包括电子设备中用于分析推荐应用的数据;
17.在所述第一应用数量落入第二数量范围的情况下,基于第二推荐策略对第一数据进行处理,获取第二推荐应用列表,显示第二画面;其中,所述第二画面包括所述第二推荐应用列表中的应用。
18.在本技术实施例中,对于不同的第一应用数量,电子设备能够将第一数据通过不同的推荐策略进行处理,得到应用推荐列。因此,本技术实施例可以将第一应用数量作为用户分群指标,为不同的用户群体制定不同的推荐策略,使得使用应用数量较少的用户可以使用效率更高的推荐策略;使用应用数量较多的用户可以使用准确率更高的推荐策略。这样,可以兼顾应用推荐的准确性的同时,提高推荐效率。
19.在一种可能的实现方式中,所述电子设备还执行:
20.在所述第一应用数量落入第三数量范围的情况下,基于第三推荐策略对第一数据进行处理,获取第三推荐应用列表,显示第三画面;其中,所述第三画面包括所述第三推荐应用列表中的应用。这样,基于第一应用数量选择对应推荐策略,从而可以保证推荐的应用的准确性的同时,提高应用推荐的效率。
21.在一种可能的实现方式中,所述第一数据包括应用使用数据,所述应用使用数据为用户点击应用的历史数据,所述基于第一推荐策略对第一数据进行处理,获取第一推荐应用列表,具体执行:将所述应用使用数据中的应用进行排序,得到第一排序应用列表,所
述第一排序应用列表中的应用按照点击频次由大到小的顺序进行排列;基于当前时间的信息从所述第一排序应用列表中获取第一推荐应用列表,所述第一推荐应用列表中的应用为所述第一排序应用列表中前n个应用,n为正整数。这样,在电子设备通过第一推荐策略确定第一推荐应用列表的过程中,电子设备可以仅仅基于用户点击频次的排序预测用户将会使用的应用,使用的推荐策略相对更加简单,所使用的推荐算法能够保证较高的准确率的同时,处理器执行的效率更高,获取结果更加迅速,也可以节约电子设备的能耗。
22.在一种可能的实现方式中,所述应用使用数据包括以一周为单位或者以工作日和节假日为单位的应用点击数据;在所述应用使用数据包括以一周为单位的应用点击数据的情况下,所述基于当前时间的信息从所述第一排序应用列表中获取第一推荐应用列表,具体执行:基于当前星期的信息从所述第一排序应用列表中确定对应星期的应用列表为第一推荐应用列表;或者在所述应用使用数据包括以工作日和节假日为单位的应用点击数据的情况下,所述基于当前时间的信息从所述第一排序应用列表中获取第一推荐应用列表,具体执行:基于当前日期的信息从所述第一排序应用列表中确定对应工作日或者节假日的应用列表为第一推荐应用列表。这样,人们的工作是有规律的工作和生活,例如,通常一周中两天休息,五天工作或上学。本技术实施例考虑到这种生活的规律性会使得用户使用电子设备时也会存在一定的规律性,因此,应用使用数据为以一周为单位或者以工作日和节假日为单位的应用点击数据,可以保证获取到的第一推荐应用列表的准确性。
23.在一种可能的实现方式中,所述应用使用数据包括一天中不同时间间隔或者不同时间窗口的应用点击数据;所述基于当前时间的信息从所述第一排序应用列表中获取第一推荐应用列表,具体执行:基于当前时刻的信息从所述第一排序应用列表中确定对应时间间隔的应用列表为第一推荐应用列表;或者基于当前时刻的信息从所述第一排序应用列表中确定对应时间窗口的应用列表为第一推荐应用列表。这样,将应用使用数据按照不同的时间段的划分为不同的时间间隔或时间窗口,从而可以确定当前时刻对应的时间间隔或时间窗口的应用使用数据,便能够更加准确地确定对应的推荐应用列表。
24.在一种可能的实现方式中,所述第一数据包括应用使用数据,所述基于第二推荐策略对第一数据进行处理,获取第二推荐应用列表,具体执行:将所述应用使用数据输入第一决策树,得到第一决策应用列表;将所述第一决策应用列表进行排序,获取第二推荐应用列表。这样,对于第一应用数量为中等数量的用户群体,使用决策树算法学习用户历史应用使用习惯。决策树模型可记录每条决策树规则下各app的历史使用频率,按频率值排序可推出前几的应用列表。从而可以保证一定的应用推荐准确性的情况下,可以尽可能的简化推荐策略,节约计算资源。
25.在一种可能的实现方式中,所述第一数据还包括网络数据、环境数据、上下文数据、位置数据、通知数据、设备连接数据和推荐反馈数据中的至少一种,所述环境数据包括天气数据和运动状态数据中的至少一种。这样,电子设备能够将网络数据、环境数据、上下文数据、位置数据、通知数据、设备连接数据和推荐反馈数据均考虑进第一决策树,使得第二推荐列表更加符合用户个人的需求和情况,从而可以提高用户推荐的准确性,以及提高用户体验。
26.在一种可能的实现方式中,所述第一数据包括应用使用数据,所述应用使用数据包括长期应用使用数据、近期应用使用数据和实时应用使用数据,所述基于第三推荐策略
对第一数据进行处理,获取第三推荐应用列表,具体执行:将所述长期应用使用数据输入第二决策树,获取各个应用的第一概率值;基于所述第一概率值和第一路召回权重获取所述各个应用的第一权重;将所述近期应用使用数据输入最近热门召回算法,获取所述各个应用的第二概率值;基于所述第二概率值和第二路召回权重获取所述各个应用的第二权重;将所述实时应用使用数据输入时间衰减算法,获取所述各个应用的第三概率值;基于所述第三概率值和第三路召回权重获取所述各个应用的第三权重;将所述各个应用的所述第一权重,所述第二权重和第三权重相加,获取所述各个应用的第四权重;将所述各个应用的第四权重进行排序,获取第三推荐应用列表。这样,对于第一应用数量较多的用户群体,使用多路召回分别学习用户长期、近期、实时的使用习惯。采用每路召回率动态计算每路召回权重,实现多路召回融合排序。此时,不仅能够考虑到用户长期使用应用的习惯,还可以考虑到近期用户应用的改变和用户实时的应用使用习惯。长期、近期和实时的数据均有所考虑,从而可以保证推荐的应用的准确性,进而可以提高用户体验。
27.在一种可能的实现方式中,在所述第一数据还包括网络数据、环境数据、上下文数据、位置数据、通知数据、设备连接数据和推荐反馈数据中的至少一种的情况下,所述电子设备还执行:基于特殊应用场景和第一数据调整所述第三推荐应用列表,获取调整之后的第三推荐应用列表;所述显示目标应用推荐画面,具体执行:基于所述调整之后的第三推荐应用列表显示第三应用推荐画面。这样,通过电子设备连接的网络数据,所处的环境数据,上下文数据和用户的反馈数据等,调整第三推荐应用列表,使得第三推荐列表更加符合用户个人的需求和情况,从而可以提高用户推荐的准确性,以及提高用户体验。
28.第三方面,本技术提供了一种电子设备,包括触控屏、一个或多个处理器和一个或多个存储器。该一个或多个处理器与触控屏、摄像头、以及一个或多个存储器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子设备执行上述任一方面任一项可能的实现方式中的应用app推荐方法。
29.第四方面,本技术提供了一种电子设备,包括:一个或多个功能模块。一个或多个功能模块用于执行上述任一方面任一项可能的实现方式中的应用app推荐方法。
30.第五方面,本技术实施例提供了一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述任一方面任一项可能的实现方式中的应用app推荐方法。
31.第六方面,本技术实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述任一方面任一项可能的实现方式中的应用app推荐方法。
附图说明
32.图1是本技术实施例提供的一种电子设备100的硬件结构示意图;
33.图2a是本技术实施例提供的一种电子设备100的软件结构示意图;
34.图2b是本技术实施例提供的一种网络架构的结构示意图;
35.图3a-图3c是本技术实施例提供的一组用户界面示意图;
36.图4是本技术实施例提供的一种应用推荐方法的流程示意图;
37.图5是本技术实施例提供的一种应用数量的统计示意图;
38.图6a-图6d是本技术实施例提供的一组应用使用数据的示意图;
39.图7是本技术实施例提供的一种第二推荐策略的方法流程图;
40.图8是本技术实施例提供的一种决策树的结构示意图;
41.图9是本技术实施例提供的一种决策树交叉验证训练的示意图;
42.图10是本技术实施例提供的一种第三推荐策略的方法流程示意图;
43.图11是本技术实施例提供的一种确定每一路召回权重的示意图。
具体实施方式
44.下面将结合附图对本技术实施例中的技术方案进行清楚、详尽地描述。其中,在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,另外,在本技术实施例的描述中,“多个”是指两个或多于两个。
45.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本技术实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
46.本技术实施例提供了一种应用app推荐的方法及电子设备,以提高应用推荐的准确性的同时提高推荐效率。
47.下面首先介绍本技术实施例涉及的相关的一些概念。
48.1.决策树算法
49.决策树(decision trees)算法广泛应用于分类和回归任务的模型,是一种描述对实例进行分类的树形结构。它是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析。本质上决策树是通过一系列规则对数据进行分类的过程。
50.其中,决策树是一种类似于流程图的树形结构,树内部的每一个节点代表的是对一个特征的测试,树的分支代表该特征的每一个测试结构,而树的每一个叶子节点代表一个类别。树的最高层是根节点。
51.决策树学习算法通常是递归的选择最优特征,并根据该特征对训练数据进行分割,使得对各个子集数据有一个最好的分类结果。这一过程对应特征空间的划分,也对应着决策树的构建。开始,构建根节点,将所有训练数据都放在根节点,选择一个最优特征,按照这一特征将训练数据集分割成子集,使得各个子集有一个当前条件下的最好分类。如果这些子集已经能够被基本正确分类,那么构建叶节点,并将这些子集分到对应的叶节点中去;如果还有子集不能被正确分类,那么就对这些子集继续选择最优特征,继续对其进行分割,构建相应的节点。如此递归下去,直到所有训练数据子集都被基本正确分类或者没有合适的特征为止。最后每个子集都有相应的类,这就生成了一颗决策树。
52.一个决策树生成的过程中,可以分为3部分:特征选择、决策树生成和剪枝。
53.特征选择是指从训练数据中众多的特征中选择一个特征作为当前节点的分裂标准,如何选择特征有着很多不同量化评估标准,从而可以衍生出不同的决策树算法。特征选
择的准则通常是信息增益、信息增益比和基尼指数。
54.常见的决策树算法可以包括id3决策树、c4.5算法和分类和回归树(classification and regression tree,cart)算法。其中,id3算法是一种应用信息增益准则选择特征,递归的构建决策树,可以通过信息增益确定。c4.5算法与id3算法的生成过程相似,但是不同的是c4.5算法是用过信息增益比来选择特征的。cart算法只能形成二叉树,即支持二分类问题。cart算法的计算结果均是概率值,在分类的情况下,往往采用基尼指数最小化准则。
55.2.召回和排序算法
56.推荐系统中的核心是从海量的已有选择结果中挑选合适的结果最终展示给用户。常见的推荐系统一般包括两个阶段:召回阶段和排序阶段。召回阶段是从所有可供选择的结果中得到用户可能感兴趣的一小部分结果组成候选集,排序阶段是对得到的候选集进行排序,并将根据排序结果推荐给用户。
57.召回的目标是从千万量级的候选项中,采取简单模型将推荐物品候选集合快速筛选减到千级别甚至百级别。
58.排序,对多个召回方法的结果进行统一打分并排序,选出最优几种(topk)。
59.3.网格搜索法
60.网格搜索是一种常用的调参手段,是一种穷举方法。给定一系列超参,然后再所有超参数组合中穷举遍历,从所有的组合中选择最优的一组超参数。
61.以决策树算法为例,当确定了要使用决策树算法的时候,为了能够更好地拟合和预测,需要调整它的参数。在决策树算法中,通常可选择的参数主要有决策树特征选择准则、最大深度、最大叶子节点个数。
62.4.k折交叉验证
63.选择k的值,将数据集分成不重叠的k等份;使用其中的k-1份数据作为训练数据,另外的一份数据作为测试数据,进行模型训练;使用一种度量测度来衡量模型的预测性能。即将数据分为训练集和验证集,可以先通过训练集训练模型,之后将训练得到的模型预测验证集,得到验证结果,根据验证结果衡量模型的表现,从而可以调整模型。
64.下面介绍本技术实施例涉及的装置。
65.图1为本技术实施例提供的一种电子设备100的硬件结构示意图。
66.电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
67.可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本技术另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件
的组合实现。
68.图2a为本技术实施例提供的一种电子设备100的软件结构示意图。
69.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将系统分为四层,从上至下分别为应用程序层,应用程序框架层,运行时(runtime)和系统库,以及内核层。
70.应用程序层可以包括一系列应用程序包。
71.如图2a所示,应用程序包可以包括桌面管理、感知、天气、时钟、设置、日历、应用推荐、短信、相机和图库等应用程序(也可以称为应用)。
72.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
73.如图2a所示,应用程序框架层可以包括位置管理器(location based services,lbs)、窗口管理器、电话管理器、资源管理器、通知管理器、内容提供器和视图系统等。
74.位置管理器用于获取电子设备当前的位置。例如,获取当前的全球定位系统(global positioning system,gps)数据,(wireless fidelity,wi-fi)定位数据和小区(cell)基站的定位数据。
75.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
76.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
77.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
78.下面结合应用推荐的场景,示例性说明电子设备100软件工作流程。
79.电子设备可以获取第一应用数量和第一数据,下面具体说明电子设备可以获取用户的应用使用数据:
80.在一种可能的实施方式中,在用户点击开启某一应用的情况下,电子设备的应用程序层的桌面管理会向感知发送应用点击事件。对应地,感知会接收来自桌面管理的应用点击事件。之后,感知会采集当前的时间和对应用户点击的应用,生成应用使用数据。此外,上下文数据、推荐反馈数据和第一应用数量的获取方式可以参考应用使用数据的获取方式,不加赘述。
81.此外,电子设备可以通过位置管理器获取位置数据,即电子设备的可以通过基于位置管理器获取位置数据。例如,可以通过位置管理器获取gps的经纬度数据、wifi的地理数据或者cell小区位置数据。电子设备可以获取环境数据,例如,电子设备的应用推荐可以通过天气app获取天气数据,通过运动相关的app获取用户运动状态数据等。电子设备的应用推荐可以通过日历和时钟获取当前时间的信息。电子设备可以通过通信管理器获取网络数据,即当通信管理器获取到无线通信模块(硬件)的网络接入事件或者网络断开事件的情况下,可以确定当前的网络状态,通信管理器可以基于当前网络状态确定网络数据。
82.在电子设备的应用推荐获取第一应用数据之后,应用推荐可以基于第一应用数据确定推荐策略,并对第一数据进行处理。电子设备的应用推荐获取到最终的推荐应用列表
之后,可以向桌面管理发送推荐应用列表。对应地,桌面管理接收到来自桌面管理的推荐应用列表,之后可以通过桌面管理基于上述推荐应用列表显示相应的应用推荐画面。其中,处理的具体过程可以参考图4对应的相关描述,不加赘述。
83.需要说明的是,上述电子设备获取第一应用数量和第一数量的过程,以及基于第一应用数量和第一数量确定推荐应用列表,显示推荐应用画面的过程仅仅是示例性的描述,不加限定。
84.图2b是本技术实施例提供的一种网络架构的结构示意图。如图2b所示,该网络架构可以包括服务器和终端设备。其中,终端设备具体可以包括一个或者多个终端设备。服务器可以与终端设备通过有线或无线通信方式进行直接或间接地网络连接,以便于终端设备可以通过该网络连接与服务器之间进行数据交互。
85.其中,终端设备,即电子设备,终端设备可以包括:智能手机、平板电脑、笔记本电脑、台式计算机、智能家居、可穿戴设备和车载系统等具有应用推荐功能的智能终端。
86.其中,服务器可以为终端设备对应的服务器,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。
87.其中,终端设备可以采集第一应用数量和第一数据。本技术所提供的应用推荐方法可以由终端设备执行,也可以由上述服务器执行,还可以由终端设备和服务器共同执行。一种可能的情况下,在本技术所提供的应用推荐方法由终端设备执行的情况下,终端设备可以获取第一应用数量,并基于第一应用数量选择推荐策略和获取第一数据,并将第一数据输入对应的推荐策略中,得到推荐应用列表。这样,电子设备可以在本地完成应用推荐的过程,不需要将第一应用数量和第一数据上传云端,对个人数据的保护性较高,从而可以保证用户数据的安全性。另一种可能的情况下,在本技术所提供的应用推荐方法由终端设备和服务器执行的情况下,终端设备可以获取第一应用数量和第一数据,之后可以将第一应用数量和第一数据上传服务器。服务器在接收到来自终端设备的第一应用数量和第一数据之后,可以基于第一应用数量选择推荐策略,并获取第一数据,之后将第一数据输入对应的推荐策略中,得到推荐应用列表。之后服务器可以将推荐应用列表发送给终端设备,终端设备可以基于推荐应用列表显示应用推荐画面。
88.在电子设备使用各种各样的app的过程中,在一定的情况下,用户使用某些app的频次会远远高于其他app的使用频率,此时,用户需要基于应用在的电子设备app的分布情况,滑动界面来寻找需要使用的app的位置,才能够点击app进行使用。上述用户滑动界面寻找app的过程操作繁琐,用户体验差。为了解决上述的问题,可以通过应用推荐的方法,给用户推荐可能需要所使用的app,方便用户操作。
89.下面介绍本技术实施例涉及的一种应用推荐的场景。
90.示例性地,图3a-图3c是本技术实施例公开的一组用户界面示意图,如图3a所示,电子设备100可以显示有应用推荐界面301,该界面301中显示了一个放置有应用图标,应用推荐界面301可以包括一个或多个应用图标(例如,图库应用图标、设置应用图标、相机应用图标、电子邮件应用图标、应用商店应用图标和备忘录应用图标等等)。电子设备100还可以显示有主屏幕界面302,该界面302中显示了一个放置有应用图标的页面,该页面包括多个
应用图标(例如,浏览器应用图标、云共享地图图库应用图标、音乐应用图标、视频应用图标、等等)。图3a的屏幕中还显示了一个放置有应用图标的页面,多个应用图标下方还显示包括有页面指示符,以表明当前显示的页面与其他页面的位置关系。页面指示符的下方有多个托盘图标303(例如拨号应用图标、信息应用图标和联系人应用图标),托盘图标在页面切换时保持显示。在一些实施例中,上述页面也可以包括多个应用图标和页面指示符,页面指示符可以不是页面的一部分,单独存在,上述图片图标也是可选的,本技术实施例对此不作限制。
91.用户可以对应用推荐界面301中的应用进行筛选。在一种可能的实施方式中,用户可以移除应用推荐中的应用。示例性地,如图3a所示,用户可以长按应用推荐界面中图库应用图标。如图3b所示,响应于上述操作,电子设备显示的“不感兴趣”控件。在用户不希望图库应用图标显示在应用推荐画面304中的情况下,点击“不感兴趣”控件。如图3c所示,响应于上述操作,电子设备可以移除应用推荐画面304中的图库应用图标。电子设备可以显示如图3b所示的画面。此时,图3c所示的应用推荐画面305中包括设置应用图标、相机应用图标、电子邮件应用图标、应用商店应用、备忘录应用图标和日历应用图标,由于用户已经移除的图库应用图标,因此应用推荐画面305中不包括图库应用图标,并将日历应用图标作为替补,在应用推荐画面305中进行显示。上述仅仅是示例性地说明用户移除应用推荐画面中的图标的一种方式,不加限定。需要说明的是,应用推荐画面301-应用推荐画面305中的显示应用图标数量为6,也可以是4个、5个、8个和12个等等,应用数量不构成限定。此外,应用推荐画面的显示方法也存在其他的呈现方式或形式,此处不加限定。
92.图3a和图3b所示的应用推荐界面中包括多种应用图标,电子设备如何确定其中的应用图标,下面说明几种可能的实施方式:
93.在一种实施方式中,电子设备可以基于电子设备的开机时间和用户输入搜索的信息确定应用的标签,之后可以基于标签和应用的对应关系确定电子设备需要推荐的应用,这样,可以针对用户搜索应用的记录来预测用户可能使用的应用,并推荐给用户,从而可以提高用户的点击app的效率,提高用户体验。
94.在上述的实施方式中,由于应用推荐的算法是基于用户的应用搜索的行为确定当前需要推荐的应用。其中,应用推荐的方法是通过一种单一的推荐方法进行处理。然而,电子设备中可以安装很多应用程序,不同用户在不同时段内使用应用的种类和数量均可能不相同。例如,有的用户通常每天使用的app数量较多,有的用户每天使用的app数量较少。而有的推荐策略能够处理较为复杂的应用情况(用户使用的app种类数较多),但其策略的处理效率低(算法的复杂度较高);有的推荐策略只能够处理简单的应用情况(用户使用的app种类数较少),但其策略的处理效率较高(算法的复杂度较低)。因此,使用单一的推荐策略预测使用不同app种类数的用户,会导致应用推荐结果的准确性和处理效率相互矛盾。例如,在用户平均每天使用的应用数量较少的情况下,通过多种角度的用户行为数据进行高复杂度的应用推荐,过多占用处理资源,降低应用推荐的处理效率的同时,并不能够有效地提高推荐结果的准确性;在用户平均每天使用的应用数量较多的情况下,通过单一角度的用户行为数据进行简单的应用推荐,推荐结果的准确性较低。
95.针对上述问题,本技术实施例中,电子设备可以基于第一应用数量选择不同的推荐策略。第一应用数量可以为第一时间段内的每单位时间启动应用的平均数量。例如,电子
设备可以先确定三个月内用户平均每天使用的应用数量为第一应用数量。当第一应用数量落入第一数量范围的情况下,电子设备可以通过第一推荐策略处理第一数据,获取第一推荐应用列表;当第一应用数量落入第二数量范围的情况下,电子设备可以通过第二推荐策略处理第一数据,获取第二推荐应用列表;当第一应用数量落入第三数量范围的情况下,电子设备可以通过第三推荐策略处理第一数据,获取第三推荐应用列表。之后电子设备可以对应显示应用推荐画面。其中,第一推荐策略是通过用户点击应用的频次推荐应用的策略,第二推荐策略可以基于决策树算法形成的推荐策略,第三推荐策略是基于召回和排序推荐方法得到的推荐策略。这样,电子设备可以基于第一应用数量选择不同的推荐策略进行推荐,从而可以保证推荐的应用的准确性的同时,提高应用推荐的效率。
96.请参阅图4,图4为本技术实施例提供的一种应用推荐方法的流程示意图,该方法可以由图4中所示的电子设备来执行,该方法可以包括但不限于以下步骤:
97.s401、电子设备获取第一应用数量。
98.电子设备可以获取第一时间段内的应用使用数据,之后可以将第一时间段内的每单位时间启动应用的平均值确定为第一应用数量。即上述第一应用数量为第一时间段内的每单位时间启动应用的平均数量。其中,该第一时间段大于或等于该单位时间,上述的第一时间段的时间长度可以是预设的,例如,第一时间段可以是1周,也可以是1个月、两个月、三个月,还可以是1天等等,而该单位时间可以为1天、12小时等等。因此,第一应用数量应当限定在第一时间段内进行统计,具体时间段的长度不加限定。
99.示例性地,电子设备可以统计此前60天(第一时间段)中每天的应用数量,之后可以将这两个月中每天(单位时间)应用数量的均值确定为第一应用数量。例如,60天中,15天的应用数量为12;15天的应用数量为14;15天的应用数量为10;15天的应用数量为8。此时,电子设备可以确定该60天内的每天的应用数量的平均值(即第一应用数量)为11。上述的应用数量为用户使用应用种类的数量。需要说明的是,上述仅仅是举例说明,不构成限定。
100.图5是本技术实施例公开的一种应用数量的统计示意图。如图5中的(a)所示,电子设备当前安装有相机、备忘录、设置、图库、电子邮件、应用商店、天气、视频、计算器、短信、股票和音乐15种app。在第一时间段内,若电子设备已经统计到用户点击相机的频次为5次;用户点击备忘录的频次为6次;用户点击设置的频次为3次;用户点击图库的频次为2次;用户点击电子邮件的频次为7次;用户点击应用商店的频次为2次;用户点击天气的频次为1次,其他应用用户的点击频次均为0次。此时,用户点击过的不同应用有7种,电子设备可以确定当前的应用数量为7。如图5中的(b)所示,用户可以点击当前界面的视频图标,在电子设备获取到用户点击视频图标的操作之后,响应于上述操作,电子设备可以将对应的视频应用的点击频次增加一次。如图5中的(c)所示,电子设备可以将视频的点击频次从0次增加为1次,此时,由于尚未被用户点击的视频应用被用户点击了一次,电子设备可以确定应用数量为8。需要说明的是,本实施例中仅仅是举例说明应用数量变化前后用户对电子设备可能的操作过程,以及电子设备可能的统计过程,不加限定。其中,图5中的(a)可以是在第一时间段内用户某一时刻点击某一应用的应用使用的历史数据(此时,图5中的(a)中可以包括点击的应用和点击的时刻的对应关系),经过图5中的(b)的用户操作,可以更新点击的时刻以及对应应用的信息。同样需要说明的是,上述的图5中的(a)和(c)均是示例性的说明,还可以其它的呈现方式,不加限定。上述的用户点击应用图标的操作还可以是用户点击通
知栏等进入新的应用,也可以是用户点击切换当前显示的应用,具体的方式不加限定。
101.s402、电子设备基于第一应用数量获取第一数据,基于第一数据通过对应的推荐策略确定推荐应用列表,并基于推荐应用列表显示应用推荐画面。
102.其中,推荐应用列表可以包括第一推荐应用列表、第二推荐应用列表和第三推荐应用列表中的一种推荐应用列表,应用推荐画面中包括第一推荐应用列表、第二推荐应用列表和第三推荐应用列表其中一个推荐应用列表的前几个(topk个)应用。topk为正整数,例如3、4、5、6、8、10等,具体的数值不加限定。
103.电子设备可以基于第一应用数量确定推荐策略,以及基于推荐策略采集第一数据。在采集第一数据之后,可以将采集到的第一数据通过对应的推荐策略进行处理,确定推荐应用列表。
104.一种实施方式中,电子设备可以基于第一应用数量确定使用的推荐策略。在第一应用数量落入第一数量范围的情况下,基于第一推荐策略对第一数据进行处理,获取第一推荐应用列表;在第一应用数量落入第二数量范围的情况下,基于第二推荐策略对第一数据进行处理,获取第二推荐应用列表;在第一应用数量落入第三数量范围的情况下,基于第三推荐策略对第一数据进行处理,获取第三推荐应用列表。其中,第一数量范围为第一应用数量小于或等于(小于)第一阈值的范围,第二数量范围为第一应用数量大于(大于或等于)第一阈值且小于或等于(小于)第二阈值的范围,第三数量范围为第一应用数量大于(大于或等于)第二阈值的范围。既可以理解为,当电子设备获取到第一应用数量的情况下,可以将第一应用数量与第一阈值和第二阈值相比较,确定第一应用数量所处的数量范围,进而可以确定上述数量范围,并基于数量范围确定推荐策略。在第一应用数量小于或等于(小于)第一阈值的情况下,电子设备可以选择第一推荐策略对第一数据进行处理,获取第一推荐应用列表;在第一应用数量大于(大于或等于)第一阈值且小于或等于(小于)第二阈值的情况下,电子设备可以选择第二推荐策略对第一数据进行处理,获取第二推荐应用列表;在第一应用数量大于(大于或等于)第二阈值的情况下,电子设备可以选择第三推荐策略对第一数据进行处理,获取第三推荐应用列表。
105.示例性地,在第一应用数量(如,每天用户使用的平均app的数量)为x的情况下,判断x落入第一数量范围,第二数量范围和第三数量范围中的哪一个数量范围。例如,判断x与第一阈值10和第二阈值15的大小关系。在x≤10的情况下,电子设备可以通过第一推荐策略对第一数据进行处理,得到第一推荐应用列表;在10《x≤15的情况下,电子设备可以通过第二推荐策略对第一数据进行处理,得到第二推荐应用列表;在x》15的情况下,电子设备可以通过第三推荐策略对第一数据进行处理,得到第三推荐应用列表。
106.其中,第一阈值和第二阈值可以是预设的阈值,也可以是经过训练的阈值。其中,第一阈值和第二阈值均为正数,第一阈值小于第二阈值。示例性的,第一阈值为10,第二阈值为15;第一阈值为15,第二阈值为20;第一阈值为8,第二阈值为13
……
上述仅仅是举例说明,不加限定。
107.在电子设备获取到第一推荐应用列表、第二推荐应用列表和第三推荐应用列表中的一种的情况下,可以基于获取的推荐应用列表显示应用推荐画面。下面说明三种具体的情况:
108.一种情况下,电子设备可以获到第一推荐应用列表,可以选择第一推荐应用列表
中前topk1个应用显示在应用推荐画面中。示例性地,如图3a所示,例如,应用推荐画面中显示的应用有图库、设置、相机、电子邮件、应用商店和备忘录。
109.另一种情况下,电子设备可以获到第二推荐应用列表,可以选择第二推荐应用列表中前topk2个应用显示在应用推荐画面中。
110.又一种情况下,电子设备可以获到第三推荐应用列表,可以选择第三推荐应用列表中前topk3个应用显示在应用推荐画面中。
111.需要说明的是,上述的topk可以包括topk1、topk2和topk3,topk1、topk2和topk3均是正整数,topk1、topk2和topk3可以相等,也可以不等,不加限定。
112.在本技术实施例中,第一数据可以至少包括应用app使用数据,还包括网络数据、位置数据、环境数据、推荐反馈数据、上下文数据、通知数据、设备连接数据中的一种或多种。其中,app应用使用数据可以为电子设备采集的用户点击应用的历史数据,即一种表示用户使用电子设备的app的历史行为数据。app应用使用数据可以包括用户点击不同app的情况。例如,电子设备可以确定用户点击app的情况,之后可以基于用户点击app的情况确定每天点击的app的频次、用户每周点击的app的频次、用户每个工作日点击的app的频次、用户每个节假日点击的app的频次和用户最近几次点击的app等等。网络数据可以是电子设备当前的网络连接情况,电子设备可以通过无线通信模块获取当前网络数据。网络数据可以包括不连接,连接4g、连接5g和连接wifi等情况。位置数据是电子设备当前所处的地理位置。电子设备可以通过gps、小区cell和wifi中的一种来获取当前电子设备的地理位置,例如可以通过gps获取电子设备的当前经纬度。环境数据可以为当前电子设备或者使用该电子设备所处的环境信息。环境数据可以包括天气数据和运动状态数据中的一种或多种。电子设备可以通过天气app获取当期前的天气情况,例如,早上8点下雨。电子设备可以通过运动类的app获取当前用户的运动状态,例如,通过运动app确定当前用户在跑步。电子设备可以基于用户对应用推荐画面的操作情况获取推荐反馈数据,例如,当用户将应用推荐画面中的某一个应用进行移除的情况下,获取推荐反馈数据,具体可以参考图3b中的相关描述,不加赘述。电子设备可以将最近用户使用应用的数据作为上下文数据。其中,上下文数据可以为用户最近几次使用应用的点击数据。例如,上下文数据可以为用户最近20次点击应用的数据;也可以为用户近3个小时内点击应用的数据。电子设备可以获取通知数据,即电子设备可以基于通知栏信息获取通知数据。例如,电子设备接收到通知栏的短信通知信息的情况下,可以将短信通知信息添加进入通知数据。电子设备可以获取设备连接数据。其中,与电子设备连接的设备可以是其它电子设备,车载设备、蓝牙设备和有线耳机设备等。例如,电子设备可以基于耳机插孔的传感器或者蓝牙耳机的连接状态确定当前是否连接耳机。需要说明的是,上述第一推荐策略,第二推荐策略和第三推荐策略中使用到的第一数据包括的具体数据可以相同,也可以不同,此处不构成限定。
113.在电子设备确定使用的推荐策略之后,可以基于相应的推荐策略对相应的第一数据进行处理,从而可以确定的推荐应用列表。以下具体说明三种不同的推荐策略:
114.第一推荐策略:基于应用使用频次进行app排序,基于app的排序情况确定第一推荐应用列表。
115.在第一应用数量落入第一数量范围的情况下,电子设备可以获取第一数据。此时,第一数据可以包括应用使用数据。下面具体说明第一数据:
116.从日期划分的角度而言,第一数据的应用使用数据可以分为两种:
117.一种可能的情况下,第一数据中的应用使用数据是以一周为单位的应用点击数据,电子设备可以采集一周中每天的不同时间段的应用点击频次,之后可以将不同周中相同天数和相同时间段的平均点击频次确定为应用使用数据。电子设备可以采集多个周中每天不同时间段的应用点击频次,基于应用点击频次获取第一数据。
118.示例性地,电子设备可以采集5个周中周一到周天7天中每个30分钟内的不用应用的点击次数。采集的具体结果可以参考图5中的(a)或(c),不加赘述。之后可以确定不同周的相同时间段内的每个应用的平均点击频次。例如,电子设备可以确定5个周的周一的00:00-00:30、00:30-01:00和01:00-01:30
……
之间的不同应用的平均点击频次,每次确定的时间间隔可以是30分钟,也可以是1小时,还可以是2小时,时间间隔的长度不加限定。又例如,电子设备可以确定5个周的周一的00:00-00:30、00:15-00:45和00:30-01:00
……
之间的不同时间窗口的应用平均点击频次。其中,时间窗口(如,00:00-00:30为30min)的长度为30分钟,每次滑动15分钟(如,从00:00到00:15为一次时间窗口的滑动时间间隔)采集一次一个时间窗口应用的点击频数,并统计5周中相同时间窗口的平均每个应用的点击频次为应用使用数据。
119.另一种可能的情况下,第一数据中的应用使用数据是以工作日和节假日为单位的应用点击数据。即电子设备可以是将日期分为两种,即工作日和节假日。可以通过日历或者工作日程确定每一天是工作日还是节假日。之后电子设备可以确定每个工作日中相同时间段的每个应用的平均点击频次,以及确定每天节假日中相同时间段的每个应用的平均点击频次,从而可以将工作日平均每天不同应用的点击频次和节假日平均每天不同应用的点击频次作为应用使用数据。
120.示例性地,电子设备可以采集前两个月(60天,其中工作日44天,节假日16天)的每天的不同时段的各个应用的点击频次,之后可以确定哪些天是工作日,哪些天是节假日,并确定44天的工作日中相同时间段内的各个应用的平均点击频次,以及16天节假日中相同时间段内的各个应用的平均点击频次。例如,电子设备可以确定44天的工作日每天的00:00-00:30、00:30-01:00和01:00-01:30
……
之间的不同应用的平均点击频次,以及16天节假日中每天的00:00-00:30、00:30-01:00和01:00-01:30
……
之间的不同应用的平均点击频次。每次确定的时间间隔可以是30分钟,也可以是1小时,还可以是2小时,时间间隔的长度不加限定。又例如,电子设备可以确定44天的工作日每天的00:00-00:30、00:15-00:45和00:30-01:00
……
之间的不同时间窗口应用的平均点击频次,以及16天节假日中每天的00:00-00:30、00:15-00:45和00:30-01:00
……
之间的不同应用时间窗口应用的平均点击频次。其中,时间窗口(如,00:00-00:30为30min)的长度为30分钟,每次滑动15分钟(如,从00:00到00:15为一次时间窗口的滑动时间间隔)采集一次一个时间窗口每个应用的点击频数,并统计工作日和节假日中相同时间窗口的平均每个应用的点击频次。需要说明的是,时间窗口的长度和每次滑动的时间间隔均是示例性的说明,不加限定。此外,上述采集的样本天数(60天)的日期长短也不加限定。
121.从每天时间段的划分角度而言,第一数据的应用使用数据可以分为两种:
122.一种可能的实施方式中,应用使用数据包括一天中不同时间间隔的应用点击数据。电子设备可以将每天的时间划分为不重叠的多个时间间隔,确定每个时间间隔内的平
均每个应用的点击频次。
123.示例性地,将一天划分为24个时间间隔,每个时间间隔为1小时,电子设备可以采集10天中每一小时每个应用的用户点击频次。之后计算这10天中平均每天在00:00-01:00、01:00-02:00、02:00-03:00、
……
、23:00-00:00的每个应用的平均点击频次。其中,上述的10可以是均为周一的10天,也可以是均为工作日的10天,还可以是均为节假日的10天等,不构成限定。
124.另一种可能的实施方式中,应用使用数据包括一天中不同时间窗口的应用点击数据。电子设备可以将一个特定长度的时间窗口按照特定的窗口间隔(时间长度)进行滑动,确定每个时间窗口内的平均每个应用的点击频次。
125.示例性地,将时间窗口确定为1小时,窗口间隔确定为30分钟,电子设备可以采集30天中每个时间窗口内每个应用的用户点击频次。之后计算这30天中平均每天在00:00-01:00、00:30-01:30、01:00-02:00、
……
、23:00-00:00的每个应用的平均点击频次。需要说明的是,时间窗口的时间长度大于窗口间隔的时间长度,具体的时间窗口的时间长度和窗口间隔的时间长度不加限定。
126.结合上述的两种角度的划分方式,一共可以包括四种可能的第一数据,以下具体说明:
127.方式1:第一数据(应用使用数据)是以一周为单位的不同时间间隔的应用点击数据,电子设备可以将每一周中每个时间间隔内的平均每个应用的点击频次。
128.图6a-图6d是本技术实施例公开的一组应用使用数据的示意图。如图6a所示,第一数据可以包括一周中周一到周天的平均每个时间间隔内各个应用的点击频次。一周可以包括7天,即周一到周天,7天中每天又可以划分为多个不重叠的时间间隔。例如,图6a中将周四划为12个不重叠的时间间隔(时间间隔的时间长度为2小时),可以确定每个时间间隔内各个应用平均点击频次(例如,5个周中周四的00:00-2:00的时间间隔内的图库的平均点击次数),可以通过应用点击频次列表来表示。其中,相机点击5次,备忘录点击6次,设置点击3次,图库点击2次,电子邮件点击7次,应用商店点击2天气点击1次,视频点击1次,其他应用均没有点击。需要说明的是,上述是以周四中的某一个时间间隔举例说明,其他的时间间隔同理可得,不加赘述。
129.方式2:第一数据(应用使用数据)是以一周为单位的不同时间窗口的应用点击数据,电子设备可以将每一周中每个时间窗口内平均每个应用的点击频次。
130.如图6b所示,第一数据可以包括一周中周一到周天的平均每个时间窗口内各个应用的点击频次。一周可以包括7天,即周一到周天,7天中每天又可以划分为多个时间窗口,每个时间窗口中均可以统计不同应用的平均点击频次。例如,图6b中4个网格图案的矩形分别表示4个时间窗口(即时间窗口a、时间窗口b、时间窗口c、时间窗口d),每个时间窗口的时间长度为2小时,每两个时间窗口之间的窗口间隔为1小时,可以确定每个时间窗口内各个应用平均点击频次。以其中一个时间窗口的平均点击频次为例,具体的描述可以参考图6b中的描述,不加赘述。需要说明的是,上述是以周四中的某一个时间窗口举例说明,其他的时间窗口同理可得,不加赘述。
131.方式3:第一数据(应用使用数据)是以工作日和节假日为单位的不同时间间隔的应用点击数据,电子设备可以将日期分为两种,即工作日和节假日,将每天的时间划分为不
重叠的多个时间间隔,确定每个时间间隔内的平均每个应用的点击频次。
132.如图6c所示,第一数据可以包括工作日和节假日两天平均每个时间间隔内各个应用的点击频次。每天又可以划分为多个时间间隔,每个时间间隔中均可以统计每个应用的平均点击频次。例如,图6c中将工作日划为多个个不重叠的时间间隔(时段的时间长度为2小时),可以确定每个时间间隔内各个应用平均点击频次(例如,30个工作日中14:00-16:00的时间间隔内备忘录的平均点击次数,即点击备忘录的总次数除以30)。以其中一个时间窗口的平均点击频次为例,具体的描述可以参考图6a中的描述,不加赘述。需要说明的是,上述是以工作日中的某一个时间间隔举例说明,其他的时间间隔同理可得,不加赘述。
133.方式4:第一数据(应用使用数据)是以工作日和节假日为单位的不同时间窗口的应用点击数据,电子设备可以是将日期分为两种,即工作日和节假日,将一个特定长度的时间窗口按照特定的窗口间隔进行滑动,确定每个时间窗口内的平均每个应用的点击频次。
134.如图6d所示,第一数据可以包括工作日和节假日两天平均每个时间窗口内各个应用的点击频次。每天又可以划分为多个时间窗口,每个时间窗口中均可以统计每个应用的平均点击频次。例如,图6d中4个网格图案的矩形分别表示4个时间窗口(即时间窗口a、时间窗口b、时间窗口c、时间窗口d),每个时间窗口的时间长度为2小时,每个时间窗口的时间间隔为1小时,可以确定每个时间间隔内各个应用平均点击频次。以其中一个时间窗口的平均点击频次为例,具体的描述可以参考图6a和图6b中的描述,不加赘述。需要说明的是,上述是以工作日中的某一个时间窗口举例说明,其他的时间窗口同理可得,不加赘述。
135.需要说明的是,第一数据应当包括多天的多个时间间隔或时间窗口的应用点击列表。例如,在第一数据包括以一周为单位的每天不同时间间隔(例如一天划分8个时段)的情况下,第一数据可以包括7*8=56个应用点击频次列表;在第一数据包括以工作日和节假日的每天不同时间间隔(例如一天划分24个时段)的情况下,第一数据可以包括2*24=48个应用点击频次列表。
136.在获取到第一数据之后,电子设备可以按照第一推荐策略将应用使用数据(第一数据)中的应用进行排序,得到第一排序应用列表。其中,第一排序应用列表中的应用按照点击频次由大到小的顺序进行排列。之后电子设备可以基于当前时间的信息从第一排序应用列表中获取第一推荐应用列表。即电子设备可以基于上述当前时间的信息,确定对应时间的第一排序应用列表。获得第一排序应用列表的n个应用为其中的第一推荐应用列表。需要说明的是,排序和时间选择的执行顺序不加限定。即电子设备可以先对应用使用数据进行排序,得到第一排序应用列表,再基于当前时间的信息从第一排序应用列表中获取第一推荐应用列表;也可以先基于当前时间的信息从应用使用数据选择对应时间的应用使用数据,再对应用使用数据进行排序,得到第一推荐应用列表。
137.具体地,在电子设备确定应用点击频次列表(上述的应用使用数据)的情况下,可以先基于点击频次列表的不同应用的点击次数进行从多到少的排序,并基于排序确定出第一推荐应用列表。在所述第一数据(点击频次列表)包括平均各个应用使用频次的情况下,可以按照上述平均各个应用使用频次进行排序,得到排序结果。之后可以将排序结果中的n个应用按照先后顺序确定为第一推荐应用列表。其中,n为正整数,例如n为3、4、5、6、8、9和10等等,不加限定。
138.示例性地,当前确定出每天各个应用使用频次为:相机4次,短信2次,电话1次,图
库5次,天气1次、应用商店1次、音乐3次。因此,可以对不同的应用按照使用频次进行排序,得到应用的次序(即第一排序应用列表)为:图库、相机、音乐、短信、电话、天气和应用商店。当n为4的情况下,电子设备可以确定第一推荐应用列表依次为图库、相机、音乐和短信。
139.在电子设备基于第一数据确定第一推荐应用列表之前,可以基于当前时间的信息确定第一数据中对应时间的应用点击频次列表,确定第一数据中的应用点击频次列表的可能存在多种情况,下面具体说明:
140.电子设备可以基于当前时间的信息从应用使用数据中确定第一推荐应用列表。
141.首先,电子设备可以按照第一推荐策略将应用使用数据中的应用(按照点击频次)进行排序,得到第一排序应用列表。之后,电子设备可以基于当前时间的信息从第一排序应用列表中获取第一推荐应用列表。即电子设备基于当前时间的信息确定选择哪一天哪一时间段的第一排序应用列表,从而可以确定第一推荐应用列表。其中,当前时间的信息可以包括当前星期的信息和/或当前日期的信息(例如,年月日的信息);还可以包括当前时刻的信息,(例如,小时和分钟的信息)。第一排序应用列表为按照点击频次进行排序和筛选之后的应用列表。
142.电子设备可以基于当前时间的信息确定第一数据(应用使用数据)中对应某天的第一排序应用列表。一种可能的情况下,在应用使用数据是以一周为单位的应用点击数据的情况下,电子设备可以先获取当前星期的信息,之后可以基于当前星期的信息从第一排序应用列表中确定对应星期的应用列表为第一推荐应用列表。此时,当前时间的信息包括当前星期的信息。例如,当前时间为周三(星期)的情况下,已知第一数据包括周一到周天,电子设备可以选择第一排序应用列表中周三的应用列表为第一推荐应用列表。另一种可能的情况下,在应用使用数据是以工作日和节假日为单位的应用点击数据的情况下,电子设备可以先获取当前日期的信息,之后可以基于当前日期的信息从第一排序应用列表中确定对应工作日或者节假日的第一排序应用列表为第一推荐应用列表。此时,当前时间的信息包括当前日期的信息。即电子设备可以确定当前时间的信息所处的日期为工作日还是节假日。例如,基于当前的日期与日历进行对照确定当前为工作日还是节假日,并选择对应日期的第一推荐应用列表。例如,当前时间为2020/10/1(日期,属于节假日)的情况下,已知第一排序应用列表中包括工作日和节假日两天的第一排序应用列表中,电子设备可以选择第一排序应用列表中节假日的应用列表为的第一推荐应用列表。需要说明的是,对于电子设备需要推荐应用的日期不同,所排序的应用使用数据的对应日期也不同。例如,如果当前的为工作日的情况下,电子设备可以基于工作日中平均每天的应用使用频次确定第一推荐应用列表;如果当前的为节假日的情况下,电子设备可以基于节假日中平均每天的应用使用频次确定第一推荐应用列表。
143.电子设备可以基于当前时刻的信息(当前时间的信息)确定这一天中对应时段的第一排序应用列表。此时,当前时间的信息包括当前时刻的信息,应用使用数据包括一天中不同时间间隔或者不同时间窗口的应用点击数据,电子设备可以基于当前时刻的信息从第一排序应用列表中获取第一推荐应用列表。一种可能的情况下,在应用使用数据为不同时间间隔的应用点击数据的情况下,电子设备可以基于当前时刻的信息从第一排序应用列表中确定对应时间间隔的应用列表为第一推荐应用列表。例如,当前时刻的信息包括15:38(时刻)的情况下,已知第一数据多天中每天包括12个时间间隔(即12个不重叠的时段)的第
一排序应用列表,电子设备可以选择其中14:00-16:00时间间隔的第一排序应用列表为第一推荐应用列表。另一种可能的情况下,在应用使用数据为不同时间窗口的应用点击数据的情况下,电子设备可以基于当前时刻的信息从第一排序应用列表中确定对应时间窗口的应用列表为第一推荐应用列表。第一排序应用列表包括多个时间窗口对应的应用列表,在当前时刻距离某一时间窗口中心时刻最近的情况下,电子设备可以选择多个时间窗口中与当前时刻时间最近的时间窗口确定应用点击频次列表。例如,当前时间为15:38(时刻)的情况下,已知第一数据包括每天的长度为1小时的时间窗口,时间窗口每次滑动的窗口间隔为30分钟,(就近的时间窗口有:14:30-15:30、15:00-16:00和15:30-16:30的时间窗口,相应的窗口中心时刻为15:00、15:30和16:00,可以确定15:38距离15:30最近)电子设备可以选择时间窗口为15:00-16:00的应用点击频次列表。
144.需要说明的是,需要将日期和时刻的选择结合,才能够确定当前的第一数据中的应用点击频次列表,一共有4中可能的情况,分别与上述的4种第一数据的获取方式对应,不加赘述。上述在确定基于当前时刻的信息确定这一天中对应时段的第一排序应用列表之前,一般需要先基于(当前星期的信息或当前日期的信息)确定是哪一天的第一排序应用列表。
145.在电子设备通过第一推荐策略确定第一推荐应用列表的过程中,电子设备推荐时使用的推荐策略相对更加简单,所使用的推荐算法能够保证较高的准确率的同时,处理器执行的效率更高,获取结果更加迅速,也可以节约电子设备的能耗。由于用户使用app中种类往往是进行变化的,但由于这种变化存在一定的连续性和继承性,电子设备可以采集用户的历史使用数据来推测当前可能使用的app。其中,对于长期使用的app数量较少的用户,用户一般可能长期习惯使用一些特定的app,其app变动和演进的程度比较缓慢,因此,可以仅仅用过app应用使用数据便能够保证较好的预测结果。
146.第二推荐策略可以是:将第一数据输入第一决策树,获取第二推荐应用列表。
147.图7是本技术实施例公开的一种第二推荐策略的方法流程图。如图7所示,在第一应用数量落入第二数量范围的情况下,电子设备可以获取第一数据,之后可以将第一数据输入第一决策树,获取第二推荐应用列表。即在第一数据至少包括所述应用使用数据的情况下,电子设备可以按照第二推荐策略将应用使用数据输入第一决策树,得到第一决策应用列表。之后可以将第一决策应用列表进行排序,得到第二排序应用列表。其中,第二排序应用列表中的应用按照数值由大到小的顺序进行排列,之后电子设备可以基于第二排序应用列表确定第二推荐应用列表。
148.其中,第一数据至少包括app应用使用数据,还可以包括网络数据、环境数据、上下文数据、位置数据、通知数据、设备连接数据和推荐反馈数据中的一种或多种。此时,app应用使用数据可以参考上述第一推荐策略中的应用使用数据,例如,上述方式1-方式4中获取的app应用使用数据,不加赘述,app应用使用数据可以包括近期、长期和实时的数据。例如,几个月的统计数据,也可以包括近几天的,还可以包括近几次的app点击数据。网络数据可以是当前电子设备的网络连接信息,例如,连接wifi,连接2g、3g、4g和5g等。位置数据可以是当前电子设备所处位置的数据,如,通过gps获取的经纬度数据,通过wifi获取的地理数据或者通过小区基站cell获取的位置数据等。环境数据可以用于表示当前电子设备所处的环境,如天气环境、运动环境和耳机连接环境等。
149.在电子设备获取第一数据之后,可以将第一数据输入第一决策树,获取第一决策应用列表。
150.图8是本技术实施例公开的一种决策树的结构示意图。如图8所示,第一决策树为通过cart算法得到的第一决策树。上述第一决策树包括12个节点,其中以节点7为例说明。节点7中的基尼系数gini为0.817,训练的实例占总实例的比值为4.7%,价值(value)的结果按照应用次序依次为0.0,0.0,0.009,0.0,0.0,0.0,0.017,0.0,0.252,0.0,0.022,0.0,0.23,0.026,0.0,0.03,0.117,0.0,0.222,0.017,0.0,0.004,0.0,0.026,即第一决策应用列表,基于价值value由高到低排序可以得到第二排序应用列表,使用频率最高的为相机app(value=0.252)。其中,第一决策树中的价值可以是用户点击各个应用的概率值,即第二排序应用列表可以是按照上述概率值进行排序的应用列表。
151.由于经过第一决策树的处理,电子设备可以得到第一决策应用列表。其中,第一决策应用列表可以包括各个应用的value值,电子设备可以基于数值(value的结果)按照数值由大到小的顺序进行排列,得到第二排序应用列表。之后电子设备可以选择第二排序应用列表中的前n个应用作为第二推荐应用列表。
152.在将第一数据输入第一决策树之前,需要先生成第一决策树。以下说明生成第一决策树的方法:
153.在app推荐的场景中,电子设备可以按照时间顺序采集第一数据,以及用户使用app的结果数据,可以将第一数据和上述结果数据作为数据集。电子设备可以采用交叉验证的模型训练方法,得到第一决策树。
154.在k折交叉验证的方法中,k折交叉验证数据集都采用随机划分的方式将数据集划分为k份,每次选k-1份作为训练集,1份作为验证集。在app推荐的场景中,采用时间序列划分交叉验证数据集。首先将数据集按点击时间升序排序,然后平均分成k份,进行k折交叉验证。第一折验证中,选择其中前n份作为训练集,第n+1份作为验证集。第二折验证中,选择其中前n+1份作为训练集,第n+2份作为验证集,以此类推。
155.示例性地,图9是本技术实施例公开的一种决策树交叉验证训练的示意图。如图9所示,电子设备可以基于时序将上述的数据集可以划分为均等的10份。在第一折验证中,电子设备可以将前6份作为训练集,将第7份作为验证集;在第二折验证中,电子设备可以将前7份作为训练集,将第8份作为验证集;在第三折验证中,电子设备可以将前8份作为训练集,将第9份作为验证集;在第四折验证中,电子设备可以将前9份作为训练集,将第10份作为验证集。
156.需要说明的是,在上述确定第一决策树超参数的过程,可以采用网格搜索法,也可以使用其他方法,不加限定。
157.在第二推荐策略中,对于日均使用app数量中等的用户群体,使用决策树算法学习用户历史app使用习惯。决策树模型可记录每条决策树规则下各app的历史使用频率,按频率值排序可推出前几的app列表。从而可以保证一定的推荐准确性的情况下,可以尽可能的简化推荐策略,节约计算资源。上述训练第一决策树的过程中,采用网格搜索法寻找模型最佳超参数,结合app推荐业务场景,模型训练过程中数据集的划分使用基于时序序列的交叉验证划分方式。这样,模拟用户真实使用场景,将历史数据作为训练集,一天数据作为验证集,可以调整决策树模型,使得决策树算法推荐的应用准确性越来越高。
158.第三推荐策略可以是:电子设备可以通过多路召回排序算法获取第三推荐应用列表。
159.在第一应用数量落入第三数量范围的情况下,电子设备可以获取第一数据,之后可以将第一数据输入多路召回排序算法中,获取第三推荐应用列表。
160.其中,第一数据可以包括应用使用数据,应用使用数据可以包括长期应用app使用数据,近期应用使用数据和实时应用使用数据。示例性地,长期应用使用数据可以为3个月以来的应用使用数据;近期应用使用数据可以为近一个周或近3天的应用使用数据;实时应用使用数据为近几次用户点击应用的数据,例如,近10次,近5次等。多路召回算法可以包括三路召回。三路召回输入的第一数据可以分别为上述的长期app应用使用数据,近期应用使用数据和实时应用使用数据。需要说明的是,具体应用使用数据的呈现方式可以参考第一推荐策略中的相关描述,不加赘述。
161.图10是本技术实施例公开的一种第三推荐策略的方法流程示意图。如图10所示,第三推荐策略可以包括召回和排序两部分,其中召回可以分为三路召回。基于三路召回,电子设备可以获取各个应用的三种权重,之后可以将这三种权重进行综合处理,获取第三推荐应用列表。
162.以下具体说明三路召回过程:
163.第一路召回:电子设备可以将长期应用使用数据输入第二决策树,得到各个应用的第一概率值,之后基于各个应用的第一概率值和第一路召回权重,得到各个应用的第一权重,并获取第一路召回结果。其中,所有应用的第一概率值相加为1。第一路召回权重表示第一路召回在所有路排序中所占的比重,k1为正整数。电子设备获取各个应用的第一概率值之后,可以将第一路召回权重与各个应用的第一概率值相乘,得到各个应用的第一权重。可选地,电子设备可以基于第一权重进行排序,获取其中的前k1个应用作为第一路召回结果。需要说明的是,上述的第二决策树可以是与第一决策树相同的决策树,也可以是不相同的决策树。第二决策树的处理过程可以参考第一决策树的处理过程,不加赘述。
164.具体地,在基于第二决策树得到x个应用中的第i个应用的第一概率值p
i1
,其中,1表示当前为第1路召回策略,之后可以确定x个应用中的第i个应用的第一权重w
i,1
,w
i,1
=p
i,1
·
w1,其中,w1为第一路召回权重。
165.示例性地,在基于第二决策树得到5个应用的第一概率分别为相机0.30、图库0.08、短信0.14、视频0.16、电子邮件0.32。在第一路召回权重为0.2的情况下,各个应用的第一权重分别为:相机0.06、图库0.016、短信0.028、视频0.032、电子邮件0.064。其中,第一路召回结果可以为电子邮件0.064、视频0.032、短信0.028、图库0.016、相机0.06。
166.上述的实施方式中,获取用户长期的(如最近3个月)的历史app使用数据,训练决策树模型,模型可以学习用户长期稳定的app使用习惯。输入新的特征,得到各app的概率值,按概率值倒序排列后取出前k1个app,得到第一路召回结果。
167.第二路召回:电子设备可以将近期应用使用数据(例如,近3天)输入最近热门召回算法,得到各个应用的第二概率值,之后基于各个应用的第二概率值和第二路召回权重,得到各个应用的第二权重,并获取第二路召回结果。最近热门召回算法用于获取近期用户经常使用到的应用。一种情况下,最近热门召回算法将近期应用使用数据中每一个应用的点击次数占总点击次数的比重确定为第一比重,将第一比重作为第二概率值。例如,近三天的
总点击次数为60次,其中,备忘录占12次,视频占6次,电子邮件占6次,设置占5次,天气占3次,时钟占3次
……
从而可以确定出备忘录的第二概率值为0.2,视频的第二概率值为0.1,电子邮件的第二概率值为0.1,设置的第二概率值为0.083,天气的第二概率值为0.05,时钟的第二概率值为0.05
……
其中,获取应用使用数据的方法具体可以参考第一推荐策略的描述,不加赘述。另一种情况下,近期应用使用数据可以包括各个应用的使用时长,最近热门召回算法可以将近期应用使用数据中每个应用使用时长占所有应用使用总时长的比重确定为第二比重,将第二比重作为第二概率值。又一种情况下,最近热门召回算法可以结合上述各个应用的点击次数和使用时长确定第二概率值。可选地,电子设备确定各个应用的第二权重之后,可以基于第二权重进行排序,获取其中的前k2个应用作为第二路召回结果。此外,第二路召回权重表示第二路召回中所占的所有路的比重,k2为正整数。
168.具体地,在基于最近热门召回算法得到y个应用中的第i个应用的第二概率值p
i,2
。其中,2表示当前为第2路召回策略。之后可以确定y个应用中的第i个应用的第二权重w
i,2
为w
i,2
=p
i,2
·
w2,其中,w2为第二路召回权重。
169.示例性地,在基于最近热门召回算法得到5个应用的第二概率值分别为相机0.28、图库0.10、短信0.15、视频0.15、电子邮件0.32。在第二路召回权重为0.3的情况下,各个应用的第二权重分别为:相机0.084、图库0.03、短信0.045、视频0.045、电子邮件0.096。其中,第二路召回结果可以为电子邮件0.096、相机0.084、视频0.045、短信0.045、图库0.03。
170.上述的实施方式中,获取用户近期的app使用数据(如,最近3天),计算各app近期使用频率并根据频率值从大到小排序,取出前k2个app,得到反映用户近期app使用习惯的第二路召回结果。
171.第三路召回:电子设备可以将实时应用使用数据输入时间衰减算法,得到各个应用的第三概率值,之后基于各个应用的第三概率值和第三路召回权重,得到各个应用的第三权重,并获取第三路召回结果。其中,实时应用使用数据为最近使用各个应用名称及对应的点击时间。点击时差是指点击时间与当前时间的时间差,之后可以基于这些应用的点击时差确定这些应用的第三权重。可选地,电子设备可以基于第三权重进行排序,获取其中的前k3个应用作为第三路召回结果。其中,k3为正整数。
172.具体地,电子设备可以获取用户实时点击的z个应用,并确定用户的点击每个应用时间和当前时间的时间差t。z个应用中第i个应用的第三概率值为其中,n(t)i为第i个应用时间间隔为ti的衰减值;n0为初始衰减值;α为指数衰减常数;l为表示向左的平移量,让数值不必从n0开始衰减,而从任何位置处继续衰减;t为第i个应用的点击时间与当前时间的时间差。其中,n0、α和l均是电子设备提前训练得出的数值。例如,n0、α和l是基于前一天的应用使用数据确定的常数值。电子设备可以基于第i个应用的第三概率值和第三路召回权重确定第i个应用的第三权重为w
i,3
=n(t)i·
w3。其中,3表示当前为第3路召回策略,w3为第三路召回权重。
173.示例性地,电子设备可以获取用户app实时点击记录(如最近5点击的前5个app),计算各app点击时间与当前时间的时间差,利用时间衰减算法计算各app第三概率值:相机0.30、图库0.08、短信0.14、视频0.16、电子邮件0.32。在第三路召回权重为0.5的情况下,各个应用的第二权重分别为:相机0.15、图库0.04、短信0.07、视频0.08、电子邮件0.16。,根据权重值从大到小对app进行排列。例如,第三路召回结果为电子邮件0.16、相机0.15、视频
0.08、短信0.07、图库0.04。
174.上述的实施方式中,获取用户app实时点击记录(如最近10点击的前10个app),计算各app点击时间与当前时间的时间差,利用时间衰减算法计算各app第三权重,按第三权重值从大到小排列取出前k3个app,得到第三路召回结果。
175.需要说明的是,上述的实施例中,三路召回的过程,第一路召回的第二决策树的训练可以参考图9中第一决策树的训练,不加赘述。
176.在上述各路召回过程中,使用到的第一路召回权重、第二路召回权重和第三路召回权重为提前训练出的模型的权重,在召回过程中直接使用即可。下面具体说明各个路权重的确定过程:
177.图11是本技术实施例公开的一种确定每一路召回权重的示意图。如图11所示,电子设备可以获取90天内的应用使用数据。其中,90天分别对应第t-90天、第t-89天、第t-88天、
……
、第t-1天。电子设备可以将第t-90天、第t-89天、第t-88天、
……
、第t-2天的数据训练第三决策树,利用第三决策树预测第t-1天的点击行为,可以得到第t-1天的准确度,将所述第t-1天的准确度作为第一路召回权重。电子设备可以基于第t-4天、
……
、第t-2天的数据,通过最近热门召回算法预测第t-1天的点击行为,可以得到第t-1天的准确度,将所述第t-1天的准确度作为第二路召回权重。电子设备可以基于时间衰减算法预测第t-1天的点击行为,可以得到第t-1天的准确度,将所述第t-1天的准确度作为第三路召回权重。
178.在电子设备获取到各个应用的第一权重、第二权重和第三权重的情况下,可获取第三推荐应用列表。即电子设备可以对各个应用的第一权重,第二权重和第三权重相加得到各个应用的第四权重,之后电子设备可以按照第四权重由大到小的顺序对应用进行排序,获取第三排序应用列表。在电子设备获取到第三排序应用列表之后,可以按照顺序选择其中前n个应用,得到第三推荐应用列表。其中,第三排序应用列表中的应用按照第四权重的大小进行排序,
179.具体地,电子设备可以将第i个应用的第一权重w
i,1
、第二权重w
i,2
和第三权重w
i,3
之和确定为第四权重w
i,4
。其中,其中,n为第n路召回路。
180.第一数据可以包括网络数据、环境数据、上下文数据、位置数据、通知栏数据、设备连接数据和推荐反馈数据中一种或多种,在获取第三推荐应用列表的情况下,电子设备可以基于特殊应用场景和第一数据调整所述第三推荐应用列表,获取调整之后的第三推荐应用列表。以下具体说明几种可能的实施方式:
181.在一种可能的实施方式中,在第一数据包括网络数据的情况下,电子设备可以基于网络数据调整当前第三推荐应用列表。由于网络数据可以表明网络的连接情况,电子设备可以基于网络连接情况调整第三推荐应用列表中一些应用的顺序。在一些特殊应用场景中,由于用户在连接wifi的情况下,往往选择使用流量使用量大的应用,例如,用户往往在电子设备连接wifi的情况下,开启在线游戏、在线视频等。在网络数据表示当前连接wifi的情况下,电子设备可以将游戏或者视频类的app在第三推荐应用列表中得到位置向前调整,或者将游戏或者视频类的app加入第三推荐应用列表中。因此,图3a中所示的应用推荐更可能包括上述的app,这样可以提高推荐的准确性和有效性,从而可以提高用户体验。
182.在另一种可能的实施方式中,在第一数据包括环境数据的情况下,电子设备可以
基于特殊应用场景和环境数据调整当前第三推荐应用列表。环境数据可以表明当前电子设备所处的环境。例如,环境数据为当前的天气数据的情况下,电子设备可以基于当前天气数据给用户推荐应用。电子设备可以确定是否处于特殊应用场景,即确定当前天气是否可能变差,例如,下雨或者台风等,当天气变差的情况下,电子设备可以将天气相关的应用的位置调整到第三推荐应用列表中靠前的位置。在环境数据包括运动状态数据的情况下,电子设备可以基于运动状态数据调整用户的第三推荐应用列表。例如,在用户跑步的时候常常会打开跑步相关的app,因此,在运动状态数据表明当前用户的在跑步的情况下,可以将运动相关的应用的位置调整到第三推荐应用列表中靠前的位置。这样,电子设备可以基于其所处的环境向用户推荐应用,可以保证电子设备考虑的全面性,从而可以提高应用推荐的准确性,进而可以提高用户体验。
183.在又一种可能的实施方式中,在第一数据包括上下文数据的情况下,电子设备可以基于上下文数据调整当前第三推荐应用列表。电子设备可以确定上下文数据中的点击频次最多的一个或者几个应用,将这一个或者几个应用添加到第三推荐应用列表中。例如,上下文数据为近三个小时内或近10次点击应用的数据,用户点击备忘录5次,图库3次和短信2次。电子设备可以将备忘录app加入第三推荐应用列表中。这样,通过上下文数据,调整第三推荐应用列表,使得第二推荐列表更加符合用户个人的需求和情况,从而可以提高用户推荐的准确性,以及提高用户体验。
184.在又一种可能的实施方式中,在第一数据包括位置数据的情况下,电子设备可以基于位置数据调整当前第三推荐应用列表。由于位置数据可以表明电子设备所处的位置情况,因此,电子设备可以基于位置情况判断当前用户可能使用到的app。例如,当位置数据表明处理公交站点或者地铁闸口附近的情况下,用户很有可能使用公共交通卡,此时,电子设备可以将公交卡或者地铁卡相关的应用调整到第三推荐应用列表中靠前的顺序,或者将公交卡或者地铁卡相关的应用加入第三推荐应用列表中。需要说明的是,上述的情况不是具体限定的,还可能是其它的位置信息调整第三推荐应用列表的情况。
185.在又一种可能的实施方式中,在第一数据包括通知数据的情况下,电子设备可以基于通知数据调整当前第三推荐应用列表。例如,电子设备接收到短信通知的情况下,可以将短信app调整到第三推荐应用列表中靠前的顺序,或者将短信app加入第三推荐应用列表中。
186.在又一种可能的实施方式中,在第一数据包括设备连接数据的情况下,电子设备可以基于设备连接数据调整当前第三推荐应用列表。设备连接数据可以包括电子设备连接耳机的情况(插孔耳机或者蓝牙耳机),当设备连接数据表明当前电子设备已经连接耳机的情况下,可以将音乐或者视频类的app的位置调整到第三推荐应用列表中考前的位置,或者将音乐或者视频类的app加入第三推荐应用列表中。
187.在又一种可能的实施方式中,在第一数据包括推荐反馈数据的情况下,电子设备可以基于推荐反馈数据调整当前第三推荐应用列表。在已经使用到的应用推荐中,一些用户不想使用(或不感兴趣)的应用,用户可以作移除,具体可以参考图3a-图3c中的描述,不加赘述。当电子设备检测到用户移除应用推荐画面中的某一个或者几个应用的情况下,电子设备可以将这个或者这些应用加入应用推荐的黑名单,即这些应用为黑名单应用,并当前第三推荐应用列表中出现的黑名单应用进行移除,从而可以调整第三推荐应用列表。经
过上述的操作,基于移除应用的负反馈,可以使负反馈的应用不出现在应用推荐画面中,即不再做推荐。这样,通过用户的反馈数据,调整第三推荐应用列表,使得第三推荐列表更加符合用户个人的需求和情况,从而可以提高用户推荐的准确性,以及提高用户体验。
188.需要说明的是,电子设备调整第三推荐应用列表的过程中,可以使用到上述多种实施方式中的一种或多种,不加限定。
189.在上述的第三推荐策略中,对于日均使用app种类数较多的用户群体,使用多路召回分别学习用户长期、近期、实时的使用习惯。采用每路召回率动态计算每路召回权重,实现多路召回融合排序。这样,不仅能够考虑到用户长期使用app的习惯,还可以考虑到近期用户app的改变和实时的用户app使用习惯。长期、近期和实时的数据均有所考虑,从而可以保证推荐的应用的准确性,进而可以提高用户体验。
190.在上述的三种推荐策略中,电子设备可以至少选择其中的两种作为本技术实施例中的方案,确定推荐应用列表的方案。例如,目标推荐策略可以包括第一推荐策略和第二推荐策略;也可以包括第一推荐策略和第三推荐策略;还可以包括第二推荐策略和第三推荐策略;还可以包括第一推荐策略,第二推荐策略和第三推荐策略。具体目标推荐策略不加限定。
191.在本技术实施例中,由于不用的用户的使用的app的习惯和方式不同,用户使用到的应用的数量也有所不同。例如,一部分用户使用app的种类比较单一,通常平均每天只使用0-10种应用,这部分用户可能占总用户的50%左右;另一部分用户平均每天能够使用到11-15种应用,这部分用户可能占总用户的36%左右;还有一部分用户的兴趣比较广泛,平均每天能够使用到16种及其以上数量的应用,这部分用户可能占总用户的14%左右。对于不同的第一应用数量,电子设备能够将第一数据通过不同的推荐策略进行处理,得到应用推荐列表。因此,本技术实施例可以将第一应用数量作为用户分群指标,为不同的用户群体制定不同的推荐策略,使得使用应用数量较少的用户可以使用效率更高的推荐策略;使用应用数量较多的用户可以使用准确率更高的推荐策略。这样,可以兼顾应用推荐的准确性的同时,提高推荐效率。
192.上述实施例中所用,根据上下文,术语“当

时”可以被解释为意思是“如果
…”
或“在

后”或“响应于确定
…”
或“响应于检测到
…”
。类似地,根据上下文,短语“在确定

时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定
…”
或“响应于确定
…”
或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
193.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指示。在计算机上加载和执行所述计算机程序指示时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指示可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指示可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性
介质,(例如,软盘、硬盘、磁带)、光介质(例如dvd)、或者半导体介质(例如固态硬盘)等。
194.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指示相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1