应用程序预测模型的建立方法、装置、存储介质及终端与流程

专利2022-06-29  68


本发明实施例涉及数据处理技术领域,尤其涉及应用程序预测模型的建立方法、装置、存储介质及终端。



背景技术:

随着智能终端的大规模普及,市场上app(application,应用程序)的数量呈现爆炸式增长,用户对app的需求和依赖也大大增加。

为了使app运行的更加流畅,通常终端会提前将某些app的加载资源准备好,即对某些app提前进行预加载。但是,不能对app进行随意预加载,因为不同的用户使用app的习惯不同,将要打开的app也不尽相同,因此,准确地确定出用户将要打开的目标app并对此进行预加载变得至关重要。



技术实现要素:

本发明实施例提供一种应用程序预测模型的建立方法、装置、存储介质及终端,以实现应用程序使用序列与应用程序预测模型间的计算的解耦,提高基于应用程序预测模型对预加载应用程序预测时的泛化力。

第一方面,本发明实施例提供了一种应用程序预测模型的建立方法,该方法包括:

获取第一预设时间段内至少两个用户的应用程序使用序列;

根据所述应用程序使用序列生成用户长期兴趣向量和用户动态兴趣向量;

根据所述用户长期兴趣向量和所述用户动态兴趣向量,对预设机器学习模型进行训练,生成应用程序预测模型。

第二方面,本发明实施例还提供了一种应用程序预测模型的建立装置,该装置包括:

应用程序使用序列获取模块,用于获取第一预设时间段内至少两个用户的应用程序使用序列;

兴趣向量生成模块,用于根据所述应用程序使用序列生成用户长期兴趣向量和用户动态兴趣向量;

应用程序预测模型生成模块,用于根据所述用户长期兴趣向量和所述用户动态兴趣向量,对预设机器学习模型进行训练,生成应用程序预测模型。

第三方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例提供的应用程序预测模型的建立方法。

第四方面,本发明实施例提供了一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例提供的应用程序预测模型的建立方法。

本发明实施例中提供的应用程序预测模型的建立方案,获取第一预设时间段内至少两个用户的应用程序使用序列,并根据所述应用程序使用序列生成用户长期兴趣向量和用户动态兴趣向量,然后根据所述用户长期兴趣向量和所述用户动态兴趣向量,对预设机器学习模型进行训练,生成应用程序预测模型。通过采用上述技术手段,优化了现有的应用程序预加载机制,通过能够真实反映用户行为的应用程序使用序列构建用户长期兴趣向量和用户动态兴趣向量,实现了应用程序使用序列与应用程序预测模型间的计算的解耦,提高了基于应用程序预测模型对预加载应用程序预测时的泛化力,同时有效的提高了对待启动应用程序预测的准确性。

附图说明

图1为本发明实施例提供的一种应用程序预测模型的建立方法的流程示意图;

图2为本发明实施例提供的用户长期兴趣向量构建的流程示意图;

图3为本发明实施例提供的构建用户动态兴趣向量的模型的结构图;

图4为本发明实施例提供的应用程序预测模型结构示意图;

图5为本发明实施例提供的另一种应用程序预测模型的建立方法的流程示意图;

图6为本发明实施例提供的另一种应用程序预测模型的建立方法的流程示意图;

图7为本发明实施例提供的另一种应用程序预测模型的建立方法的流程示意图;

图8为本发明实施例提供的应用程序预测系统架构图;

图9为本发明实施例提供的一种应用程序预测模型的建立装置的结构框图;

图10为本发明实施例提供的一种终端的结构框图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

相关技术中,各大运营商积累了大量的用户话单,其中包含了用户使用app的数据,它能够直观地反映用户的兴趣爱好或用户使用app的习惯。因此,可对用户的兴趣,以及用户使用app的历史行为数据进行学习建模,以有效挖掘用户使用app的行为习惯并进行预测,从而可以高效地进行app推荐或是广告精准投放。另一方面,用户使用app的预测还可以帮助运营商提前进行流量调度,也可以帮助终端操作系统为用户接下来可能使用的app进行预加载并清理无用内存数据,使用户的操作过程更加流程,有效提升用户体验。

目前对待启动的应用程序进行预测的方法主要包括以下三类:(1)基于序列模式的预测方法;该方法通过字典树trietree保存用户的历史app使用序列数据,在预测时使用用户当前行为模式与历史数据进行匹配,从而进行用户使用app的预测。(2)基于传统机器学习的方法;该方法将用户使用app的上文语境,时间等作为特征,使用贝叶斯网络进行训练与预测。(3)基于appusage2vec模型的方法;该方法通过随机初始化用户向量矩阵和app向量矩阵,将其作为模型参数进行学习,得到用户向量和app向量并结合时间特征,通过appusage2vec模型进行训练与预测。

然而,现有方案大多数是通过将当前用户的行为模式与存储的用户以往的行为模式进行比较,或是采用马尔科夫链等方式对单个用户的行为模式进行建模,从而预测当前用户将要使用app的情况,这类方法主要缺点是泛化能力不足,尤其是当出现未知用户或未知用户的行为序列时,系统很难进行有效预测。例如,基于appusage2vec模型的方法中,由于用户向量完全由模型自动学习而得,当使用中出现训练集未出现的用户时,缺少一种可以人为构建用户向量的方法,无法有效解决新用户的冷启动问题。同时,存储大量的用户历史数据用于线上预测,或是对单个用户学习模型会导致算法复杂度随时间、用户量的增加而快速增长。

图1为本发明实施例提供的一种应用程序预测模型的建立方法的流程示意图,该方法可以由应用程序预测模型的建立装置执行,其中该装置可由软件和/或硬件实现,一般可集成在终端设备中。如图1所示,该方法包括:

步骤101、获取第一预设时间段内至少两个用户的应用程序使用序列。

示例性的,终端可以包括但不限于智能手机、平板电脑、笔记本电脑、掌上电脑等终端设备。其中,该终端的操作系统可以包括但不限于android操作系统、ios操作系统、windowsphone8操作系统等。

在本发明实施例中,第一预设时间段内用户的应用程序使用序列是指在第一预设时间段内,用户使用终端中的应用程序的使用时序关联记录。示例性的,获取一个月内至少两个用户的应用程序使用序列。需要说明的是,本发明实施例对第一预设时间段的长短不做限定,当需要提高应用程序预测模型建立的准确度时,可获取大量的应用程序使用序列,此时,可将第一预设时间段设置长些;当需要提高应用程序预测模型建立的速度时,可获取少量的应用程序使用序列,此时,可将第一预设时间段设置短些。

可选的,获取第一预设时间段内至少两个用户的应用程序使用序列,包括:采集第一预设时间段内的用户应用程序使用日志;其中,所述用户应用程序使用日志包括用户的id信息和应用程序的开始使用时间;根据所述用户的id信息对所述用户应用程序使用日志进行分组,生成至少两组应用程序使用日志;根据所述应用程序的开始使用时间对各组应用程序使用日志中的应用程序进行排序,生成应用程序使用序列。

示例性的,采集第一预设时间段内的用户应用程序使用日志,其中,用户应用程序使用日志包含用户对应用程序的使用记录,如用户的id信息和用户开始使用应用程序的时间,用户使用应用程序的持续时长,应用程序使用过程中请求服务器时产生的流量大小,应用程序使用过程中与服务器交互次数以及应用程序的id信息。示例性的,采集的第一预设时间段内的用户应用程序使用日志如下表所示:

根据用户的id信息对用户应用程序使用日志分组,并基于应用程序的开始使用时间对各组应用程序使用日志中的应用程序进行排序,生成至少两个用户的应用程序使用序列。其中,至少两个用户的应用程序使用序列可以表示为d=[s1,s2,s3,…,sm],其中,m表示用户数目,si表示第i个用户的应用程序使用序列,其中,i=1,2,…,m。

步骤102、根据所述应用程序使用序列生成用户长期兴趣向量和用户动态兴趣向量。

在本发明实施例中,用户长期兴趣向量反应了用户在较长时间段(如一个月或两个月)内的应用程序使用习惯,而用户动态兴趣向量反应了用户在较短时间段(通常为几个小时)内的应用程序的使用习惯。

可选的,根据所述应用程序使用序列生成用户长期兴趣向量,包括:根据所述应用程序使用序列和预先设定的第一词向量构建算法计算第一应用程序特征矩阵,其中,所述第一应用程序特征矩阵中的各个行向量分别为所述应用程序使用序列中涉及的各个应用程序的第一特征向量;获取所述第一预设时间段内每个用户对各个应用程序的使用时长;根据所述第一应用程序特征矩阵和所述各个应用程序的使用时长构建用户长期兴趣向量。

可选的,根据应用程序使用序列和预先设定的第一词向量构建算法计算第一应用程序特征矩阵,包括:针对每个应用程序使用序列,将应用程序使用序列中时间间隔大于第一预设时间阈值的相邻两个应用程序切分开,生成与所述应用程序使用序列对应的应用程序使用子序列;根据所述应用程序使用子序列和预先设定的第一词向量构建算法计算第一应用程序特征矩阵。

可选的,根据所述第一应用程序特征矩阵和所述各个应用程序的使用时长构建用户长期兴趣向量,包括:根据所述第一预设时间段内每个用户对各个应用程序的使用时长构建用户兴趣矩阵;其中,所述用户兴趣矩阵的各个行向量的元素分别为每个用户对各个应用程序的使用时长;对所述用户兴趣矩阵进行归一化处理生成用户归一化兴趣矩阵;将所述用户归一化兴趣矩阵与所述第一应用程序特征矩阵相乘,生成用户长期兴趣矩阵;其中,所述用户长期兴趣矩阵中的各个行向量分别为各个用户对应的用户长期兴趣向量。

示例性的,由于当应用程序使用序列中的两个相邻应用程序的使用间隔较大时,说明用户使用这两个应用程序的关联性不大,若依然以此作为应用程序使用序列进行应用程序预测模型的训练,容易导致应用程序预测模型对预加载应用程序预测的准确度不高。因此,可针对至少两个用户的应用程序使用序列d=[s1,s2,s3,…,sm]中的每个应用程序使用序列si,其中,i=1,2,…,m,依次判断应用程序使用序列si中相邻的两个应用程序的时间间隔是否大于预设时间阈值,若是,则对应用程序使用序列si进行切分操作,也即将时间间隔大于所述预设时间阈值的相邻两个应用程序切分开,生成与应用程序使用序列si对应的应用程序使用子序列[si1,si2,si3,…,sij,…,sik],其中,sij表示由第i个用户的应用程序使用序列si生成的第j个应用程序使用子序列,k表示应用程序使用子序列的数量。其中,相邻两个应用程序的时间间隔包括前一个应用程序的使用结束时间到后一个应用程序的使用开始时间。示例性的,某用户的应用程序使用序列为[a-b-c-h-e-b-h-f-g-a-h],其中a、b、c、e、f、g及h分别表示不同的应用程序,当相邻的两个应用程序c和h,e和b,f和g的时间间隔大于第一预设时间阈值(如5分钟),则对应用程序使用序列[a-b-c-h-e-b-h-f-g-a-h]进行切分操作,生成应用程序使用子序列[a-b-c],[h-e],[b-h-f]和[g-a-h]。

示例性的,将每个应用程序使用子序列视作一段文本,将应用程序使用序列中涉及的各个应用程序视作一个词汇,基于预先设定的第一词向量构建算法计算应用程序使用序列中涉及的各个应用程序的第一特征向量,并将第一特征向量组合生成第一应用程序特征矩阵vn×d,其中,n表示所述至少两个用户的应用程序使用序列中涉及的应用程序的数目,d表示第一特征向量的维度,如d=32。示例性的,可通过word2vec词向量构建算法计算第一应用程序特征矩阵,也即vn×d=word2vec(d)。可通过计算两个应用程序对应的第一特征向量在空间中的欧式距离来判断两个应用程序间功能的相似性,其中,欧式距离越小,表示两个应用程序间功能的相似性越大,反之,欧式距离越大,表示两个应用程序间功能的相似性越小。

示例性的,用户长期兴趣向量的计算是单独针对每个用户进行,通过独立分析用户在第一预设时间段内使用不同应用程序的时长特征,计算其在第一预设时间段内使用应用程序的兴趣分布。具体的,获取第一预设时间段内每个用户对各个应用程序的使用时长,并根据第一预设时间段内每个用户对各个应用程序的使用时长构建用户兴趣矩阵am×n,其中,aij表示第i个用户在第一预设时间段内对第j个应用程序的使用时长,其中,i=1,2,…,m,j=1,2…,n。可以理解的是,aij反映了第i个用户在第一预设时间段内对第j个应用程序的兴趣强度,aij越大,表示第i个用户在第一预设时间段内对第j个应用程序的兴趣越大,反之,aij越小,表示第i个用户在第一预设时间段内对第j个应用程序的兴趣越小。由于在第一预设时间段内每个用户对各个应用程序的使用时长可能跨度较大,用户兴趣矩阵am×n中元素与元素差值较大,因此,可对用户兴趣矩阵am×n进行归一化处理生成用户归一化兴趣矩阵。例如,使用softmax函数对用户兴趣矩阵am×n进行归一化,使得生成的用户归一化兴趣矩阵的各个元素为0-1之间的概率分布。将用户归一化兴趣矩阵与第一应用程序特征矩阵相乘,生成用户长期兴趣矩阵,也即im×d=softmax(am×n)×vn×d,其中,im×d表示用户长期兴趣矩阵。

图2为本发明实施例提供的用户长期兴趣向量构建的流程示意图。

在本发明实施例中,用户长期兴趣向量可以表示用户在较长时间段内对应用程序的使用习惯,但较短时间段内用户对应用程序的使用情况通常与接下来要使用的应用程序具有更强的相关性,因此,可将能够反应用户在较短时间段内应用程序的使用习惯的用户动态兴趣向量添加为构建应用程序预测模型的元素。

可选的,根据所述应用程序使用序列生成用户动态兴趣向量,包括:将所述应用程序使用序列按照预设规则构造应用程序训练序列;根据所述应用程序训练序列和预先设定的第二词向量构建算法计算第二应用程序特征矩阵,其中,所述第二应用程序特征矩阵中的各个行向量分别为所述应用程序训练序列中涉及的各个应用程序的第二特征向量;获取用户使用每个应用程序的流量特征和用户使用每个应用程序的持续时长;其中,所述流量特征包括应用程序请求服务器时产生的流量大小和应用程序与服务器的交互次数;根据所述流量特征、持续时长和所述应用程序的第二特征向量生成用户动态兴趣向量。

示例性的,将应用程序使用序列按照预设规则构造应用程序训练序列,例如,由于用户动态兴趣向量反应了用户在较短时间段内的应用程序的使用习惯,因此,可将应用程序使用序列拆分成预设长度的应用程序子序列,将应用程序子序列作为应用程序训练序列;或者,将应用程序使用序列中时间间隔大于第三预设时间阈值的相邻两个应用程序切分开,生成与应用程序使用序列对应的应用程序使用子序列,将切分应用程序使用序列生成的应用程序使用子序列作为应用程序训练序列。需要说明是,本发明实施例对将应用程序使用序列按照预设规则构造应用程序训练序列的具体方式不做限定。

可选的,将所述应用程序使用序列按照预设规则构造应用程序训练序列,包括:针对每个应用程序使用序列,正序遍历应用程序使用序列中的每个应用程序,若当前应用程序之前存在应用程序子序列,则通过如下步骤构造应用程序训练序列:

第一步、当所述应用程序子序列中的第一个应用程序和最后一个应用程序间的时间跨度大于预设时间间隔时,在所述应用程序子序列中截取首末应用程序间的时间跨度在所述预设时间间隔内的最长的第一目标子序列,并用所述第一目标子序列更新所述应用程序子序列;其中,所述第一目标子序列的最后一个应用程序与所述应用程序子序列中的最后一个应用程序相同;

第二步、当更新后的应用程序子序列的序列长度大于预设阈值时,在所述更新后的应用程序子序列中截取所述预设阈值长度的第二目标子序列;其中,所述第二目标子序列的最后一个应用程序与所述第一目标应用程序子序列中的最后一个应用程序相同;

第三步、将所述第二目标子序列和所述当前应用程序合并生成应用程序训练序列。

示例性的,遍历至少两个用户的应用程序使用序列d=[s1,s2,s3,…,sm]中的每一条应用程序使用序列si,其中,i=1,2,…,m,正序遍历应用程序使用序列si中的每个应用程序ak,判断在应用程序ak之前是否存在应用程序子序列sik=[a0,a1,a2,…,ak-1],若是则通过如下步骤构造应用程序训练序列d':第一步、当应用程序子序列sik中的第一应用程序a0和最后一个应用程序ak-1之间的时间跨度大于预设时间间隔(如5小时)时,则在应用程序子序列sik中截取首末应用程序间的时间跨度在预设时间间隔内的最长的第一目标子序列,并用第一目标子序列替换应用程序子序列sik,其中,第一目标子序列中包含应用程序子序列sik=[a0,a1,a2,…,ak-1]中的最后一个应用程序ak-1。示例性的,a2和ak-1,a3和ak-1,a4和ak-1,…,ak-2和ak-1间的时间跨度均在预设时间间隔内,也即应用程序序列[a2,a3,a4,…,ak-2,ak-1],[a3,a4,…,ak-2,ak-1],[a4,…,ak-2,ak-1],…,[ak-2,ak-1]的首末应用程序间的时间跨度均在预设时间间隔内,则截取最长的应用程序序列[a2,a3,a4,…,ak-2,ak-1]作为第一目标子序列。第二步、判断第一目标子序列[a2,a3,a4,…,ak-2,ak-1]的序列长度是否大于预设阈值,若是,则从后往前在第一目标子序列中截取预设阈值长度的第二目标子序列,其中,第二目标子序列包含第一目标子序列[a2,a3,a4,…,ak-2,ak-1]中的最后一个应用程序ak-1。示例性的,k=34,则第一目标子序列的序列长度为32,若预设阈值为30,则从第一目标序列[a2,a3,a4,…,ak-2,ak-1]中截取的第二目标子序列为[a4,…,ak-2,ak-1]。可选的,第一目标子序列[a2,a3,a4,…,ak-2,ak-1]的序列长度小于预设阈值时,可直接将第一目标子序列[a2,a3,a4,…,ak-2,ak-1]作为第二目标子序列。第三步、若第二目标子序列的序列长度大于0,则将第二目标子序列[a4,…,ak-2,ak-1]和当前应用程序ak合并生成应用程序训练序列[a4,…,ak-2,ak-1,ak]。

可选的,根据所述应用程序训练序列和预先设定的第二词向量构建算法计算第二应用程序特征矩阵,包括:针对每个应用程序训练序列,将应用程序训练序列中时间间隔大于第二预设时间阈值的相邻两个应用程序切分开,生成与所述应用程序训练序列对应的应用程序训练子序列;根据所述应用程序训练子序列和预先设定的第二词向量构建算法计算第二应用程序特征矩阵。需要说明的是,本发明实施例提供的根据应用程序训练序列和第二词向量构建算法计算第二应用程序特征矩阵的方法,与上述计算根据应用程序使用序列和第一词向量构建算法计算第一应用程序特征矩阵的方法相似,具体可参考前面相关内容,再次不再赘述。其中,第二词向量构建算法与第一词向量构建算法可以相同,也可以不同。

示例性的,获取用户使用每个应用程序的流量特征和用户使用每个应用程序的持续时长,其中,流量特征包括应用程序请求服务器时产生的流量大小(也即上行流量和)和应用程序与服务器的交互次数(也即连接数)。然后根据流量特征、持续时长和第二特征向量生成用户动态兴趣向量,其中,可以直接将流量特征、持续时长和第二特征向量的拼接向量[第二特征向量,流量大小,交互次数,待续时长]作为用户动态兴趣向量。

可选的,根据所述流量特征、持续时长和所述应用程序的第二特征向量生成用户动态兴趣向量,包括:将所述流量特征、持续时长和所述应用程序的第二特征向量拼接,生成应用程序的目标特征向量;将所述目标特征向量输入至lstm模型进行训练,将所述lstm模型中隐藏层的输出结果作为用户动态兴趣向量。示例性的,将流量特征、持续时长和第二特征向量拼接生成目标特征向量[第二特征向量,流量特征,持续时长]。可选的,将流量特征、持续时长和第二特征向量拼接生成目标特征向量之前,可先对流量特征和持续时长进行归一化处理,如将流量特征和持续时长分别减去均值再除以标准差,完成归一化处理。需要说明的是,对于流量特征异常的情况(如流量特征缺失或者流量特征过大或过小等),可先对流量特征进行预处理操作,如不存在应用程序a与服务器的交互次数这一数据时,可将其他应用程序与服务器的交互次数的均值作为应用程序a与服务器的交互次数;又如应用程序b请求服务器时产生的流量大小远远大于其他应用程序请求服务器时产生的流量,则将其他应用程序请求服务器时产生的流量的均值作为应用程序b请求服务器时产生的流量。可选的,将目标特征向量输入至lstm模型进行训练,将lstm模型中隐藏层的输出结果作为用户动态兴趣向量。示例性的,将目标特征向量输入至双层长短记忆lstm神经网络模型中进行训练,并将lstm神经网络模型的隐藏层的输出结果作为用户动态兴趣向量。图3为本发明实施例提供的构建用户动态兴趣向量的模型的结构图。

步骤103、根据所述用户长期兴趣向量和所述用户动态兴趣向量,对预设机器学习模型进行训练,生成应用程序预测模型。

在本发明实施例中,将用户长期兴趣向量和用户动态兴趣向量作为训练样本,对预设机器学习模型进行训练,生成应用程序预测模型。需要说明的是,本发明实施例对预设机器学习模型不做限定,例如,可以是lstm神经网络模型,还可以是预设简单循环单元(simplerecurrentunit,sru)神经网络模型。

本发明实施例中提供的应用程序预测模型的建立方法,获取第一预设时间段内至少两个用户的应用程序使用序列,并根据所述应用程序使用序列生成用户长期兴趣向量和用户动态兴趣向量,然后根据所述用户长期兴趣向量和所述用户动态兴趣向量,对预设机器学习模型进行训练,生成应用程序预测模型。通过采用上述技术手段,优化了现有的应用程序预加载机制,通过能够真实反映用户行为的应用程序使用序列构建用户长期兴趣向量和用户动态兴趣向量,实现了应用程序使用序列与应用程序预测模型间的计算的解耦,提高了基于应用程序预测模型对预加载应用程序预测时的泛化力,同时有效的提高了对待启动应用程序预测的准确性。

在一些实施例中,在根据所述用户长期兴趣向量和所述用户动态兴趣向量,对预设机器学习模型进行训练,生成应用程序预测模型之前,还包括:获取所述应用程序使用序列中涉及的各个应用程序使用时刻的时间信息,并根据所述时间信息生成时间特征向量;根据所述用户长期兴趣向量和所述用户动态兴趣向量,对预设机器学习模型进行训练,生成应用程序预测模型,包括:将所述时间特征向量、用户长期兴趣特征向量和用户动态兴趣向量进行拼接生成最终目标特征向量;所述最终目标特征向量输入至全连接神经网络模型进行训练,生成应用程序预测模型。这样设置的好处在于,提取各个应用程序使用时刻的多维时间特征,并结合用户长期兴趣向量和用户动态兴趣向量,基于全连接神经网络(也即前馈神经网络)进行应用程序预测模型的训练,可以有效提高利用应用程序预测模型预测预加载应用程序的准确度。

示例性的,获取应用程序使用序列中涉及的各个应用程序使用时刻的时间信息,并基于独热码onehot对时间信息进行编码生成多位时间特征向量。例如,判断应用程序的使用时刻是周几(用独热码可转换为7维特征向量),使用时刻是否是周末(用独热码可转换为2维特征向量),以及使用是否是否处于早/中/晚/夜间(用独热码可转换为4维特征向量)。将抽取的多维度时间特征向量,与用户长期兴趣向量以及用户动态兴趣向量进行拼接,使用2层全连接神经网络对拼接后的向量进行训练,使用crossentropoy交叉熵计算预测结果与真实结果之间的误差,并通过adam优化器计算最小化损失函数,同时对lstm和全连接神经网络模型中的参数进行优化,得到最终的应用程序预测模型。图4为本发明实施例提供的应用程序预测模型结构示意图。

图5为本发明实施例提供的另一种应用程序预测模型的建立方法的流程示意图,如图5所示,该方法包括如下步骤:

步骤501、采集第一预设时间段内的用户应用程序使用日志,其中,所述用户应用程序使用日志包括用户的id信息和应用程序的开始使用时间。

步骤502、根据所述用户的id信息对所述用户应用程序使用日志进行分组,生成至少两组应用程序使用日志。

步骤503、根据所述应用程序的开始使用时间对各组应用程序使用日志中的应用程序进行排序,生成应用程序使用序列。

步骤504、针对每个应用程序使用序列,将应用程序使用序列中时间间隔大于第一预设时间阈值的相邻两个应用程序切分开,生成与所述应用程序使用序列对应的应用程序使用子序列。

步骤505、根据所述应用程序使用子序列和预先设定的第一词向量构建算法计算第一应用程序特征矩阵。

其中,所述第一应用程序特征矩阵中的各个行向量分别为所述应用程序使用序列中涉及的各个应用程序的第一特征向量。

步骤506、获取所述第一预设时间段内每个用户对各个应用程序的使用时长。

步骤507、根据所述第一预设时间段内每个用户对各个应用程序的使用时长构建用户兴趣矩阵。

其中,所述用户兴趣矩阵的各个行向量的元素分别为每个用户对各个应用程序的使用时长。

步骤508、对所述用户兴趣矩阵进行归一化处理生成用户归一化兴趣矩阵。

步骤509、将所述用户归一化兴趣矩阵与所述第一应用程序特征矩阵相乘,生成用户长期兴趣矩阵,其中,所述用户长期兴趣矩阵中的各个行向量分别为各个用户对应的用户长期兴趣向量。

步骤510、将所述应用程序使用序列按照预设规则构造应用程序训练序列。

步骤511、针对每个应用程序训练序列,将应用程序训练序列中时间间隔大于第二预设时间阈值的相邻两个应用程序切分开,生成与所述应用程序训练序列对应的应用程序训练子序列。

步骤512、根据所述应用程序训练子序列和预先设定的第二词向量构建算法计算第二应用程序特征矩阵,其中,所述第二应用程序特征矩阵中的各个行向量分别为所述应用程序训练序列中涉及的各个应用程序的第二特征向量。

步骤513、获取用户使用每个应用程序的流量特征和用户使用每个应用程序的持续时长。

其中,所述流量特征包括应用程序请求服务器时产生的流量大小和应用程序与服务器的交互次数;

步骤514、将所述流量特征、持续时长和所述应用程序的第二特征向量拼接,生成应用程序的目标特征向量。

步骤515、将所述目标特征向量输入至lstm模型进行训练,将所述lstm模型中隐藏层的输出结果作为用户动态兴趣向量。

步骤516、根据所述用户长期兴趣向量和所述用户动态兴趣向量,对预设机器学习模型进行训练,生成应用程序预测模型。

需要说明的是,本发明实施例对步骤504-步骤509与步骤510-步骤515的执行顺序不做限定,可先执行步骤504-步骤509,后执行步骤510-步骤515;也可先执行步骤504-步骤509,后执行步骤510-步骤515;还可同时执行步骤504-步骤509与步骤510-步骤515。

本发明实施例提供的应用程序预测模型的建立方法,通过能够真实反映用户行为的应用程序使用序列构建用户长期兴趣向量和用户动态兴趣向量,实现了应用程序使用序列与应用程序预测模型间的计算的解耦,提高了基于应用程序预测模型对预加载应用程序预测时的泛化力,同时有效的提高了对待启动应用程序预测的准确性。

图6为本发明实施例提供的另一种应用程序预测模型的建立方法的流程示意图,如图6所示,该方法包括如下步骤:

步骤601、获取第一预设时间段内至少两个用户的应用程序使用序列。

步骤602、根据所述应用程序使用序列生成用户长期兴趣向量和用户动态兴趣向量。

步骤603、根据所述用户长期兴趣向量和所述用户动态兴趣向量,对预设机器学习模型进行训练,生成应用程序预测模型。

步骤604、当检测应用程序预加载事件被触发时,获取当前用户在第二预设时间段内的目标应用程序使用序列。

在本发明实施例中,当检测到应用程序预加载事件被触发时,获取移动终端当前的第一状态特征信息,从而进行应用程序预加载的管控事件。

可以理解的是,系统监听到预加载通知时,读取通知内容,并从读取到的通知内容中确定需要对应用程序进行预加载,此时,若检测到该应用程序未被加载时,则触发应用预加载的预测事件;当用户主动点击打开应用程序预加载预测权限时,表征应用预加载预测事件被触发。需要说明的是,本申请实施例对应用预加载预测事件被触发的具体表现形式不做限定。

在本发明实施例中,当检测到应用程序预加载事件被触发时,获取当前用户在第二预设时间段内的目标应用程序使用序列。示例性的,在8:00-12:00这段时间内,用户对终端中的应用程序的使用序列。例如,用户在8:00使用淘宝这一应用程序,8:30将淘宝切换到京东商城这一应用程序,9:00将京东商城切换到支付宝这一应用程序,9:10将支付宝这一应用程序切换到腾讯视频这一应用程序,11:40将腾讯视频这一应用程序切换到美团外卖这一应用程序,12:00将美团外卖切换到微信这一应用程序,则目标应用程序使用序列为淘宝-京东商城-支付宝-腾讯视频-美团外卖-微信。

步骤605、根据所述目标应用程序使用序列生成目标用户长期兴趣向量和目标用户动态兴趣向量。

在本发明实施例中,根据目标应用程序使用序列生成目标用户长期兴趣向量的方法与上述实施例中根据应用程序使用序列生成用户长期兴趣向量的方法可以相同;根据目标应用程序使用序列生成目标用户动态兴趣向量的方法与上述实施例中根据应用程序使用序列生成用户动态兴趣向量的方法可以相同,在此不再赘述。

可选的,根据所述目标应用程序使用序列生成目标用户长期兴趣向量,包括:判断所述当前用户是否属于所述应用程序使用序列对应的用户;若是,则根据所述目标应用程序使用序列生成目标用户长期兴趣向量;若否,则计算所述用户长期兴趣向量的均值向量,将所述均值向量作为所述目标用户长期兴趣向量;或者,若否,则统计所述应用程序使用序列中涉及的各个应用程序在所述第一预设时间段的使用时长,将使用时长最大的前k个应用程序作为目标应用程序,通过如下公式计算目标用户长期兴趣向量;

νtopk=∑tiνi/∑ti,i=1,2,…,k

其中,νtopk表示目标用户长期兴趣向量,νi表示从所述第一应用程序特征矩阵中提取的第i个目标应用程序对应的第一特征向量,ti表示第i个目标应用程序在所述第一预设时间段的使用时长。

这样设置的好处在于,可有效解决当基于应用程序预测模型对新用户(当前用户不属于应用程序使用序列对应的用户)即将启动的应用程序进行预测时,对新用户冷启动预测不准确的技术问题,提高了基于应用程序预测模型预测新用户即将加载的应用程序时的准确性。

示例性的,当当前用户不属于应用程序使用序列对应的用户,也即当前用户不属于构建应用程序预测模型所应用到的应用程序使用序列对应的用户时,说明当前用户为新用户,此时,可通过如下两种方式计算目标用户长期兴趣向量:第一、对所有已知用户的用户长期兴趣向量求平均,得到用户长期兴趣向量的均值向量,并将该均值向量作为当前用户的目标用户长期兴趣向量;第二、统计应用程序使用序列中涉及的各个应用程序在第一预设时间段的使用时长,其中,各个应用程序的使用时长包括在第一预设时间段所有用户对各个应用程序的使用时长的总和,使用时长越大,表示该应用程序越热门,因此,可将使用时长最大的前k个应用程序作为目标应用程序,然后通过公式νtopk=∑tiνi/∑ti,i=1,2,…,k计算目标用户长期兴趣向量。

步骤606、将所述目标用户长期兴趣向量和所述目标用户动态兴趣向量输入至所述应用程序预测模型中,根据所述应用程序预测模型的输出结果预测出即将启动的目标应用程序。

在本发明实施例中,将目标用户长期兴趣向量和目标用户动态兴趣向量输入至应用程序预测模型中,获取应用程序预测模型输出的应用程序启动的概率值,并根据输出的各个应用程序启动的概率值预测出即将启动的目标应用程序。其中,应用程序使用序列中涉及到n个应用程序,则应用程序预测模型的输出结果为用户分别即将启动这n个应用程序的概率值。示例性的,可将输出的概率值中最大概率值对应的应用程序作为即将启动的目标应用程序,也可将输出的概率值中前三大概率值对应的应用程序作为即将启动的目标应用程序。需要说明的是,本发明实施例对即将启动的目标应用程序的数量不做限定。

步骤607、对所述目标应用程序进行预加载。

在本发明实施例中,对预加载的具体过程以及所加载的数据资源不做限定,例如可为目标应用程序分配相应的硬件资源,并基于分配的硬件资源加载启动所需的相关数据。此外加载的数据资源可根据目标应用程序的具体类型来确定。例如,若目标应用程序为一个社交软件,可以预加载该应用程序中的启动画面、联系人列表以及近期的消息记录等;若目标应用程序为一个游戏,可以预加载该应用程序中的游戏背景相关数据等。

本申请实施例提供的应用程序预测模型的建立方法,基于用户长期兴趣向量和用户动态兴趣向量生成的应用程序预测模型对即将启动的应用程序进行预测,实现了应用程序使用序列与应用程序预测模型间的计算的解耦,提高了基于应用程序预测模型对预加载应用程序预测时的泛化力,同时有效的提高了对待启动应用程序预测的准确性,进一步降低了终端系统功耗和内存占用率,优化了应用程序预加载机制。

图7为本发明实施例提供的另一种应用程序预测模型的建立方法的流程示意图,如图7所示,该方法包括如下步骤:

步骤701、获取第一预设时间段内至少两个用户的应用程序使用序列。

步骤702、根据所述应用程序使用序列生成用户长期兴趣向量和用户动态兴趣向量。

步骤703、获取所述应用程序使用序列中涉及的各个应用程序使用时刻的时间信息,并根据所述时间信息生成时间特征向量。

步骤704、将所述时间特征向量、用户长期兴趣特征向量和用户动态兴趣向量进行拼接生成最终目标特征向量。

步骤705、将所述最终目标特征向量输入至全连接神经网络模型进行训练,生成应用程序预测模型。

步骤706、当检测应用程序预加载事件被触发时,获取当前用户在第二预设时间段内的目标应用程序使用序列。

步骤707、判断所述当前用户是否属于所述应用程序使用序列对应的用户,若是,则执行步骤709,否则执行步骤708。

步骤708、计算所述用户长期兴趣向量的均值向量,将所述均值向量作为所述目标用户长期兴趣向量;或者,若否,则统计所述应用程序使用序列中涉及的各个应用程序在所述第一预设时间段的使用时长,将使用时长最大的前k个应用程序作为目标应用程序,通过公式νtopk=∑tiνi/∑ti计算目标用户长期兴趣向量。

步骤709、根据所述目标应用程序使用序列生成目标用户长期兴趣向量。

步骤710、根据所述目标应用程序使用序列生成目标用户动态兴趣向量。

步骤711、将所述目标用户长期兴趣向量和所述目标用户动态兴趣向量输入至所述应用程序预测模型中,根据所述应用程序预测模型的输出结果预测出即将启动的目标应用程序。

步骤712、对所述目标应用程序进行预加载。

图8为本发明实施例提供的应用程序预测系统架构图。

本发明实施例提供的应用程序预测模型的建立方法,通过用户长期兴趣向量、用户动态兴趣向量和时间特征向量对应用程序预测模型进行训练,不仅实现了应用程序使用序列与应用程序预测模型间的计算的解耦,提高了基于应用程序预测模型对预加载应用程序预测时的泛化力,同时有效的提高了对待启动应用程序预测的准确性。另外,当基于应用程序预测模型对新用户即将启动的应用程序进行预测时,以用户平均长期兴趣向量或者热门应用加权平均向量作为新用户的长期兴趣向量,提高了基于应用程序预测模型预测新用户即将加载的应用程序时的准确性

图9为本发明实施例提供的一种应用程序预测模型的建立装置的结构框图,该装置可由软件和/或硬件实现,一般集成在终端中,可通过执行应用程序预测模型的建立方法来进行应用程序预测模型的建立。如图9所示,该装置包括:

应用程序使用序列获取模块901,用于获取第一预设时间段内至少两个用户的应用程序使用序列;

兴趣向量生成模块902,用于根据所述应用程序使用序列生成用户长期兴趣向量和用户动态兴趣向量;

应用程序预测模型生成模块903,用于根据所述用户长期兴趣向量和所述用户动态兴趣向量,对预设机器学习模型进行训练,生成应用程序预测模型。

本发明实施例中提供的应用程序预测模型的建立装置,获取第一预设时间段内至少两个用户的应用程序使用序列,并根据所述应用程序使用序列生成用户长期兴趣向量和用户动态兴趣向量,然后根据所述用户长期兴趣向量和所述用户动态兴趣向量,对预设机器学习模型进行训练,生成应用程序预测模型。通过采用上述技术手段,优化了现有的应用程序预加载机制,通过能够真实反映用户行为的应用程序使用序列构建用户长期兴趣向量和用户动态兴趣向量,实现了应用程序使用序列与应用程序预测模型间的计算的解耦,提高了基于应用程序预测模型对预加载应用程序预测时的泛化力,同时有效的提高了对待启动应用程序预测的准确性。

可选的,所述应用程序使用序列获取模块,用于:

采集第一预设时间段内的用户应用程序使用日志;其中,所述用户应用程序使用日志包括用户的id信息和应用程序的开始使用时间;

根据所述用户的id信息对所述用户应用程序使用日志进行分组,生成至少两组应用程序使用日志;

根据所述应用程序的开始使用时间对各组应用程序使用日志中的应用程序进行排序,生成应用程序使用序列。

可选的,所述兴趣向量生成模块,包括:

第一特征矩阵计算单元,用于根据所述应用程序使用序列和预先设定的第一词向量构建算法计算第一应用程序特征矩阵,其中,所述第一应用程序特征矩阵中的各个行向量分别为所述应用程序使用序列中涉及的各个应用程序的第一特征向量;

使用时长获取单元,用于获取所述第一预设时间段内每个用户对各个应用程序的使用时长;

用户长期兴趣向量构建单元,用于根据所述第一应用程序特征矩阵和所述各个应用程序的使用时长构建用户长期兴趣向量。

可选的,所述第一特征矩阵计算单元,用于:

针对每个应用程序使用序列,将应用程序使用序列中时间间隔大于第一预设时间阈值的相邻两个应用程序切分开,生成与所述应用程序使用序列对应的应用程序使用子序列;

根据所述应用程序使用子序列和预先设定的第一词向量构建算法计算第一应用程序特征矩阵。

可选的,所述用户长期兴趣向量构建单元,用于:

根据所述第一预设时间段内每个用户对各个应用程序的使用时长构建用户兴趣矩阵;其中,所述用户兴趣矩阵的各个行向量的元素分别为每个用户对各个应用程序的使用时长;

对所述用户兴趣矩阵进行归一化处理生成用户归一化兴趣矩阵;

将所述用户归一化兴趣矩阵与所述第一应用程序特征矩阵相乘,生成用户长期兴趣矩阵;其中,所述用户长期兴趣矩阵中的各个行向量分别为各个用户对应的用户长期兴趣向量。

可选的,所述兴趣向量生成模块,包括:

应用程序训练序列构造单元,用于将所述应用程序使用序列按照预设规则构造应用程序训练序列;

第二特征矩阵计算单元,用于根据所述应用程序训练序列和预先设定的第二词向量构建算法计算第二应用程序特征矩阵,其中,所述第二应用程序特征矩阵中的各个行向量分别为所述应用程序训练序列中涉及的各个应用程序的第二特征向量;

流量特征获取单元,用于获取用户使用每个应用程序的流量特征和用户使用每个应用程序的持续时长;其中,所述流量特征包括应用程序请求服务器时产生的流量大小和应用程序与服务器的交互次数;

动态兴趣向量生成单元,用于根据所述流量特征、持续时长和所述应用程序的第二特征向量生成用户动态兴趣向量。

可选的,所述应用程序训练序列构造单元,用于:

针对每个应用程序使用序列,正序遍历应用程序使用序列中的每个应用程序,若当前应用程序之前存在应用程序子序列,则通过如下步骤构造应用程序训练序列:

第一步、当所述应用程序子序列中的第一个应用程序和最后一个应用程序间的时间跨度大于预设时间间隔时,在所述应用程序子序列中截取首末应用程序间的时间跨度在所述预设时间间隔内的最长的第一目标子序列,并用所述第一目标子序列更新所述应用程序子序列;其中,所述第一目标子序列的最后一个应用程序与所述应用程序子序列中的最后一个应用程序相同;

第二步、当更新后的应用程序子序列的序列长度大于预设阈值时,在所述更新后的应用程序子序列中截取所述预设阈值长度的第二目标子序列;其中,所述第二目标子序列的最后一个应用程序与所述第一目标应用程序子序列中的最后一个应用程序相同;

第三步、将所述第二目标子序列和所述当前应用程序合并生成应用程序训练序列。

可选的,所述第二特征矩阵计算单元,用于:

针对每个应用程序训练序列,将应用程序训练序列中时间间隔大于第二预设时间阈值的相邻两个应用程序切分开,生成与所述应用程序训练序列对应的应用程序训练子序列;

根据所述应用程序训练子序列和预先设定的第二词向量构建算法计算第二应用程序特征矩阵。

可选的,所述动态兴趣向量生成单元,用于:

将所述流量特征、持续时长和所述应用程序的第二特征向量拼接,生成应用程序的目标特征向量;

将所述目标特征向量输入至lstm模型进行训练,将所述lstm模型中隐藏层的输出结果作为用户动态兴趣向量。

可选的,所述装置还包括:

时间特征向量生成模块,用于在根据所述用户长期兴趣向量和所述用户动态兴趣向量,对预设机器学习模型进行训练,生成应用程序预测模型之前,获取所述应用程序使用序列中涉及的各个应用程序使用时刻的时间信息,并根据所述时间信息生成时间特征向量;

所述应用程序预测模型生成模块,用于:

将所述时间特征向量、用户长期兴趣特征向量和用户动态兴趣向量进行拼接生成最终目标特征向量;

所述最终目标特征向量输入至全连接神经网络模型进行训练,生成应用程序预测模型。

可选的,所述装置还包括:

目标应用程序使用序列获取模块,用于在生成应用程序预测模型之后,当检测应用程序预加载事件被触发时,获取当前用户在第二预设时间段内的目标应用程序使用序列;

目标兴趣向量生成模块,用于根据所述目标应用程序使用序列生成目标用户长期兴趣向量和目标用户动态兴趣向量;

目标应用程序预测模块,用于将所述目标用户长期兴趣向量和所述目标用户动态兴趣向量输入至所述应用程序预测模型中,根据所述应用程序预测模型的输出结果预测出即将启动的目标应用程序;

目标应用程序预加载模块,用于对所述目标应用程序进行预加载。

可选的,所述目标兴趣向量生成模块,用于:

判断所述当前用户是否属于所述应用程序使用序列对应的用户;

若是,则根据所述目标应用程序使用序列生成目标用户长期兴趣向量;

若否,则计算所述用户长期兴趣向量的均值向量,将所述均值向量作为所述目标用户长期兴趣向量;或者,若否,则统计所述应用程序使用序列中涉及的各个应用程序在所述第一预设时间段的使用时长,将使用时长最大的前k个应用程序作为目标应用程序,通过如下公式计算目标用户长期兴趣向量;

νtopk=∑tiνi/∑ti,i=1,2,…,k

其中,νtopk表示目标用户长期兴趣向量,νi表示从所述第一应用程序特征矩阵中提取的第i个目标应用程序对应的第一特征向量,ti表示第i个目标应用程序在所述第一预设时间段的使用时长。

本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行应用程序预测模型的建立方法,该方法包括:

获取第一预设时间段内至少两个用户的应用程序使用序列;

根据所述应用程序使用序列生成用户长期兴趣向量和用户动态兴趣向量;

根据所述用户长期兴趣向量和所述用户动态兴趣向量,对预设机器学习模型进行训练,生成应用程序预测模型。

存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如cd-rom、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如dram、ddrram、sram、edoram,兰巴斯(rambus)ram等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的应用程序预测模型的建立操作,还可以执行本发明任意实施例所提供的应用程序预测模型的建立方法中的相关操作。

本发明实施例提供了一种终端,该终端中可集成本发明实施例提供的应用程序预测模型的建立装置。图10为本发明实施例提供的一种终端的结构框图。终端1000可以包括:存储器1001,处理器1002及存储在存储器1001上并可在处理器运行的计算机程序,所述处理器1002执行所述计算机程序时实现如本发明实施例所述的应用程序预测模型的建立方法。

本发明实施例中提供的终端,获取第一预设时间段内至少两个用户的应用程序使用序列,并根据所述应用程序使用序列生成用户长期兴趣向量和用户动态兴趣向量,然后根据所述用户长期兴趣向量和所述用户动态兴趣向量,对预设机器学习模型进行训练,生成应用程序预测模型。通过采用上述技术手段,优化了现有的应用程序预加载机制,通过能够真实反映用户行为的应用程序使用序列构建用户长期兴趣向量和用户动态兴趣向量,实现了应用程序使用序列与应用程序预测模型间的计算的解耦,提高了基于应用程序预测模型对预加载应用程序预测时的泛化力,同时有效的提高了对待启动应用程序预测的准确性。

上述实施例中提供的应用程序预测模型的建立装置、存储介质及终端可执行本发明任意实施例所提供的应用程序预测模型的建立方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的应用程序预测模型的建立方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。


技术特征:

1.一种应用程序预测模型的建立方法,其特征在于,包括:

获取第一预设时间段内至少两个用户的应用程序使用序列;

根据所述应用程序使用序列生成用户长期兴趣向量和用户动态兴趣向量;

根据所述用户长期兴趣向量和所述用户动态兴趣向量,对预设机器学习模型进行训练,生成应用程序预测模型。

2.根据权利要求1所述的方法,其特征在于,获取第一预设时间段内至少两个用户的应用程序使用序列,包括:

采集第一预设时间段内的用户应用程序使用日志;其中,所述用户应用程序使用日志包括用户的id信息和应用程序的开始使用时间;

根据所述用户的id信息对所述用户应用程序使用日志进行分组,生成至少两组应用程序使用日志;

根据所述应用程序的开始使用时间对各组应用程序使用日志中的应用程序进行排序,生成应用程序使用序列。

3.根据权利要求1所述的方法,其特征在于,根据所述应用程序使用序列生成用户长期兴趣向量,包括:

根据所述应用程序使用序列和预先设定的第一词向量构建算法计算第一应用程序特征矩阵,其中,所述第一应用程序特征矩阵中的各个行向量分别为所述应用程序使用序列中涉及的各个应用程序的第一特征向量;

获取所述第一预设时间段内每个用户对各个应用程序的使用时长;

根据所述第一应用程序特征矩阵和所述各个应用程序的使用时长构建用户长期兴趣向量。

4.根据权利要求3所述的方法,其特征在于,根据应用程序使用序列和预先设定的第一词向量构建算法计算第一应用程序特征矩阵,包括:

针对每个应用程序使用序列,将应用程序使用序列中时间间隔大于第一预设时间阈值的相邻两个应用程序切分开,生成与所述应用程序使用序列对应的应用程序使用子序列;

根据所述应用程序使用子序列和预先设定的第一词向量构建算法计算第一应用程序特征矩阵。

5.根据权利要求3所述的方法,其特征在于,根据所述第一应用程序特征矩阵和所述各个应用程序的使用时长构建用户长期兴趣向量,包括:

根据所述第一预设时间段内每个用户对各个应用程序的使用时长构建用户兴趣矩阵;其中,所述用户兴趣矩阵的各个行向量的元素分别为每个用户对各个应用程序的使用时长;

对所述用户兴趣矩阵进行归一化处理生成用户归一化兴趣矩阵;

将所述用户归一化兴趣矩阵与所述第一应用程序特征矩阵相乘,生成用户长期兴趣矩阵;其中,所述用户长期兴趣矩阵中的各个行向量分别为各个用户对应的用户长期兴趣向量。

6.根据权利要求1所述的方法,其特征在于,根据所述应用程序使用序列生成用户动态兴趣向量,包括:

将所述应用程序使用序列按照预设规则构造应用程序训练序列;

根据所述应用程序训练序列和预先设定的第二词向量构建算法计算第二应用程序特征矩阵,其中,所述第二应用程序特征矩阵中的各个行向量分别为所述应用程序训练序列中涉及的各个应用程序的第二特征向量;

获取用户使用每个应用程序的流量特征和用户使用每个应用程序的持续时长;其中,所述流量特征包括应用程序请求服务器时产生的流量大小和应用程序与服务器的交互次数;

根据所述流量特征、持续时长和所述应用程序的第二特征向量生成用户动态兴趣向量。

7.根据权利要求6所述的方法,其特征在于,将所述应用程序使用序列按照预设规则构造应用程序训练序列,包括:

针对每个应用程序使用序列,正序遍历应用程序使用序列中的每个应用程序,若当前应用程序之前存在应用程序子序列,则通过如下步骤构造应用程序训练序列:

第一步、当所述应用程序子序列中的第一个应用程序和最后一个应用程序间的时间跨度大于预设时间间隔时,在所述应用程序子序列中截取首末应用程序间的时间跨度在所述预设时间间隔内的最长的第一目标子序列,并用所述第一目标子序列更新所述应用程序子序列;其中,所述第一目标子序列的最后一个应用程序与所述应用程序子序列中的最后一个应用程序相同;

第二步、当更新后的应用程序子序列的序列长度大于预设阈值时,在所述更新后的应用程序子序列中截取所述预设阈值长度的第二目标子序列;其中,所述第二目标子序列的最后一个应用程序与所述第一目标应用程序子序列中的最后一个应用程序相同;

第三步、将所述第二目标子序列和所述当前应用程序合并生成应用程序训练序列。

8.根据权利要求6所述的方法,其特征在于,根据所述应用程序训练序列和预先设定的第二词向量构建算法计算第二应用程序特征矩阵,包括:

针对每个应用程序训练序列,将应用程序训练序列中时间间隔大于第二预设时间阈值的相邻两个应用程序切分开,生成与所述应用程序训练序列对应的应用程序训练子序列;

根据所述应用程序训练子序列和预先设定的第二词向量构建算法计算第二应用程序特征矩阵。

9.根据权利要求6所述的方法,其特征在于,根据所述流量特征、持续时长和所述应用程序的第二特征向量生成用户动态兴趣向量,包括:

将所述流量特征、持续时长和所述应用程序的第二特征向量拼接,生成应用程序的目标特征向量;

将所述目标特征向量输入至lstm模型进行训练,将所述lstm模型中隐藏层的输出结果作为用户动态兴趣向量。

10.根据权利要求1所述的方法,其特征在于,在根据所述用户长期兴趣向量和所述用户动态兴趣向量,对预设机器学习模型进行训练,生成应用程序预测模型之前,还包括:

获取所述应用程序使用序列中涉及的各个应用程序使用时刻的时间信息,并根据所述时间信息生成时间特征向量;

根据所述用户长期兴趣向量和所述用户动态兴趣向量,对预设机器学习模型进行训练,生成应用程序预测模型,包括:

将所述时间特征向量、用户长期兴趣特征向量和用户动态兴趣向量进行拼接生成最终目标特征向量;

所述最终目标特征向量输入至全连接神经网络模型进行训练,生成应用程序预测模型。

11.根据权利要求1-10任一所述的方法,其特征在于,在生成应用程序预测模型之后,还包括:

当检测应用程序预加载事件被触发时,获取当前用户在第二预设时间段内的目标应用程序使用序列;

根据所述目标应用程序使用序列生成目标用户长期兴趣向量和目标用户动态兴趣向量;

将所述目标用户长期兴趣向量和所述目标用户动态兴趣向量输入至所述应用程序预测模型中,根据所述应用程序预测模型的输出结果预测出即将启动的目标应用程序;

对所述目标应用程序进行预加载。

12.根据权利要求11所述的方法,其特征在于,根据所述目标应用程序使用序列生成目标用户长期兴趣向量,包括:

判断所述当前用户是否属于所述应用程序使用序列对应的用户;

若是,则根据所述目标应用程序使用序列生成目标用户长期兴趣向量;

若否,则计算所述用户长期兴趣向量的均值向量,将所述均值向量作为所述目标用户长期兴趣向量;或者,若否,则统计所述应用程序使用序列中涉及的各个应用程序在所述第一预设时间段的使用时长,将使用时长最大的前k个应用程序作为目标应用程序,通过如下公式计算目标用户长期兴趣向量;

νtopk=∑tiνi/∑ti,i=1,2,…,k

其中,νtopk表示目标用户长期兴趣向量,νi表示从所述第一应用程序特征矩阵中提取的第i个目标应用程序对应的第一特征向量,ti表示第i个目标应用程序在所述第一预设时间段的使用时长。

13.一种应用程序预测模型的建立装置,其特征在于,包括:

应用程序使用序列获取模块,用于获取第一预设时间段内至少两个用户的应用程序使用序列;

兴趣向量生成模块,用于根据所述应用程序使用序列生成用户长期兴趣向量和用户动态兴趣向量;

应用程序预测模型生成模块,用于根据所述用户长期兴趣向量和所述用户动态兴趣向量,对预设机器学习模型进行训练,生成应用程序预测模型。

14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-12任一所述的应用程序预测模型的建立方法。

15.一种终端,其特征在于,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-12任一所述的应用程序预测模型的建立方法。

技术总结
本发明实施例公开了一种应用程序预测模型的建立方法、装置、存储介质及终端。所述方法包括:获取第一预设时间段内至少两个用户的应用程序使用序列;根据所述应用程序使用序列生成用户长期兴趣向量和用户动态兴趣向量;根据所述用户长期兴趣向量和所述用户动态兴趣向量,对预设机器学习模型进行训练,生成应用程序预测模型。通过采用上述技术方案,优化了现有的应用程序预加载机制,通过能够真实反映用户行为的应用程序使用序列构建用户长期兴趣向量和用户动态兴趣向量,实现了应用程序使用序列与应用程序预测模型间的计算的解耦,提高了基于应用程序预测模型对预加载应用程序预测时的泛化力,同时有效的提高了对待启动应用程序预测的准确性。

技术研发人员:于鼎;崔渊博;金红;刘长永;杨满智;陈晓光
受保护的技术使用者:恒安嘉新(北京)科技股份公司
技术研发日:2020.01.08
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-29412.html

最新回复(0)