分享
互联网的增长引擎——推荐系统
输入“/”快速插入内容
互联网的增长引擎——推荐系统
飞书用户2749
推荐系统的作用/意义/目标
推荐系统的作用和意义
:
🎼
1.
用户角度
:推荐系统解决在“
信息过载
”的情况下,用户如何从海量信息中高效获得感兴趣信息的问题。
•
推荐系统是在
用户需求并不十分明确
的情况下,进行信息的过滤。因此,与搜索系统(用户会输入明确的搜索词 query)相比,推荐系统更多地利用用户的各类历史信息“猜测”可能喜欢的内容。
2.
公司角度
:推荐系统解决产品能够最大限度地
吸引用户、留存用户、增加用户黏性、提高用户转化率
的问题,从而达到
公司商业目标
连续增长(增加公司收益)的目的。
推荐系统的终极优化目标
:包括以下两个维度
1.
一个维度是
用户体验的优化
2.
另一个维度是
满足公司的商业利益
对一个健康的
商业模式
来说,以上两个维度应该是和谐统一的
推荐系统的架构
📌
•
物品信息
:商品推荐中的商品信息,视频推荐中的视频信息,新闻推荐中的新闻信息
•
用户信息
:与人相关的信息,包括历史行为、人口属性、关系网络等,可以用来更可靠地推测出人的兴趣点
•
场景信息/上下文信息
:
指具体推荐场景中的时间、地点、用户的状态等一系列环境信息
推荐系统的逻辑框架
推荐系统要处理的问题
的定义:
•
对于
用户 U (user)
,在
特定场景 C (context)
下,针对海量的物品信息,构建一个函数
f(U,I,C)
,预测用户对特定候选
物品 I (item)
的喜好程度,再根据喜好程度对所有物品进行排序,生成推荐列表
推荐系统的技术架构
实际的推荐系统需要解决两类问题:
•
数据和信息相关的问题
:即用户信息、物品信息、场景信息分别是什么?如何存储、更新和处理?
•
推荐系统算法和模型相关的问题
:即推荐模型如何训练、如何预测、如何达到更好的推荐效果?
因此,推荐系统的技术架构也分为两个部分:
🎼
•
数据部分
:数据离线批处理、实时流处理
◦
负责“用户”“物品”“场景”的信息收集与处理
◦
原始数据加工后有 3 个主要出口:
i.
生成推荐模型所需的
样本数据
,用于算法模型的
训练和评估
ii.
生成推荐模型服务(model serving)所需的“
特征
”,用于推荐系统的
线上推断
iii.
生成监控系统、商业智能系统所需的
统计型数据
•
模型部分
:
训练
、
评估
、
部署
、
线上推断
◦
模型结构/模型服务过程
:输入是所有候选物品集,输出是推荐列表
▪
召回层
:一般由高效的召回规则、算法或简单的模型组成,这让推荐系统能快速从海量的候选集中召回用户可能感兴趣的物品
•
深度学习中的
Embedding 技术
▪
排序层(精排层)
:利用排序模型对初筛的候选集进行精排序。是推荐系统产生效果的重点/
核心
•
深度学习模型的复杂结构,使其具备了理论上拟合任何函数的能力,极大地增强了推荐系统的拟合能力和表达能力
▪
补充策略与算法层(再排序层)
:在返回给用户推荐列表之前,为
兼顾结果的“多样性”“流行度”“新鲜度”等指标
,结合一些
补充的策略和算法
对推荐列表进行一定的调整,最终形成用户可见的推荐列表
◦
模型训练
:在线环境进行模型服务前,需要通过模型训练确定模型结构、超参数、参数取值
▪
离线训练
:可以利用
全量样本和特征
,使模型逼近全局最优点
▪
在线更新
:可以准实时地“消化”新的数据样本,更快地反应新的数据变化趋势,满足模型
实时性
的需求
◦
评估模块
:
▪
离线评估
:得到线下评估指标
▪
线上 A/B 测试
:得到线上评估指标