认知流行度
流行度(Popularity)
内容的流行程度,也称之为热度,最常见的是将榜单中热度的内容推荐给用户(微博热搜,TopN商品)
基于流行度的推荐是围绕流行度计算产生的推荐模型(不仅是TopN)
解决冷启动问题 => 根据流行度来推荐商品的算法,也就是什么内容吸引用户,就给用户推荐什么内容
流行度是对商品热度的一种衡量方式,是否对推荐结果有效,还需要具体分析
MovieLens中的流行度分析
5分和1分所占比例很小,但对于系统来说价值最大
(Youtube中5分和1分的价值最大)
高流行度的item所占比例很小
低流行度的item评分差异大(越不流行=>自己的喜好来判断)
高流行度的item评分差异小(越流行=>群体的喜好影响力大)
从数据集中了解流行度的趋势:
MovieLens数据集
高中低评分的电影,评分随时间变化的趋势相似
评分随时间的变化趋势,都是先升高再降低
=> 评分趋势随时间的变化规律很重要
高流行度的item,评分波动越小,反之低流行度的item,评分波动大
=> 用户的从众心理
基于流行度的推荐(冷启动,个性化推荐)
冷启动问题
• 当用户行为信息不足时,采用非个性化推荐
• 算法本质,什么内容吸引用户,就给用户推荐什么内容
• 也需要有代表性和区分性,即不能太大众化或老少皆宜 => 无法区分用户的兴趣
• 多样性,用户兴趣的可能性很多,为了匹配兴趣的多样性 => 提供具有较高覆盖率的启动item集合(这些物品能覆盖主流的用户兴趣)
• MovieLens,公开数据集
• Crowdsourced 100k,众包数据集,没有公开网站中的常见偏见
• 马太效应=>在Crowdsourced中没有MovieLens中明显
• 长尾理论=>普遍存在。用户的小众需求加起来非常重要
如何使用流行度这个指标
流行度是为了解决初期新用户刚注册时,用户信息不足,我们不能很好的提供推荐服务,从流行趋势里给热门推荐。解决冷启动和数据稀疏性是推荐系统的最大方向,一方面从推荐系统本身的特性出发。
1.对于新用户,采用非个性化推荐(基于流行度的推荐)
2. 对于老用户,可以考虑高流行度对商品推荐的降权影响,挖掘长尾
另外需要考虑到不同网站的特性,不同的网站有不同的目标,要打算解决不同的问题。
· 电商网站,比如唯品会特卖,目标是打造爆款
· 婚恋网站,比如世纪佳缘,目标是让更多人活跃起来
推荐系统的架构
• 在线部分,召回阶段将100万的item=>1000,item太多还可以进行粗排。排序阶段使用相对复杂的模型对较少的item进行排序。在呈现给用户前,还会集合一些业务策略(去掉用户已读,商业化广告)
• 近线部分,实时收集用户行为反馈,并选择训练实例,抽取特征=>更新在线推荐模型
• 离线部分,整理离线训练数据 => 周期性更新推荐模型