在这个信息爆炸的互联网时代,能够及时准确获取信息是当今社会要解决的关键问题之一。随着之家用户体量和内容规模的不断增大,传统的靠"主动拉"获取信息的方式已不能满足用户个性化信息的需求,信息主动寻找用户的方式,更适合移动互联网。push系统能在用户不启动APP的场景下获取到相关信息,利用机器学习技术构建模型,为用户提供精准的个性化推荐,让用户第一时间知晓产品、内容、活动等的最新动态。
push是一种有效召回用户的产品,它涉及到的业务场景有:运营场景化推送(活动、消息通知、热点)、算法精准推送(定时个性化推送),它的核心模块如下:
数据处理:用户数据、内容数据以及用户历史行为数据等。
流程预测:通过召回、排序、干预、过滤等,生成待推送渲染数据。
JOB:调度、触发推送任务的执行。
推送通道:查询、过滤有效设备,封装协议和消息体,识别不同APP,下发到终端。
终端:对消息进行积攒处理,请求厂商或第三方渠道,进行消息下发。
APP:通知栏或弹窗展示推送消息,并上报到达和点击数据。
图片
接下来将从数据、算法、架构三个方面介绍push精准推送系统的构成:
push采用链式任务支撑整个系统,每批次预测任务都需要经过特征提取、召回、排序、打散、重排、生成推荐结果等步骤,随着新特征的接入以及召回和排序场景的不断迭代优化,任务失败的频率越来越高,主要存在如下问题:
● 特征数据难以复用:特征数据存储在临时表中,任务执行失败时需人工介入恢复,无历史数据可用。
● 流程执行链路过长:召回、排序、重排等关键流程每一步失败都将造成任务失败且重试成本高。
● 非明文类召回功能接入成本高:新的召回策略实验不能动态接入,需要开发介入。
针对链式任务存在的问题,push任务采用分尾号、分时段并行执行,并通过以下方式提升任务执行效率:
● 数据分区:将特征数据及预测流程各环节生成的结果存入分区表,解决任务执行失败时无数据可用的问题。
● 流程拆分:将预测主流程拆分为召回、排序、重排、结果融合等子流程,每个子流程按尾号异步执行,互不影响,每个子任务只需取上一环节生成的最新结果即可继续运行,提升了系统的稳定性及容错性。
● 平台化配置:通过配置平台动态接入实验,简化新策略接入成本。
图片
push系统业务主要分为三大部分,离线层、近线层和推送层。
图片
push技术架构的设计思想就是对数据层层建模、层层筛选,帮助用户从海量数据中找出其真正感兴趣的那部分内容。它包含以下几个部分:
push用户特征包含两部分,原始特征和计算特征,其中原始特征来源于画像表、用户行为日志、内容数据等,将原始特征经过加工形成计算特征,计算特征用于资源召回。
图片
push物料主要分为以下几类:原创文章/视频、帖子、口碑、车家号、问答。每类内容又分别包含兴趣车系、标签、关注作者、点击数、浏览数、收藏数、互动率等特征。
图片
预测是push系统中最重要的环节,通过获取用户特征与物料特征,按照一定的逻辑处理信息后,产生推荐结果。它主要分为以下几步:
1. 召回:将十万量级的物料先缩小到千量级。涉及到的召回方法有:
热门召回:将一段时间内的热门内容召回。
标签召回:根据每个用户的行为,构建标签,并根据标签召回内容。
协同召回:基于用户与用户行为的相似性推荐,发现用户潜在的兴趣偏好。
2. 过滤:已经曝光和点击后的资源、与用户所在城市不同的资源不会再推送到用户面前。
3. 精排:将召回和过滤后的内容通过模型预测出分值,根据得到的分值进行排序。
4. 重排:将精排后的推荐结果进行一定的修改,例如控制某一车系的频次,根据召回策略的权重对排序分值进行修改,将效果好的策略召回的资源置顶。
图片
push系统以定时任务为主,通过每日多次的召回、排序、过滤等主流程的运行,将最新物料及时推送至用户端,相较于传统监测任务异常后进行的事后处理,我们更倾向于实时监控。
用于支撑push系统主流程业务运行,提供了失败重跑、超时报警、日志查看等功能。
图片
报表平台主要包括推送策略打开率、实验打开率、尾号打开率的统计,以及用于辅助决策的内容池素材统计,用于事前预警的召回结果统计,这些报表便于开发人员及时发现和改进系统问题。
图片
通过配置平台进行ABTest、召回策略、排序模型、运营规则、过滤逻辑的动态切换,针对不同的推送时段可以进行个性化的配置。
图片
push系统是汽车之家APP的基础功能,是触达用户的一个非常重要的手段,它每天给几千万用户提供及时有趣的内容服务,对于提高主软活跃度及用户粘性起到重要作用。未来它将继续致力于召回唤醒沉默用户、促进用户活跃、提高功能使用体验。
■ C端及中台产研中心-智能推荐部
■ 汽车之家高级系统开发工程师。先后从事知识图谱、之家大脑、PUSH精准推送等业务。现主要负责PUSH系统相关工作。
■ C端及中台产研中心-智能推荐部
■ 汽车之家系统开发工程师。先后从事家家小秘、知识平台、PUSH精准推送等业务。现主要负责PUSH系统相关工作。