作者:HaigLee
https://www.jianshu.com/u/67ec21fb270d
本文由 HaigLee 发布。未经许可,禁止转载。
这个架构可以分为三层:在线层、离线层、尽线层。
在线层
- 数据:实时数据
- 响应:实时响应
- 适用于:
- 对场景信息敏感
- 立即满足用户
- 运行简单算法和逻辑
- 约束:
- 响应时间是硬要求
- 要准备降级服务的推荐结果
- 计算复杂度有限
- 典型任务:
- 过滤逻辑
- 运营手段
- 融合排序
- 多样性提升
- 举例:
- 取出近线层的推荐电影及物品的内容特征,用户特征
- 运用GBDT得到500个新特征,运行LR输出融合模型
- 过滤看过的,过滤已被删除的
- 根据多样性要求去掉高度相似的电影
- 强插一些当季运营活动指定位置
- 输出推荐结果
离线层
- 数据:非实时
- 响应:非实时
- 适用于:
- 处理大数据量
- 运行批量任务
- 算法探索和模拟评测效果
- 可以水平扩展计算能力
- 约束:
- 无法及时捕获最新的用户兴趣
- 无法给用户推荐最新物品
- 典型任务:
- 批量机器学习算法
- 批量计算推荐结果
- 挖掘用户标签
- 物品的内容分析
- 举例:
- 矩阵分解,学习得到用户隐因子向量和物品隐因子向量
- 学习500棵树GBDT决策树
- 以GBDT输出作为特征学习LR模型参数
近线层
- 数据:实时
- 响应:非实时
- 适用于:
- 捕获用户最新兴趣
- 运行较复杂的算法
- 较及时给用户响应
- 约束:
- 处理的数据量有限
- 部分依赖离线计算结果
- 和离线层无缝结合有一定的复杂度
- 典型任务:
- 用最新事件补充召回推荐结果
- 小批量样本更新模型参数
- 举例:
- 用户新评分的电影计算相似电影并增加到离线推荐结果中
- 根据最新浏览数据提取新的标签补充到用户标签中
作者:HaigLee
https://www.jianshu.com/u/67ec21fb270d
本文由 HaigLee 发布。未经许可,禁止转载。