本发明涉及移动应用数据分析领域,特别是涉及一种基于时序模式的移动应用使用预测方法。
背景技术:
随着无线通信与移动技术的快速发展,智能手机已经成为人们日常生活中相互交流和沟通的重要工具。现有研究表明,用户的智能手机上安装的app数量在10到90个之间,甚至超过90个,平均值约为50个。这个庞大的数字使得在智能手机上找到一个特定的app变得并不简单。移动app的使用预测指的是预测下一个最有可能被使用的app,在用户使用智能手机时,使用户的操作变得非常简单高效,并且也可以对电池能耗和应用搜索时间提前计划与优化。因预测所涉及的各方面的因素较多,预测方法既复杂不确定性又高,预测结果误差较大。目前,并未有有效的预测方法出现。
技术实现要素:
针对以上缺陷,本发明提供一种计算简单、预测结果高的基于时序模式的移动应用使用预测方法。
本发明一种基于时序模式的移动应用使用预测方法,其特征在于:所述方法包括:获取移动应用的相关数据,所述数据包括应用名称、应用类别、应用标签;根据所述移动应用的属性信息以及移动应用顺序构建用户与移动应用的二部图;使用图神经网络模型建模,构建所述移动用户与移动应用之间的关系,得到所述移动应用的节点向量表示;分别将所述移动应用的节点向量以及用户使用移动应用的位置、时间、使用量的嵌入向量;将嵌入向量输入到基于attention机制的rnn模型,得到用户使用偏好;构建dnn模型,输出用户下一时刻是否会使用当前移动应用的标签。
进一步地,一种基于时序模式的移动应用使用预测方法,所述二部图中,当用户使用了某个app,则该用户和这个app之间就存在一条边,表示用户和app之间的关系;当某个app同时被两个或者多个用户安装时,则这几个app之间就存在一条边,通过图神经网络模型构建移动app的节点向量表示,所述每个节点都有其自己的特征。
进一步地,一种基于时序模式的移动应用使用预测方法,所述构建移动app的节点向量表示时按照所述移动app使用的顺序。
进一步地,一种基于时序模式的移动应用使用预测方法,所述图神经网络模型基于信息传播机制,每一个节点通过相互交换信息来更新自己的节点状态,直到达到某一个稳定值。
进一步地,一种基于时序模式的移动应用使用预测方法,所述图神经网络通过迭代式更新所有节点的隐藏状态来让每个节点都感知到图上其他的节点。
进一步地,一种基于时序模式的移动应用使用预测方法,构建的基于attention机制的rnn模型为:基于移动app使用数据,使用rnn模型学习用户使用习惯中的时序特征。
进一步地,一种基于时序模式的移动应用使用预测方法,所述注意力机制是指输出向量是各个元素按其重要程度加权求和得到的。
本发明的有益效果为:本发明公开的一种基于时序模式的移动应用使用预测方法,通过移动应用属性信息、移动应用使用顺序构建用户与移动应用的二部图;然后使用图神经网络模型建模用户与移动应用之间的关系,获取用户使用偏好;最后构建dnn模型,输出用户下一时刻是否会使用当前移动应用的标签。本发明可以更加全面地利用智能手机使用数据使得用户操作变得简单高效,并且也可以对电池能耗和移动应用搜索时间提前计划与优化。
附图说明
图1为本发明实施例提供的一种基于时序模式的移动应用使用预测方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
如图1所示,一种基于时序模式的移动应用使用预测方法包括以下步骤:
s1、从应用商店中获取移动应用的相关数据,包括:应用名称、应用类别、应用标签。
s2、根据移动应用的属性信息以及移动应用顺序构建用户与移动应用的二部图。
s3、使用图神经网络模型建模用户与移动应用之间的关系,得到移动应用的节点向量表示。根据移动应用的属性信息以及移动应用顺序构建用户与移动应用的二部图。当用户使用了某个app,则该用户和这个app之间就存在一条边,表示用户和app之间的关系。当某个app同时被两个或者多个用户安装时,则这几个app之间就存在一条边,并且将app使用顺序考虑进来,通过图神经网络模型构建移动app的节点向量表示,每个节点都有其自己的特征。图神经网络模型基于信息传播机制,每一个节点通过相互交换信息来更新自己的节点状态,直到达到某一个稳定值,gnn的输出就是在每个节点处,根据当前节点状态分别计算输出。图神经网络通过迭代式更新所有节点的隐藏状态来让每个节点都感知到图上其他的节点。通过模型学习得到移动app的嵌入特征向量表示,从而获得用户与移动app之间的关系。具体过程公式如下:
xn=fw(ln,lco[n],xne[n],lne[n])(1)
on=gw(xn,ln)
x(t+1)=fw(x(t),l)(2)
xn(t+1)=fw(ln,lco[n],xne[n](t),lne[n])(3)
on(t)=gw(xn(t),ln),n∈n
其中,节点n的状态用
s4、分别将移动应用的节点向量以及用户使用移动应用的位置、时间、使用量等嵌入,得到相应的嵌入向量。
s5、将嵌入向量输入到基于attention机制的rnn模型,得到用户使用偏好。基于移动app使用数据,使用rnn模型学习用户使用习惯中的时序特征,从而实现移动app的使用预测。具体而言,分别将移动应用的节点向量以及用户使用移动应用的位置、时间、使用量等嵌入,得到相应的嵌入向量。然后将移动app使用预测问题建模为有监督的分类问题,问题定义如下。
给定用户集合u={u1,u2,...,un},移动app集合p={p1,p2,...,pm},用户t时刻的使用位置
在注意力机制下,输出向量是各个元素按其重要程度加权求和得到的,如公式所示。
其中,参数i表示时刻,j表示序列中的第j个元素,tx表示序列的长度,f(·)表示对元素xj的编码。aij可以看做是一个概率,反映了元素hj对ci的重要性,可以使用softmax来表示,如公式所示。
这里eij正是反映了带编码的元素和其他元素之间的匹配度,当匹配度越高时,说明该元素对其的影响越大,则aij的值也就越大。
通过基于attention机制的rnn模型就可以得到用户使用移动app的使用习惯中的时序特征
s6、构建dnn模型,输出用户下一时刻是否会使用当前移动应用的标签。将基于attention机制的rnn模型的输出结果输入到dnn模型中,通过dnn模型学习用户和移动应用之间的复杂交互,输出用户下一时刻是否会使用当前移动应用的标签。具体过程公式如下:
其中,u,i和t表示用户,移动应用和时间的嵌入向量。n表示隐层的层数,z1层中的φ1,w1和b1对应表示dnn层使用的激活函数(relu或tanh函数),权重矩阵和偏置向量。