一种基于社区发现的协同过滤方法技术

技术编号:10397193 阅读:147 留言:0更新日期:2014-09-07 17:49
本发明专利技术公开了一种基于社区发现的协同过滤方法,包括以下步骤:1)将用户—项目网络转换为邻接矩阵形式,如果用户对项目评分,那么对应于矩阵的相应元素就存在值,即评分数据;2)构造用户—用户矩阵,用户—用户矩阵中的元素为用户与用户的相似度,相似度的计算方法采用新型的基于Pearson的相似度计算方法;3)基于用户—用户矩阵通过社区发现方法发现社区结构,并对用户—项目矩阵中的部分缺失评分进行预测填充;4)计算目标用户与社区之间以及用户与用户之间的相似度关系构造最近邻候选集,并完成推荐。该方法有效的解决了传统过滤算法中的冷启动问题,通过改进相似度计算公式以及对缺失评分的预测填充有效提高了算法推荐的精度,在平均绝对误差上也有着更好的表现。

【技术实现步骤摘要】
一种基于社区发现的协同过滤方法
本专利技术属于通信
,涉及一种基于社区发现的协同过滤方法。
技术介绍
目前,在现实生活中,人们每天所接收的信息量越来越大,人们在享受信息便捷的同时也慢慢的被各种不需要的信息所围绕。信息的繁杂使得人们没有办法在较短的时间内找到自己需要的信息,个性化的推荐服务由此而产生。个性化的推荐服务不但免去了用户在大量商品中寻找心仪商品的烦恼,也给用户带来了更好地购物体验。除了协同过滤推荐算法之外,还有一些基于协同过滤的算法也可以取得比较好的划分效果,例如,施荣杰、王守军等人提出的基于物品分类和用户分类的协同过滤推荐方法;李莉、魏宝军等人提出的基于区域特征的协同过滤推荐方法;罗辛、欧阳元新等人提出的一种通过聚合对协同过滤推荐系统进行优化的方法等等。除此之外,杨博、雷余等人提出的基于信任的社会化协同过滤推荐方法;樊博、宿红毅等人提出的一种基于扩展特征向量的个性化协同过滤推荐方法等对协同过滤算法的不足以及改进点都做了很好的阐述,但是关于协同过滤算法的研究仍存在着一些缺点。基于上述的一些协同过滤相关算法,虽然解决了推荐过滤算法中存在一些问题,但是在最近邻候选集选取以及用户相似度计算等方面,还是存在着一些不足,本专利技术提出了一种基于社区发现的协同过滤算法,旨在更好的提高推荐算法的推荐准确度,本专利技术在实际经典MovieLens测试数据集中进行测试时,算法性能稳定高效、准确度高,将算法用于后续的协同过滤推荐中具有非常重要的意义以及广阔的应用前景。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种基于社区发现的协同过滤方法,该方法通过计算用户与用户之间的相似度,将用户—项目网络转换为用户—用户网络,然后将社区发现算法适用于用户—用户网络得到相应的社区结构。根据得到的社区结构进行缺失评分的预测填充以及最近邻候选集的选取,最后预测用户对项目的评分。为达到上述目的,本专利技术提供如下技术方案:一种基于社区发现的协同过滤方法,包括以下步骤:1)将用户—项目网络转换为邻接矩阵形式,如果用户对项目评分,那么对应于矩阵的相应元素就存在值,即评分数据;2)构造用户—用户矩阵,用户—用户矩阵中的元素为用户与用户的相似度,相似度的计算方法采用新型的基于Pearson的相似度计算方法;3)基于用户—用户矩阵通过社区发现方法发现社区结构,并对用户—项目矩阵中的部分缺失评分进行预测填充;4)计算目标用户与社区之间以及用户与用户之间的相似度关系构造最近邻候选集,并完成推荐。进一步,在步骤2)中,利用用户—项目网络构造用户—用户网络,用户—用户网络所对应的用户—用户邻接矩阵中的元素为用户之间的相似度,将新的相似度计算公式命名为Pearsimilarity,其具体的计算方法如下:其中,表示的是用户i与用户j的评分向量,Iui与Iuj分别表示用户i与用户j评分项目的集合,与表示用户i与用户j对项目t的评分情况,α为控制参数,控制相似度公式对数据敏感性的要求。进一步,在步骤3)中,对用户—项目矩阵中的缺失评分进行预测填充,在进行预测填充时考虑到两个方面的因素:商品之间评分的关联性、社区成员对项目预测评分的影响;具体的评分预测公式如下:rcux=(1-β)×user_rating(x)+β×Item_rating(x)表示用户u评分的平均值,Cu(x)表示用户u所属的社区对项目x评分的用户所构成的集合,|Cu(x)|表示集合中用户的数目,rmx表示用户u所属社区内用户对项目x的评分,是其评分的均值,ry表示用户u商品y的评分值,Neigh(Ix)表示与项目x相似项目的集合,其中β为控制性参数。进一步,在步骤4)中,依据目标用户与社区之间的相似度以及目标用户与其他用户之间的相似度选择最近邻候选集,其中目标用户与社区之间的相似度计算公式如下:假设算法将用户-用户社交网络划分为(C1,C2,C3…Ci…Ct),t为社区个数,虽然目标用户属于某一个社区但是这并不表示此目标用户与其他社区毫无关联,所以首先计算目标用户与社区之间的相似度;社区Ct对商品评分的平均值记为质心向量其中表示社区Ct中的用户对项目j的平均评分,分别表示用户i与社区Cj的评分向量,为用户ui所评价的项目集合,表示社区Cj中所有用户所评价项目的集合,表示用户ui对项目t的评分,表示用户ui评分的均值,表示社区Cj中的用户对项目t评分的平均值,而为质心向量中各分量的均值,α为数据敏感度控制性参数。进一步,根据步骤4)所选择的最近邻候选集,计算目标用户对特定项目的评分,具体的评分预测公式如下:Neigh(u)的K个最近邻用户所构成的集合,sim(u,u')表示用户u和用户u'的相似度;如果用户u'对x存在评分值,那么ru'x表示用户u'对x的评分,如果用户u'对x不存在评分值,那么ru'x=rcux,rcux表示预测评分值。本专利技术的有益效果在于:本专利技术提供的基于社区发现的协同过滤方法,有效的解决了传统过滤算法中的冷启动问题,同时,通过改进相似度计算公式以及对缺失评分的预测填充也有效的提高了算法推荐的精度;此外,本方法与传统的协同过滤算法相比,在平均绝对误差上有着更好的表现。附图说明为了使本专利技术的目的、技术方案和有益效果更加清楚,本专利技术提供如下附图进行说明:图1为本专利技术所述方法的宏观流程图。具体实施方式下面将结合附图,对本专利技术的优选实施例进行详细的描述。图1为本专利技术所述方法的宏观流程图,如图所示,本专利技术所述的基于社区发现的协同过滤方法包括以下四个步骤:1)将用户—项目网络转换为邻接矩阵形式,如果用户对项目评分,那么对应于矩阵的相应元素就存在值,即评分数据;2)构造用户—用户矩阵,用户—用户矩阵中的元素为用户与用户的相似度,相似度的计算方法采用新型的基于Pearson的相似度计算方法;3)基于用户—用户矩阵通过社区发现方法发现社区结构,并对用户—项目矩阵中的部分缺失评分进行预测填充;4)计算目标用户与社区之间以及用户与用户之间的相似度关系构造最近邻候选集,并完成推荐。在本实施例中,具体来说,在步骤2)中,利用用户—项目网络构造用户—用户网络,用户—用户网络所对应的用户—用户邻接矩阵中的元素为用户之间的相似度,将新的相似度计算公式命名为Pearsimilarity,其具体的计算方法如下:其中,表示的是用户i与用户j的评分向量,Iui与Iuj分别表示用户i与用户j评分项目的集合,与表示用户i与用户j对项目t的评分情况,α为控制参数,控制相似度公式对数据敏感性的要求。在步骤3)中,对用户—项目矩阵中的缺失评分进行预测填充,在进行预测填充时考虑到两个方面的因素:商品之间评分的关联性、社区成员对项目预测评分的影响;具体的评分预测公式如下:rcux=(1-β)×user_rating(x)+β×Item_rating(x)表示用户u评分的平均值,Cu(x)表示用户u所属的社区对项目x评分的用户所构成的集合,|Cu(x)|表示集合中用户的数目,rmx表示用户u所属社区内用户对项目x的评分,是其评分的均值,ry表示用户u商品y的评分值,Neigh(Ix)表示与项目x相似项目的集合,其中β为控制性参数。在步骤4)中,依据目标用户与社区之间的相似度以及目标用户与其他用户之间的相似度选择最近邻候选集,本文档来自技高网...
一种基于社区发现的协同过滤方法

【技术保护点】
一种基于社区发现的协同过滤方法,其特征在于:包括以下步骤:1)将用户—项目网络转换为邻接矩阵形式,如果用户对项目评分,那么对应于矩阵的相应元素就存在值,即评分数据;2)构造用户—用户矩阵,用户—用户矩阵中的元素为用户与用户的相似度,相似度的计算方法采用新型的基于Pearson的相似度计算方法;3)基于用户—用户矩阵通过社区发现方法发现社区结构,并对用户—项目矩阵中的部分缺失评分进行预测填充;4)计算目标用户与社区之间以及用户与用户之间的相似度关系构造最近邻候选集,并完成推荐。

【技术特征摘要】
1.一种基于社区发现的协同过滤方法,其特征在于:包括以下步骤:1)将用户—项目网络转换为邻接矩阵形式,如果用户对项目评分,那么对应于矩阵的相应元素就存在值,即评分数据;2)构造用户—用户矩阵,用户—用户矩阵中的元素为用户与用户的相似度,相似度的计算方法采用新型的基于Pearson的相似度计算方法;3)基于用户—用户矩阵通过社区发现方法发现社区结构,并对用户—项目矩阵中的部分缺失评分进行预测填充;4)计算目标用户与社区之间以及用户与用户之间的相似度关系构造最近邻候选集,并完成推荐;在步骤2)中,利用用户—项目网络构造用户—用户网络,用户—用户网络所对应的用户—用户邻接矩阵中的元素为用户之间的相似度,将新的相似度计算公式命名为Pearsimilarity,其具体的计算方法如下:其中,表示的是用户i与用户j的评分向量,Iui与Iuj分别表示用户i与用户j评分项目的集合,与表示用户i与用户j对项目t的评分情况,α为控制参数,控制相似度公式对数据敏感性的要求,Cmax表示用户评分区间的最大值。2.根据权利要求1所述的一种基于社区发现的协同过滤方法,其特征在于:在步骤3)中,对用户—项目矩阵中的缺失评分进行预测填充,在进行预测填充时考虑到两个方面的因素:商品之间评分的关联性、社区成员对项目预测评分的影响;具体的评分预测公式如下:rcux=(1-β)×user_rating(x)+β×Item_rating(x)表示用户u评分的平均值,Cu(x)表示用户u所属的社区对项目x评分的用户所构成的集合,|Cu(x...

【专利技术属性】
技术研发人员:苏畅谢显中王裕坤
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:重庆;85

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

1