一种基于对偶理论的混合过滤推荐方法及系统技术方案

技术编号:29584855 阅读:40 留言:0更新日期:2021-08-06 19:43
本发明专利技术涉及一种基于对偶理论的混合过滤推荐方法及系统。所述方法包括:根据用户的项目相似度、偏好向量和基于推荐列表得到原始概率集;基于项目相似度和偏好向量,确定原始项目推荐集合和原始相似用户集群,根据用户相似性矩阵、项目评分矩阵和推荐列表得到对偶概率集;基于项目评分矩阵,确定当前对偶项目推荐集合和对偶相似用户集群;根据原始项目推荐集合、对偶项目推荐集合、原始相似用户集群、对偶相似用户集群、原始概率集和对偶概率集得到最终推荐列表。本发明专利技术在面临历史访问数据和评价数据极度稀疏的情况时,可以提高混合推荐方法的推荐性能,从而提高推荐结果的准确性。

【技术实现步骤摘要】
一种基于对偶理论的混合过滤推荐方法及系统
本专利技术涉及推荐
,特别是涉及一种基于对偶理论的混合过滤推荐方法及系统。
技术介绍
随着互联网资源,尤其是商品和娱乐资源的爆炸式增长,越来越多的人在网上搜索他们需要的物品,推荐系统也成为电子商务等领域研究的热点,得到广泛的应用。混合推荐技术结合了两种或两种以上的推荐技术,以获得更好的性能。因为有些推荐系统在有历史访问数据时才能有效地工作,譬如基于内容的推荐;而有些推荐系统则在有足够评价数据时才能效地工作,譬如协同过滤推荐。在目前混合推荐技术的研究中,多采用神经网络、降维、贝叶斯网络和矩阵以及张量因子分解等策略,以得到更精确的显式或隐式用户关联。这些方法的实施基于一个前提,即必须存在很多的用户历史数据和评价数据,当面临的历史访问数据和评价数据极度稀疏的情况时,混合推荐方法的推荐性能较低,从而导致个性化推荐的准确度较低。
技术实现思路
本专利技术的目的是提供一种基于对偶理论的混合过滤推荐方法及系统,在面临历史访问数据和评价数据极度稀疏的情况时,可以提高混合推荐方法的推荐性能,从而提高推荐结果的准确性。为实现上述目的,本专利技术提供了如下方案:一种基于对偶理论的混合过滤推荐方法,包括:根据所述用户在上一迭代次数下的项目相似度、偏好向量和基于内容的推荐方法得到的对各用户的推荐列表计算所述用户对各待推荐项目在当前迭代次数下的第一选择概率,所有用户对各待推荐项目在当前迭代次数下的第一选择概率构成的集合为原始概率集;>基于上一迭代次数下的项目相似度和偏好向量,确定当前迭代次数下原始项目推荐集合和原始相似用户集群;所述原始项目推荐集合包括采用基于内容的推荐方法对待推荐项目集合处理得到的对各用户的推荐列表;所述原始相似用户集群是对所述原始项目推荐集合进行聚类得到的用户集合;根据当前迭代次数下的用户相似性矩阵、上一迭代次数下的项目评分矩阵和采用协同过滤推荐方法得到的对各用户的推荐列表计算所述用户对各待推荐项目在当前迭代次数下的第二选择概率,所述用户对各待推荐项目在当前迭代次数下的第二选择概率构成的集合为对偶概率集;基于上一迭代次数下的项目评分矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群;所述对偶相似用户集群为基于当前迭代次数下的用户相似性矩阵对所有的用户进行聚类得到的;所述对偶项目推荐集合包括基于所述对偶相似用户集群,采用协同过滤推荐方法对待推荐项目集合处理得到对各用户的推荐列表;根据当前迭代次数下的所述原始项目推荐集合、所述对偶项目推荐集合、所述原始相似用户集群和所述对偶相似用户集群得到第一函数值,根据当前迭代次数下的所述原始概率集和所述对偶概率集得到第二函数值;判断所述第一函数值是否小于第一预设阈值且所述第二函数值是否小于第二预设阈值;若是,则根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合得到各目标用户的最终推荐列表;若否,则根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合更新偏好向量、项目相似度和项目评分矩阵得到当前迭代次数下的偏好向量、项目相似度和项目评分矩阵,并进行下次迭代。可选的,所述基于上一迭代次数下的项目评分矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群,具体包括:获取上一次迭代次数下的项目评分矩阵;所述项目评分矩阵包括所有用户在上一迭代次数下的项目评分列表;根据上一迭代次数下的项目评分列表,采用皮尔逊相关系数法计算任意两个所述用户之间的相似度,所有用户之间的相似度构成当前迭代次数下的用户相似性矩阵;由上一迭代次数下的项目评分矩阵和当前迭代次数下的用户相似性矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群。可选的,所述基于上一迭代次数下的项目相似度和偏好向量,确定当前迭代次数下原始项目推荐集合和原始相似用户集群,具体包括:对于任意一个用户,按照所述用户在上一次迭代次数下的偏好向量对待推荐项目集合进行选择得到所述用户的初始项目集合;采用分类算法,根据上一迭代次数下的项目相似度对所述初始项目集合进行分类,得到当前迭代次数下对各用户的推荐列表,从而得到原始项目推荐集合;采用聚类算法对在当前迭代次数下的原始项目推荐集合进行聚类得到多个聚类列表集合;将所述聚类列表集合中各推荐列表对应的用户确定为在当前迭代次数下的用户集合;所有聚类列表集合对应的用户集合为当前迭代次数下的原始相似用户集群。可选的,所述由上一迭代次数下的项目评分矩阵和当前迭代次数下的用户相似性矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群,具体包括:对于任意一个用户,采用聚类算法对当前迭代次数下的用户相似性矩阵进行聚类,得到在当前迭代次数下的多个用户集合,并确定在当前迭代次数下的多个所述用户集合为当前迭代次数下的对偶相似用户集群;对于所述对偶相似用户集群中任意一个用户集合中的目标用户,由所述待推荐项目集合确定所述目标用户中未被评分的项目;由目标用户与各剩余用户之间的相似度计算所述未被评分的项目的评分值;所述剩余用户为所述目标用户所属用户集合中除所述目标用户之外的用户;由所述评分值更新所述目标用户的推荐列表,得到所述目标用户的更新后的推荐列表;所有用户的更新后的推荐列表构成对偶项目推荐集合。可选的,所述根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合更新偏好向量、项目相似度和项目评分矩阵得到当前迭代次数下的偏好向量、项目相似度和项目评分矩阵,具体包括:根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合对上一次迭代次数下的偏好向量进行更新得到当前迭代次数下的偏好向量;根据当前迭代次数下的偏好向量计算任意两个待推荐任务在当前迭代次数下的项目相似度;根据当前迭代次数下的所述原始项目推荐集合、所述对偶项目推荐集合、所述原始相似用户集群和所述对偶相似用户集群对上一次迭代次数下的项目评分矩阵进行更新得到当前迭代次数下的项目评分矩阵。可选的,所述根据当前迭代次数下的所述原始项目推荐集合、所述对偶项目推荐集合、所述原始相似用户集群和所述对偶相似用户集群得到第一函数值,具体为:根据公式得到第一函数值,其中,Fun1为第一函数值,minimize()为求最小值函数,为原始项目推荐集合和对偶项目推荐集合的差异,为原始相似用户集群和对偶相似用户集群的差异。可选的,所述根据当前迭代次数下的所述原始概率集和所述对偶概率集得到第二函数值,具体为:根据公式得到第二函数值,其中,Fun2为第二函数值,minimize()为求最小值函数,loss()为损失函数,P(r,u')为用户集u′对项目集r的原始概率集,P(u,r')为用户集u对项目集r'的对偶概率集,R为原始项目推荐集合,U为原始相似用户集群,R'为对偶项目推荐集合,U'为对偶相似用户集群。可选的,所述由目标用户与各剩余用户之间的相似度计算所述未本文档来自技高网...

【技术保护点】
1.一种基于对偶理论的混合过滤推荐方法,其特征在于,包括:/n根据所述用户在上一迭代次数下的项目相似度、偏好向量和基于内容的推荐方法得到的对各用户的推荐列表计算所述用户对各待推荐项目在当前迭代次数下的第一选择概率,所有用户对各待推荐项目在当前迭代次数下的第一选择概率构成的集合为原始概率集;/n基于上一迭代次数下的项目相似度和偏好向量,确定当前迭代次数下原始项目推荐集合和原始相似用户集群;所述原始项目推荐集合包括采用基于内容的推荐方法对待推荐项目集合处理得到的对各用户的推荐列表;所述原始相似用户集群是对所述原始项目推荐集合进行聚类得到的用户集合;/n根据当前迭代次数下的用户相似性矩阵、上一迭代次数下的项目评分矩阵和采用协同过滤推荐方法得到的对各用户的推荐列表计算所述用户对各待推荐项目在当前迭代次数下的第二选择概率,所述用户对各待推荐项目在当前迭代次数下的第二选择概率构成的集合为对偶概率集;/n基于上一迭代次数下的项目评分矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群;所述对偶相似用户集群为基于当前迭代次数下的用户相似性矩阵对所有的用户进行聚类得到的;所述对偶项目推荐集合包括基于所述对偶相似用户集群,采用协同过滤推荐方法对待推荐项目集合处理得到对各用户的推荐列表;/n根据当前迭代次数下的所述原始项目推荐集合、所述对偶项目推荐集合、所述原始相似用户集群和所述对偶相似用户集群得到第一函数值,根据当前迭代次数下的所述原始概率集和所述对偶概率集得到第二函数值;/n判断所述第一函数值是否小于第一预设阈值且所述第二函数值是否小于第二预设阈值;/n若是,则根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合得到各目标用户的最终推荐列表;/n若否,则根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合更新偏好向量、项目相似度和项目评分矩阵得到当前迭代次数下的偏好向量、项目相似度和项目评分矩阵,并进行下次迭代。/n...

【技术特征摘要】
1.一种基于对偶理论的混合过滤推荐方法,其特征在于,包括:
根据所述用户在上一迭代次数下的项目相似度、偏好向量和基于内容的推荐方法得到的对各用户的推荐列表计算所述用户对各待推荐项目在当前迭代次数下的第一选择概率,所有用户对各待推荐项目在当前迭代次数下的第一选择概率构成的集合为原始概率集;
基于上一迭代次数下的项目相似度和偏好向量,确定当前迭代次数下原始项目推荐集合和原始相似用户集群;所述原始项目推荐集合包括采用基于内容的推荐方法对待推荐项目集合处理得到的对各用户的推荐列表;所述原始相似用户集群是对所述原始项目推荐集合进行聚类得到的用户集合;
根据当前迭代次数下的用户相似性矩阵、上一迭代次数下的项目评分矩阵和采用协同过滤推荐方法得到的对各用户的推荐列表计算所述用户对各待推荐项目在当前迭代次数下的第二选择概率,所述用户对各待推荐项目在当前迭代次数下的第二选择概率构成的集合为对偶概率集;
基于上一迭代次数下的项目评分矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群;所述对偶相似用户集群为基于当前迭代次数下的用户相似性矩阵对所有的用户进行聚类得到的;所述对偶项目推荐集合包括基于所述对偶相似用户集群,采用协同过滤推荐方法对待推荐项目集合处理得到对各用户的推荐列表;
根据当前迭代次数下的所述原始项目推荐集合、所述对偶项目推荐集合、所述原始相似用户集群和所述对偶相似用户集群得到第一函数值,根据当前迭代次数下的所述原始概率集和所述对偶概率集得到第二函数值;
判断所述第一函数值是否小于第一预设阈值且所述第二函数值是否小于第二预设阈值;
若是,则根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合得到各目标用户的最终推荐列表;
若否,则根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合更新偏好向量、项目相似度和项目评分矩阵得到当前迭代次数下的偏好向量、项目相似度和项目评分矩阵,并进行下次迭代。


2.根据权利要求1所述的一种基于对偶理论的混合过滤推荐方法,其特征在于,所述基于上一迭代次数下的项目评分矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群,具体包括:
获取上一次迭代次数下的项目评分矩阵;所述项目评分矩阵包括所有用户在上一迭代次数下的项目评分列表;
根据上一迭代次数下的项目评分列表,采用皮尔逊相关系数法计算任意两个所述用户之间的相似度,所有用户之间的相似度构成当前迭代次数下的用户相似性矩阵;
由上一迭代次数下的项目评分矩阵和当前迭代次数下的用户相似性矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群。


3.根据权利要求1所述的一种基于对偶理论的混合过滤推荐方法,其特征在于,所述基于上一迭代次数下的项目相似度和偏好向量,确定当前迭代次数下原始项目推荐集合和原始相似用户集群,具体包括:
对于任意一个用户,按照所述用户在上一次迭代次数下的偏好向量对待推荐项目集合进行选择得到所述用户的初始项目集合;
采用分类算法,根据上一迭代次数下的项目相似度对所述初始项目集合进行分类,得到当前迭代次数下对各用户的推荐列表,从而得到原始项目推荐集合;
采用聚类算法对在当前迭代次数下的原始项目推荐集合进行聚类得到多个聚类列表集合;
将所述聚类列表集合中各推荐列表对应的用户确定为在当前迭代次数下的用户集合;所有聚类列表集合对应的用户集合为当前迭代次数下的原始相似用户集群。


4.根据权利要求2所述的一种基于对偶理论的混合过滤推荐方法,其特征在于,所述由上一迭代次数下的项目评分矩阵和当前迭代次数下的用户相似性矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群,具体包括:
对于任意一个用户,采用聚类算法对当前迭代次数下的用户相似性矩阵进行聚类,得到在当前迭代次数下的多个用户集合,并确定在当前迭代次数下的多个所述用户集合为当前迭代次数下的对偶相似用户集群;
对于所述对偶相似用户集群中任意一个用户集合中的目标用户,由所述待推荐项目集合确定所述目标用户中未被评分的项目;
由目标用户与各剩余用户之间的相似度计算所述未被评分的项目的评分值;所述剩余用户为所述目标用户所属用户集合中除所述目标用户之外的用户;
由所述评分值更新所述目标用户的推荐列表,得到所述目标用户的更新后的推荐列表;所有用户的更新后的推荐列表构成对偶项目推荐集合。


5.根据权利要求1所述的一种基于对偶理论的混合过滤推荐方法,其特征在于,所述根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合更新偏好向量、项目相似度和项目评分矩阵得到当前迭代次数下的偏好向量、项目相似度和项目评分矩阵,具体包括:
根据当前迭代次数下的所述原始项目推荐集合和...

【专利技术属性】
技术研发人员:万珊珊刘颖蒙翠青邱冬炜吕橙孙雷陈卓
申请(专利权)人:北京建筑大学
类型:发明
国别省市:北京;11

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

1