工程架构

架构图

冷启动链路的整体框架如下图所示:

1

冷启动链路流程

  1. App请求推荐服务,获取推荐内容列表

  2. 推荐服务调用冷启动召回模块,获取匹配上的候选物品

  3. 推荐服务调用冷启动算法打分EAS服务,传递参数:待打分候选物品列表, 用户/物品特征,返回数量等参数

  4. 冷启动算法打分EAS服务根据特征生成配置文件生成context特征向量;这一过程可能需要从特征存储系统里获取物品特征

  5. 冷启动算法打分EAS服务模型参数存储系统(如,Hologres数据库)同步并缓存模型参数

  6. 冷启动算法打分EAS服务调用模型,为每个候选物品计算预测分数,这一过程中需要实现E&E策略,即做好探索与利用的平衡

  7. 冷启动算法打分EAS服务根据上一步计算的分数,截取Top N个候选物品

  8. 冷启动算法打分EAS服务把Top N候选物品的特征向量实时写入特征存储系统(后端日志存储),为后续的模型训练提供物料

  9. 冷启动算法打分EAS服务把Top N候选物品返回给推荐服务

  10. 推荐服务把获取到的N个冷启动物品与常规推荐结果列表混合后,返回给APP展现

  11. APP实时把展现、点击等行为日志上传到日志服务器

  12. Flink任务从消息中间件(kafka、datahub等)读取日志服务器上收集到的实时行为日志

  13. Flink任务解析日志,并根据配置筛选目标场景的行为日志,用于构建样本和模型训练

  14. Flink任务等待一小段时间后,根据行为类型构建样本标签,并从特征存储系统中获取样本的特征向量

  15. Flink任务做模型训练的Online Learning,并实时同步模型参数至模型参数存储系统,以便冷启动算法打分EAS服务获取

数据流动视图

1