01 互联网的增长引擎-推荐系统
思维导图纲要
为什么需要推荐系统?
- 用户角度:让用户从海量信息中找到目标内容
在互联网环境下,有非常多的信息存在,就像淘宝有很多很多的商品,推荐系统要做的就是从广大商品中找到你梦寐以求的商品。
- 公司角度:让产品最大限度被用户依赖,赚钱
公司通过最大限度地吸引用户、留存用户、增加用户黏性、提高用户转化率等,达到赚钱目的。
实际上两者是统一的,比如YouTube为了让用户看更多的视频使用推荐系统,公司可以增加广告收入,同时用户也可以看到自己感兴趣的内容;而淘宝通过个性化推荐,公司赚更多的钱,用户也可以买到自己心仪的商品。
推荐系统的架构
前面说过,推荐系统要解决“用户痛点”是用户如何在“信息过载”的情况下高效地获得感兴趣的信息。它阐释了构建推荐系统要解决的基础问题:推荐系统实际处理“人”和“信息”的关系。
- 物品信息:指“信息”。在不同的平台表示不同的信息,例如在新闻推荐中指的是“新闻信息”
- 用户信息:指“人”相关的信息。例如历史行为、人口属性、关系网络等
- 场景信息:因为用户的最终选择一般会受时间、地点、用户的状态等一系列环境信息的影响,因此存在“场景信息”
推荐系统逻辑框架
在这里,我们可以形式化地定义推荐系统要处理的问题:
对于用户U(user),在特定场景下C(context)下,针对海量的“物品”信息,构建一个函数f(U, I, C),预测用户对特定候物品I(item)的喜好程度,再根据喜好程度对所有候选物品进行排序,生成推荐列表的问题。
这是抽象的推荐系统的逻辑框架。
推荐系统技术架构
现在为了将抽象的概念和模块具体化、工程化,着重解决两个问题:
- 数据和信息相关的问题:即3个“信息”是什么、如何存储、更新和处理?
- 推荐系统算法和模型相关的问题:即推荐模型如何训练、预测、提升效果?
可以将这两类问题分为两个部分:
- “数据和信息”部分逐渐发展为推荐系统中融合了数据离线批处理、实时流处理的数据流框架;
- “算法和模型”部分则进一步细化为推荐系统中集训练( training )、评估( evaluation )、部署( deployment )、线上推断(online inference ) 为一体的模型框架。
技术架构图:
数据部分
推荐系统的数据部分( 如图 1-4 中米黄色部分所示 )主要负责 “用户”“物品”“场景”的信息收集与处理。
在得到原始的数据信息后,推荐系统的数据处理系统会将原始数据进一步加工,加工后的数据出口主要有三个:
- 生成推荐模型所需的样本数据,用于算法模型的训练和评估。
- 生成推荐模型服务( model serving )所需的“特征”,用于推荐系统的线上推断。
- 生成系统监控、商业智能( Business Intelligence, BI ) 系统所需的统计型数据。
模型部分
推荐系统的“模型部分”是推荐系统的主体(如图 1-4 中浅蓝色部分所示 )。模型的结构一般由 “召回层”“排序层”“补充策略与算法层” 组成。
- “召回层” 一般利用高效的召回规则、算法或简单的模型,快速从海量的候选集中召回用户可能感兴趣的物品。
- “排序层” 利用排序模型对初筛的候选集进行精排序。
- “补充策略与算法层”,也被称为 “再排序层”,可以在将推荐列表返回用户之前,为兼顾结果的“多样性”“流行度”“新鲜度”等指标,结合一些补充的策略和算法对推荐列表进行一定的调整,最终形成用户可见的推荐列表。
模型的训练方法有两种,“离线训练”和 “在线更新”:
离线训练的特点是可以利用全量样本和特征,使模型逼近全局最优点;在线更新则可以准实时地“消化”新的数据样本,更快地反映新的数
据变化趋势,满足模型实时性的需求。
为了评估推荐模型的效果,方便模型的迭代优化,推荐系统的模型部分提供了**“离线评估”和“线上 A/B 测试”**等多种评估模块,用得岀的线下和线上评估指标,指导下一步的模型迭代优化。
模型部分,特别是“排序层”模型是推荐系统产生效果的重点,也是业界和学界研究的重心。
本书的整体结构
章节 | 内容 |
---|---|
第1章 互联网的增长引擎——推荐系统 | 推荐系统的基础知识 |
第2章 前深度学习时代——推荐系统的进化之路 | 与推荐系统相关的基础机器学习知识 |
第3章 浪潮之巅——深度学习在推荐系统中的应用 | 业界主流的深度学习推荐模型结构,以及不同模型之间的演化关系 |
第4章 Embedding技术在推荐系统中的应用 | 重点介绍深度学习的核心技术—Embedding 技术在推荐系统中的应用 |
第5章 多角度审视推荐系统 | 将从核心之外的角度重新审视推荐系统,内容覆盖推荐系统的不同技术模块及优化思路 |
第6章 深度学习推荐系统的工程实现 | 介绍深度学习推荐系统的工程实现方法和主要技术平台 |
第7章 推荐系统的评估 | 介绍推荐系统评估的主要指标和方法 |
第8章 深度学习推荐系统的前沿实践 | 介绍业界前沿推荐系统的技术框架和模型细节 |
第9章 构建属于你的推荐系统知识框架 | 汇总与本书相关的推荐系统知识,介绍推荐工程师应具备的主要技能点和思维方法 |