1.基于用户的协同过滤
1)把和目标用户兴趣相似的其他用户所喜欢的,且目标用户没听说过的物品推荐给目标用户。
第一个关键点:计算用户之间的相似度。
Jaccard 系数:
余弦相似度:
N(u)交N(v)
——————
|N(u)||N(v)|开根号
得到用户相似度以后,可以给目标用户推荐和他兴趣最相似的K个用户喜欢的物品。我们还可以得到目标用户u对物品i的感兴趣程度,用wuv 表示用户u和用户v之间的相似度,rvi表示用户v对i的感兴趣程度,
p(u,vi) = wuvrvi 求和。
2.基于物品的协同过滤,基本思想是给用户推荐那些和他们以前喜欢的物品相似的物品。
分为两步:计算物品之间的相似度
根据物品的相似度和用户的历史行为给用户生成推荐列表。
用户u对物品j的兴趣 = wji(物品j和物品i之间的相似度)rui(用户u对物品I的兴趣程度)。
根据计算出来的感兴趣程度,得到要推荐的N个推荐信息。
3.UserCF 着重反映的是和用户兴趣相似的小群体的热点,它的推荐更加社会化;ItemCF 着重于维护用户的历史兴趣,更加个性化。
新闻推荐比较注重热门程度和实效性。因为大多数用户都喜欢看热门新闻。技术上,新闻更新速度飞快,Item需要维护一张物品相关度的表,如果物品更新太快,这张表也需要更新很快,技术上难以实现。与新闻更新速度比起来,用户的更新速度较慢。