推荐引擎是数据应用的经典例子,典型的应用场景如亚马逊的商品推荐。
根据推荐引擎的数据源分类可分为三种:
- 根据系统用户的基本信息发现用户的相关程度,这种被称为基于人口统计学的推荐(Demographic-based Recommendation)
- 根据推荐物品或内容的元数据,发现物品或者内容的相关性,这种被称为基于内容的推荐(Content-based Recommendation)
- 根据用户对物品或者信息的偏好,发现物品或者内容本身的相关性,或者是发现用户的相关性,这种被称为基于协同过滤的推荐(Collaborative Filtering-based Recommendation)。
基于人口统计学的推荐:
简单来说就是对用户建模、打标签,假设用户A的标签和用户B的标签相同,那么可以认为用户A和用户B有相同喜好,然后把用户B喜爱的项目推荐给用户A。
基于内容推荐:
对内容或者项目进行建模和打标签,有相同标签的内容归属同一类,例如电影A和电影B都有“动作片”标签,那么它们是同一类,当用户A看过电影A,那么就给他推荐电影B。
基于协同过滤推荐:
协同过滤又分为:
基于用户的协同过滤推荐:这个有点类似人口统计学的推荐,区别在于协同过滤计算用户的相似度,然后利用K-邻居算法把K邻居的商品推荐给目标用户。
基于项目的协同过滤推荐:这个和基于内容推荐都是根据内容的,但这个会计算相似度,例如用户A喜欢物品A、B和C,用户B喜欢物品A,用户C喜欢物品A和C,那么系统任务物品A和C是相似的,那么系统给用户B推荐物品C。
基于模型的协同过滤推荐:训练样本用户数据,建立模型,根据模型进行实时推荐。
参考资料:
https://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy1/index.html