论文部分内容阅读
推荐系统是一个重要的信息检索方法,它根据过去的活动和用户的资料为用户检索有趣的项目。随着电子商务的广泛普及,推荐系统获得了极大的发展,特别是在亚马逊和Netflix中的广泛使用使得推荐系统受到了很大的重视。当下的推荐系统主要针对单个用户的推荐,然而我们许多日常活动是由以多个用户形成的群组来完成的,比如朋友一起观看电影,组团旅游等。这种情况下,既需要考虑项目相关性,也需要考虑成员之间的分歧,而单个用户的推荐系统可能无法满足此类需求,群组推荐应运而生。近年来,一些关于群组推荐的算法相继提出,他们大多是基于聚合策略的协同过滤算法。因此不可避免的面临着协同过滤算法面临的数据稀疏性和新项目冷启动问题。另外,当前的推荐系统主要关注用户对项目的评分,即通过预测群组或个人对项目的评分来推荐项目给群组或个人,在有些情况下如在线选购,一个有排名的项目列表更受群组青睐,此时项目的排名比单纯的预测评分更重要。针对上述问题,本文提出了一种基于置信度传播算法的TOP-N群组推荐算法。首先,采取一定的偏好融合策略,根据群组成员对项目的评分计算出整个群组对项目的评分,然后将整个群组作为单个用户,以群组集和项目集作为两个结点集合建立二分图,群组对项目的评分作为群组结点和项目结点的边缘阈值,通过置信度在马尔可夫场中项目群组结点之间的传递来隐式地挖掘群组对项目的偏好,根据最终目标结点的置信度大小生成排名列表推荐给群组。考虑到置信度传播算法本身采用全局的结点,有较大的冗余计算,本文在不损失精度的前提下采用自适应大小区域的结点来计算结点置信度,即自适应置信度传播算法。最后,本文在GroupLeans项目提供的开源MovieLens数据集上对算法进行了实验。实验结果显示,本文提出的基于置信度传播算法的群组推荐算法,相比其他TOP-N推荐方法,nDCG值更高,推荐精度也更高。同时,基于自适应置信度传播算法的群组推荐算法,在保证准确率的情况下,较基于置信度传播算法的群组推荐算法本身也具有更高的运算速度。