推荐系统的应用
推荐系统无处不在,应用场景广泛,主要可用于于电商类、内容平台、社交类、服务提供类的产品,作用是连接人和适合他的人和物,是产品更加个性化,提高用户在产品使用过程中的满意度
推荐系统优劣的评价指标
- 用户角度
- 用户满意度(准确性)
- 新颖度(冷门物品曝光)
- 多样性(物品种类多样)
- 及时性(用户最近的喜好、操作)
- 平台角度
- 覆盖率(推荐的sku足够多)
- 商业目标(利润、流量)
推荐三大法
UserCF:找到同类用户,再给用户推荐同类用户喜欢的商品
此办法适用于物品繁多且更新非常快的系统,比如新闻,由于更新换代得非常快且sku很多,形成的物品矩阵太大而且旧新闻需要及时清理,所以根据同类用户的爱好来做推荐就相当于以不变应万变,跟着大众潮流走就对了,同时给新闻划分主题、频道和标签,根据同类用户的爱好来给用户推荐相关主题、频道的新闻就足矣ItemCF:找到用户喜欢的商品的同类商品,然后给用户推荐
此办法适用于用户很多,物品sku相对较少的系统,比如豆瓣电影,电影类目基本上是固定而且更新也不会太快。主要的办法是物品A和B的相似度由喜欢的重合用户数来决定,或者特征重合数(标签数)特征:把用户、物品根据特征进行归类,比如划分成不同的主题、标签、类目等等,根据平台的需求,然后为用户推荐他所喜欢的特征的商品。比如网易云音乐其中一种方式就是这种,通过用户常听的一些流派、歌手、风格的歌曲为他推荐。
隐语义模型:运用数学中的聚类分析方法,从用户行为数据中总结归纳出不同的兴趣种类,通过数据来给数据进行分类(不是主观人为地分类或者贴标签)。
但是更好的推荐其实可以把上述的几种方法进行组合、取长补短。推荐方法没有优劣之分,只有针对不同情况选择最适合的方式。比如github的推荐,经过离线实验研究可得基于内容相关的推荐就比协同过滤(ItemCF)的方法要好,因为github里面内容属性非常强,协调过滤算法由于数据稀疏性以及用户行为不能完全统计出这一内容特征,就不够内容相关推荐那么精准。
冷启动问题
说说在无数据情况下,如何给用户推荐
- 用户注册信息:人口统计学信息、用户兴趣描述
- 让用户做出选择:初始的时候让用户选择一些物品来作为启动
- 用户的好友信息:社交好友的信息作为同类用户
利用上下文信息辅助推荐系统
- 时间上下文:时间权重,越早的行为越无效,越老的物品越无效(物品的生命周期,如新闻生命就很短),季节性效应
- 地点上下文:活动区域、兴趣本地化—其实也可以归类到“特征”里面去
整书比较偏技术算法的实现,但是原理部分是重要且珍贵的,无论实现方法如何,关键是要懂得如何用更好的方式去推荐,如何采取最合适自身的推荐方法,然后根据评级指标不断优化改进推荐策略。
目前这些推荐技术要实现需要巨大的成本,所以多见于一些巨头公司会采用比较复杂的组合推荐策略,同时也有互相反馈和机器持续学习优化的技术在里面,使得推荐系统是有信服力且越来越准确的;而小公司采取的推荐策略因为有实现成本的考虑,则比较简单,基本上能满足个性化需求但是往往缺乏惊喜,容易让用户很快就知道推荐策略。