关键词:
协同过滤
推荐算法
完全子图
社团检测
重叠社区
摘要:
随着现代互联网信息时代的发展,网络上的信息越来越庞杂。网络的发展进步无疑是一把双刃剑,在给人们日常生活工作带来很多便利之余,也带来了信息的过载。当网络上的信息过于冗余的时候,人们常常需要从其中提取自己需要的网络信息。为了能够挖掘出更多的符合网络用户兴趣的信息,推荐算法应运而生。推荐算法被广泛应用于处理信息过滤问题,已成为复杂网络分析领域中的重要问题,它从用户的历史信息中分析兴趣模型,并基于用户的兴趣模型选择合适的项目以推荐给用户。由于现实网络的日渐庞大与冗杂,推荐算法常常会有一些不必要的计算,因此对其进行研究具有一定的现实意义。为了改进因网络规模发展而引起的推荐算法计算冗杂问题,本文提出了一种基于社团检测的推荐算法(Recommendation Algorithm based on Community Detection,RACD)。具体工作如下:(1)为了改进传统基于物品的协同过滤算法,提出了一种基于非重叠社团检测的协同过滤推荐算法模型(Recommendation Algorithm based on Non-Overlapping Community Detection,RANOCD),在对数据进行预处理后加入一个社团推荐物品检测步骤,将关联性较强的物品提前地划分到一个社区,以有效减少推荐算法计算的冗余度,之后找到待测试用户评分高于3分的物品并计算用户对其所在的社区中所有物品的预测兴趣度,得出推荐结果并对其进行分析。本文采用多种类型的社团检测算法与不同规模数据进行了实验对比,以及为适应本文研究的目标,对Louvain算法进行了基于派系的改进,在开始社团检测之前就已经对数据进行预处理从而提高了后续推荐算法的准确性。(2)在上一部分的基础上继续思考网络中重叠节点的存在对推荐算法的影响,提出基于重叠社团检测的协同过滤推荐算法模型(Recommendation Algorithm based on Overlapping Community Detection,RAOCD),在对物品关系网络进行重叠社团检测之后,找到待测试用户评分高于3分的物品并计算用户对其所在的社区中所有物品的预测兴趣度,得出推荐结果并进行分析。(3)实验选择的数据集为推荐算法常用数据集Movie Lens,为了得出准确的研究结果并进行分析,选择不同规模的数据集进行训练测试。最终实验表明,基于社团检测的推荐算法能有效的减少推荐算法的计算冗余量。在基于非重叠社团检测的推荐算法中,采用基于派系的改进Louvain算法(CLA)作为社团检测模块的算法性能较为优越。同时考虑了网络中重叠节点对推荐结果的影响,提出了基于重叠社团的推荐算法,当推荐列表长度k值较大时,RAOCD算法性能较好。实验中采用了准确率(precision),召回率(recall)以及F-score三个指标进行算法性能评估。