基于混合Markov模型的业务协同预测方法与流程

文档序号:11655077阅读:154来源:国知局
基于混合Markov模型的业务协同预测方法与流程

本发明涉及一种基于混合markov模型的业务协同预测方法,属于业务预测技术领域。



背景技术:

随着移动互联网的发展和普及,移动互联网己成为人们获取各种信息和资源的重要媒介,使得用户能够通过移动智能终端,随时,随地,随心的使用自己感兴趣的相关业务。显然,移动互联网和智能终端极大地改变了人们的生活,工作,和娱乐方式。

当前,移动互联网信息量和用户数量飞速增长,而网络资源有限的情况下,如何提前预测用户的下一个业务状态,有效减少用户的访问等待时间,提高网络服务质量,已成为一个迫切需要解决的难题。

当前,用户业务预测预测问题大多采用markov模型,作为一种经典的概率统计模型,markov模型通过在用户历史访问业务序列库中匹配用户的当前访问,预测用户下一步最可能使用的业务。很多学者对此都进行了卓有成效的研究,虽然当前的markov预测模型虽然已经具有比较高的准确率,但依然有很多改进的空间,例如当前的markov模型结构比较简单,并且影响用户下一业务的因素并未考虑全面。

因此,在当前的markov模型的基础上进行进一步拓展,将更多的影响用户下一业务的因素考虑进来,形成更加完善的markov模型,进一步提高对用户下一业务的预测准确度,提升用户业务体验已成为当前研究的热点。



技术实现要素:

本发明所要解决的技术问题是提供一种基于混合markov模型的业务协同预测方法,该方法首先通过对当前的用户相似度算法进行改进,使得改进后的用户相似度算法具有区分不同数量级大小的数据的作用,准确寻找与目标用户相似度较大的用户进行辅助预测;其次,提出一种多用户多阶markov预测模型,通过利用不同长度的预测序列来对用户的下一业务进行预测,从而提高预测的准确率。最后,将用户的业务兴趣考虑在内,通过分析用户对不同业务的兴趣度,对多用户多阶markov预测模型进行进一步完善,最终得到基于混合markov模型的业务协同预测算法。

本发明为解决上述技术问题采用以下技术方案:

本发明提供一种基于混合markov模型的业务协同预测方法,其特征在于,具体步骤如下:

步骤1,根据用户的业务访问特点,计算用户之间的相似度;

步骤2,在用户的历史行为序列中,选取用户最近发生的没有重复业务行为的一段历史行为序列作为预测序列;

步骤3,根据预测序列以及用户对不同业务的偏好程度,计算用户下一时刻业务的预测概率分布;

步骤4,选择与目标用户相似度最高的k个用户组成目标用户的最近邻集合,根据目标用户的最近邻集合中各个用户的下一时刻业务的预测概率分布,计算目标用户下一时刻业务的预测概率分布,目标用户下一时刻业务的预测概率分布中最大概率值对应的业务状态即为目标用户在下一时刻的预测业务状态。

作为本发明的进一步优化方案,步骤1中用户之间相似度的计算方法,具体为:

所述用户根据其业务兴趣指标值进行描述,即第i个用户ui={ui1,ui2,…,uin},其中,i=1,2,…,m,m为用户数,uia为第i个用户对第a个业务的业务兴趣指标值,a=1,2,…,n,n为业务数;

第i个用户ui与第i个用户uj之间的相似度为:sim(ui,uj)=sim(ui,uj)s+sim(ui,uj)d,其中,sim(ui,uj)s为ui和uj对任何一对业务(x,y)偏好一致时的相似度,偏好系数sim(ui,uj)d为ui和uj对任何一对业务(x,y)偏好不一致时的相似度,偏好系数

作为本发明的进一步优化方案,步骤3中用户下一时刻业务的预测概率分布ps*的计算方法,具体为:

其中,x(sl)表示l阶预测序列sl在历史行为序列中出现的次数,l阶预测序列sl表示预测序列s中最近的l个业务行为构成的序列,l表示预测序列s的长度;p(sa|sl)表示在l阶预测序列sl后发生业务状态sa的概率,x(slsa)表示在历史行为序列中出现l阶预测序列sl后业务状态sa发生的次数;p(sb|sl)表示在l阶预测序列sl后发生业务状态sb的概率,x(slsb)表示在历史行为序列中出现l阶预测序列sl后业务状态sb发生的次数;表示用户对业务状态sa的偏好程度。

作为本发明的进一步优化方案,用户对业务状态sa的偏好程度表示的均值,表示的方差,表示用户第v次在业务状态sa停留的时长。

作为本发明的进一步优化方案,步骤4中目标用户下一时刻业务的预测概率分布ps**的计算方法,具体为:

其中,ps*k表示目标用户的最近邻集合中第k个用户uk的下一时刻业务的预测概率分布,γk表示目标用户的最近邻集合中第k个用户uk的权重,sim(ur,uk)表示目标用户ur与目标用户的最近邻集合中第k个用户uk之间的相似度。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:本发明一种基于混合markov模型的业务协同预测算法,首先通过对当前的用户相似度算法进行改进,使得改进后的用户相似度算法具有区分不同数量级大小的数据的作用,准确计算出与目标用户相似度较大的用户以进行多用户预测;其次,对markov模型进行可变阶处理,以充分利用用户的历史浏览序列进行预测,通过利用不同长度的预测序列来对用户的下一业务进行预测,从而提高预测的准确率。最后,将用户对业务的兴趣度融合到预测算法中去,形成基于混合markov模型的业务协同预测算法,使得预测准确率进一步提高。

附图说明

图1是历史行为序列与预测序列示意图。

图2是一阶预测序列与历史行为序列的匹配示意图。

图3是二阶预测序列与历史行为序列的匹配示意图。

图4是本发明的方法流程图。

具体实施方式

下面结合附图对本发明的技术方案做进一步的详细说明:

本发明主要包括四个内容:一是通过对当前的用户相似度方法进行改进,使得改进后的用户相似度方法具有区分不同数量级大小的数据的作用,准确寻找与目标用户相似度较大的用户以进行辅助预测;二是提出一种单用户多阶markov预测模型,通过利用不同长度的预测序列来对用户的下一业务进行预测,从而提高预测的准确率。三是将用户的业务兴趣考虑在内,通过分析用户对不同业务的兴趣度,对单用户多阶markov预测模型进行进一步完善,四是利用相似用户对目标用户进行辅助预测,最终得到基于混合markov模型的业务协同预测方法。

一、对当前的用户相似度方法进行改进

假设用户根据其业务兴趣指标值进行描述,即第i个用户ui={ui1,ui2,…,uin},其中,i=1,2,…,m,m为用户数,uia为第i个用户对第a个业务的业务兴趣指标值,a=1,2,…,n,n为业务数。

为判断用户之间对同一个业务对的偏好是否一致,定义一个指示函数pre,则对于任何一对业务(x,y),pre满足如下定义:

当第i个用户ui与第i个用户uj对(x,y)偏好一致时,preij(x,y)=1;偏好不一致时,preij(x,y)=-1。

根据对pre的定义,利用传统的相关系数法的定义计算ui和uj之间的相似度tij为:

tij的取值范围为(-1,1),tij的值越大表示用户之间的相似度越高。

然而,传统的相关系数法只是考虑了用户间业务偏好的一致性,而没有考虑用户对不同业务的偏好程度。例如,假设ui和uj对业务1和业务2的兴趣指标分别是ui(10,120)和uj(80,120),由业务兴趣指标可知,两位用户的业务偏好都是相比业务1更喜欢业务2,从偏好程度上来说则是用户ui不太喜欢业务1,却非常喜欢业务2,而用户uj虽对两类业务都喜欢,但相比还是更喜欢业务2多一些。因此用户ui和uj相比,相对于业务1而言偏好业务2的程度更深。

为了能够表示出用户对不同业务的偏好程度,本发明中引入一个偏好系数αi,j(x,y),偏好系数αi,j(x,y)定义如下:

偏好系数αi,j(x,y)虽然可以区分用户对不同业务的偏好程度,但依然存在一些问题。例如,假设用户ui和uj对业务1和业务2的兴趣指标分别是ui(0,50)和uj(100,150),此种情况下用户ui和uj的偏好是一致的,然而明显用户ui更偏好后者,而uj对两者都比较喜爱,因此原始的αi,j(x,y)无法区分数据数量级的能力,因此,在原来的基础上,在αi,j(x,y)的公式中引入各自业务对的兴趣指标的和,形成如下的αi,j(x,y)公式:

同时,针对用户不一致的业务偏好,本发明还引入一个系数βi,j(x,y)用来反映用户ui和uj业务偏好不一致的程度,考虑到用户业务对的兴趣指标差别越大,不一致的程度应该越大,因此,将βi,j(x,y)定义如下:

例如:ui(10,30),uj(50,20)则差异度为6/28,而ui(10,30),uj(80,20)的差异度为3/10,而ui(0,100)与uj(100,0)的相异度为1。因此βi,j(x,y)具备区分相异度大小的作用。

因此,定义改进的相关系数法即用户ui和uj之间的相似度为:

sim(ui,uj)=sim(ui,uj)s+sim(ui,uj)d

其中,sim(ui,uj)s为ui和uj对任何一对业务(x,y)偏好一致时的相似度,其计算公式定义如下:

其中,presi,j(x,y)为当ui和uj对(x,y)偏好一致时为1,不一致时为0。αi,j(x,y)为偏好系数,表示ui和uj对(x,y)偏好一致的程度。

sim(ui,uj)d为ui和uj对任何一对业务(x,y)偏好不一致时的相似度,其计算公式定义如下:

其中,predi,j(x,y)为当ui和uj对(x,y)偏好一致时为0,不一致时为-1。βi,j(x,y)为偏好系数,表示ui和uj对(x,y)偏好不一致的程度。

从而,可以得到m个用户相似度矩阵:

二、单用户多阶markov预测模型

传统的一阶markov预测模型可以表示为一个三元组:(s,a,α)。其中,s是一个离散随机变量,值域为{s1,s2,...,sn},每个sa对应一种业务,称为模型的一个状态,a=1,2,…,n;a表示每个用户的转移矩阵;α为初始业务状态分布,其中a和α分别表示如下:

为了提高预测准确率,本文对传统markov模型进行变阶处理,以充分利用用户的历史浏览序列进行预测。假设在一段时间内用户产生一段历史行为序列,将其中用户最近发生的没有重复业务行为的一段历史序列作为预测序列s,预测序列s的长度为l,如图1所示.当考虑预测序列s最近的一个业务行为,即得到一阶预测序列s1,将一阶预测序列s1在历史行为序列中进行匹配,匹配成功后计算预测序列s1后的业务状态概率,如图2所示。并继续考虑预测序列s最近的两个业务行为,即得到二阶预测序列s2,将s2在历史序列中进行匹配并计算二阶预测序列s2后的业务状态概率,如图3所示,直到将整个预测序列在历史序列中匹配完毕为止。

因此,对于长度为l的l阶预测序列sl,定义在sl后发生业务状态sa的概率为p(sa|sl):

其中,p(sa|sl)表示在l阶预测序列sl后发生业务状态sa的概率,x(sl)表示l阶预测序列sl在历史行为序列中出现的次数,l阶预测序列sl表示预测序列s中最近的l个业务行为构成的序列,x(slsa)表示在历史行为序列中出现l阶预测序列sl后业务状态sa发生的次数。

进一步考虑,从用户行为出现的可能性和偶然性看,一方面,当预测序列的阶数越高,通过高阶预测序列预测到的业务应该越准确,即高阶预测模型越准确;然而预测序列阶数越高,此预测序列在历史序列中出现的次数就越少,从而导致预测结果就不太可靠,那么也就不太准确。另一方面,通过低阶预测序列预测到的业务相对来说不够准确,而低阶预测序列通常会在历史序列中大量出现,历史序列中大量的低阶预测序列则可以保证低阶预测模型预测结果的准确性。因此,从预测序列的阶数和其在历史序列中出现的次数两方面综合考虑各阶模型,对各阶模型进行加权,预测序列阶数越大,权重越大,预测序列出现的次数越多,权重也越大。

因此,定义ω(sl)作为各阶模型的权重:

将各阶预测模型下得到的业务状态sa发生的概率进行加权后求和,得到

其中,为业务状态sa发生的概率,即为用户下一时刻业务的预测概率分布,其中概率值最大的所对应的业务状态就是用户下一时刻最有可能发生的业务状态。

三、单用户多阶markov预测模型修正

在传统的预测方法中,在分析用户业务行为时通常不考虑用户对业务的偏好,而是将用户对所有业务的偏好程度看成是一致的。且,通常不考虑用户使用业务的时长,而是将其看作常量。本发明中则将用户业务行为拆分为两个过程:业务转移过程和业务停留过程。业务转移过程采用上述的加权多markov过程来描述,而业务停留过程采用业务停留时间分布来描述。通常情况下,用户对业务的偏好程度是影响用户在业务上的停留时长的主要因素,当用户访问某一业务的停留时间越长,表明用户对该业务的偏好程度越高,对该业务的偏好程度就越高,所以这一业务就应该占有越高的推荐度。当用户访问某一业务的停留时间的方差越小,表明用户对该业务的偏好程度越稳定。综合以上这两个方面,用户平均停留时间越长并且停留时间的方差越小的业务,应该占有越高的推荐度。

用户在访问某一业务时,该业务从开始到结束的时间差,再去掉中间业务暂停的时长,作为该业务的一次停留时长。本发明中利用用户的业务停留时长来定义用户对业务的偏好程度,通过对用户业务历史行为序列进行统计,得到用户对业务的停留时间分布其中,表示用户第v次使用业务sa的时长,则定义用户对业务sa的偏好程度

其中,表示的均值,表示的方差。用户业务停留时间的均值越大,业务停留时间的方差越小,则用户对业务sa的偏好程度就越高并且越稳定,因此,用户对每种业务的偏好程度可表示为向量:

将此偏好程度向量转化为对角矩阵形式:

从而得到用户下一时刻业务的预测概率分布ps*其中概率数值最大的那一维所对应的业务状态,就是用户在下一时刻最可能的业务状态。

四、基于混合markov模型的业务协同预测方法

在用户相似度矩阵sim中选择与目标用户相似度最高的k个用户组成目标用户的最近邻集合,目标用户与最近邻集合中的k个用户具有相同或相近的业务特征。该k个用户根据单用户多阶markov业务预测模型得到各自的预测结果,根据相似度矩阵计算权重系数γk,即可得到多用户融合业务预测模型:

其中,ps*k表示目标用户的最近邻集合中第k个用户uk的下一时刻业务的预测概率分布,γk表示目标用户的最近邻集合中第k个用户uk的权重,ps**即为目标用户下一时刻业务的预测概率分布,概率值最大的那一维所对应的业务状态,就是用户在下一时刻最可能的业务状态。

综上所述,基于上述多用户融合业务预测模型即可对目标用户下一时刻的业务状态进行预测,具体步骤如图4所示的本发明基于混合markov模型的业务协同预测方法流程图。

以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1