2 推荐系统介绍
2.1 推荐系统历史
- 1994年,协同过滤被提出,也是最早的自动化协同过滤推荐系统
- 1997年,推荐系统这个词被使用
2.2 原理
推荐引擎与传统搜索引擎不一样的地方就是,用户其实并不清楚自己的需求,或者他们的需求很难用简单的关键词来表述,又或者他们需要更加符合自身口味和喜好的结果,因此就出现了基于用户需求、口味、喜好的信息发现机制的推荐系统。
2.2.1 简单推荐系统元素
最简单的推荐系统流程如图所示,构成推荐系统的主要元素如下。
● 物品集合:要推荐物品或内容,例如商品、音乐、广告等。
● 用户:用户的基本信息、用户的行为、用户的兴趣爱好等。
● 场景:用户所处的环境,例如,网络环境、什么时间正在做什么等。
● 推荐引擎:根据用户对物品或者信息的偏好(包括用户对物品的评分、用户查看物品的记录、用户的购买记录等)与用户的画像数据进行拟合,学习得到什么样的用户会喜欢什么样的物品这样一个模型。
● 推荐结果集:这里是一个推荐结果或者一个推荐结果排序集合
其中推荐引擎中包含3个重要模块。
- 召回模块:根据用户和场景特征,从物品列表(上百万个物品)中挑选用户可能感兴趣的物品,通过多种召回方法进行组合召回,最终得到用户的候选物品集(几百或者上千个物品)。在召回模块中,一般使用简单的特征进行快速查询,比如,根据用户最近点击的物品召回相似物品、根据用户兴趣类目召回物品等。
- 排序模块:针对召回模块的候选物品集进行精排,根据用户的所有标签特征、物品的特征以及交叉组合特征,通过排序模型计算,得到用户对候选物品集的评分。排序模块使用的特征比召回模块复杂,目的是计算用户精确的预测值。
- 后排模块:后排也就是后置排序,在得到用户对候选物品集的评分结果后,如果不进行后排,将会按照评分从高到低下发给用户进行展示。通常这里需要对排序列表进行调整,比如运营干预、优先级调权、指定下发规则等。
召回模型
排序模型