CN115114517A - 基于用户属性和项目评分的协同过滤推荐算法 - Google Patents

基于用户属性和项目评分的协同过滤推荐算法 Download PDF

Info

Publication number
CN115114517A
CN115114517A CN202210320597.2A CN202210320597A CN115114517A CN 115114517 A CN115114517 A CN 115114517A CN 202210320597 A CN202210320597 A CN 202210320597A CN 115114517 A CN115114517 A CN 115114517A
Authority
CN
China
Prior art keywords
user
similarity
attribute
item
users
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.)
Pending
Application number
CN202210320597.2A
Other languages
English (en)
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.)
Zhengzhou University of Aeronautics
Original Assignee
Zhengzhou University of Aeronautics
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 Zhengzhou University of Aeronautics filed Critical Zhengzhou University of Aeronautics
Priority to CN202210320597.2A priority Critical patent/CN115114517A/zh
Publication of CN115114517A publication Critical patent/CN115114517A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于用户属性和项目评分的协同过滤推荐算法,对传统的协同过滤算法进行了改进,在本发明的模型中,通过搜集用户对项目的评价信息,考虑项目冷门度和用户间的置信度,融合用户属性来计算用户间的相似度,利用MovieLens数据集进行仿真实验。与传统的协同过滤算法相比,本文提出的模型可以解决了冷启动带来的推荐系统无法运行的问题,同时缓解了数据稀疏性对推荐结果带来的影响,在一定程度上提高推荐精度,具有一定的实际应用价值。

Description

基于用户属性和项目评分的协同过滤推荐算法
技术领域
本发明涉及协同过滤推荐算法技术领域,具体涉及一种基于用户属性和项目评分的协同过滤推荐算法。
背景技术
随着互联网的普及和大数据的发展,信息过载问题日益突出,资源推荐作为信息过滤的有效方法,具有较高的商业价值和研究意义。推荐系统中最常用且较成功的方法是协同过滤(Collaborative filtering,CF)推荐算法,在具体的应用过程中仍存在一系列问题,如冷启动、数据稀疏性、可扩展性等问题,国内外诸多研究人员针对数据稀疏性问题进行深入而卓有成效的研究,利用不同方法在不同程度上提高了推荐质量。谢修娟等引入位置信息与物品流行度,提高了推荐结果的多样性。刘国丽等引入置信度,结合惩罚热门物品的流行度,设计了一种改进专家信任的协同过滤算法。Kaleli利用评分相似性和评分不确定度差异信息,搜寻目标用户的最近邻。柯翔敏等利用逆流行度和共同评分项,构造一种混合协同过滤推荐算法,提高了推荐效果。吴彦文等利用阅读耗时因子修正用户偏好值,引入热度惩罚,提高推荐精度并挖掘用户潜在的兴趣。上述算法着重考虑用户对物品的评价,虽然在一定程度上提高了推荐准确率,但是疏忽了用户属性信息对推荐结果的影响。用户属性信息对推荐结果的影响主要体现在,不同用户拥有类似属性可能具有相似的兴趣偏好。
进一步的,王三虎等设计了兴趣倾向相似度、置信度等指标,提出了基于用户评分和属性相似度的推荐算法,缓解了数据稀疏性问题。赵文涛等融合用户属性和置信度计算相似度,在一定程度上缓解了数据稀疏性问题。陈碧毅等提出了利用隐式反馈信息缓解显式反馈数据的高度稀疏性问题的方法。高长元等利用用户对商品属性值的评分计算相似性。张怡文等利用用户、项目、项目属性特征构建用户对项目、属性的双极特征向量,对双极特征向量进行加权计算,得到用户间相似度。上述研究由于忽略了冷门项目对推荐质量的影响,很难发现用户的潜在的兴趣爱好。
发明内容
有鉴于此,本发明的目的是提供一种基于用户属性和项目评分的协同过滤推荐算法,首先,在加权后的皮尔逊相关系数中引入项目冷门度提高了冷门项目的推荐概率,更好的挖掘用户潜在兴趣,改进置信度计算方法提高了用户间相似性的可信度,提高了推荐精度;其次,引入文化距离,构建了用户属性模型,提出了基于用户属性和项目评分的协同过滤算法,有效地缓解了数据稀疏性问题。
为了达到上述目的,本发明所采用的技术方案是:基于用户属性和项目评分的协同过滤推荐算法,包括如下步骤:
S1、利用用户对项目的评分信息,建立用户-项目评分矩阵;根据用户的属性信息,建立用户-属性矩阵;
S2、在加权后的皮尔逊相似度计算中引入项目冷门度来提高冷门项目对推荐结果的影响,得到基于项目评分的相似度;
S3、根据用户年龄属性、位置属性和标签属性相似度,计算用户的整体属性相似度;
S4、将基于项目评分的相似度和用户的整体属性相似度进行融合,得到最终用户相似度,并构建目标用户的最近邻居集合;
S5、根据目标用户的最近邻居集合和最终用户相似度来预测目标用户未评分项目的值,并根据预测值得到预测评分矩阵。
进一步的,步骤S1中,假设有m个用户和n个项目,用户最多具有s个属性数量,则建立的用户-项目评分矩阵为:R={rui}m×n,rui是用户u对项目i的评分,评分值的大小与用户兴趣偏好程度成正比;建立的用户-属性矩阵为:A={auv}m×s,矩阵的值取1或0,auv表示用户u是否具有v属性。
进一步的,步骤S2具体包括以下步骤:
S21、引入用户相同评分项目的数量占共同评分项目数量的比值,构造新的置信度度量函数,计算公式如下:
Figure BDA0003570387680000031
式中,S为原有置信度函数;u1和u2表示用户,x表示项目,
Figure BDA0003570387680000032
表示用户u1和u2共同评分的项目集合,
Figure BDA0003570387680000033
Figure BDA0003570387680000034
分别表示用户u1和u2对来自共同评价项目x的评分,
Figure BDA0003570387680000035
表示用户u1评价过的项目集合,
Figure BDA0003570387680000036
表示用户u2评价过的项目集合;
Figure BDA0003570387680000037
表示两个用户共同评价项目的数量;
F{*}为指示函数:{true,false}→{1,0};
Figure BDA0003570387680000038
表示用户u1和用户u2在公共项目集合中评价相同物品的数量;
S22、将项目冷门度引入到加权后的皮尔逊相似性计算公式中,得到一个改进的相似性度量公式,如下:
Figure BDA0003570387680000041
式中,
Figure BDA0003570387680000042
Figure BDA0003570387680000043
分别表示用户u1和用户u2对所有项目的平均评分,W(u1,u2)为皮尔逊加权系数:
Figure BDA0003570387680000044
其中,
Figure BDA0003570387680000045
Figure BDA0003570387680000046
分别表示用户u1和u2对各自评价过的项目y的评分;
C(x)表示项目的冷门度,C(x)=e-lgN(x);其中,N(x)表示项目被评价的次数,项目冷门度介于0~1之间;
S23、根据改进的相似性度量公式,结合置信度度量函数,得到项目评分的相似性度量公式:
SimR(u1,u2)=SimCP×IS(u1,u2)。
进一步的,步骤S3具体包括以下步骤:
S31、用户年龄相似度计算公式如下:
Figure BDA0003570387680000047
式中,
Figure BDA0003570387680000048
表示用户的年龄,α为划分年龄区间的阈值,具体值由实验得到;
S32、对不同用户属性的文化距离进行归一化处理,得到用户位置属性相似度函数如下:
Figure BDA0003570387680000051
式中,
Figure BDA0003570387680000052
代表用户u1所在的国家,
Figure BDA0003570387680000053
代表用户u2所在的国家,CDmin,CDmax分别表示所有数据中最小和最大文化距离,CD表示用户间的文化距离;
S33、对用户的标签属性相似度计算公式如下:
Figure BDA0003570387680000054
式中,l为用户u1,u2标签属性相同的数量,s为用户标签的总数量;
S34、根据用户年龄属性,位置属性和标签属性相似度,计算用户的整体属性相似度:
SimAttr(u1,u2)=∑Wa×Sima
其中,Wa表示第a个属性相似度的权重,取值范围是[0,1],Sima是第a个属性相似度。
进一步的,步骤S4中,计算最终用户相似度的公式如下:
Sim(u1,u2)=β×SimAttr(u1,u2)+(1-β)×SimR(u1,u2)
Figure BDA0003570387680000055
进一步的,步骤S5中,预测目标用户未评分项目的值的公式如下:
Figure BDA0003570387680000061
式中,
Figure BDA0003570387680000062
表示用户u1对项目x的预测评分,
Figure BDA0003570387680000063
表示用户u1最近邻居集,Sim(u1,u2)表示用户u1和u2用户的相似度。
与现有技术相比,本发明的有益效果是:本发明的协同过滤推荐算法可以缓解用户冷启动和数据稀疏性问题,对于新用户利用用户属性矩阵计算用户间的相似度,有效缓解新用户进入系统带来的冷启动问题;当用户评分数据增多时,通过在用户评分相似度的基础上融合用户属性以增强用户间的相似度,进一步缓解数据稀疏性导致用户间相似度小的问题。
附图说明
图1是实施例中不同算法的MAE对比;
图2是实施例中不同算法的准确率对比;
图3是实施例中不同算法的召回率对比;
图4是实施例中不同算法的覆盖率对比。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一、为了便于对本发明的技术方案进行理解,以下先对经典协同过滤算法以及本发明用到的相关概念进行说明:
1、经典协同过滤算法
经典协同过滤算法分为基于用户方法、基于项目的方法和基于模型的方法,目前基于用户的协同过滤被广泛研究,具体步骤分为用户建模、寻找最近邻居和预测推荐。
(1)、用户建模
首先,利用用户对项目的评分信息,建立用户-项目评分矩阵R={rui}m×n,rui是用户u对项目i评分,评分值的大小与用户兴趣偏好程度成正比。然后,根据用户的属性信息,建立用户-属性矩阵A={auv}m×s,auv表示用户u是否具有v属性,矩阵的值取1或0。
(2)、寻找最近邻居集
利用相似度计算方法,计算用户间的相似度,生成与目标用户具有最高相似度近邻用户集合。常见的相似度计算方法有三种:余弦相似度、修正余弦相似度、皮尔逊相似度,其中皮尔逊相似度计算公式为:
Figure BDA0003570387680000071
式中,u1和u2表示用户,x表示项目,
Figure BDA0003570387680000072
表示u1用户和u2共同评分的项目集合,
Figure BDA0003570387680000073
表示用户u1对项目x的评分,
Figure BDA0003570387680000074
表示用户u1对所有项目的平均评分。
(3)、预测评分
根据用户相似度,构建最近邻居集,使用公式(2)预测目标用户对待评价项目的评分,并进行推荐:
Figure BDA0003570387680000081
式中,
Figure BDA0003570387680000082
表示用户u1对项目x的预测评分,
Figure BDA0003570387680000083
表示用户u1最近邻居集,Sim(u1,u2)表示用户u1和u2用户的相似度。
2、相关概念
(1)、皮尔逊加权系数
加权系数针对皮尔逊相关系数进行加权,度量方法如式(3)所示:
Figure BDA0003570387680000084
式中,
Figure BDA0003570387680000085
Figure BDA0003570387680000086
分别表示用户u1和u2对来自共同评价项目x的评分,
Figure BDA0003570387680000087
Figure BDA0003570387680000088
分别表示用户u1和u2对各自评价过的项目y的评分。
(2)、置信度
置信度是用于衡量用户间相似性的可信程度,通常利用Jaccard函数进行度量,公式如下:
Figure BDA0003570387680000089
式中,
Figure BDA00035703876800000810
表示用户u1评价过的项目集合,
Figure BDA00035703876800000811
表示两个用户共同评价项目的数量,
Figure BDA00035703876800000812
表示两个用户所有评价项目的并集数量,置信度的取值范围是0~1。
(3)、项目冷门度
冷门度用以衡量项目的冷门程度,其值越大表明项目被评价的次数越少,目标用户可能对其潜在的兴趣也越大,计算公式如下:
C(x)=e-lgN(x) (5)
式中,N(x)表示项目被评价的次数,项目冷门度介于0~1之间。
(4)、文化距离
由于地理位置信息是资源推荐中的独特因素,文化是由不同地区的群体形成的集群心理程序,有别于其他群体。文化距离指两个文化之间相似或差异的程度,是量化文化差异的一个相对标准化的测量方法,一般文化距离被用来表征国家之间的文化差异程度,度量方法如式(6)所示:
Figure BDA0003570387680000091
式中,CD表示国家o和国家p之间的文化距离,q表示对应的文化维度,dqo表示国家o在第q个维度的值,Vq表示第q个维度的方差,n表示的文化维度的个数。依据Hofstede的文化四维度:权力距离、不确定性回避、个人主义/集体主义、男性化/女性化,CD的理论取值范围是[0,17.93],实际取值范围是[0.02,8.22]。
二、以下对本发明基于用户属性和项目评分的方法的技术方案进行说明:
1、为以便阅读,文中的重要符合解释如表1所示:
Figure BDA0003570387680000092
Figure BDA0003570387680000101
本发明推荐算法的原理如下:假设有m个用户和n个项目,用户最多具有s个属性数量。用户对项目的评价用矩阵Rm×n表示,用户的属性信息用矩阵Am×s表示。通过对用户-属性A矩阵分析,判断用户是否为新用户,如果是新用户,利用用户属性相似度SimAttr计算用户间的相似度,否则,再对用户-项目评分R矩阵进行分析,使用基于用户属性和项目评分相似度Sim计算相似度。根据用户间的相似度得到最近邻居集
Figure BDA0003570387680000102
预测目标用户未评分项目的值
Figure BDA0003570387680000103
并根据预测值得到最终的项目推荐方案。
2、基于项目评分的相似度计算
改进置信度计算模型,提高用户间相似性的可信度。在加权后的皮尔逊相似度计算中引入冷门度来提高冷门项目对推荐结果的影响,充分挖掘用户潜在的兴趣。
(1)、置信度计算
传统置信度计算公式(4)虽然能够度量用户间相似性的可信度,但是存在一定的误差,当S(u1,u2)=S(u1,u3),并且共同评分的项目均为1项时,由于用户评分习惯的差异,用户和对项目的评分相同,而用户和用户对此项目的评分相近,评分相同的相似度应该大于评分相近的相似度,这与二者的相似度相等相矛盾。
考虑到当共同评价的项目所占比例相同时,评分相同的项目所占比例越多,用户间的相似性越可信。引入用户相同评分项目的数量占共同评分项目数量的比值,构造新的置信度度量函数,计算公式如下:
Figure BDA0003570387680000111
式中,F{*}为指示函数:{true,false}→{1,0};
Figure BDA0003570387680000112
表示用户u1和用户u2在公共项目集合中评价相同物品的数量。
(2)、基于项目冷门度的相似度计算
相对较热门的项目具有较多用户评价信息,导致不能体现用户兴趣的差异性,相反,评价信息极少的冷门物品更能反映用户的兴趣偏好,因此,应提高冷门物品对推荐结果的影响。将式(5)引入到加权后的皮尔逊相似性计算公式(1)中,得到一个改进的相似性度量公式,如下:
Figure BDA0003570387680000113
式中,
Figure BDA0003570387680000114
表示用户u1对所有项目的平均评分;
W(u1,u2)为皮尔逊加权系数,C(x)表示项目的冷门度,可以看出相似度的值越大,冷门项目对相似度的贡献越大,因此可提高冷门项目对推荐结果的影响。
(3)、融合置信度和冷门度的评分相似度
根据修正的相似度计算方法,结合置信度,得到基于用户评分的用户相似性度量公式:
SimR(u1,u2)=SimCP×IS(u1,u2) (9)
SimR(u1,u2)在一定程度上提高了用户评分相似度的准确性,并能挖掘用户的潜在兴趣爱好。
3、用户属性的相似度计算
用户一般包括年龄、位置、性别、职业等基本属性信息,这些属性在一定程度上反映着用户的兴趣偏好,拥有类似属性的用户可能具有相似的兴趣偏好。
(1)、用户年龄属性
不同年龄的用户兴趣爱好会有所差异,比如,青少年喜欢看漫画类图书,中年人喜欢阅读成功学图书,老年人喜欢欣赏经典名著类图书。用户间的年龄差距越小,其兴趣爱好越相近,当年龄差距超出一定范围时,年龄对相似度的影响变的较小,用户年龄相似度计算公式如下:
Figure BDA0003570387680000121
式中,
Figure BDA0003570387680000122
表示用户的年龄,α为划分年龄区间的阈值,具体值由实验得到。
(2)、用户位置属性
用户的兴趣受文化的群体性和层次性的影响,不同国家的用户由于地域、种族、宗教、语系层次等不同,形成了独特的群体性。利用文化距离可以较好地度量用户间的差异,对不同用户属性的文化距离进行归一化处理,得到用户位置属性相似度函数如下:
Figure BDA0003570387680000131
式中,
Figure BDA0003570387680000132
代表用户u1所在的国家;
Figure BDA0003570387680000133
代表用户u2所在的国家;CDmin,CDmax分别表示所有数据中最小和最大文化距离,CD表示用户间的文化距离。
(3)、用户标签属性
相同性别的用户可能拥有共同兴趣,如男性喜欢看财经,女性喜欢看肥皂剧;相同职业的用户一般有相同的兴趣爱好,如画家喜欢画画,收藏家喜欢收藏等,对用户的标签属性相似度计算公式如下:
Figure BDA0003570387680000134
式中,l为用户u1,u2标签属性相同的数量,s为用户标签的总数量。
最后,根据用户年龄属性,位置属性和标签属性相似度,利用公式(13)计算用户的整体属性相似度:
SimAttr(u1,u2)=∑Wa×Sima (13)
其中,Wa表示第a个属性相似度的权重,取值范围是[0,1],Sima是第a个属性相似度。
4、融合用户属性和项目评分的相似度计算
改进的相似度计算把基于项目评分相似度和基于用户属性相似度进行结合。首先,计算基于项目评分的相似度;其次,计算基于用户属性的相似度;然后,将两个相似度进行融合,计算公式如下:
Sim(u1,u2)=β×SimAttr(u1,u2)+(1-β)×SimR(u1,u2) (14)
Figure BDA0003570387680000141
该算法可以缓解用户冷启动和数据稀疏性问题,对于新用户利用用户属性矩阵计算用户间的相似度,有效缓解新用户进入系统带来的冷启动问题;当用户评分数据增多时,通过在用户评分相似度的基础上融合用户属性以增强用户间的相似度,进一步缓解数据稀疏性导致用户间相似度小的问题。
5、本发明协同过滤推荐算法的过程描述如下:
输入:目标用户,用户-项目评分矩阵,用户-属性矩阵;
输出:目标用户的预测评分矩阵。
Step1:利用用户评分信息建立用户-项目评分矩阵;根据用户的属性信息,建立用户-属性矩阵;
利用式(7)和式(8)计算置信度和基于冷门度的相似度;
Step2:融合置信度和基于冷门度的相似度,利用公式(9)得到用户评分相似度;
Step3:利用用户属性信息,分别计算用户间的年龄相似度,位置相似度和用户标签相似度;
Step4:将所得到的年龄相似度,位置相似度和用户标签相似度代入公式(13),得到用户属性最终相似度;
Step5:把项目评分相似度与用户属性最终相似度利用式(14)进行计算,取得最终用户相似度,并得到目标用户的最近邻居集合;
Step6:利用式(2)预测目标用户未评分项目的值,并根据预测值得到预测评分矩阵。
本发明计算评分相似度算法与传统的相似度算法(皮尔逊相似度)复杂度一样都为:每两个用户属性总相似度需要3次加权和2次加法计算,开销很小,计算用户评分相似度时,在加权后的相关系数计算公式之后乘以改进的置信度和冷门度。
三、实验与结果分析
1、数据集
实验采用经典的MovieLens数据集,是一个关于电影评价的数据集,由明尼苏达大学GroupLens研究小组提供。其中,包含943名用户对1682部电影的100000条评分数据,对电影的评分为1~5之间的整数,评分值的大小与用户兴趣偏好程度成正比,数据集的稀疏度为93.7%。ml-100k数据集提供了5个训练集和与之对应的测试集,从中随机选取一对进行仿真实验。
2、评估指标
为了更好地评价算法,利用平均绝对误(MAE)、准确率(Precision)、召回率(Recall)、覆盖率(Coverage)进行衡量。
平均绝对误差(MAE):由于预测的准确性与平均绝对误差(MAE)的大小成反比,因此利用MAE衡量推荐精度,计算公式如下:
Figure BDA0003570387680000161
式中,T是测试集合,Pux是公式(2)计算的用户对项目的预测评分,是用户对项目的真实评分。
准确率(Precision):表示推荐的项目中有多少被正确推荐了,值越大表明推荐准确度越高,计算公式如下:
Figure BDA0003570387680000162
式中,U为测试集中的用户集合,Ru和Tu分别为用户推荐的项目集合和用户在测试集中评价过的项目集合。
召回率(Recall):表示推荐的项目有多少被预测到了,值的大小表明推荐结果的精确度,计算公式如下:
Figure BDA0003570387680000163
覆盖率(Coverage):描述推荐系统挖掘长尾的能力,推荐的项目对用户是否有效,覆盖率值越大表明推荐的项目分布越均匀,计算公式为:
Figure BDA0003570387680000164
式中,Ru为用户推荐的项目集合,n为数据集中物品的总数量。
3、结果分析
阈值的取值分别为0,1,2,3,4,5,6,7,8,9,10,分别计算对应的MAE值,在ml-100k数据集上,当取值为5时,MAE取值最小,因此,将阈值的取值设为5。
将本文最终的相似度计算方法记为UAI-CF,将赵文涛等发表的文献基于用户特征和相似置信度的协同过滤算法中提出的算法记为UAS-CF,与传统协同过滤算法(Pearson)在平均绝对误差、准确率、召回率、覆盖率4个方面进行比较以验证本发明推荐算法的推荐质量。
为了比较本文算法与传统协同过滤算法(皮尔逊相似度)以及对比算法在MAE上的差异,以目标用户邻居数目为变量,近邻数从5增到50,间隔为5。3种算法MAE值的变化如图1所示。从图1中可以看出,随着近邻用户的增加,Pearson算法的MAE逐渐减小,而UAS-CF和UAI-CF的MAE先增加,然后趋于平衡,这是由于推荐了目标用户不喜欢的电影,当近邻数量增加到一定数量时,推荐的电影主要由与目标用户最相似的用户决定。当近邻用户最小时,MAE取的最小值,表明本发明算法缓解了冷启动问题。
3种算法的Precision值变化如图2所示。从图2可以看出,随着近邻用户的增加,3种算法的准确率逐渐减小,UAR-CF算法优于其他2种算法。
图3表示3种算法随着近邻数的增加召回率值的变化,从图3中可以看出,随着近邻用户的增加,3种算法的召回率逐渐增加,UAI-CF算法优于其他2种算法。
图4表示3种算法随着近邻数的增加覆盖率值的变化,从图4可知,随着近邻用户的增加,3种算法的覆盖率随之增加,这是由于近邻用户的增加使得待推荐的电影也在增加。本发明提出的算法与赵文涛等发表的文献基于用户特征和相似置信度的协同过滤算法和传统算法相比,明显可以看出UAI-CF算法的覆盖率增加的更快,在长尾效应方面优于其他2种算法。
综上所述,从平均绝对误差、准确率、召回率、覆盖率4个方面说明本发明改进的算法UAR-CF优于对比算法,更具有实用性。
本发明提出的一种基于用户属性和项目评分的推荐算法,对传统的协同过滤算法进行了改进。在本发明的模型中,通过搜集用户对项目的评价信息,考虑项目冷门度和用户间的置信度,融合用户属性来计算用户间的相似度,利用MovieLens数据集进行仿真实验。与传统的协同过滤算法相比,本文提出的模型可以解决了冷启动带来的推荐系统无法运行的问题,同时缓解了数据稀疏性对推荐结果带来的影响,在一定程度上提高推荐精度,具有一定的实际应用价值。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (6)

1.基于用户属性和项目评分的协同过滤推荐算法,其特征在于,包括如下步骤:
S1、利用用户对项目的评分信息,建立用户-项目评分矩阵;根据用户的属性信息,建立用户-属性矩阵;
S2、在加权后的皮尔逊相似度计算中引入项目冷门度来提高冷门项目对推荐结果的影响,得到基于项目评分的相似度;
S3、根据用户年龄属性、位置属性和标签属性相似度,计算用户的整体属性相似度;
S4、将基于项目评分的相似度和用户的整体属性相似度进行融合,得到最终用户相似度,并构建目标用户的最近邻居集合;
S5、根据目标用户的最近邻居集合和最终用户相似度来预测目标用户未评分项目的值,并根据预测值得到预测评分矩阵。
2.根据权利要求1所述的基于用户属性和项目评分的协同过滤推荐算法,其特征在于,步骤S1中,假设有m个用户和n个项目,用户最多具有s个属性数量,则建立的用户-项目评分矩阵为:R={rui}m×n,rui是用户u对项目i的评分,评分值的大小与用户兴趣偏好程度成正比;建立的用户-属性矩阵为:A={auv}m×s,矩阵的值取1或0,auv表示用户u是否具有v属性。
3.根据权利要求2所述的基于用户属性和项目评分的协同过滤推荐算法,其特征在于,步骤S2具体包括以下步骤:
S21、引入用户相同评分项目的数量占共同评分项目数量的比值,构造新的置信度度量函数,计算公式如下:
Figure RE-FDA0003791490610000011
式中,S为原有置信度函数;u1和u2表示用户,x表示项目,
Figure RE-FDA0003791490610000021
表示用户u1和u2共同评分的项目集合,
Figure RE-FDA0003791490610000022
Figure RE-FDA0003791490610000023
分别表示用户u1和u2对来自共同评价项目x的评分,
Figure RE-FDA0003791490610000024
表示用户u1评价过的项目集合,
Figure RE-FDA0003791490610000025
表示用户u2评价过的项目集合;
Figure RE-FDA0003791490610000026
表示两个用户共同评价项目的数量;
F{*}为指示函数:{true,false}→{1,0};
Figure RE-FDA0003791490610000027
表示用户u1和用户u2在公共项目集合中评价相同物品的数量;
S22、将项目冷门度引入到加权后的皮尔逊相似性计算公式中,得到一个改进的相似性度量公式,如下:
Figure RE-FDA0003791490610000028
式中,
Figure RE-FDA0003791490610000029
Figure RE-FDA00037914906100000210
分别表示用户u1和用户u2对所有项目的平均评分,W(u1,u2)为皮尔逊加权系数:
Figure RE-FDA00037914906100000211
其中,
Figure RE-FDA00037914906100000212
Figure RE-FDA00037914906100000213
分别表示用户u1和u2对各自评价过的项目y的评分;
C(x)表示项目的冷门度,C(x)=e-lgN(x);其中,N(x)表示项目被评价的次数,项目冷门度介于0~1之间;
S23、根据改进的相似性度量公式,结合置信度度量函数,得到项目评分的相似性度量公式:
SimR(u1,u2)=SimCP×IS(u1,u2)。
4.根据权利要求3所述的基于用户属性和项目评分的协同过滤推荐算法,其特征在于,步骤S3具体包括以下步骤:
S31、用户年龄相似度计算公式如下:
Figure RE-FDA0003791490610000031
式中,
Figure RE-FDA0003791490610000032
表示用户的年龄,α为划分年龄区间的阈值,具体值由实验得到;
S32、对不同用户属性的文化距离进行归一化处理,得到用户位置属性相似度函数如下:
Figure RE-FDA0003791490610000033
式中,
Figure RE-FDA0003791490610000034
代表用户u1所在的国家,
Figure RE-FDA0003791490610000035
代表用户u2所在的国家,CDmin,CDmax分别表示所有数据中最小和最大文化距离,CD表示用户间的文化距离;
S33、对用户的标签属性相似度计算公式如下:
Figure RE-FDA0003791490610000036
式中,l为用户u1,u2标签属性相同的数量,s为用户标签的总数量;
S34、根据用户年龄属性,位置属性和标签属性相似度,计算用户的整体属性相似度:
SimAttr(u1,u2)=∑Wa×Sima
其中,Wa表示第a个属性相似度的权重,取值范围是[0,1],Sima是第a个属性相似度。
5.根据权利要求4所述的基于用户属性和项目评分的协同过滤推荐算法,其特征在于,步骤S4中,计算最终用户相似度的公式如下:
Sim(u1,u2)=β×SimAttr(u1,u2)+(1-β)×SimR(u1,u2)
Figure RE-FDA0003791490610000041
6.根据权利要求5所述的基于用户属性和项目评分的协同过滤推荐算法,其特征在于,步骤S5中,预测目标用户未评分项目的值的公式如下:
Figure RE-FDA0003791490610000042
式中,
Figure RE-FDA0003791490610000043
表示用户u1对项目x的预测评分,
Figure RE-FDA0003791490610000044
表示用户u1最近邻居集,Sim(u1,u2)表示用户u1和u2用户的相似度。
CN202210320597.2A 2022-03-29 2022-03-29 基于用户属性和项目评分的协同过滤推荐算法 Pending CN115114517A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210320597.2A CN115114517A (zh) 2022-03-29 2022-03-29 基于用户属性和项目评分的协同过滤推荐算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210320597.2A CN115114517A (zh) 2022-03-29 2022-03-29 基于用户属性和项目评分的协同过滤推荐算法

Publications (1)

Publication Number Publication Date
CN115114517A true CN115114517A (zh) 2022-09-27

Family

ID=83324961

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210320597.2A Pending CN115114517A (zh) 2022-03-29 2022-03-29 基于用户属性和项目评分的协同过滤推荐算法

Country Status (1)

Country Link
CN (1) CN115114517A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116992155A (zh) * 2023-09-20 2023-11-03 江西财经大学 一种利用nmf的不同活跃度用户长尾推荐方法与系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116992155A (zh) * 2023-09-20 2023-11-03 江西财经大学 一种利用nmf的不同活跃度用户长尾推荐方法与系统
CN116992155B (zh) * 2023-09-20 2023-12-12 江西财经大学 一种利用nmf的不同活跃度用户长尾推荐方法与系统

Similar Documents

Publication Publication Date Title
CN107833117B (zh) 一种考虑标签信息的贝叶斯个性化排序推荐方法
Min et al. Detection of the customer time-variant pattern for improving recommender systems
Liang et al. Connecting users and items with weighted tags for personalized item recommendations
CN108717407B (zh) 实体向量确定方法及装置,信息检索方法及装置
Hu et al. Bayesian personalized ranking based on multiple-layer neighborhoods
US11676194B2 (en) Faceted item recommendation system
CN102902691A (zh) 推荐方法及系统
CN105426550B (zh) 一种基于用户质量模型的协同过滤标签推荐方法及系统
US20140288999A1 (en) Social character recognition (scr) system
US7630916B2 (en) Systems and methods for improving collaborative filtering
CN109460519B (zh) 浏览对象推荐方法及装置、存储介质、服务器
CN112100512A (zh) 一种基于用户聚类和项目关联分析的协同过滤推荐方法
CN112102029B (zh) 一种基于知识图谱的长尾推荐计算方法
CN113127754A (zh) 一种基于知识图谱的供应商推荐方法
CN110083764A (zh) 一种协同过滤算法冷启动问题的解决方法
CN106846029B (zh) 基于遗传算法和新型相似度计算策略的协同过滤推荐算法
CN110162711A (zh) 一种基于网络嵌入法的资源智能推荐方法及系统
Su et al. Effective social content-based collaborative filtering for music recommendation
CN112380451A (zh) 一种基于大数据的喜好内容推荐方法
Chen et al. A fuzzy matrix factor recommendation method with forgetting function and user features
CN107133811A (zh) 一种目标用户的识别方法和装置
CN115114517A (zh) 基于用户属性和项目评分的协同过滤推荐算法
Fareed et al. A collaborative filtering recommendation framework utilizing social networks
CN113221003A (zh) 一种基于对偶理论的混合过滤推荐方法及系统
CN113342994A (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