推荐系统实践(项亮)— 第7章 推荐系统实例
7.1 外围架构
7.2 推荐系统架构
- 基于特征的推荐系统架构
- 用户喜欢的物品、用户相似的用户也可以抽象成特征;
- 基于特征的推荐系统核心任务就被拆解成两部分,一个是如何为给定用户生成特征,另一个是如何根据特征找到物品;
- 用户特征种类
-
- 属性特征
- 行为特征
- 话题特征:可应用主题模型生成
-
- 推荐系统架构构成
- 推荐系统可由多个推荐引擎组成,每个推荐引擎负责一类特征或一种任务,而推荐系统的任务只是将推荐引擎的结果按照一定权重或者优先级进行合并、排序然后返回
- 使用搜索引擎的好处:
- 方便增/删引擎,控制不同引擎对推荐结果的影响,对绝大多数需求,通过不同的引擎组合实现;
- 实现推荐引擎级别的用户反馈,可对不同的用户给出不同的引擎组合权重。
7.3 推荐引擎架构
(1)用户特征向量生成模块
特征向量由特征和特征权重组成,计算时需要考虑:
- 用户行为的总类:一般标准就是用户付出代价越大的行为权重越高。
- 用户行为产生的时间
- 用户行为次数
- 物品的热门程度:冷门物品权重较高(用户对很热门的物品产生的行为往往不能代表用户个性,因为用户可能是在跟风)
(2)特征 — 物品相关推荐模块
可以用不同方式计算多张相关表,然后在配置表中配置表与权重,最终应用时加权组合。
(3)过滤模块
- 用户已经产生过行为物品
- 候选物品以外的物品,由于业务需求或者用户自己限定
- 低质量/评论物品
(4)排名模块
- 新颖性排名:用户不知道、长尾中的物品。
- 多样性排名:覆盖率,一种是推荐结果按物品内容属性分类,在每类中选择排名最高的物品;二是控制不同推荐结果的推荐理由出现次数,推荐结果来自不同特征,具有不同推荐理由;
- 时间多样性
- 用户反馈:通过分析用户之前和推荐结果的交互日志,预测用户会对什么样的推荐结果比较感兴趣(点击预测模型)。