先看推荐引擎的架构:
推荐系统和其他系统之间的关系以“今日头条”为例,聊一聊推荐策略是如何应用在产品中的。
从我理解的来看,一共分为四个步骤:获取数据、召回、排序、结果展现。
一、获取数据
数据是推荐系统的支撑,主要包括用户数据、内容数据、环境数据。
用户数据有基础数据(性别、年龄、地区、爱好)和行为数据(点赞、评论、分享),内容数据有基础数据(垂直领域、内容质量)和相关数据(如发布者权重、内容热度等),环境数据包括用户所处场景(工作场合、通勤、旅游)。
二、召回
数据库中的海量内容不可能挨个经过模型求得分,因而需要设计召回策略。召回是从海量的内容信息中,筛选出千数量级的内容,对实时性要求很高。
召回策略有很多,如tag倒排、协同过滤、基于内容、基于规则(OTA行业的酒店与机票),今日头条主要使用的是倒排。离线维护一个倒排,主key选择兴趣标签tag,排序根据热度特征,线上召回可以对倒排内容做截断,从而筛选出小部分高质量内容。
三、排序
由于召回渠道的多样性、召回算法的复杂性,导致召回内容良莠不齐,因而需要对内容进行统一的打分排序处理。
排序算法演变过程为:【线性模型+人工特征】——【非线性模型+自动特征】——【深度学习】
四、结果展现
主要体现在内容的前端展现(图片、关键字如标题、摘要、分类)
网友评论