zl程序教程

您现在的位置是:首页 >  系统

当前栏目

推荐系统(4):推荐系统分类

系统 推荐
2023-09-14 09:14:56 时间

目录

0. 相关文章链接

1. 根据实时性分类

1.1. 离线推荐

1.2. 实时推荐

2. 根据推荐是否个性化分类

3. 根据推荐原则分类

4. 根据数据源分类

4.1. 基于人口统计学的推荐

4.2. 基于内容的推荐

4.3. 基于协同过滤的推荐


0. 相关文章链接

推荐系统文章汇总

1. 根据实时性分类

1.1. 离线推荐

离线推荐服务是综合用户所有的历史数据,利用设定的离线统计算法和离线推荐算法周期性的进行结果统计与保存,计算的结果在一定时间周期内是固定不变的,变更的频率取决于算法调度的频率。

1.2. 实时推荐

关于到底什么是实时推荐,一共分为3层:

  • 第一层,“给得及时”,也就是服务的实时响应。这个是最基本的要求,一旦一个推荐系统上线后,在互联网的场景下,没有让用户等个一天一夜的情况,基本上最慢的服务接口整个下来响应时间也超过秒级。达到第一层不能成为实时推荐,但是没达到就是不合格。
  • 第二层,“用得及时”,就是特征的实时更新。例如用户刚刚购买了一个新的商品,这个行为事件,立即更新到用户历史行为中,参与到下一次协同过滤推荐结果的召回中。做到这个层次,已经有实时推荐的意思了,常见的效果就是在经过几轮交互之后,用户的首页推荐会有所变化。这一层次的操作影响范围只是当前用户。
  • 第三层,“改得及时”,就是模型的实时更新。还是刚才这个例子,用户刚刚购买了一个新的商品,那需要实时地去更新这个商品和所有该用户购买的其他商品之间的相似度,因为这些商品对应的共同购买用户数增加了,商品相似度就是一种推荐模型,所以它的改变影响的是全局推荐。

实时推荐架构橄榄如下所示:

按照前面的分析,一个处在第三层次的实时推荐,需要满足三个条件:

  • 数据实时进来
  • 数据实时计算
  • 结果实时更新

为此,下面给出一个基本的实时推荐框图:

整体介绍一下这个图,前端服务负责和用户之间直接交互,不论是采集用户行为数据,还是给出推荐服务返回结果。

用户行为数据经过实时的消息队列发布,然后由一个流计算平台消费这些实时数据,一方面清洗后直接入库,另一方面就是参与到实时推荐中,并将实时计算的结果更新到推荐数据库,供推荐服务实时使用。

2. 根据推荐是否个性化分类

  • 基于统计的推荐
  • 个性化推荐

3. 根据推荐原则分类

  • 基于相似度的推荐
  • 基于知识的推荐
  • 基于模型的推荐

4. 根据数据源分类

4.1. 基于人口统计学的推荐

        基于人口统计学的推荐机制(Demographic-based Recommendation)是一种最易于实现的推荐方法,它只是简单的根据系统用户的基本信息发现用户的相关程度,然后将相似用户喜爱的其他物品推荐给当前用户。

具体介绍和使用可以查看博主的 推荐系统(5):推荐算法之基于人口学的统计推荐算法 博文。

4.2. 基于内容的推荐

Content-based Recommendations (CB)根据用户过去喜欢的产品,为用户推荐和他过去喜欢的产品相似的产品。该相似度不是通过ItemCF进行实现,而是通过抽取物品内在或者外在的特征值,实现相似度计算。

具体介绍和使用可以查看博主的 推荐系统(6):推荐算法之基于内容的推荐算法 博文。

4.3. 基于协同过滤的推荐

基于协同过滤的推荐就是基于用户的协同过滤推荐算法以及基于物品的协同过滤推荐算法,而使用的推荐。

具体介绍和使用可以查看博主的 推荐系统(7):推荐算法之基于协同过滤推荐算法 博文。


注:其他推荐系统相关文章链接由此进 -> 推荐系统文章汇总