基于物品的协同过滤是一种推荐系统技术,它通过分析物品之间的相似性来预测用户的偏好。 它不关注用户关系,而是识别经常一起被喜欢或互动的物品。 例如,如果购买科幻小说的用户经常购买另一本科幻小说,则这两件物品被认为是相似的。 然后,系统会推荐与用户已经表现出兴趣的物品相似的物品。 这种方法依赖于预先计算物品-物品相似度得分,通常使用余弦相似度或皮尔逊相关等指标,这些指标衡量两个物品在用户交互方面的一致程度。 一旦建立相似性,就会通过聚合目标用户已经参与过的物品的分数来生成推荐。
相比之下,基于用户的协同过滤通过查找与目标用户具有相似行为的用户来预测偏好。 例如,如果用户 A 和用户 B 历史上喜欢相同的电影,系统可能会推荐用户 B 喜欢但用户 A 尚未看过的电影。 此方法计算用户-用户相似度得分,通常使用与基于物品的方法相同的指标,并根据最相似用户的偏好生成推荐。 一个关键挑战是可扩展性:随着用户数量的增长,用户相似性计算在计算上变得昂贵,因为比较每个用户对对于大型数据集来说变得不切实际。
主要区别在于关注点、可扩展性和性能。 基于物品的过滤侧重于物品关系,随着时间的推移,它变得更加稳定,因为物品相似性(例如,同一类型的书籍)的变化频率低于用户偏好。 这种稳定性允许基于物品的系统离线预先计算相似性,从而提高实时推荐效率。 但是,基于用户的系统需要随着偏好的发展而频繁更新用户相似性矩阵,这可能需要消耗大量资源。 此外,基于物品的方法通常能更好地处理稀疏数据集——如果用户与少量物品交互,则很难找到可靠的用户-用户相似性,而物品-物品模式仍然可以从有限的数据中出现。 例如,Netflix 可能会使用基于物品的过滤来推荐与您观看过的节目相似的节目,而社交媒体应用程序可能会使用基于用户的过滤来推荐在具有重叠兴趣的用户中流行的帖子。 这两者之间的选择取决于数据集大小、更新频率以及对实时性能的需求等因素。