首页 > 技术文章 > 推荐系统实例

leeyuxin 2019-03-22 10:45 原文

基于特征的推荐系统架构:

  当用户到来之后,推荐系统需要为用户生成特征,然后对每个特征找到和特征相关的物品,从而最终生成用户的推荐列表。因此,推荐系统的核心任务就被拆解为两部分,一个是如何给定用户生成特征,另一个是如何根据特征找到物品。

  用户的特征包括:

  (1) 人口统计学特征:年龄、性别等

  (2) 用户的行为特征:包括浏览、收藏过什么等

  (3) 用户的话题特征

 

  推荐引擎架构主要包括3部分

  (1) 负责从数据库或者缓存中拿到用户行为数据,通过分析不同行为,生成当前用户的特征向量

  (2) 负责将用户的特征向量通过特征-物品相关矩阵转化为初始推荐物品列表

  (3) 负责对初始的推荐列表进行过滤、排名等处理,从而生成最终的推荐结果。

 

  1. 生成用户特征向量

  (1) 用户行为的种类(购买、收藏等)、

  (2) 用户行为产生的时间(最近行为比较重要)

  (3) 用户行为的次数

  (4) 物品的热门程度(冷门物品)  

 

  2. 特征--物品相关推荐

  得到用户的特征向量后,可以根据离线的相关表得到初始的物品推荐列表,表可以存储在mysql中

  特征ID    物品ID    权重

 

  3. 过滤模块

  (1) 用户已经产生过行为物品

  (2) 候选物品以外的物品

  (3) 某些质量很差的物品

 

  4. 排名模块

  (1) 新颖性排名:尽量推荐不知道的、长尾中的物品 

  (2) 多样性

 

推荐阅读