一种基于用户兴趣变化的时效推荐方法与流程

文档序号:11918955阅读:344来源:国知局
本发明涉及一种个性化推荐方法,尤其涉及一种基于用户兴趣变化的时效推荐方法。
背景技术
:互联网的出现和普及给用户带来了大量的信息,满足了用户在信息时代对信息的需求。但是,网络的迅速发展带来的信息量的大幅增长,使得用户在面对大量信息时无法从中获得对自己真正有用的那部分信息,对信息的使用效率反而降低了,这就是所谓的信息超载(informationoverload)问题。在这个信息时代,无论是信息消费者还是信息生产者都遇到了很大的挑战:作为信息消费者,如何从大量信息中找到自己感兴趣的信息是一件非常困难的事情;作为信息生产者,如何让自己生产的信息脱颖而出,受到广大用户的关注,也是一件非常困难的事情。解决信息超载问题的一个非常有效的办法就是使用个性化推荐系统。个性化推荐系统通过建立用户与信息产品之间的二元关系,利用已有的选择过程或相似性关系挖掘每个用户潜在感兴趣的对象,进而进行个性化智能推荐。但是,个性化推荐系统存在推荐时效性等问题,这些问题严重的影响了推荐系统的推荐质量。因此,对用户进行个性化推荐的时候需要考虑了用户兴趣变化。用户的兴趣不是固定不变的,是随着时间,地点等因素不断变化。然而,现有的个性化推荐系统无法针对用户兴趣变化做出时效智能推荐。技术实现要素:为克服现有技术的不足,本发明提出一种基于用户兴趣变化的时效推荐方法。本发明的技术方案是这样的,一种基于用户兴趣变化的时效推荐方法,包括步骤S1:输入用户历史数据集,根据历史评分数据,生成用户-项目评分矩阵,得到用户的评分时间,设置相似度阈值;S2:根据评分时间和用户-项目评分,计算综合时间效用函数;S3:将所述综合效用时间函数的值加入到用户相似度计算公式中,计算目标用户和其它用户的相似度,同时得到目标用户的最近用户邻域集;S4:根据目标用户的最近用户邻域集和目标用户和其它用户的相似度,计算目标用户对未评分项目的预测评分;S5:根据目标用户对未评分项目的预测评分,生成推荐列表。进一步地,步骤S3中,用户相似度计算公式为:其中,a和b分表来表示用户Ua和Ub的评分向量,R(a,c)表示用户a对项目c的评分,R(b,c)表示用户b对项目c的评分,分别为用户a、b对所有的项目评分平均值。进一步地,步骤S4中,目标用户对未评分项目的预测评分公式为:其中,为目标用户Ua的最近用户邻域集,rbi是用户Ub对未评分项目i的评分,分别为用户Ua和用户Ub对所有项目的评分的平均值。进一步地,步骤S5中所述推荐列表为:把项目按预测值由大到小的顺序进行排序,选取预测值最高的N个项目推荐给目标用户,从而得到的Top-N推荐结果列表。本发明的有益效果在于,与现有技术相比,本发明针对于用户的兴趣会随着时间的推移而可能发生改变的问题,通过构造综合时间效用函数,在计算相似度时,根据时间效用函数对于不同的评分分配其不同的效用值,以提高相似邻居用户的准确性,从而提高Top-N推荐结果的准确度。附图说明图1是本发明基于用户兴趣变化的时效推荐方法流程图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。用户的兴趣变化是随时间变化的,因此本发明提出在协同过滤算法中加入时间因子,使用时间效用函数来表征时间因素的作用。时间效用函数主要是用来计算用户对项目评分的效果,假设用户的兴趣变化是按照某种线性的方式不断变化,并且变化过程大致和人类记忆的遗忘曲线相识,提出时间效用函数R(t):t为评分发生的时间,tm为当前时间,0<R(t)<1。在时间效用函数R(t)上,随着时间的推移,用户对项目的评分效用会呈现线性降低。用户对项目的评分时间越接近当前时效,用户的评分效果越高,反之,评分效果越低。提出时间效用函数R(t)后,那么在计算用户间相似度时就要加入效用函数R(t),反映出时间因素对用户兴趣变化的影响。计算用户间相似度的主要依据是各用户对共同项目的评分值,时间效用函数R(t)会赋予评分不同的效用值。但是评分时间之间的相关性也会对相似度计算有一定的影响,所以提出评分时间相关度函数Pab(t)。tai代表了用户a对于项目i评分的时间,tbi代表用户b对于项目i评分时间。时间相关度函数Pab(t)主要是用来判定用户之间对项目评分时间的相关性,用户之间对同一个项目的评分时间越接近,则相关度高,反之,相关度低。综合考虑到时间效用函数R(t)、时间相关度函数Pab(t)的作用提出综合时间效用函数W(t):W(t)=λR(t)+(1-λ)P(t)λ表示平衡调节参数,综合的时间权重函数W(t),不但考虑了评分时间的相关性而且还考虑了评分时间的效用值。在推荐系统中将该函数加入到计算相似度的过程中,对用户的每个评分数据都加入时间权重,把时间权重函数W(t)的引入到推荐算法中,计算相似度时为每个用户的评分按时间效用值赋予一定的权重。请参见图1,本发明的输入是用户历史数据集,目标用户Ua,用户评分时间t,输出是目标用户Top-N推荐列表。S1:根据历史评分数据,生成用户-项目评分矩阵Rm×n。并得到用户所有的评分时间t,指定相似度阀值K。用户-项目评分矩阵user\itemi1i1…ij…i(N-1)iNu1R11R12…R1j…R1(N-1)R1Nu1R21R22…R2j…R2(N-1)R21……………………u(M-1)R(M-1)1R(M-1)2…R(M-1)j…R(M-1)(N-1)R(M-1)MuMRM1RM2…RMj…RM(N-1)RMNRij表示第i个用户对第j个项目的评分,M代表用户的数量,N为物品数量。S2:根据评分矩阵Rm×n以及评分时间等相关数据,计算综合时间效用函数W(t)的值。找出目标用户Ua和其他任意用户Ub共同的评分项目集合I={i1,i2,i3,…,in},分别计算目标用户和其他用户对项目ic的评分时间相关度P(t)和评分权重R(t),得到时间权重值W(t)的值。S3:计算用户间的相似度。计算相似度时引入步骤S2算出的时间权重函数W(t)的值,并将该值加入到计算相似度的公式中。计算目标用户和其他用户之间的相似度sim(Ua,Ub),如果sim(Ua,Ub)>K,则将该用户添加到目标用户的最近用户邻域集KNN(u)中。相似度计算公式使用修正过的余弦相似度量方法。将用户向量定义为评分矩阵中用户对所有项目的一个行为:将项目向量定义为所有用户对某一项目的喜好程度。a和b分表来表示用户Ua和Ub的评分向量R(a,c)表示用户a对项目c的评分,R(b,c)表示用户b对项目c的评分。修正的余弦相似度量方法将某一用户对所有项目评分的平均值看做评分度量尺度。分别为用户a、b对所有的项目评分平均值。S4:对未评分项目进行评分预测。从步骤S3中可以得到目标用户的Ua的最近用户邻域集KNN(u)及目标用户和其他用户的相似度数值sim(Ua,Ub),结合得到的相似度数值sim(Ua,Ub)和预测评分值计算公式p(Ua,i)计算出目标用户对项目的预测评分。评分预测公式:其中,为目标用户Ua的最近用户邻域集,rbi是用户Ub对项目i的评分,分别为用户Ua和用户Ub对所有项目的评分的平均值。评分预测使用平均归一化方法,去避免了不同用户评价标准不同,对预测结果的影响,并考虑目标用户的评分平均值和最近邻用户的评分平均值,然后结合相似度值sim(Ua,Ub)得到预测评分。S5:生成Top-N推荐列表。通过上述步骤计算得到预测评分集合,并把项目按预测值由大到小的顺序进行排序,选取预测值最高的N个项目推荐给目标用户,从而得到Top-N的推荐结果集。以上所述是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1