《深度学习推荐系统》,作者王喆,2020年3月第1版,第1章《推荐系统概述》。
获得用户信息U(user)、物品信息I(item)、场景信息C(context)的基础上,推荐模型处理的问题是:对于用户U(user),在特定场景C(context)下,针对海量物品信息,构建一个函数$f(U,I,C)$,预测用户对特定候选物品I(item)的喜好程度,再根据喜好程度对候选物品进行排序,生成推荐列表。
推荐系统技术架构可以分为两部分:
1、数据和信息部分:融合数据离线批处理、实时流处理的数据流框架;
2、算法和模型部分:集训练、评估、部署、线上推断为一体的模型框架。
主要负责用户、物品、场景的信息收集和处理。
负责数据收集和处理的三个平台按照实时性的由强到弱(即按照海量数据处理能力由弱到强)依次为:客户端及服务器端实时数据处理、流处理平台准实时数据处理、大数据平台离线数据处理。
加工后的数据用途有三个:
1、推荐模型的样本数据,用于训练(training)和评估;
2、推荐模型服务(serving)所需的特征,用于线上推断;
3、系统监控、商业智能BI所需的统计数据。
由召回层、排序层、补充策略与算法层。
召回层:利用高效的召回规则、算法或简单的模型,快速从海量的候选集中召回用户可能感兴趣的物品;
排序层:利用排序模型对初筛的候选集进行精排序;
补充策略与算法层:也称再排序层,将推荐列表返回用户之前,为了兼顾结果的多样性、流行度、新鲜度等指标,结合一些补充策略和算法,对推荐列表进行一定的调整,最终形成用户可见的推荐列表。
从推荐模型接收到所有候选物品集,到最后产生推荐列表,这一过程称为模型服务过程。
在线环境进行模型服务(serving)之前,需要通过模型训练(training)确定模型结构、结构中不同参数权重,模型相关算法和策略中的参数取值。
模型训练方法可以分为:
1、离线训练:可以利用全量的样本和特征,使模型逼近全局最优点;
2、在线更新:可以准实时地消化新的数据样本,更快地反应新的数据变化趋势,满足模型实时性的需求。
模型的评估可以分为离线评估和线上A/B测试两种。