推荐工程全解-整体架构

1. 推荐系统的作用

推荐系统现在已经是新闻资讯、视频、购物等场景的标配。通过对候选物料千人千面的提供方式,从而实现业务场景下用户时长、用户活跃度、物料点击率的提升。最终实现收入的转化。本文章聚焦于推荐系统的工程架构,对推荐工程的各个模块进行简要的介绍,并提出一些问题,待后续各个模块展开的文章思考解决。

2. 推荐整体架构

推荐漏斗如图所示,不同的产品形态,其item候选池的大小也不同。首先产品拥有一个数百万~数亿数量级item的全量候选池,通过不同的召回,从候选池中获取数千到万级别的item,用作后续推荐的候选集。之后进入粗排,对item打分,并取打分topk的item到精排进行进一步打分计算。精排使用比粗排更复杂的模型对item进行打分预估,之后由重排对item按属性进行过滤、多样性筛选,执行各种产品、算法的策略,最终得到指定数量的item作为推荐结果返回。

​​​​在这里插入图片描述

推荐系统的整体架构主要可分为三大部分:数据、算法、在线服务,整体的简单架构如图所示

推荐系统整体架构
推荐在线服务整体为星型架构,由接入服务一次请求画像、召回、粗排、精排、重排,获取推荐结果返回给客户端。在线服务还包括正排、倒排、特征服务为基础服务,倒排为召回提供素材,正排为推荐在线的各个模块提供获取item属性的功能,特征服务主要为各个需要进行模型预估的模块提供特征抽取的功能,用于生成模型预估的输入。

算法训练了推荐粗排、精排部分的模型,产出粗排item embedding,产出倒排索引,ann索引

数据为在线服务、算法训练提供各种基础数据,对于用户侧,产出用户画像,抽取、转换、加载用户行为,用户兴趣画像。对于item侧,获取、组织item正排信息和item统计信息、互动信息。对于算法模块,数据侧回流用户的行为和用户画像、上下文信息,用于产出算法模型训练的正负样本。

3. 推荐的各个模块

3.1 推荐接入模块

整个推荐系统为星型架构,推荐接入模块为星型架构的中心节点。对外与推荐上游进行交互,负责推荐请求的接收、返回推荐结果;对内请求推荐内部的各个子模块,分别请求画像、召回、粗排、精排、重排,从而获得推荐结果,并根据协议封装结果返回上游。

3.2 画像

3.2.1 分类

画像是推荐实现个性化的基础。画像模块根据用户ID获取用户画像。用户画像主要包括两大类,显式画像隐式画像

显式画像可以是基础一些基础信息以及用户行为分析出的tag,主要包括:基础画像(如性别、年龄、城市、学历等),兴趣画像(对哪些tag感兴趣,如综艺、足球、科技等),用户行为(点击历史、播放历史、曝光历史、互动、点赞、评论等),会话信息(时间、位置、设备、app版本、刷数等)。

隐式画像可以是利用用户所有信息,通过模型训练得到的embedding向量。

3.2.2 对比

显式画像可解释性强,且一般需要人工定义规则。

隐式画像可以挖掘出用户的隐含意图、兴趣。

3.3 召回

一般来说,图文、视频、广告场景下用户推荐的候选集(如视频池、文章池、广告素材库等)的条目规模可达百万到上亿。从大量的候选条目中获取用户喜欢的、热点的、符合产品调性的条目,是推荐需要解决的重要问题。召回模块是这个选择过程的第一步,负责从候选集中获取条目,供后续排序使用。

3.3.1 召回分类

召回类型主要可以按照以下维度进行分类

基于是否个性化分类
非个性化召回:热点召回、冷

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值