注:此系列参考书籍《深度学习推荐系统》-王喆著
推荐系统之目的
个人目的:扎根于电商领域,在了解电商业务的基础上,用技术手段解决决策问题,例如在某个场景中最大限度的解决吸引用户、留存用户、增加用户粘性、提高用户转换率等问题。
推荐系统架构初认知
推荐系统架构包括三个层面的架构:
- 技术架构
技术架构分为数据部分和模型部分。
- 数据部分的目的是输入原始数据,在流处理平台进行数据处理,提炼出用户信息,物品信息和场景信息,之后通过特征工程输出用户特征、物品特征和场景特征(其实就是电商领域的三大维度:人货场)
- 模型部分将数据部分的输出,即用户特征、物品特征和场景特征作为模型输入,经过召回层、排序层、算法层,输出最后的推荐物品列表,在中间需要进行离线评估和线上A/B test进行模型测试和调参。
-
数据架构
数据是模型之源,模型的输出结果的好坏直接取决于数据质量,假设有较好的数据质量,需要对数据进行处理,把数据比作水,那要相应的进入管道让其流通起来,所以有实时处理以及离线处理两种方式,实时处理能力由强变弱的三中平台依次为:- 客户端及服务器实时数据处理
- 流处理平台准实时数据处理
- 大数据平台离线数据处理
经过以上三个平台处理后的数据一般会有以下去处:
- 生成模型所需样本数据
- 生成模型所需特征(加工过后的)
- 生成BI(商业智能)所需的一些统计数据,用于数据质量和业务相关检测。
-
模型架构
模型结构一般由召回层、排序层和排序策略层。
召回层是什么呢?
召回层算是将候选集里面即用户感兴趣的物品按高效的召回规则、算法或简单的模型,快速从海量的候选集中召回用户可能感兴趣的物品。
排序层即利用排序模型对初筛的候选集进行精排序。
补充策略和算法层,也可以称为再排序层,将推荐列表按“多样性”、“流行度”或“新鲜度”等指标进行补充调整。
模型训练一般分为在线训练和离线训练,两者的本质区别在于在线模型可以及时利用新的样本,做到实时更新模型,而离线是可以利用全量样本和特征使得模型逼近全局嘴有点。
在构建模型之后,会有模型评估,针对在线训练和离线训练,分别有“离线评估”和“在线A/B测试”等评估方式。
模型部分中,最核心最重要的部分是“排序层”,后续系列将介绍此部分的主流技术。