CN109543109B - 一种融合时间窗技术和评分预测模型的推荐算法 - Google Patents

一种融合时间窗技术和评分预测模型的推荐算法 Download PDF

Info

Publication number
CN109543109B
CN109543109B CN201811425529.2A CN201811425529A CN109543109B CN 109543109 B CN109543109 B CN 109543109B CN 201811425529 A CN201811425529 A CN 201811425529A CN 109543109 B CN109543109 B CN 109543109B
Authority
CN
China
Prior art keywords
user
item
scoring
score
recommendation
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.)
Active
Application number
CN201811425529.2A
Other languages
English (en)
Other versions
CN109543109A (zh
Inventor
张志军
张鹏飞
潘华丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Jianzhu University
Original Assignee
Shandong Jianzhu University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Jianzhu University filed Critical Shandong Jianzhu University
Priority to CN201811425529.2A priority Critical patent/CN109543109B/zh
Publication of CN109543109A publication Critical patent/CN109543109A/zh
Application granted granted Critical
Publication of CN109543109B publication Critical patent/CN109543109B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item 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中对评分进行归一化处理的方法具体公式如下:
Figure BDA0001881522420000031
其中,u表示用户;i表示项目;m表示根据***支持的评分数据范围获得的最高评分值;ru,i表示用户对项目的真实评分值;
Figure BDA0001881522420000032
表示用户对项目的真实评分值做归一化处理后的评分值,
Figure BDA0001881522420000033
作为优选,所述评分预测模型用于预测用户对未评分项目的评分;具体如下:
通过用户u的真实评分可以计算得到
Figure BDA0001881522420000034
其中
Figure BDA0001881522420000035
ρu,i用于计算归一化的评分结果,进而确定未知变量,从而得以确定用户和项目的特征向量,在得到相应的用户和项目的特征向量后即可通过矩阵运算得到用户对未评分项目的评分。、
图1中,α和β表示模型的参数;α代表用户特征重叠程度,取值范围[0,1],当α接近0时,代表用户趋于同一特征,简而言之就是用户特征比较单一,α较大则说明对应用户趋于不同的用户特征,用户的特征比较多;β大于1,其值越大代表证明某用户某个特征突出所需要的信息越多,k表示向量的维数;u表示用户,i表示项目,V表示项目特征向量,项目特征矩阵的初始化采用的是贝塔分布Vi,k~Beta(β,β),取值范围是[0,1];Un表示用户的特征向量,具体到用户u的特征向量服从狄利克雷分布,记为
Figure BDA0001881522420000036
向量(Uu,1,…,Uu,k)表示用户u在各个维度上的分量,由于使用了狄利克雷分布模型,
Figure BDA0001881522420000037
不存在实数值或整形值;模型中Zu,i和ρi,u是为每个用户u和项目i设置的随机变量;Zu,i是服从分类分布的随机变量,
Figure BDA0001881522420000038
Zu,i中的值表示用户u对项目i的评分;ρu,i是服从二项分布的随机变量,
Figure BDA0001881522420000039
代表着用户对某个偏好项目的置信度。
更优地,所述推算模型用于根据用户的兴趣偏好来预测用户可能偏好的项目;推算模型的具体实现方法如下:
(1)、输入α、β和评分矩阵R;其中,α和β表示推算模型的参数;α代表用户特征重叠程度,0≤α≤1;当α接近0时,代表用户趋于同一特征,即用户特征比较单一;α较大,则说明趋于不同的用户特征,即用户的特征比较多;β表示用户某个特征突出所需信息的多少,β>1,其值越大代表某用户某个特征突出所需要的信息越多;
(2)、对评分矩阵R做归一化处理生成矩阵R′;
(3)、随机初始化自由参数γu,k
Figure BDA0001881522420000041
Figure BDA00018815224200000418
γu,k为u×k维的矩阵,
Figure BDA00018815224200000419
Figure BDA0001881522420000042
分别为v×k维的矩阵;其中,u表示用户,k表示矩阵为维度,v表示项目;
(4)、根据用户u的真实评分记录
Figure BDA0001881522420000043
计算相应用户u对相应项目i的λu,i,k
Figure BDA0001881522420000044
其中,λu,i,k表示相关变量Zu,i所服从的分类分布中的参数,λ'u,i,k表示计算λu,i,k的中间量;
Figure BDA0001881522420000046
Ψ定义为伽马函数的对数导数,
Figure BDA0001881522420000047
Figure BDA0001881522420000048
其中,Γ(x)表示伽马函数;Γ′(x)表示伽马函数的导数;Y表示与***支持的最高评分有关,Y为常量,固定为4;ρu,i表示用户u偏好项目i的条件概率分布;x表示;
(5)、根据用户u的真实评分记录
Figure BDA0001881522420000049
计算并更新相应用户u的γu,k
Figure BDA00018815224200000410
其中,γu,k表示用户u服从的狄利克雷分布中的相关参数;
(6)、根据用户u的真实评分记录
Figure BDA00018815224200000411
计算并更新相应项目i的
Figure BDA00018815224200000412
Figure BDA00018815224200000413
Figure BDA00018815224200000414
(7)、γu,k
Figure BDA00018815224200000415
Figure BDA00018815224200000416
的参数值是否变化明显:
①、若明显,则重复执行步骤(4)到(6);
②、若不明显,则执行步骤(8);
(8)、计算用户u的特征矩阵Uu,k
Figure BDA00018815224200000417
计算项目特征矩阵Vi,k
Figure BDA0001881522420000051
(9)、计算用户u对项目i的偏好预测:
Figure BDA0001881522420000052
(10)、评分预测补全矩阵R′,利用TopN推荐方法生成TopN2推荐列表;
(11)、根据时间窗技术划分时间窗口;
(12)、计算项目相似度:
Figure BDA0001881522420000053
其中,sim(i,j)表示项目i和项目j的相似度;W(u,i)和W(u,j)表示时间权重和数据权重相结合的权重;
Figure BDA0001881522420000054
Figure BDA0001881522420000055
分别表示项目i和项目j的平均评分,
Figure BDA0001881522420000056
表示用户u打分的平均分;
(13)、计算每一个用户未评分项目与个时间窗口中项目的综合相似度:
Figure BDA0001881522420000057
其中,Iu,j表示用户u第j个时间窗口中的项目集合,size(Iu,j)表示集合Iu,j的大小;
(14)、选取前k′个相似度最高的项目赋予时间刻度(选择相似度最高的前k′个未评分项目赋予时间刻度,k′的最优值根据数据集的不同而不同,需要通过实验获得最优值);
(15)、将带有时间刻度的稠密矩阵转换成用户-项目-时间的三维评分矩阵;
(16)、获取用户之间的相似度:
Figure BDA0001881522420000061
其中,
Figure BDA0001881522420000062
ti表示相应的用户对相应项目评分的时间权值,通过用户-项目-时间三维矩阵获取;
(17)、获得用户对未评分项目的偏好值:
Figure BDA0001881522420000063
其中,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]
Figure BDA0001881522420000064
其中,w(u,i)表示用户u最近时间段内对项目i的兴趣度;I表示用户最近时间段(Tu1~Tu0)内访问过的项目集合;sim(i,j)的表示项目i和项目j的相似度;
更优地,w(u,i)中项目相似度sim(i,j)的计算采用修正的余弦相似度:
Figure BDA0001881522420000071
其中,
Figure BDA0001881522420000072
Figure BDA0001881522420000073
分别表示项目i和项目j的平均评分,
Figure BDA0001881522420000074
表示用户u打分的平均分。
本发明的融合时间窗技术和评分预测模型的推荐算法具有以下优点:
(一)、本发明主要包含两部分,分别是评分预测模型和协同过滤推荐模型,对于时间的处理采用的是时间窗技术,通过该方法能够弥补数据稀疏性对协同过滤算法的影响,并且由于时间窗技术的引入,使推荐结果能够更好的契合用户的兴趣变化;
(二)、本发明采用新的评分预测模型,相较于传统的矩阵分解算法,评分预测得到大大提高;
(三)、本发明采用了时间窗技术划分时间窗口,考虑到了时间因素对用户兴趣的影响,从而使推荐结果更加合理;
(四)、将评分预测模型与时间窗技术与协同过滤算法相结合,不仅能够弥补协同过滤算法中存在的冷启动问题,同时也能改善数据稀疏性对协同过滤算法的影响,特别是时间窗技术的加入,使协同过滤算法能够适应用户的兴趣变化,从而提高推荐的效果;
(五)、本发明在协同过滤算法中融合新的非负矩阵分解算法与时间窗技术,综合这二者的优点以应对传统非负矩阵所存在的缺陷以及协同过滤推荐算法中用户兴趣随时间变化的问题,使协同过滤算法能够适应用户的兴趣变化,从而提高推荐的效果。
附图说明
下面结合附图对本发明进一步说明。
附图1为本发明的流程框图;
附图2为评分预测模型的关系示意图;
附图3为时间窗口划分示意图;
附图4为准确率的曲线图;
附图5为召回率的曲线图。
具体实施方式
参照说明书附图和具体实施例对本发明的一种融合时间窗技术和评分预测模型的推荐算法作以下详细地说明。
实施例一:
本发明的融合时间窗技术和评分预测模型的推荐算法,该方法是基于协同过滤推荐算法和时间窗技术,利用评分预测模型计算用户的兴趣相似度,再利用推荐模型根据用户的兴趣预测用户可能偏好的项目并选取用户预测评分较高的项目利用TopN推荐方法生产TopN推荐列表;
具体方法如下:
S1、通过用户对项目的评分构建用户-项目评分矩阵,并对评分进行归一化处理得到归一化用户-项目评分矩阵;
S2、根据评分预测模型,通过推荐模型计算并获得用户的特征矩阵和项目的特征矩阵,两者相乘进而获得用户对未评分项目的预测评分,并利用TopN推荐方法得到TopN2推荐列表;
对评分进行归一化处理的方法具体公式如下:
Figure BDA0001881522420000081
其中,u表示用户;i表示项目;m表示根据***支持的评分数据范围获得的最高评分值;ru,i表示用户对项目的真实评分值;
Figure BDA0001881522420000082
表示用户对项目的真实评分值做归一化处理后的评分值,
Figure BDA0001881522420000083
S3、将获得的预测评分根据归一化处理的原则还原到原始评分,从而得到一个稠密的评分矩阵,并采用时间窗技术划分多个不同的时间窗口,根据时间窗口为已评分项赋予时间刻度,计算各个用户预测评分项与每一个时间窗口中项目集合的总体相似性,将最高相似性的时间窗口内任意一个时间刻度作为预测物品评分行为的时间刻度;通过评分预测模型对评分矩阵进行补全,进而获得稠密的评分矩阵,在此基础上,为评分矩阵中的评分赋予时间刻度,根据相关研究可以得知用户的兴趣具有时间性,会随着时间的变化而变化,但短期的用户兴趣基本不变,根据相关研究中提出的拟人遗忘规律时间曲线,将用户最早评分项目的时间设为0以及用户最后的评分项目时间设为Tu0,将0至Tu0这一段时间划分成多个时间片段,如图3所示。
S4、采用协同过滤算法计算用户之间的兴趣相似度并构建用户兴趣相似度矩阵,再计算目标用户对资源的兴趣偏好,将用户兴趣最高的前N个商品利用TopN推荐方法生产TopN1推荐列表,并将之与TopN2推荐列表融合生成TopN推荐列表。
其中,评分预测模型用于预测用户对未评分项目的评分;具体如下:
通过用户u的真实评分可以计算得到
Figure BDA0001881522420000091
其中,
Figure BDA0001881522420000092
ρu,i用于计算归一化的评分结果,进而确定未知变量,从而得以确定用户和项目的特征向量,在得到相应的用户和项目的特征向量后即可通过矩阵运算得到用户对未评分项目的评分。
如附图2所示,α和β表示模型的参数;α代表用户特征重叠程度,取值范围[0,1],当α接近0时,代表用户趋于同一特征,简而言之就是用户特征比较单一,α较大则说明对应用户趋于不同的用户特征,用户的特征比较多;β大于1,其值越大代表证明某用户某个特征突出所需要的信息越多,k表示向量的维数;
u表示用户,i表示项目,V表示项目特征向量,项目特征矩阵的初始化采用的是贝塔分布Vi,k~Beta(β,β),取值范围是[0,1];Un表示用户的特征向量,具体到用户u的特征向量服从狄利克雷分布,记为
Figure BDA0001881522420000093
向量(Uu,1,…,Uu,k)表示用户u在各个维度上的分量,由于使用了狄利克雷分布模型,
Figure BDA0001881522420000094
不存在实数值或整形值;模型中Zu,i和ρi,u是为每个用户u和项目i设置的随机变量;Zu,i是服从分类分布的随机变量,
Figure BDA0001881522420000095
Zu,i中的值表示用户u对项目i的评分;ρi,u是服从二项分布的随机变量,
Figure BDA0001881522420000096
代表着用户对某个偏好项目的置信度。
如附图1所示,推算模型用于根据用户的兴趣偏好来预测用户可能偏好的项目;推算模型的具体实现方法如下:
(1)、输入α、β和评分矩阵R;其中,α和β表示推算模型的参数;α代表用户特征重叠程度,0≤α≤1;当α接近0时,代表用户趋于同一特征,即用户特征比较单一;α较大,则说明趋于不同的用户特征,即用户的特征比较多;β表示用户某个特征突出所需信息的多少,β>1,其值越大代表某用户某个特征突出所需要的信息越多;
(2)、对评分矩阵R做归一化处理生成矩阵R′;
(3)、随机初始化自由参数γu,k
Figure BDA0001881522420000097
Figure BDA0001881522420000098
γu,k为u×k维的矩阵,
Figure BDA0001881522420000099
Figure BDA00018815224200000910
分别为v×k维的矩阵;其中,u表示用户,k表示矩阵为维度,v表示项目;
(4)、根据用户u的真实评分记录
Figure BDA00018815224200000911
计算相应用户u对相应项目i的λu,i,k
Figure BDA0001881522420000101
其中,λu,i,k表示相关变量Zu,i所服从的分类分布中的参数,λ′u,i,k表示计算λu,i,k的中间量;
Figure BDA0001881522420000102
上式中Ψ定义为伽马函数的对数导数,
Figure BDA0001881522420000103
Figure BDA0001881522420000104
其中,Γ(x)表示伽马函数;Γ′(x)表示伽马函数的导数;Y表示与***支持的最高评分有关,Y为常量,固定为4;ρu,i表示用户u偏好项目i的条件概率分布;x表示;
(5)、根据用户u的真实评分记录
Figure BDA0001881522420000105
计算并更新相应用户u的γu,k
Figure BDA0001881522420000106
其中,γu,k表示用户u服从的狄利克雷分布中的相关参数;
(6)、根据用户u的真实评分记录
Figure BDA0001881522420000107
计算并更新相应项目i的
Figure BDA0001881522420000108
Figure BDA0001881522420000109
Figure BDA00018815224200001010
(7)、γu,k
Figure BDA00018815224200001011
Figure BDA00018815224200001012
的参数值是否变化明显:
①、若明显,则重复执行步骤(4)到(6);
②、若不明显,则执行步骤(8);
(8)、计算用户u的特征矩阵Uu,k
Figure BDA00018815224200001013
计算项目特征矩阵Vi,k
Figure BDA00018815224200001014
(9)、计算用户u对项目i的偏好预测:
Figure BDA00018815224200001015
(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]
Figure BDA0001881522420000111
其中,w(u,i)表示用户u最近时间段内对项目i的兴趣度;I表示用户最近时间段(Tu1~Tu0)内访问过的项目集合;sim(i,j)的表示项目i和项目j的相似度;sim(i,j)的计算采用修正的余弦相似度:
Figure BDA0001881522420000112
其中,
Figure BDA0001881522420000113
Figure BDA0001881522420000114
分别表示项目i和项目j的平均评分,
Figure BDA0001881522420000115
表示用户u打分的平均分。
(12)、计算项目相似度:
Figure BDA0001881522420000116
其中,sim(i,j)表示项目i和项目j的相似度;W(u,i)和W(u,j)表示时间权重和数据权重相结合的权重;
Figure BDA0001881522420000117
Figure BDA0001881522420000118
分别表示项目i和项目j的平均评分,
Figure BDA0001881522420000119
表示用户u打分的平均分;
(13)、计算每一个用户未评分项目与个时间窗口中项目的综合相似度:
Figure BDA0001881522420000121
其中,Iu,j表示用户u第j个时间窗口中的项目集合,size(Iu,j)表示集合Iu,j的大小;
(14)、选取前k′个相似度最高的项目赋予时间刻度(选择相似度最高的前k′个未评分项目赋予时间刻度,k′的最优值根据数据集的不同而不同,需要通过实验获得最优值);
(15)、将带有时间刻度的稠密矩阵转换成用户-项目-时间的三维评分矩阵;
(16)、获取用户之间的相似度,使用基于时间加权的皮尔逊相关相似性计算用户兴趣相似度:
Figure BDA0001881522420000122
其中,使用逻辑斯蒂函数做权重函数,对不同时间窗赋予不同的权重,相同时间窗中的评分赋予相同的权重公式如下:
Figure BDA0001881522420000123
ti表示相应的用户对相应项目评分的时间权值,通过用户-项目-时间三维矩阵获取;
(17)、获得用户对未评分项目的偏好值:
Figure BDA0001881522420000124
其中,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,计算公式如下:
Figure BDA0001881522420000131
Figure BDA0001881522420000132
结果如下表所示:
Figure BDA0001881522420000133
C、通过评分预测可以将评分矩阵进行补全,获得稠密的用户评分矩阵,采用时间窗技术(根据相关研究成果将时间窗口的个数设置为6,均等划分),并通过计算项目之间的相似度sim(i,j),进而获得各个用户预测评分项与每一个时间窗中项目集合的总体相似性sim(i,Iu,j),选择相似度最高的前k′个未评分项目赋予时间刻度。
D、最终将带有时间信息的稠密矩阵转换成用户-项目-时间三维评分矩阵,在此基础上计算用户兴趣相似度sim(u,v),进而计算用户对项目感兴趣的程度,并生成TopN1推荐列表,最后生成TopN推荐列表并反馈给用户,推荐列表的效果采用准确率和召回率来衡量,如附图4和5所示。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (6)

1.一种融合时间窗技术和评分预测模型的推荐方法,其特征在于,该方法是基于协同过滤推荐方法和时间窗技术,利用评分预测模型计算用户的兴趣相似度,再利用推荐模型根据用户的兴趣预测用户可能偏好的项目并选取用户预测评分较高的项目利用TopN推荐方法生产推荐列表;
具体方法如下:
S1、通过用户对项目的评分构建用户-项目评分矩阵,并对评分进行归一化处理得到归一化用户-项目评分矩阵;
S2、根据评分预测模型,通过推荐模型计算并获得用户的特征矩阵和项目的特征矩阵,两者相乘进而获得用户对未评分项目的预测评分,并利用TopN推荐方法得到TopN2推荐列表;
S3、将获得的预测评分根据归一化处理的原则还原到原始评分,从而得到一个稠密的评分矩阵,并采用时间窗技术划分多个不同的时间窗口,根据时间窗口为已评分项赋予时间刻度,计算各个用户预测评分项与每一个时间窗口中项目集合的总体相似性,将最高相似性的时间窗口内任意一个时间刻度作为预测物品评分行为的时间刻度;
S4、采用协同过滤算法计算用户之间的兴趣相似度并构建用户兴趣相似度矩阵,再计算目标用户对资源的兴趣偏好,将用户兴趣最高的前N个项目利用TopN推荐方法生产TopN1推荐列表,并将之与TopN2推荐列表融合生成TopN推荐列表;
其中,推算模型用于根据用户的兴趣偏好来预测用户可能偏好的项目;推算模型的具体实现方法如下:
(1)、输入α、β和评分矩阵R;其中,α和β表示推算模型的参数;α代表用户特征重叠程度,0≤α≤1;当α接近0时,代表用户趋于同一特征,即用户特征比较单一;α较大,则说明趋于不同的用户特征,即用户的特征比较多;β表示用户某个特征突出所需信息的多少,β>1,其值越大代表某用户某个特征突出所需要的信息越多;
(2)、对评分矩阵R做归一化处理生成矩阵R′;
(3)、随机初始化自由参数γu,k
Figure FDA0003025876130000011
Figure FDA0003025876130000012
γu,k为u×k维的矩阵,
Figure FDA0003025876130000013
Figure FDA0003025876130000014
分别为v×k维的矩阵;其中,u表示用户,k表示矩阵为维度,v表示项目;
(4)、根据用户u的真实评分记录
Figure FDA0003025876130000015
计算相应用户u对相应项目i的λu,i,k
Figure FDA0003025876130000021
其中,λu,i,k表示相关变量Zu,i所服从的分类分布中的参数,λ″u,i,k表示计算λu,i,k的中间量;
Figure FDA0003025876130000022
上式中Ψ定义为伽马函数的对数导数,
Figure FDA0003025876130000023
Figure FDA0003025876130000024
其中,Γ(x)表示伽马函数;Γ′(x)表示伽马函数的导数;Y表示与***支持的最高评分有关,Y为常量,固定为4;ρu,i表示用户u偏好项目i的条件概率分布;
(5)、根据用户u的真实评分记录
Figure FDA0003025876130000025
计算并更新相应用户u的γu,k
Figure FDA0003025876130000026
其中,γu,k表示用户u服从的狄利克雷分布中的相关参数;
(6)、根据用户u的真实评分记录
Figure FDA0003025876130000027
计算并更新相应项目i的
Figure FDA0003025876130000028
Figure FDA0003025876130000029
Figure FDA00030258761300000210
(7)、γu,k
Figure FDA00030258761300000211
Figure FDA00030258761300000212
的参数值是否变化明显:
①、若明显,则重复执行步骤(4)到(6);
②、若不明显,则执行步骤(8);
(8)、计算用户u的特征矩阵Uu,k
Figure FDA00030258761300000213
计算项目特征矩阵Vi,k
Figure FDA00030258761300000214
(9)、计算用户u对项目i的偏好预测:
Figure FDA0003025876130000031
(10)、评分预测补全矩阵R′,利用TopN推荐方法生成TopN2推荐列表;
(11)、根据时间窗技术划分时间窗口;
(12)、计算项目相似度:
Figure FDA0003025876130000032
其中,sim(i,j)表示项目i和项目j的相似度;W(u,i)和W(u,j)表示时间权重和数据权重相结合的权重;
Figure FDA0003025876130000033
Figure FDA0003025876130000034
分别表示项目i和项目j的平均评分;
(13)、计算每一个用户未评分项目与时间窗口中项目的综合相似度:
Figure FDA0003025876130000035
其中,Iu,j表示用户u第j个时间窗口中的项目集合,size(Iu,j)表示集合Iu,j的大小;
(14)、选取前k′个相似度最高的项目赋予时间刻度;
(15)、将带有时间刻度的稠密矩阵转换成用户-项目-时间的三维评分矩阵;
(16)、获取用户之间的相似度:
Figure FDA0003025876130000036
其中,
Figure FDA0003025876130000037
ti表示相应的用户对相应项目评分的时间权值,通过用户-项目-时间三维矩阵获取;
(17)、获得用户对未评分项目的偏好值:
Figure FDA0003025876130000041
其中,S(u,k)表示和用户兴趣相似的前k个用户,N(i)表示对项目i有过评分的用户集合,sim(u,v)表示用户u和用户v之间的兴趣相似度;
(18)、在评分预测的基础上,选取用户预测评分较高的项目生成TopN2推荐列表,并与TopN1推荐列表加权汇总成新的TopN推荐列表,公式如下:
TopN=εTopN1+(1-ε)TopN2
其中,ε取值介于0和1之间,不同的数据集有不同的ε最优值。
2.根据权利要求1所述的融合时间窗技术和评分预测模型的推荐方法,其特征在于,所述步骤S1中对评分进行归一化处理的方法具体公式如下:
Figure FDA0003025876130000042
其中,u表示用户;i表示项目;m表示根据***支持的评分数据范围获得的最高评分值;ru,i表示用户对项目的真实评分值;
Figure FDA0003025876130000043
表示用户对项目的真实评分值做归一化处理后的评分值,
Figure FDA0003025876130000044
3.根据权利要求1或2所述的融合时间窗技术和评分预测模型的推荐方法,其特征在于,所述评分预测模型用于预测用户对未评分项目的评分;具体如下:
通过用户u的真实评分可以计算得到
Figure FDA0003025876130000045
其中,
Figure FDA0003025876130000046
ρu,i用于计算归一化的评分结果,进而确定未知变量,从而得以确定用户和项目的特征向量,在得到相应的用户和项目的特征向量后即可通过矩阵运算得到用户对未评分项目的评分;
u表示用户;i表示项目;m表示根据***支持的评分数据范围获得的最高评分值;ru,i表示用户对项目的真实评分值;
Figure FDA0003025876130000047
表示用户对项目的真实评分值做归一化处理后的评分值,
Figure FDA0003025876130000048
Y表示与***支持的最高评分有关,Y为常量,固定为4;ρu,i表示用户u偏好项目i的条件概率分布。
4.根据权利要求1所述的融合时间窗技术和评分预测模型的推荐方法,其特征在于,所述步骤(11)中根据时间窗技术划分时间窗口的计算方法如下:
Tuk(k)=Tu0-θ(k-1)-ka1
其中,α1表示第一个时间窗口的大小,代表用户兴趣的长短,值越大,窗口越大;θ表示时间窗扣间隔增长幅度,依次为Tu1,Tu2,...,Tuk,代表用户长期兴趣变化快慢程度,值越大表示用户兴趣变化越快,反之,变化越慢。
5.根据权利要求4所述的融合时间窗技术和评分预测模型的推荐方法,其特征在于,所述时间窗口不同将对应不同的权值,采用艾宾浩斯遗忘曲线作为时间函数:
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]
Figure FDA0003025876130000051
其中,w(u,i)表示用户u最近时间段内对项目i的兴趣度;I表示用户最近时间段(Tu1~Tu0)内访问过的项目集合;sim(i,j)的表示项目i和项目j的相似度。
6.根据权利要求5所述的融合时间窗技术和评分预测模型的推荐方法,其特征在于,所述项目相似度sim(i,j)的计算采用修正的余弦相似度:
Figure FDA0003025876130000052
其中,
Figure FDA0003025876130000053
Figure FDA0003025876130000054
分别表示项目i和项目j的平均评分,
Figure FDA0003025876130000055
表示用户u打分的平均分。
CN201811425529.2A 2018-11-27 2018-11-27 一种融合时间窗技术和评分预测模型的推荐算法 Active CN109543109B (zh)

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 CN109543109A (zh) 2019-03-29
CN109543109B true 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)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
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 中移(苏州)软件技术有限公司 一种推荐方法、装置及储存介质
CN111310033B (zh) * 2020-01-23 2023-05-30 山西大学 基于用户兴趣漂移的推荐方法及推荐装置
CN111339435B (zh) * 2020-02-10 2022-09-23 南京邮电大学 一种基于潜在因子的矩阵分解补全混合推荐方法
CN111311324B (zh) * 2020-02-18 2022-05-20 电子科技大学 基于稳定神经协同过滤的用户-商品偏好预测***和方法
CN111382361B (zh) * 2020-03-12 2023-05-02 腾讯科技(深圳)有限公司 信息推送方法、装置、存储介质和计算机设备
CN111475744B (zh) * 2020-04-03 2022-06-14 南京理工大学紫金学院 一种基于集成学习的个性化位置推荐方法
CN112069417A (zh) * 2020-08-24 2020-12-11 北京神舟航天软件技术有限公司 一种工作分解结构wbs模板推荐方法
CN113011950A (zh) * 2021-03-30 2021-06-22 吉林亿联银行股份有限公司 一种产品推荐方法及装置
CN113360759B (zh) * 2021-06-09 2023-08-25 南京大学 一种基于用户和项目双重时序相关性的众测任务推荐方法
CN116028727B (zh) * 2023-03-30 2023-08-18 南京邮电大学 一种基于图像数据处理的视频推荐方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106339502A (zh) * 2016-09-18 2017-01-18 电子科技大学 一种基于用户行为数据分片聚类的建模推荐方法
CN107729542A (zh) * 2017-10-31 2018-02-23 咪咕音乐有限公司 一种信息评分方法及装置和存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
"基于时间加权的协同过滤推荐算法的改进";刘乔 等;《计算机工程与设计》;20160716;第37卷(第7期);1827-1830、1872 *
"融合标签和多元信息的个性化推荐算法研究";张鹏飞 等;《计算机工程与应用》;20180517;1-9 *

Also Published As

Publication number Publication date
CN109543109A (zh) 2019-03-29

Similar Documents

Publication Publication Date Title
CN109543109B (zh) 一种融合时间窗技术和评分预测模型的推荐算法
CN107330115B (zh) 一种信息推荐方法及装置
CN108648049B (zh) 一种基于用户行为区别建模的序列推荐方法
CN107506480B (zh) 一种基于评论挖掘与密度聚类的双层图结构推荐方法
CN107357793B (zh) 信息推荐方法和装置
CN108509573B (zh) 基于矩阵分解协同过滤算法的图书推荐方法及***
CN106251174A (zh) 信息推荐方法及装置
CN105005589A (zh) 一种文本分类的方法和装置
Eliyas et al. Recommendation systems: Content-based filtering vs collaborative filtering
CN104063481A (zh) 一种基于用户实时兴趣向量的电影个性化推荐方法
CN102902691A (zh) 推荐方法及***
Jiao et al. A novel learning rate function and its application on the SVD++ recommendation algorithm
CN113536139B (zh) 基于兴趣的内容推荐方法、装置、计算机设备及存储介质
Xu et al. Personalized product recommendation method for analyzing user behavior using DeepFM
CN109063120B (zh) 一种基于聚类的协同过滤推荐方法和装置
Chung et al. Categorization for grouping associative items using data mining in item-based collaborative filtering
CN112396492A (zh) 基于图注意力网络和双向长短期记忆网络的会话推荐方法
CN110727872A (zh) 基于隐式反馈进行不明确选择行为挖掘的方法及装置
Park et al. Phrase embedding and clustering for sub-feature extraction from online data
Zhou et al. LsRec: Large-scale social recommendation with online update
CN110019563B (zh) 一种基于多维数据的肖像建模方法和装置
Paul et al. A weighted hybrid recommendation approach for user’s contentment using natural language processing
CN117593089A (zh) ***推荐方法、装置、设备、存储介质及程序产品
CN114581165A (zh) 一种产品推荐方法、装置、计算机存储介质及***
CN113761084A (zh) 一种poi搜索排序模型训练方法、排序装置与方法及介质

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