一种基于核方法的协同过滤推荐系统及方法技术方案

技术编号:7629771 阅读:233 留言:0更新日期:2012-08-02 18:01
本发明专利技术提供了一种基于核方法的协同过滤推荐系统及方法,相应的系统包括:数据准备模块,用于将原始数据规范化及相应的预处理,生成用户-项目评分矩阵和项目距离矩阵并输出;用户兴趣建模模块,用于根据所述用户-项目评分矩阵和项目距离矩阵,并通过核密度估计技术构建用户在项目空间上的兴趣模型;推荐结果产生模块,用于根据所述兴趣模型,计算用户之间的相似性,生成目标用户的邻居集,并以预定的推荐策略预测用户对项目的评分并返回推荐结果。本发明专利技术能更好地表述用户兴趣模型,更准确地估计了实际应用中的用户相似度,在数据稀疏的情况下能促进推荐系统性能上较大的提升,并且获得更为稳定的推荐结果。

【技术实现步骤摘要】

本专利技术属于互联网数据挖掘和信息检索领域,涉及一种到电子商务类网站中的商品推荐系统及方法。
技术介绍
随着信息科技以及WEB 2. O技术的迅速发展,互联网信息日趋庞大且保持高速增长。对于互联网用户而言,要解决的问题是如何高效快速地从海量信息中挖掘对自己有价值的信息;而对于一些社交网站、电子商务网站等站点,更要考虑如何有效地将网站内容呈现给用户,以提高服务质量。个性化推荐技术正是在这样的背景下逐步发展起来的,该技术的主要思想是通过挖掘用户的历史行为记录,建立起描述用户需求的兴趣模型,继而利用该兴趣模型去发现用户与信息直接的关联性,最后基于此关联性,用一定的推荐模型预测用户偏好,从而将符合该偏好或需求的信息推送给用户供其选择。在电子商务网站中,系统会根据用户的购买或者浏览记录以及用户对商品的历史评分数据推荐其可能感兴趣的产品;在视频共享等多媒体分享网站中,为用户推荐其感兴趣的视频大大增加了用户的浏览时间和视频被浏览的数量;在社交网站,好友的推荐已经成为其增加用户对网站的粘着性和满意度的重要手段。作为传统推荐技术的一种,协同过滤推荐算法由于其简单高效的特点,在实践中获得了更多的青睐,同时也受到了大量研究者的关注。协同过滤推荐算法可以分为基于邻居集(Neighborhood-based)和基于模型(Model-based)的两种。其中,基于邻居集的推荐算法又可以分为基于用户(User-based)和基于项目(Item-based)的算法。协同过滤推荐算法的核心思想是利用近似用户或者用户喜欢的项目的近似项目来过滤大量信息,从而为用户筛选出其可能感兴趣的项目。具体地,基于用户的协同过滤推荐算法将与特定用户兴趣相似的用户所喜欢的项目推荐给该用户;而基于项目的推荐算法则是筛选出那些与用户喜欢的项目相似的项目作为推荐结果。基于模型的协同过滤算法是利用统计和机器学习技术得到一个推荐模型,进而用该模型产生推荐结果。传统的协同过滤推荐算法需要考虑各种协同过滤推荐算法中普遍存在的弊端,主要包括第一,传统相似性度量方法在计算项目或者用户间的相似性时只考虑了有共同评分的数据,导致只有拥有共同评分的项目的用户有相似的可能,与实际情况不符;第二,协同推荐面临着数据稀疏和冷启动问题的挑战,在评分数据稀疏的情况下,如何能合理地计算用户之间相似性,进而产生精确的推荐结果已经成为提高协同过滤推荐算法的质量的一个关键问题。
技术实现思路
本专利技术的目的是克服传统的协同过滤推荐算法的不足,提供一个更好的用户兴趣建模方案以及与之对应的相似度计算方法,从而更为精确地挖掘用户历史数据,促进推荐系统性能的提闻。本专利技术的目的是通过以下技术方案实现的—种基于核方法的协同过滤推荐系统,包括数据准备模块,用于将原始数据规范化及相应的预处理,生成用户-项目评分矩阵和项目距离矩阵并输出;用户兴趣建模模块,用于根据所述用户-项目评分矩阵和项目距离矩阵,并通过核密度估计技术构建用户在项目空间上的兴趣模型;推荐结果产生模块,用于根据所述兴趣模型,计算用户之间的相似性,生成目标用户的邻居集,并以预定的推荐策略预测用户对项目的评分并返回推荐结果。—种基于核方法的协同过滤推荐方法,包括将原始数据规范化及相应的预处理,生成用户-项目评分矩阵和项目距离矩阵并输出;根据所述用户-项目评分矩阵和项目距离矩阵,并通过核密度估计技术构建用户在项目空间上的兴趣1旲型;根据所述兴趣模型,计算用户之间的相似性,生成目标用户的邻居集,并以预定的推荐策略预测用户对项目的评分并返回推荐结果。本专利技术与现有技术相比,其显著效果是(1)挖掘用户兴趣时不仅考虑了已有数据对推荐结果的正面影响,同时也考虑负面评分的影响,能更好地表述用户兴趣模型;(2) 用户相似度不再依赖于有限的共同评分项目,而是充分挖掘项目间潜在的联系以及用户兴趣在项目空间上的扩散,更准确地估计了实际应用中的用户相似度;(3)在数据稀疏的情况下,能促进推荐系统性能上较大的提升,并且获得更为稳定的推荐结果。附图说明图I为本专利技术的具体实施方式提供的基于核方法的协同过滤推荐系统的结构示意图;图2为本专利技术的具体实施方式提供的用户兴趣在项目空间上的分布示意图;图3为本专利技术的具体实施方式提供的基于核方法的协同过滤推荐方法的流程示意图。具体实施例方式本具体实施方式提供了一种基于核方法的协同过滤推荐系统,如图I所示,包括数据准备模块11,用于将原始数据规范化及相应的预处理,生成用户-项目评分矩阵和项目距离矩阵并输出;用户兴趣建模模块12,用于根据所述用户-项目评分矩阵和项目距离矩阵,并通过核密度估计技术构建用户在项目空间上的兴趣模型;推荐结果产生模块13,用于根据所述兴趣模型,计算用户之间的相似性,生成目标用户的邻居集,并以预定的推荐策略预测用户对项目的评分并返回推荐结果。具体的,数据准备模块11负责准备整个系统所需要的数据,并对部分数据进行预处理。系统主要用到两类数据用户对项目的历史评分数据和项目本身的类别属性信息。 具体实施按如下步骤进行步骤Al :初始化用户-项目评分矩阵用户-项目评分矩阵是用户对项目的历史评分数据的规范化表示,其形式如表格 I所示。该矩阵每一行表示某一个用户对所有项目的评分,每一列表示所有用户对某一个项目的评分。表格I 矩阵中每一项的值包含两种评分数据,Rnbn表示原始的评分数据;R*m,n表示去中心化的历史评分数据,即评分范围中位数为O的情况。前者用于最后评分预测阶段,后者用于用户兴建模型的构建阶段。如果原始数据为去中心化的数据,则两者相同。此处允许评分缺失的情况存在。步骤A2 :计算项目间分类相似性接下来要对项目本身的分类信息进行预处理。假设项目类别集合为C,C中包含了预先设定的若干个类别,类别数用|c|表示。对于项目i,其类别属性用集合c的子集表示, 设为Ci, Ci包含c中的一个或多个元素。计算项目i和项目j之间的分类相似性的公式如下所示S=该公式用一个区间的有理数衡量两个项目间的相似性。对所有项目,计算两两之间的分类相似性。项目的分类属性相对固定,所以此步骤可离线进行,并在有新项目加入的时候及时更新。步骤A3 :计算项目间的Pearson相关系数与步骤A2类似,这里需要计算所有项目两两之间的Pearson相关系数。项目i和项目j之间的Pearson相关系数计算公式如下所示其中Ui, j表示对项目i和项目j都有评分的用户集合,Ru, j为项目评分矩阵中的值,表示用户u对项目i的评分,^为项目i所获得的评分值的均值。步骤A4 :计算项目空间中各项目间的距离在步骤A2和步骤A3的基础上,计算各项目之间的距离度量,形成如表格2所示的项目距离矩阵。表格权利要求1.一种基于核方法的协同过滤推荐系统,其特征在于,包括数据准备模块,用于将原始数据规范化及相应的预处理,生成用户-项目评分矩阵和项目距离矩阵并输出;用户兴趣建模模块,用于根据所述用户-项目评分矩阵和项目距离矩阵,并通过核密度估计技术构建用户在项目空间上的兴趣模型;推荐结果产生模块,用于根据所述兴趣模型,计算用户之间的相似性,生成目标用户的邻居集,并以预定的推荐策略预测用户对项目的评分并返回推荐结果。2.根据权利要求I所述的基于核方法的协同过滤推荐系统,其特征在于,在数据准本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:俞能海庄连生王鹏王晶晶蒋锴
申请(专利权)人:中国科学技术大学
类型:发明
国别省市:

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

1
相关领域技术