【学习笔记】推荐系统 (6.排序:排序模型的特征、粗排的三塔模型)

网课:王树森 - 推荐系统公开课

6.1 排序模型的特征

6.1.1 用户画像 (User Profile)

  • 用户ID(在召回、排序中做embedding);
  • 人口统计学属性:性别、年龄;
  • 账号信息:新老、活跃度......;
  • 感兴趣的类目、关键词、品牌......

6.1.2 物品画像 (Item Profile)

  • 物品ID(在召回、排序中做embedding);
  • 发布时间(或者年龄);
  • GeoHash(经纬度编码)、所在城市;
  • 标题、类目、关键词、品牌......;
  • 字数、图片数、视频清晰度、标签数......
  • 内容信息量、图像美学。

6.1.3 用户统计特征

  • 用户最近30天(7天、1天、1小时)的曝光数、点击数、点赞数、收藏数;
  • 按照笔记图文/视频分桶(比如最近7天,该用户对图文笔记的点击率、对视频笔记的点击率);
  • 按照笔记类目分桶(比如最近30天,用户对美妆笔记的点击率、对美食笔记的点击率、对科技数码笔记的点击率)。

6.1.4 物品统计特征

  • 笔记最近30天(7天、1天、1小时)的曝光数、点击数、点赞数、收藏数;
  • 按照受众用户性别、年龄、地域等分桶;
  • 作者特征(发布笔记数、粉丝数、消费指标[曝光数、点击数、点赞数、收藏数等])。

6.1.5 场景特征

  • 用户定位GeoHash(经纬度编码)、城市;
  • 当前时刻(分段,做embedding);
  • 是否是周末、是否是节假日;
  • 手机品牌、手机型号、操作系统(安卓、苹果用户点赞差异显著)。

6.1.6 特征处理

6.1.6.1 离线特征

做embedding。

包含用户ID、笔记ID、作者ID、类目、关键词、城市、手机品牌等。

6.1.6.2 连续特征

对于年龄、笔记字数、视频长度给等,做分桶,变成离散特征处理;

对于曝光数、点击率、点赞率等数值,做 log ⁡ ( 1 + x ) \log(1+x) log(1+x),转化为点击率、点赞率等值,并作平滑。

6.1.7 特征覆盖率

  • 很多特征无法覆盖100%样本(用户不填年龄、无法获取用户地理位置等);
  • 提高特征覆盖率,可以让精排模型更精准。
  • 当数据缺失时,默认值的设置也很重要。

6.1.8 数据服务

一种简单的排序时数据流程:

6.2 粗排的三塔模型

6.2.1 三塔模型结构


而对于模型上层:有 n n n个物品,模型上层就要做 n n n次推理,粗排推理的大部分计算量在上层。

6.2.2 三塔模型推理

从多个数据源获取特征:

  • 1个用户的画像、统计特征;
  • n n n个物品的画像、统计特征。
    用户塔只做1次推理,当物品塔未命中缓存时需要做推理,交叉塔必须做 n n n次推理。
    上层网络做 n n n次推理,给 n n n个物品打分。
相关推荐
xuhaoyu_cpp_java1 天前
Boyer-Moore 投票算法
java·经验分享·笔记·学习·算法
雨浓YN1 天前
OPC UA 通讯开发笔记 - 基于Opc.Ua.Client
笔记·c#
沪漂阿龙1 天前
深度剖析神经网络学习:从损失函数到SGD,手写数字识别完整实战
人工智能·神经网络·学习
迷路爸爸1801 天前
Docker 入门学习笔记 06:用一个可复现的 Python 项目真正理解 Dockerfile
笔记·学习·docker
ghie90901 天前
基于学习的模型预测控制(LBMPC)MATLAB实现指南
开发语言·学习·matlab
Engineer邓祥浩1 天前
JVM学习笔记(6) 第二部分 自动内存管理 第5章节 调优案例分析与实战
jvm·笔记·学习
ysa0510301 天前
斐波那契上斐波那契【矩阵快速幂】
数据结构·c++·笔记·算法
倒酒小生1 天前
4月7日算法学习小结
linux·服务器·学习
xinzheng新政1 天前
Javascript·深入学习基础知识2
开发语言·javascript·学习
派大星~课堂1 天前
【力扣-94.二叉树的中序遍历】Python笔记
笔记·python·leetcode