By Fire
按自己的理解进行的分类。标注星号☆的是阿里云平台目前有的(2018.1.29)。
通过用户登录来源或者相关账号绑定,获取用户之前的社交网站上的信息。与2人口统计学获取特征相区别。
- 基本原理:利用用户之前的社交网站的信息直接获取用户喜好信息。
- 例子:
- 用户使用微信登录,获取用户发过的朋友圈公开信息,提取与被推荐物品高度相关的信息,进行推荐。
- 用户使用微博登录网易云,发现发过喜欢begin again电影的状态,于是推荐主题曲lost star.
- 用户用微博登录,切关注了xx领域某个类别的一个大v号,则可以推荐该类别。
- 优点:推荐准确。
- 缺点:这种信息不好获取,且不是都能获取。需要一定的物品信息。
- 基本原理:利用用户之前的社交网站的信息直接获取用户好友信息。
- 例子:用户使用微博/微信等登录,获取关注者、好友等信息,把好友的喜好推荐给用户。
- 优点:推荐比较准确。
- 缺点:好友信息不容易获取,且好友的喜好信息不一定有。
- 基本原理:通过用户的属性特征进行建模,比如年龄,性别等,把用户分为不同的人群,然后对同一类人群把该类人群的共同喜好推荐给新用户。
- 优点:
- 不需要历史行为数据;
- 不需要物品的属性信息。
- 缺点:
- 区分粒度很粗,效果不会特别好。
- 基本原理:通过物品的属性特征进行建模,计算物品相似度,然后基于用户行为推荐相似物品。
- 优点:
- 比较直观,物品属性维度越多越准确;
- 覆盖率广。
- 缺点:
- 需要物品的属性信息;
- 物品相似度衡量只考虑物品本身,有一定局限,因为很多推荐内容有很强的主观性,比如音乐书籍电影;
- 需要一定的用户历史喜好信息。
- 基本原理:根据用户的历史行为数据计算用户或者物品的相似度(比如使用余弦相似度),然后进行推荐。
- 优点:
- 不需要任何的用户或者内容的属性特征信息
- 推荐效果的惊喜度、准确度、多样性较好
- 随着用户行为增多,推荐效果也会提升
- 缺点:
- 需要大量、准确的用户行为数据;
- 冷启动问题(新用户/物品没有行为,也找不到类似用户)
- 灰羊问题(个别口味特殊的用户找不到口味类似的用户)
- 因为采用历史行为数据,不易修改,不够灵活
- 覆盖率较低(数据稀疏问题,很多物品没有行为)
基于用户行为计算用户之间的相关性,再通过当前用户行为找到相似度高的用户,然后把他们喜欢的物品推荐给当前用户。
基于用户行为计算物品之间的相关性,再通过当前用户对物品的行为对喜欢的物品找到相似度高的物品,然后推荐给当前用户。
-
资料:
-
基本原理:对用户历史行为数据建立用户-物品评分矩阵,然后使用矩阵分解相关算法进行因子分解,得到低维稠密的用户特征矩阵和物品特征矩阵,然后两个矩阵相乘就可以得到估计的得分矩阵。
-
优点:
- 可以处理一定的数据稀疏问题
-
缺点:
- 很依赖历史行为数据量
- 速度可能会非常缓慢,并且计算成本比较高
- 物品相关推荐集更多的是基于行为,不太适合做详情页推荐
- 基于电影海报的深度学习方法: 其实也是基于内容的,只是用深度学习来获取海报图像的内容。
- youtube视频推荐: 整个推荐系统分为候选集生成(也称为搜索/召回)和排序两个阶段。其中召回阶段负责基于用户画像及场景数据从海量的视频库(百万级别)中将相关度最高的资源检索出来,作为候选集; 排序阶段负责基于更加精细的特征对候选集(百级别)进行排序,最终呈现给用户的只是很少一部分数据。
- Deep Interest Network|开源代码:代码质量一般,看issue效果也不敢保证,未尝试。
- Wide&Deep
- MovieTaster-使用Item2Vec做电影推荐: 把Word2Vec迁移到item-based CF.这篇博文是根据豆瓣的豆列来做的。从自然语言序列迁移到物品集合,丢失了空间/时间信息,还无法对用户行为程度建模(喜欢和购买是不同程度的强行为)。好处是可以忽略用户-物品关系,即便获得的订单不包含用户信息,也可以生成物品集合。而论文的结论证明,在一些场景下序列信息的丢失是可忍受的。