推荐系统工程架构
推荐系统简介
计算原理
我们把每个用户/视频表示成空间中的一个点。
如果两个点越接近,就认为这个用户对这个视频的喜欢程度越高,反之越低。
用户点赞这个视频就拉近两点,没点赞就拉远两点的距离。这样就组成了整体推荐系统
推荐系统流程
从海量视频中召回用户感兴趣的视频,经过粗排模型初步筛选用户最感兴趣的几百条视频,分数最高的前几百,然后通过效果更好的精排模型再计算一遍分数,之后应用一些业务规则插,打散,送入系统混排广告,最后返回给用户。
名词介绍
候选/物料库
从一堆候选品中选择一些物品给用户,满足用户不明确的需求,候选品的数量很大,百万千万甚至是亿万级别。
候选集是一个庞大的,集海量物品为一体的大仓库。推荐系统的上限受制于候选量级的数量。
召回
- 难点:召回作用的对象是候选集,由于候选量巨大,召回所面临的压力也是巨大的,特别是时延方面
- 数量级:从千万,亿级别的候选中粗筛,产出万余条数据
- 作用:缩小候选集,缩小提供给用户的范围,从候选商品中进行粗筛,通过简单的模型筛选出几百到几十件商品
- 特点:数据量大,模型简单,响应快,使用的特征量少
排序
- 粗排:对召回结果进行排序,topK送入精排。粗排的打分量远远高于精排,大概是1w条。
- 精排:最纯粹的排序,机器学习模块。目标只有一个,就是找到最准确的预测
- 重排:业务排序层,机器学习返回的排序不一定完全符合业务要求,还要兼顾结果的多样性,流行度,新鲜度等指标,然后还要插入广告,用来对当前排序好的结果根据业务偏好再次排序。提权,打散,隔离,强插