排序服务流程

简介: 【8月更文挑战第7天】

排序服务流程
前置知识:
item:指要排序的物品,可以是游戏、视频、广告等
特征
用户特征
用户的一些特征,比如用户的性别、年龄、最近玩的x个游戏
item特征
物品的一些特征,以游戏为例的话,就是游戏的点击次数、游戏包名、游戏评分等
交叉特征
用户和物品的交叉特征
比如用户是否是第一次玩这个游戏
召回
选取一批特定的Item进入后续流程
serving召回
带着用户特征请求召回服务,拿到一批Item的Id
item特征会在召回服务里查,请求参数里无需携带
适用场景:根据不同的用户和不同的模型label(维度)召回,实现个性化的推荐
策略召回
根据策略获取一些Item列表,通常从本地缓存里获取
适用场景:一些适用于所有/特定用户的Item列表
具体实现:

  1. Redis+自定义本地缓存:将Item的唯一标识Id存在Redis的List列表里,结合本地缓存完成召回过程。请求的时候,如果本地缓存里没有数据,就去请求Redis,并且将数据存储在本地,并设置过期时间;下次请求来的时候直接读取本地缓存,减少Redis访问次数。
  2. atomic.Value:借助原子变量存储,数据源可以是Redis或MySQL或其他关系数据库
    粗排
    召回的items经过一定的强制过滤以后,需要用粗排简单筛一批出来进精排
    带着 用户特征和一批item的id请求粗排服务,item特征会在粗排服务里查,请求参数里无需携带
    精排
    对粗排后的items根据final-socre进行截断,请求精排模型进行打分
    请求参数包括用户特征、item特征以及交叉特征
    重排
    进行冷启动、保送等一些业务上的操作逻辑

冷启动
具体做了分层策略

目录
相关文章
|
移动开发 JavaScript 前端开发
【Uniapp 专栏】解读 Uniapp 跨平台开发的底层逻辑
【5月更文挑战第12天】Uniapp是一款跨平台移动应用开发框架,基于Vue.js,通过组件化、条件编译和原生插件扩展实现跨iOS、Android、H5的代码复用。它采用分层设计,统一JavaScript环境,编译时适应不同平台需求。借助调试工具保障质量和稳定性,Uniapp为开发者提供高效开发解决方案,助力创造优质、高性能的跨平台应用。随着技术进步,Uniapp在跨平台开发领域的影响力将持续增强。
569 4
【Uniapp 专栏】解读 Uniapp 跨平台开发的底层逻辑
|
机器学习/深度学习 缓存 人工智能
【AI系统】QNNPack 算法
QNNPACK是Marat Dukhan开发的量化神经网络计算加速库,专为移动端优化,性能卓越。本文介绍QNNPACK的实现,包括间接卷积算法、内存重排和间接缓冲区等关键技术,有效解决了传统Im2Col+GEMM方法存在的空间消耗大、缓存效率低等问题,显著提升了量化神经网络的计算效率。
331 6
【AI系统】QNNPack 算法
|
SQL 分布式计算 关系型数据库
dump
【7月更文挑战第20天】
416 2
|
人工智能 算法 Java
阿里云视觉智能开放平台--人脸识别使用教程
人脸人体识别技术是基于阿里云深度学习算法,结合图像或视频的人脸检测、分析、比对以及人体检测等技术,为您提供人脸人体的检测定位、人脸属性识别和人脸比对等能力。可以为开发者和企业提供高性能的在线API服务,应用于人脸AR、人脸识别和认证、大规模人脸检索、照片管理等各种场景。
阿里云视觉智能开放平台--人脸识别使用教程
|
传感器 机器学习/深度学习 算法
【无人机控制】多旋翼飞行器 (MAV) 的飞行动力学和控制模拟器附matlab代码
【无人机控制】多旋翼飞行器 (MAV) 的飞行动力学和控制模拟器附matlab代码
|
缓存 运维 NoSQL
清新明快的修仙之旅:阿里云数据库MongoDB版助力吉比特《一念逍遥》游戏斩获千万玩家,运营效率成倍增长
阿里云数据库MongoDB版的强大性能和灵活拓展能力帮助我们提高了《一念逍遥》的开发和运维效率,为玩家带来无中断的‘修仙’体验,而我相信这仅仅是阿里云MongoDB一小部分的能量。
899 0
|
Shell Linux 数据安全/隐私保护
linux基本功系列之su命令
linux基本功系列之su命令
611 0
linux基本功系列之su命令
Adobe全家桶2023完美全部最新版安装包下载
说不定哪天身边朋友、同学、同事能用上,别犹豫,链接快过期了!先转存!Adobe全家桶包含各个版本和年份的从2017年 2018年 2019年 2020年 2021年 2022年 2023年.....以及今后更新的也可免费获得。
924 0
|
存储 机器学习/深度学习 算法
C#实现十六进制和十进制相互转换【及不同进制表示】
在程序中,十六进制的表示形式通常为字符串;而十进制则为数字整型(本质的内存存储都是01二进制)。数字的进制表示一般使用的不多,通常最大的需求是进制之间的相互转换。C#中提供了内置的转换方法...
949 0
C#实现十六进制和十进制相互转换【及不同进制表示】
|
存储 算法 安全
剑池CDK集成开发环境概述|学习笔记
快速学习剑池CDK集成开发环境概述
剑池CDK集成开发环境概述|学习笔记