CN109543109A - 一种融合时间窗技术和评分预测模型的推荐算法 - Google Patents
一种融合时间窗技术和评分预测模型的推荐算法 Download PDFInfo
- Publication number
- CN109543109A CN109543109A CN201811425529.2A CN201811425529A CN109543109A CN 109543109 A CN109543109 A CN 109543109A CN 201811425529 A CN201811425529 A CN 201811425529A CN 109543109 A CN109543109 A CN 109543109A
- Authority
- CN
- China
- Prior art keywords
- user
- project
- score
- time
- scoring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种融合时间窗技术和评分预测模型的推荐算法,属于电子商务技术领域,本发明要解决的技术问题协同过滤推荐算法中存在的数据稀疏性问题以及用户兴趣随时间变化的问题,采用的技术方案为:基于协同过滤推荐算法和时间窗技术,采用一种新的评分预测模型来补全评分矩阵,该评分预测模型能够在一定程度上克服传统非负矩阵分解评分预测模型所造成的时间复杂度过高以及评分预测结果不唯一的问题,提高评分预测精度的同时减轻数据稀疏对协同过滤算法的影响,再利用推荐模型根据用户的兴趣预测用户可能偏好的项目并选取用户预测评分较高的项目利用TopN推荐方法生成综合推荐列表,提升算法的推荐效果。
Description
技术领域
本发明涉及一种电子商务技术领域,具体地说是一种融合时间窗技术和评分预测模型的推荐算法。
背景技术
互联网飞速发展使得人类信息总量***式增长,出现了信息超载,人们被海量的信息所淹没,例如Amazon上有数百万本书,Del.icio.us上面有超过10亿的网页收藏,人们要发现对自己感兴趣的内容是非常困难的,个性化推荐***的出现缺改变了这一现状,利用推荐***记录用户的行为记录,并结合用户、商品之间的关系,用户甚至不需要做出任何形式搜索就会看到自己所感兴趣的商品。因此推荐***不管是在学术界还是工业界都受到了极大的关注和研究。
推荐***方法主要包括基于内容算法和协同过滤两大类。基于内容的推荐算法主要通过文本处理技术将用户兴趣用一个多维向量表示,同时对项目也进行特征提取建立特征向量。通过计算用户兴趣向量和项目特征向量之间的相似性来进行推荐。
协同过滤则包括基于记忆算法和基于模型算法以及各种融合算法。基于记忆的协同过滤算法首先根据用户以往的行为记录,计算用户之间、项目之间的相似性。然后向用户推荐和其相似度大的用户所购买、评分的项目或者推荐和该用户以前购买项目相似度大的项目。然而实际的电子商务***数据量非常庞大,用户评分矩阵十分稀疏,利用传统的基于记忆推荐算法准确率较低。
主流的推荐算法有协同过滤推荐和上下文推荐,协同过滤推荐算法当属经典的推荐算法,当前的协同过滤推荐主要有三类,分别是基于内存、基于模型以及混合推荐,不同的分类应对不同的需求和应用,协同过滤算法的优点比较突出,模型通过性强,实现起来比较简单,效果也很好,缺点也比较明显,如冷启动问题以及用户兴趣随时间变化的问题。
基于模型的协同推荐算法根据用户以前的评分和各种隐含的偏好计算出用户行为模型。然后根据模型对用户的评分行为进行预测。矩阵分解推荐算法通过为n个用户和m个项目建立k维特征向量,将一个n×m大小的评分矩阵转换成了n×k和k×m两个矩阵,然后计算用户特征向量和项目特征向量的点积来对项目进行评分。很多推荐算法都通过计算用户的全局相似度来寻找近邻进行推荐,但是用户的兴趣可能只是在某一方面相似,因此基于贝叶斯分类的推荐模型把评分分类,分别采用不同的相似用户进行推荐。推荐领域中的模型很多,其中矩阵分解模型具有良好的性能,因此很多学者都致力于使用矩阵分解来进行个性化推荐,例如非负矩阵分解,其主要缺点在于时间复杂度比较高,得到的结果不唯一从而难以获得全局最小点。
概率隐语意(PLSA)方法也是一种基于模型算法,该算法提取隐含变量来对用户偏好进行建模,能获得比较高的准确率。这些广泛使用的推荐算法大都是静态模型,只是单纯的整合用户历史数据,并未考虑用户兴趣变化情况。
推荐***和个性化定制服务作为克服数据过载的重要方法已经广泛应用于电子商务领域,但是如何应对传统非负矩阵所存在的时间复杂度高,得到的结构不唯一以及协同过滤推荐算法中用户兴趣随时间变化是目前急需解决的技术问题。
发明内容
本发明的技术任务是提供一种融合时间窗技术和评分预测模型的推荐算法,来解决传统非负矩阵所存在的时间复杂度高,得到的结构不唯一以及协同过滤推荐算法中用户兴趣随时间变化的问题。
本发明的技术任务是按以下方式实现的,一种融合时间窗技术和评分预测模型的推荐算法,该方法是基于协同过滤推荐算法和时间窗技术,利用评分预测模型计算用户的兴趣相似度,再利用推荐模型根据用户的兴趣预测用户可能偏好的项目并选取用户预测评分较高的项目利用TopN推荐方法生产推荐列表;
具体方法如下:
S1、通过用户对项目的评分构建用户-项目评分矩阵,并对评分进行归一化处理得到归一化用户-项目评分矩阵;
S2、根据评分预测模型,通过推荐模型计算并获得用户的特征矩阵和项目的特征矩阵,两者相乘进而获得用户对未评分项目的预测评分,并利用TopN推荐方法得到TopN2推荐列表;
S3、将获得的预测评分根据归一化处理的原则还原到原始评分,从而得到一个稠密的评分矩阵,并采用时间窗技术划分多个不同的时间窗口,根据时间窗口为已评分项赋予时间刻度,计算各个用户预测评分项与每一个时间窗口中项目集合的总体相似性,将最高相似性的时间窗口内任意一个时间刻度作为预测物品评分行为的时间刻度;
S4、采用协同过滤算法计算用户之间的兴趣相似度并构建用户兴趣相似度矩阵,再计算目标用户对资源的兴趣偏好,将用户兴趣最高的前N个商品利用TopN推荐方法生产TopN1推荐列表,并将之与TopN2推荐列表融合生成TopN推荐列表。
作为优选,所述步骤S1中对评分进行归一化处理的方法具体公式如下:
其中,u表示用户;i表示项目;m表示根据***支持的评分数据范围获得的最高评分值;ru,i表示用户对项目的真实评分值;表示用户对项目的真实评分值做归一化处理后的评分值,
作为优选,所述评分预测模型用于预测用户对未评分项目的评分;具体如下:
通过用户u的真实评分可以计算得到其中ρu,i用于计算归一化的评分结果,进而确定未知变量,从而得以确定用户和项目的特征向量,在得到相应的用户和项目的特征向量后即可通过矩阵运算得到用户对未评分项目的评分。、
图1中,α和β表示模型的参数;α代表用户特征重叠程度,取值范围[0,1],当α接近0时,代表用户趋于同一特征,简而言之就是用户特征比较单一,α较大则说明对应用户趋于不同的用户特征,用户的特征比较多;β大于1,其值越大代表证明某用户某个特征突出所需要的信息越多,k表示向量的维数;u表示用户,i表示项目,V表示项目特征向量,项目特征矩阵的初始化采用的是贝塔分布Vi,k~Beta(β,β),取值范围是[0,1];Un表示用户的特征向量,具体到用户u的特征向量服从狄利克雷分布,记为向量(Uu,1,…,Uu,k)表示用户u在各个维度上的分量,由于使用了狄利克雷分布模型,不存在实数值或整形值;模型中Zu,i和ρi,u是为每个用户u和项目i设置的随机变量;Zu,i是服从分类分布的随机变量,Zu,i中的值表示用户u对项目i的评分;ρu,i是服从二项分布的随机变量,代表着用户对某个偏好项目的置信度。
更优地,所述推算模型用于根据用户的兴趣偏好来预测用户可能偏好的项目;推算模型的具体实现方法如下:
(1)、输入α、β和评分矩阵R;其中,α和β表示推算模型的参数;α代表用户特征重叠程度,0≤α≤1;当α接近0时,代表用户趋于同一特征,即用户特征比较单一;α较大,则说明趋于不同的用户特征,即用户的特征比较多;β表示用户某个特征突出所需信息的多少,β>1,其值越大代表某用户某个特征突出所需要的信息越多;
(2)、对评分矩阵R做归一化处理生成矩阵R′;
(3)、随机初始化自由参数γu,k、和γu,k为u×k维的矩阵,和分别为v×k维的矩阵;其中,u表示用户,k表示矩阵为维度,v表示项目;
(4)、根据用户u的真实评分记录计算相应用户u对相应项目i的λu,i,k:
其中,λu,i,k表示相关变量Zu,i所服从的分类分布中的参数,λ'u,i,k表示计算λu,i,k的中间量;
Ψ定义为伽马函数的对数导数,
其中,Γ(x)表示伽马函数;Γ′(x)表示伽马函数的导数;Y表示与***支持的最高评分有关,Y为常量,固定为4;ρu,i表示用户u偏好项目i的条件概率分布;x表示;
(5)、根据用户u的真实评分记录计算并更新相应用户u的γu,k:
其中,γu,k表示用户u服从的狄利克雷分布中的相关参数;
(6)、根据用户u的真实评分记录计算并更新相应项目i的
(7)、γu,k、和的参数值是否变化明显:
①、若明显,则重复执行步骤(4)到(6);
②、若不明显,则执行步骤(8);
(8)、计算用户u的特征矩阵Uu,k:计算项目特征矩阵Vi,k:
(9)、计算用户u对项目i的偏好预测:
(10)、评分预测补全矩阵R′,利用TopN推荐方法生成TopN2推荐列表;
(11)、根据时间窗技术划分时间窗口;
(12)、计算项目相似度:
其中,sim(i,j)表示项目i和项目j的相似度;W(u,i)和W(u,j)表示时间权重和数据权重相结合的权重;和分别表示项目i和项目j的平均评分,表示用户u打分的平均分;
(13)、计算每一个用户未评分项目与个时间窗口中项目的综合相似度:
其中,Iu,j表示用户u第j个时间窗口中的项目集合,size(Iu,j)表示集合Iu,j的大小;
(14)、选取前k′个相似度最高的项目赋予时间刻度(选择相似度最高的前k′个未评分项目赋予时间刻度,k′的最优值根据数据集的不同而不同,需要通过实验获得最优值);
(15)、将带有时间刻度的稠密矩阵转换成用户-项目-时间的三维评分矩阵;
(16)、获取用户之间的相似度:
其中,ti表示相应的用户对相应项目评分的时间权值,通过用户-项目-时间三维矩阵获取;
(17)、获得用户对未评分项目的偏好值:
其中,S(u,k)表示和用户兴趣相似的前k个用户,N(i)表示对项目i有过评分的用户集合,sim(u,v)表示用户u和用户v之间的兴趣相似度;
(18)、在评分预测的基础上,选取用户预测评分较高的项目生成TopN2推荐列表,并与TopN1推荐列表加权汇总成新的TopN推荐列表,公式如下:
TopN=εTopN1+(1-ε)TopN2
其中,ε取值介于0和1之间,不同的数据集有不同的ε最优值。
更优地,所述步骤(11)中根据时间窗技术划分时间窗口的计算方法如下:
Tuk(k)=Tu0-θ(k-1)-ka1
其中,α1表示第一个时间窗口的大小,代表用户兴趣的长短,值越大,窗口越大;θ表示时间窗扣间隔增长幅度,依次为Tu1,Tu2,…,Tuk,代表用户长期兴趣变化快慢程度,值越大表示用户兴趣变化越快,反之,变化越慢。
更优地,所述时间窗口不同将对应不同的权值,采用艾宾浩斯遗忘曲线作为时间函数:
f(u,i)=0.318×(T0-Tuk)-0.125
其中,Tuk表示用户u访问i时的时间所在的时间窗;f(u,i)值的范围是[0,1],呈现先快后慢的遗忘规律;
结合数据权重定义目标用户对项目的兴趣度:
W(u,i)=f(u,i)×β1+w(u,i)×(1-β1),β1∈[0,1]
其中,w(u,i)表示用户u最近时间段内对项目i的兴趣度;I表示用户最近时间段(Tu1~Tu0)内访问过的项目集合;sim(i,j)的表示项目i和项目j的相似度;
更优地,w(u,i)中项目相似度sim(i,j)的计算采用修正的余弦相似度:
其中,和分别表示项目i和项目j的平均评分,表示用户u打分的平均分。
本发明的融合时间窗技术和评分预测模型的推荐算法具有以下优点:
(一)、本发明主要包含两部分,分别是评分预测模型和协同过滤推荐模型,对于时间的处理采用的是时间窗技术,通过该方法能够弥补数据稀疏性对协同过滤算法的影响,并且由于时间窗技术的引入,使推荐结果能够更好的契合用户的兴趣变化;
(二)、本发明采用新的评分预测模型,相较于传统的矩阵分解算法,评分预测得到大大提高;
(三)、本发明采用了时间窗技术划分时间窗口,考虑到了时间因素对用户兴趣的影响,从而使推荐结果更加合理;
(四)、将评分预测模型与时间窗技术与协同过滤算法相结合,不仅能够弥补协同过滤算法中存在的冷启动问题,同时也能改善数据稀疏性对协同过滤算法的影响,特别是时间窗技术的加入,使协同过滤算法能够适应用户的兴趣变化,从而提高推荐的效果;
(五)、本发明在协同过滤算法中融合新的非负矩阵分解算法与时间窗技术,综合这二者的优点以应对传统非负矩阵所存在的缺陷以及协同过滤推荐算法中用户兴趣随时间变化的问题,使协同过滤算法能够适应用户的兴趣变化,从而提高推荐的效果。
附图说明
下面结合附图对本发明进一步说明。
附图1为本发明的流程框图;
附图2为评分预测模型的关系示意图;
附图3为时间窗口划分示意图;
附图4为准确率的曲线图;
附图5为召回率的曲线图。
具体实施方式
参照说明书附图和具体实施例对本发明的一种融合时间窗技术和评分预测模型的推荐算法作以下详细地说明。
实施例一:
本发明的融合时间窗技术和评分预测模型的推荐算法,该方法是基于协同过滤推荐算法和时间窗技术,利用评分预测模型计算用户的兴趣相似度,再利用推荐模型根据用户的兴趣预测用户可能偏好的项目并选取用户预测评分较高的项目利用TopN推荐方法生产TopN推荐列表;
具体方法如下:
S1、通过用户对项目的评分构建用户-项目评分矩阵,并对评分进行归一化处理得到归一化用户-项目评分矩阵;
S2、根据评分预测模型,通过推荐模型计算并获得用户的特征矩阵和项目的特征矩阵,两者相乘进而获得用户对未评分项目的预测评分,并利用TopN推荐方法得到TopN2推荐列表;
对评分进行归一化处理的方法具体公式如下:
其中,u表示用户;i表示项目;m表示根据***支持的评分数据范围获得的最高评分值;ru,i表示用户对项目的真实评分值;表示用户对项目的真实评分值做归一化处理后的评分值,
S3、将获得的预测评分根据归一化处理的原则还原到原始评分,从而得到一个稠密的评分矩阵,并采用时间窗技术划分多个不同的时间窗口,根据时间窗口为已评分项赋予时间刻度,计算各个用户预测评分项与每一个时间窗口中项目集合的总体相似性,将最高相似性的时间窗口内任意一个时间刻度作为预测物品评分行为的时间刻度;通过评分预测模型对评分矩阵进行补全,进而获得稠密的评分矩阵,在此基础上,为评分矩阵中的评分赋予时间刻度,根据相关研究可以得知用户的兴趣具有时间性,会随着时间的变化而变化,但短期的用户兴趣基本不变,根据相关研究中提出的拟人遗忘规律时间曲线,将用户最早评分项目的时间设为0以及用户最后的评分项目时间设为Tu0,将0至Tu0这一段时间划分成多个时间片段,如图3所示。
S4、采用协同过滤算法计算用户之间的兴趣相似度并构建用户兴趣相似度矩阵,再计算目标用户对资源的兴趣偏好,将用户兴趣最高的前N个商品利用TopN推荐方法生产TopN1推荐列表,并将之与TopN2推荐列表融合生成TopN推荐列表。
其中,评分预测模型用于预测用户对未评分项目的评分;具体如下:
通过用户u的真实评分可以计算得到其中,ρu,i用于计算归一化的评分结果,进而确定未知变量,从而得以确定用户和项目的特征向量,在得到相应的用户和项目的特征向量后即可通过矩阵运算得到用户对未评分项目的评分。
如附图2所示,α和β表示模型的参数;α代表用户特征重叠程度,取值范围[0,1],当α接近0时,代表用户趋于同一特征,简而言之就是用户特征比较单一,α较大则说明对应用户趋于不同的用户特征,用户的特征比较多;β大于1,其值越大代表证明某用户某个特征突出所需要的信息越多,k表示向量的维数;
u表示用户,i表示项目,V表示项目特征向量,项目特征矩阵的初始化采用的是贝塔分布Vi,k~Beta(β,β),取值范围是[0,1];Un表示用户的特征向量,具体到用户u的特征向量服从狄利克雷分布,记为向量(Uu,1,…,Uu,k)表示用户u在各个维度上的分量,由于使用了狄利克雷分布模型,不存在实数值或整形值;模型中Zu,i和ρi,u是为每个用户u和项目i设置的随机变量;Zu,i是服从分类分布的随机变量,Zu,i中的值表示用户u对项目i的评分;ρi,u是服从二项分布的随机变量,代表着用户对某个偏好项目的置信度。
如附图1所示,推算模型用于根据用户的兴趣偏好来预测用户可能偏好的项目;推算模型的具体实现方法如下:
(1)、输入α、β和评分矩阵R;其中,α和β表示推算模型的参数;α代表用户特征重叠程度,0≤α≤1;当α接近0时,代表用户趋于同一特征,即用户特征比较单一;α较大,则说明趋于不同的用户特征,即用户的特征比较多;β表示用户某个特征突出所需信息的多少,β>1,其值越大代表某用户某个特征突出所需要的信息越多;
(2)、对评分矩阵R做归一化处理生成矩阵R′;
(3)、随机初始化自由参数γu,k、和γu,k为u×k维的矩阵,和分别为v×k维的矩阵;其中,u表示用户,k表示矩阵为维度,v表示项目;
(4)、根据用户u的真实评分记录计算相应用户u对相应项目i的λu,i,k:
其中,λu,i,k表示相关变量Zu,i所服从的分类分布中的参数,λ′u,i,k表示计算λu,i,k的中间量;
上式中Ψ定义为伽马函数的对数导数,
其中,Γ(x)表示伽马函数;Γ′(x)表示伽马函数的导数;Y表示与***支持的最高评分有关,Y为常量,固定为4;ρu,i表示用户u偏好项目i的条件概率分布;x表示;
(5)、根据用户u的真实评分记录计算并更新相应用户u的γu,k:
其中,γu,k表示用户u服从的狄利克雷分布中的相关参数;
(6)、根据用户u的真实评分记录计算并更新相应项目i的
(7)、γu,k、和的参数值是否变化明显:
①、若明显,则重复执行步骤(4)到(6);
②、若不明显,则执行步骤(8);
(8)、计算用户u的特征矩阵Uu,k:计算项目特征矩阵Vi,k:
(9)、计算用户u对项目i的偏好预测:
(10)、评分预测补全矩阵R′,利用TopN推荐方法生成TopN2推荐列表;
(11)、根据时间窗技术划分时间窗口;根据时间窗技术划分时间窗口的计算方法如下:
Tuk(k)=Tu0-θ(k-1)-ka1
其中,α1表示第一个时间窗口的大小,代表用户兴趣的长短,值越大,窗口越大;θ表示时间窗扣间隔增长幅度,依次为Tu1,Tu2,…,Tuk,代表用户长期兴趣变化快慢程度,值越大表示用户兴趣变化越快,反之,变化越慢。本实施例中,θ=0,即将时间窗进行均等划分。
时间窗口不同将对应不同的权值,采用艾宾浩斯遗忘曲线作为时间函数:
f(u,i)=0.318×(T0-Tuk)-0.125
其中,Tuk表示用户u访问i时的时间所在的时间窗;f(u,i)值的范围是[0,1],呈现先快后慢的遗忘规律;
结合数据权重定义目标用户对项目的兴趣度:
W(u,i)=f(u,i)×β1+w(u,i)×(1-β1),β1∈[0,1]
其中,w(u,i)表示用户u最近时间段内对项目i的兴趣度;I表示用户最近时间段(Tu1~Tu0)内访问过的项目集合;sim(i,j)的表示项目i和项目j的相似度;sim(i,j)的计算采用修正的余弦相似度:
其中,和分别表示项目i和项目j的平均评分,表示用户u打分的平均分。
(12)、计算项目相似度:
其中,sim(i,j)表示项目i和项目j的相似度;W(u,i)和W(u,j)表示时间权重和数据权重相结合的权重;和分别表示项目i和项目j的平均评分,表示用户u打分的平均分;
(13)、计算每一个用户未评分项目与个时间窗口中项目的综合相似度:
其中,Iu,j表示用户u第j个时间窗口中的项目集合,size(Iu,j)表示集合Iu,j的大小;
(14)、选取前k′个相似度最高的项目赋予时间刻度(选择相似度最高的前k′个未评分项目赋予时间刻度,k′的最优值根据数据集的不同而不同,需要通过实验获得最优值);
(15)、将带有时间刻度的稠密矩阵转换成用户-项目-时间的三维评分矩阵;
(16)、获取用户之间的相似度,使用基于时间加权的皮尔逊相关相似性计算用户兴趣相似度:
其中,使用逻辑斯蒂函数做权重函数,对不同时间窗赋予不同的权重,相同时间窗中的评分赋予相同的权重公式如下:ti表示相应的用户对相应项目评分的时间权值,通过用户-项目-时间三维矩阵获取;
(17)、获得用户对未评分项目的偏好值:
其中,S(u,k)表示和用户兴趣相似的前k个用户,N(i)表示对项目i有过评分的用户集合,sim(u,v)表示用户u和用户v之间的兴趣相似度;
(18)、在评分预测的基础上,选取用户预测评分较高的项目生成TopN2推荐列表,并与TopN1推荐列表加权汇总成新的TopN推荐列表,公式如下:
TopN=εTopN1+(1-ε)TopN2
其中,ε取值介于0和1之间,不同的数据集有不同的ε最优值。
实施例二:具体实施
A、采用数据集Netflix、Movielens 20M、Movielens 10M、Movielens1M和Epinion;根据用户对项目的评分构建用户—项目评分矩阵,并对评分进行归一化处理得到归一化评分矩阵;
B、通过评分预测模型获得用户对项目的预测评分,并生成TopN2推荐列表,评分的准确度采用MAE和CMAE,计算公式如下:
结果如下表所示:
C、通过评分预测可以将评分矩阵进行补全,获得稠密的用户评分矩阵,采用时间窗技术(根据相关研究成果将时间窗口的个数设置为6,均等划分),并通过计算项目之间的相似度sim(i,j),进而获得各个用户预测评分项与每一个时间窗中项目集合的总体相似性sim(i,Iu,j),选择相似度最高的前k′个未评分项目赋予时间刻度。
D、最终将带有时间信息的稠密矩阵转换成用户-项目-时间三维评分矩阵,在此基础上计算用户兴趣相似度sim(u,v),进而计算用户对项目感兴趣的程度,并生成TopN1推荐列表,最后生成TopN推荐列表并反馈给用户,推荐列表的效果采用准确率和召回率来衡量,如附图4和5所示。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (7)
1.一种融合时间窗技术和评分预测模型的推荐算法,其特征在于,该方法是基于协同过滤推荐算法和时间窗技术,利用评分预测模型计算用户的兴趣相似度,再利用推荐模型根据用户的兴趣预测用户可能偏好的项目并选取用户预测评分较高的项目利用TopN推荐方法生产推荐列表;
具体方法如下:
S1、通过用户对项目的评分构建用户-项目评分矩阵,并对评分进行归一化处理得到归一化用户-项目评分矩阵;
S2、根据评分预测模型,通过推荐模型计算并获得用户的特征矩阵和项目的特征矩阵,两者相乘进而获得用户对未评分项目的预测评分,并利用TopN推荐方法得到TopN2推荐列表;
S3、将获得的预测评分根据归一化处理的原则还原到原始评分,从而得到一个稠密的评分矩阵,并采用时间窗技术划分多个不同的时间窗口,根据时间窗口为已评分项赋予时间刻度,计算各个用户预测评分项与每一个时间窗口中项目集合的总体相似性,将最高相似性的时间窗口内任意一个时间刻度作为预测物品评分行为的时间刻度;
S4、采用协同过滤算法计算用户之间的兴趣相似度并构建用户兴趣相似度矩阵,再计算目标用户对资源的兴趣偏好,将用户兴趣最高的前N个商品利用TopN推荐方法生产TopN1推荐列表,并将之与TopN2推荐列表融合生成TopN推荐列表。
2.根据权利要求1所述的融合时间窗技术和评分预测模型的推荐算法,其特征在于,所述步骤S1中对评分进行归一化处理的方法具体公式如下:
其中,u表示用户;i表示项目;m表示根据***支持的评分数据范围获得的最高评分值;ru,i表示用户对项目的真实评分值;表示用户对项目的真实评分值做归一化处理后的评分值,
3.根据权利要求1或2所述的融合时间窗技术和评分预测模型的推荐算法,其特征在于,所述评分预测模型用于预测用户对未评分项目的评分;具体如下:
通过用户u的真实评分可以计算得到其中,ρu,i用于计算归一化的评分结果,进而确定未知变量,从而得以确定用户和项目的特征向量,在得到相应的用户和项目的特征向量后即可通过矩阵运算得到用户对未评分项目的评分。
4.根据权利要求3所述的融合时间窗技术和评分预测模型的推荐算法,其特征在于,所述推算模型用于根据用户的兴趣偏好来预测用户可能偏好的项目;推算模型的具体实现方法如下:
(1)、输入α、β和评分矩阵R;其中,α和β表示推算模型的参数;α代表用户特征重叠程度,0≤α≤1;当α接近0时,代表用户趋于同一特征,即用户特征比较单一;α较大,则说明趋于不同的用户特征,即用户的特征比较多;β表示用户某个特征突出所需信息的多少,β>1,其值越大代表某用户某个特征突出所需要的信息越多;
(2)、对评分矩阵R做归一化处理生成矩阵R′;
(3)、随机初始化自由参数γu,k、和γu,k为u×k维的矩阵,和分别为v×k维的矩阵;其中,u表示用户,k表示矩阵为维度,v表示项目;
(4)、根据用户u的真实评分记录计算相应用户u对相应项目i的λu,i,k:
其中,λu,i,k表示相关变量Zu,i所服从的分类分布中的参数,λ″u,i,k表示计算λu,i,k的中间量;
上式中Ψ定义为伽马函数的对数导数,
其中,Γ(x)表示伽马函数;Γ′(x)表示伽马函数的导数;Y表示与***支持的最高评分有关,Y为常量,固定为4;ρu,i表示用户u偏好项目i的条件概率分布;
(5)、根据用户u的真实评分记录计算并更新相应用户u的γu,k:
其中,γu,k表示用户u服从的狄利克雷分布中的相关参数;
(6)、根据用户u的真实评分记录计算并更新相应项目i的
(5)、γu,k、和的参数值是否变化明显:
①、若明显,则重复执行步骤(4)到(6);
②、若不明显,则执行步骤(8);
(8)、计算用户u的特征矩阵Uu,k:
计算项目特征矩阵Vi,k:
(9)、计算用户u对项目i的偏好预测:
(10)、评分预测补全矩阵R′,利用TopN推荐方法生成TopN2推荐列表;
(11)、根据时间窗技术划分时间窗口;
(12)、计算项目相似度:
其中,sim(i,j)表示项目i和项目j的相似度;W(u,i)和W(u,j)表示时间权重和数据权重相结合的权重;和分别表示项目i和项目j的平均评分,表示用户u打分的平均分;
(13)、计算每一个用户未评分项目与个时间窗口中项目的综合相似度:
其中,Iu,j表示用户u第j个时间窗口中的项目集合,size(Iu,j)表示集合Iu,j的大小;
(14)、选取前k′个相似度最高的项目赋予时间刻度;
(15)、将带有时间刻度的稠密矩阵转换成用户-项目-时间的三维评分矩阵;
(16)、获取用户之间的相似度:
其中,ti表示相应的用户对相应项目评分的时间权值,通过用户-项目-时间三维矩阵获取;
(17)、获得用户对未评分项目的偏好值:
其中,S(u,k)表示和用户兴趣相似的前k个用户,N(i)表示对项目i有过评分的用户集合,sim(u,v)表示用户u和用户v之间的兴趣相似度;
(18)、在评分预测的基础上,选取用户预测评分较高的项目生成TopN2推荐列表,并与TopN1推荐列表加权汇总成新的TopN推荐列表,公式如下:
TopN=εTopN1+(1-ε)TopN2
其中,ε取值介于0和1之间,不同的数据集有不同的ε最优值。
5.根据权利要求4所述的融合时间窗技术和评分预测模型的推荐算法,其特征在于,所述步骤(11)中根据时间窗技术划分时间窗口的计算方法如下:
Tuk(k)=Tu0-θ(k-1)-ka1
其中,α1表示第一个时间窗口的大小,代表用户兴趣的长短,值越大,窗口越大;θ表示时间窗扣间隔增长幅度,依次为Tu1,Tu2,…,Tuk,代表用户长期兴趣变化快慢程度,值越大表示用户兴趣变化越快,反之,变化越慢。
6.根据权利要求5所述的融合时间窗技术和评分预测模型的推荐算法,其特征在于,所述时间窗口不同将对应不同的权值,采用艾宾浩斯遗忘曲线作为时间函数:
f(u,i)=0.318×(T0-Tuk)-0.125
其中,Tuk表示用户u访问i时的时间所在的时间窗;f(u,i)值的范围是[0,1],呈现先快后慢的遗忘规律;
结合数据权重定义目标用户对项目的兴趣度:
W(u,i)=f(u,i)×β1+w(u,i)×(1-β1),β1∈[0,1]
其中,w(u,i)表示用户u最近时间段内对项目i的兴趣度;I表示用户最近时间段(Tu1~Tu0)内访问过的项目集合;sim(i,j)的表示项目i和项目j的相似度。
7.根据权利要求6所述的融合时间窗技术和评分预测模型的推荐算法,其特征在于,所述权利要求6中项目相似度sim(i,j)的计算采用修正的余弦相似度:
其中,和分别表示项目i和项目j的平均评分,表示用户u打分的平均分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811425529.2A CN109543109B (zh) | 2018-11-27 | 2018-11-27 | 一种融合时间窗技术和评分预测模型的推荐算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811425529.2A CN109543109B (zh) | 2018-11-27 | 2018-11-27 | 一种融合时间窗技术和评分预测模型的推荐算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109543109A true CN109543109A (zh) | 2019-03-29 |
CN109543109B CN109543109B (zh) | 2021-06-22 |
Family
ID=65851074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811425529.2A Active CN109543109B (zh) | 2018-11-27 | 2018-11-27 | 一种融合时间窗技术和评分预测模型的推荐算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109543109B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110544129A (zh) * | 2019-09-05 | 2019-12-06 | 创新奇智(青岛)科技有限公司 | 一种面向社交电商用户的个性化推荐方法 |
CN111310033A (zh) * | 2020-01-23 | 2020-06-19 | 山西大学 | 基于用户兴趣漂移的推荐方法及推荐装置 |
CN111311324A (zh) * | 2020-02-18 | 2020-06-19 | 电子科技大学 | 基于稳定神经协同过滤的用户-商品偏好预测***和方法 |
CN111339435A (zh) * | 2020-02-10 | 2020-06-26 | 南京邮电大学 | 一种基于潜在因子的矩阵分解补全混合推荐方法 |
CN111382361A (zh) * | 2020-03-12 | 2020-07-07 | 腾讯科技(深圳)有限公司 | 信息推送方法、装置、存储介质和计算机设备 |
CN111475744A (zh) * | 2020-04-03 | 2020-07-31 | 南京理工大学紫金学院 | 一种基于集成学习的个性化位置推荐方法 |
CN112069417A (zh) * | 2020-08-24 | 2020-12-11 | 北京神舟航天软件技术有限公司 | 一种工作分解结构wbs模板推荐方法 |
CN112530520A (zh) * | 2019-09-17 | 2021-03-19 | 中山大学 | 一种基于评分机制与LightGBM的CircRNA功能预测方法 |
CN112860984A (zh) * | 2019-11-27 | 2021-05-28 | 中移(苏州)软件技术有限公司 | 一种推荐方法、装置及储存介质 |
CN113011950A (zh) * | 2021-03-30 | 2021-06-22 | 吉林亿联银行股份有限公司 | 一种产品推荐方法及装置 |
CN113360759A (zh) * | 2021-06-09 | 2021-09-07 | 南京大学 | 一种基于用户和项目双重时序相关性的众测任务推荐方法 |
CN116028727A (zh) * | 2023-03-30 | 2023-04-28 | 南京邮电大学 | 一种基于图像数据处理的视频推荐方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106339502A (zh) * | 2016-09-18 | 2017-01-18 | 电子科技大学 | 一种基于用户行为数据分片聚类的建模推荐方法 |
CN107729542A (zh) * | 2017-10-31 | 2018-02-23 | 咪咕音乐有限公司 | 一种信息评分方法及装置和存储介质 |
-
2018
- 2018-11-27 CN CN201811425529.2A patent/CN109543109B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106339502A (zh) * | 2016-09-18 | 2017-01-18 | 电子科技大学 | 一种基于用户行为数据分片聚类的建模推荐方法 |
CN107729542A (zh) * | 2017-10-31 | 2018-02-23 | 咪咕音乐有限公司 | 一种信息评分方法及装置和存储介质 |
Non-Patent Citations (2)
Title |
---|
刘乔 等: ""基于时间加权的协同过滤推荐算法的改进"", 《计算机工程与设计》 * |
张鹏飞 等: ""融合标签和多元信息的个性化推荐算法研究"", 《计算机工程与应用》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110544129A (zh) * | 2019-09-05 | 2019-12-06 | 创新奇智(青岛)科技有限公司 | 一种面向社交电商用户的个性化推荐方法 |
CN112530520A (zh) * | 2019-09-17 | 2021-03-19 | 中山大学 | 一种基于评分机制与LightGBM的CircRNA功能预测方法 |
CN112860984A (zh) * | 2019-11-27 | 2021-05-28 | 中移(苏州)软件技术有限公司 | 一种推荐方法、装置及储存介质 |
CN111310033A (zh) * | 2020-01-23 | 2020-06-19 | 山西大学 | 基于用户兴趣漂移的推荐方法及推荐装置 |
CN111339435B (zh) * | 2020-02-10 | 2022-09-23 | 南京邮电大学 | 一种基于潜在因子的矩阵分解补全混合推荐方法 |
CN111339435A (zh) * | 2020-02-10 | 2020-06-26 | 南京邮电大学 | 一种基于潜在因子的矩阵分解补全混合推荐方法 |
CN111311324B (zh) * | 2020-02-18 | 2022-05-20 | 电子科技大学 | 基于稳定神经协同过滤的用户-商品偏好预测***和方法 |
CN111311324A (zh) * | 2020-02-18 | 2020-06-19 | 电子科技大学 | 基于稳定神经协同过滤的用户-商品偏好预测***和方法 |
CN111382361A (zh) * | 2020-03-12 | 2020-07-07 | 腾讯科技(深圳)有限公司 | 信息推送方法、装置、存储介质和计算机设备 |
CN111382361B (zh) * | 2020-03-12 | 2023-05-02 | 腾讯科技(深圳)有限公司 | 信息推送方法、装置、存储介质和计算机设备 |
CN111475744A (zh) * | 2020-04-03 | 2020-07-31 | 南京理工大学紫金学院 | 一种基于集成学习的个性化位置推荐方法 |
CN112069417A (zh) * | 2020-08-24 | 2020-12-11 | 北京神舟航天软件技术有限公司 | 一种工作分解结构wbs模板推荐方法 |
CN113011950A (zh) * | 2021-03-30 | 2021-06-22 | 吉林亿联银行股份有限公司 | 一种产品推荐方法及装置 |
CN113360759A (zh) * | 2021-06-09 | 2021-09-07 | 南京大学 | 一种基于用户和项目双重时序相关性的众测任务推荐方法 |
CN113360759B (zh) * | 2021-06-09 | 2023-08-25 | 南京大学 | 一种基于用户和项目双重时序相关性的众测任务推荐方法 |
CN116028727A (zh) * | 2023-03-30 | 2023-04-28 | 南京邮电大学 | 一种基于图像数据处理的视频推荐方法 |
CN116028727B (zh) * | 2023-03-30 | 2023-08-18 | 南京邮电大学 | 一种基于图像数据处理的视频推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109543109B (zh) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109543109A (zh) | 一种融合时间窗技术和评分预测模型的推荐算法 | |
Reddy et al. | Content-based movie recommendation system using genre correlation | |
CN108256093B (zh) | 一种基于用户多兴趣及兴趣变化的协同过滤推荐算法 | |
CN110704739B (zh) | 资源推荐方法、装置及计算机存储介质 | |
Kumar et al. | A movie recommender system: Movrec | |
CN109299994B (zh) | 推荐方法、装置、设备及可读存储介质 | |
CN104063481A (zh) | 一种基于用户实时兴趣向量的电影个性化推荐方法 | |
CN109711925A (zh) | 具有多个辅助域的跨域推荐数据处理方法、跨域推荐*** | |
CN103744966A (zh) | 一种物品推荐方法、装置 | |
CN105005589A (zh) | 一种文本分类的方法和装置 | |
CN106777051A (zh) | 一种基于用户组的多反馈协同过滤推荐方法 | |
US8903822B2 (en) | Apparatus and method for measuring contents similarity based on feedback information of ranked user and computer readable recording medium storing program thereof | |
Eliyas et al. | Recommendation systems: Content-based filtering vs collaborative filtering | |
CN105426528A (zh) | 一种商品数据的检索排序方法及*** | |
CN110175895B (zh) | 一种物品推荐方法及装置 | |
CN104090919A (zh) | 推荐广告的方法及广告推荐服务器 | |
CN102929928A (zh) | 基于多维相似度的个性化新闻推荐方法 | |
CN111177559B (zh) | 文旅服务推荐方法、装置、电子设备及存储介质 | |
CN109710835B (zh) | 一种带有时间权重的异构信息网络推荐方法 | |
CN103559622A (zh) | 基于特征的协同过滤推荐方法 | |
CN104281585A (zh) | 一种对象排序方法和装置 | |
CN109840833A (zh) | 贝叶斯协同过滤推荐方法 | |
Ji et al. | Making recommendations from top-N user-item subgroups | |
CN108920647A (zh) | 基于谱聚类的低秩矩阵填充top-n推荐方法 | |
CN101986301A (zh) | 一种基于逆邻分析的协作过滤推荐***及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |