System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 信任关系下基于评分加权的协同过滤推荐方法技术_技高网

信任关系下基于评分加权的协同过滤推荐方法技术

技术编号:40867739 阅读:4 留言:0更新日期:2024-04-08 16:33
本发明专利技术涉及一种信任关系下基于评分加权的协同过滤推荐方法,属于个性化推荐算法领域。该方法包括以下步骤:通过用户项目评分项目和项目类别数据集的组合,构建用户项目类别矩阵,再根据信任关系得到信任关系下用户项目类别矩阵;对信任关系下用户类别矩阵进行聚类计算,拥有同个类别的用户分配在一个集群中,由此得到k个集群;计算目标用户与集群内其他用户之间的相似度,寻找具有最高相似度的M个用户以形成目标用户的近邻集;将改进的加权Slope One算法应用于目标用户的近邻集,以预测其未评级项目的评级,并基于预测评级的排名结果的前N个导出至推荐列表。在用户众多的情况下,本发明专利技术可以提高推荐精确度。

【技术实现步骤摘要】

本专利技术属于个性化推荐算法领域,涉及一种信任关系下基于评分加权的协同过滤推荐方法


技术介绍

1、随着社会的发展,社交媒体平台如新浪微博等,以及短视频应用如快手和抖音,已经成为人们上网生活中不可或缺的一部分。互联网用户的增长和网络的普及促进了信息的爆炸式增长,导致数据规模已经呈现出“数据信息过载”的现象。在海量的网络信息面前,如何快速地找到自己想要的信息,减少获取有用信息的成本,这成为一个主要的问题,因此推荐系统应际而生,此类问题可以通过推荐系统中的个性化推荐来解决。凭借着可读性强、实际应用简单且高效等优点,协同过滤算法逐渐成为应用最广泛、最流行的推荐算法。通常将协同过滤算法分为基于模型的协同过滤、基于用户的协同过滤、基于项目的协同过滤。协同过滤推荐算法是对规定项目的用户之间相似度的计算,并最终进行推荐,生成推荐列表。协同过滤算法就是如果目标用户对一类中的一个项目感兴趣的话,那目标用户有可能会对这一类的其他项目也同样感兴趣。协同过滤的方法主要是计算相似项目或用户的邻居项目或用户,然后通过聚合基于相似度的邻居的评分来提出建议。

2、在实际应用中,尽管协同过滤在用户表达了足够的评分记录时进行相似性计算是有效的,但由于用户只有几个评级之间的数据稀疏性,会导致协同过滤的性能不佳。cheng等提出一种高效的时间加权协同过滤算法,用户感兴趣的会随着时间的变化逐渐被挖掘出来,用微分方程将相关性高的用户和项目聚类到一个社区,形成基于用户兴趣社区的推荐系统。wang将传统协同过滤算法中加入评分差异因子,并通过组合物品的属性来计算用户的兴趣,最后将最合适的评分差异因子与用户兴趣相似度进行加权,得到项目推荐与分数预测。zhao提出了一种计算用户之间评级项目类型的方法,将用户评分项目的用户相似度与用户评分项目类型的用户相似性相结合。yin等根据用户的协同过滤及随机游走,利用用户相似度和网络结构计算目标用户对不属于用户的属性得分,然后将两者加权组合进行属性推断,这相对于基于用户的协同过滤算法有着更高的推荐性能。gha等利用用户之间的相似性关系来丰富信任网络,缓解网络的稀疏性问题,通过推荐系统中的信任网络并汇总来自直接或间接和明确/隐式信任用户的评级,从而为活跃用户生成预测,提高了预测的覆盖面和准确性。

3、这些研究不论是改进用户评分哪一方面的改进,都是仅仅只是针对用户评分不断创新与改进或者对综合相似性度量不断地创新与改进,现有的基于协同过滤的推荐系统往往没有注意到用户之间的信任关系和用户之间的联系与区别。


技术实现思路

1、有鉴于此,本专利技术的目的在于提出一种在信任关系下基于评分加权的协同过滤推荐方法(acollaborative filtering recommendation algorithmbased on scoreweighting under trust relationship,trust-swcf),本专利技术通过用户类别矩阵中综合相似度计算和改进slop one算法计算给出推荐评分,两者的不同改进会对推荐算法的准确率和性能有着关键性的影响。本专利技术在协作过滤算法中增加了用户之间的信任链接,提升了推荐算法的性能,提高了推荐的精确性。

2、为达到上述目的,本专利技术提供如下技术方案:

3、一种信任关系下基于评分加权的协同过滤推荐方法,该方法包括以下步骤:

4、s1、通过用户项目评分项目和项目类别数据集的组合,构建用户项目类别矩阵,再加入用户与用户之间的信任关系,得到信任关系下用户项目类别矩阵;

5、s2、通过k-means算法对信任关系下用户类别矩阵进行聚类计算,拥有同个类别的用户分配在一个集群中,由此得到k个集群;

6、s3、计算目标用户与集群内其他用户之间的相似度,寻找具有最高相似度的m个用户以形成目标用户的近邻集;

7、s4、将改进的加权slope one算法应用于目标用户的近邻集,以预测其未评级项目的评级,并基于预测评级的排名结果的前n个导出至推荐列表。

8、进一步地,在步骤s1中,具体包括如下步骤:

9、s11、构建用户项目集合矩阵和项目类别矩阵;设系统中的用户集合为u={u1,u2,u3,...,um},项目集合为i={i1,i2,i3,...,in},项目类别集合为x={x1,x2,x3,...,xt};矩阵ui表示用户项目集合矩阵,矩阵ix表示项目类别矩阵,行表示项目,列表示类别,其中矩阵中元素ixij表示第i个项目是否属于类别j;

10、s12、设定评分规则;当项目i具有类别属性j时,ixij得分为1;当项目i不具有类别属性j时,ixij得分为0;

11、s13、通过将用户评分项目和其它项目不同类别属性共同处理,得到用户类别评分矩阵;用户u对商品类别x的喜好度au,x的计算公式如下:

12、

13、ru,i表示用户u对项目i的评分;iu,x表示用户u评定项目中商品类别为x的项目集合,sum(.)表示集合中元素的个数;

14、s14、在获得用户评分数据和项目类别信息后,通过等式(5)计算构建用户项目类别评分矩阵p:

15、

16、其中,在矩阵p中,行表示用户,列表示类别,并且aij表示用户i对类别j的喜好;i∈[1,m],j∈[1,t];

17、s15、构建用户与用户之间的信任关系矩阵;用户信任关系矩阵t下所示:

18、

19、i,j∈[1,m]vi,j∈[0,1];vi,j=1表示用户ui信任用户uj,vi,j=0表示用户ui不信任用户uj;

20、s16、将用户与用户之间的信任关系引入到用户项目类别评分矩阵矩阵中,构成信任关系下用户项目类别评分矩阵,根据式(6)计算获得信任关系下用户项目类别评分矩阵pt,分别如下:

21、

22、

23、其中,a(u)x表示用户u对商品类型x的项目的喜好,lu表示用户u的信任用户集合,α为平衡因子。

24、进一步地,在步骤s2中,基于项目类别喜好对用户进行聚类;首先对相似度度量进行改进,将用户评分的项目数量来计算热门惩罚因子,并将其添加到相似度计算中:

25、pei=1-ci/sum(u)\*mergeformat(7)

26、

27、在式(7)中,用sum(u)表示用户的数量,ci表示对项目i喜爱的用户数量,表示项目i的评分均值,pei表示热门惩罚因子;

28、再基于上述算法通过k-means算法对信任关系下用户类别矩阵进行聚类,拥有同个类别的用户分配在一个集群中,由此得到k个集群。

29、进一步地,在步骤s3中,首先根据一个确定的权重因子将基于用户互评的相似度和基于类别喜好的相似度结合得到综合相似度:

30、sim(u,v)=(1-β)sima(u,v)+βsimb(u,v)\*mergeformat(9)...

【技术保护点】

1.一种信任关系下基于评分加权的协同过滤推荐方法,其特征在于:所述方法包括以下步骤:

2.根据权利要求1所述的信任关系下基于评分加权的协同过滤推荐方法,其特征在于:在步骤S1中,具体包括如下步骤:

3.根据权利要求2所述的信任关系下基于评分加权的协同过滤推荐方法,其特征在于:在步骤S2中,基于项目类别喜好对用户进行聚类;首先对相似度度量进行改进,将用户评分的项目数量来计算热门惩罚因子,并将其添加到相似度计算中:

4.根据权利要求3所述的信任关系下基于评分加权的协同过滤推荐方法,其特征在于:在步骤S3中,首先根据一个确定的权重因子将基于用户互评的相似度和基于类别喜好的相似度结合得到综合相似度:

5.根据权利要求4所述的信任关系下基于评分加权的协同过滤推荐方法,其特征在于:在步骤S4中,使用项目中联合评级的用户数量作为权重,并将邻居和目标用户之间的相似度与目标用户信任相关性作为权重对目标用户所在的近邻集进行预测评级:

【技术特征摘要】

1.一种信任关系下基于评分加权的协同过滤推荐方法,其特征在于:所述方法包括以下步骤:

2.根据权利要求1所述的信任关系下基于评分加权的协同过滤推荐方法,其特征在于:在步骤s1中,具体包括如下步骤:

3.根据权利要求2所述的信任关系下基于评分加权的协同过滤推荐方法,其特征在于:在步骤s2中,基于项目类别喜好对用户进行聚类;首先对相似度度量进行改进,将用户评分的项目数量来计算热门惩罚因子,并将其添加到相似度计算中...

【专利技术属性】
技术研发人员:何登平谭斌
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1