《推荐系统实战》| 七. 推荐系统实例

        本章将首先介绍推荐系统的外围架构,然后介绍推荐系统的架构,并对架构中的每个模块的设计进行深入讨论。

7.1 外围架构

       推荐系统依赖的两个外围系统: UI系统(记录用户各种各样的行为) 和用户行为日志存储系统. 一般来说,需要实时存取的数据存储在数据库和缓存中,而大规模的非实时的数据存储在分布式文件系统(HDFS)上.

《推荐系统实战》| 七. 推荐系统实例_第1张图片

7.2 推荐系统架构

1. 推荐系统联系用户和物品的三种方式:

《推荐系统实战》| 七. 推荐系统实例_第2张图片

上面三种方式都可以抽象成一种基于特征的推荐系统架构, 也就是首先为用户生成特征,然后根据特征找到物品, 这样是推荐系统的两大核心任务.

2. 推荐系统需要由多个推荐引擎组成,每个推荐引擎负责一类特征和一种任务,而推荐系统将推荐引擎的结果按照一定权重或者优先级合并,排序然后返回.

《推荐系统实战》| 七. 推荐系统实例_第3张图片

7.3 推荐引擎的架构

《推荐系统实战》| 七. 推荐系统实例_第4张图片

1. A 生成用户特征向量: 

           用户特征包括两种:(1) 用户的注册信息 主要是用户的人口统计学特征

                                         (2) 由用户行为计算得到的特征: 这部分特征需要考虑用户行为的种类,产生时间, 次数, 物品的热门程度.

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

           存储在Mysql中的物品相关性表: 存储了每个特征以及与之最相关的N个物品的id, 比如女性最喜欢看到前N个电影

3. C 排序模块

            (3.1) 过滤模块: 需要过滤掉: 用户已经产生行为的物品, 候选物品以外的物品, 某些质量很差的物品

            (3.2) 排名模块:

                    ①新颖性排名: 对热门物品进行降权

                    ②多样性, 提高多样性的方法: 1. 按照物品内容属性分成几类,分门别类选出排名最高的物品组合成推荐列表, 2.控制不同推荐理由出现的次数.

                    ③时间多样性: 提高时间多样性的两种方法.

《推荐系统实战》| 七. 推荐系统实例_第5张图片

                     ④ 用户反馈模块主要通过分析用户之前和推荐结果的交互日志,预测用户会对什么样的推荐结果比较感兴趣.

 

 

 

 

你可能感兴趣的:(机器学习,推荐算法)