7M推荐系统 - S0 推荐业务,Feed流产品及推荐算法策略架构解析+用户和物品特征的常用方法

1 推荐业务

排序模型

  • 召回->粗排->精排
    精排 y = model(user, item, context)
    粗排 y = model(item, context)
  • 特征:
    item特征:统计特征,内容特征如title,标签,视频内容
    用户特征:统计特征,用户历史记录,用户本身的属性
  • 特性
    短视频,每天新增1000万,资讯每天新增1亿
    latency不超过0.1秒

召回分支

  • 召回方法
    多个召回merge成一个候选集
  • 数据
    app客户端埋点 -> 用户产生点击,浏览,点赞,评论 -> 回传服务器 -> kafka,上传实时计算集群 -> label拼接,形成log,然后我们根据数据进行建模
  • rerank
    规则打散,业务逻辑

产品视角

飘红点击率高10%
竖版(快手)比横版(头条)点击率高10%
一般基本有5个tab,但是微信只有4个tab
rerank根据产品和运营需求,比如强插美女视频,比如横版为竖版

推荐系统评估与实践

  • 准确性
  • AUC
  • 冷启动:偏好:新用户冷启动倾向于热门,老用户更加需要长尾
    1.收集用户特征 使用X2I召回
    用户注册信息:性别,年龄,地域
    设备信息:定位,手机型号,app列表
    社交信息,推广素材,安装来源
    2.制造粗粒度选项,引导用户填写兴趣
    3.迁移学习,使用其他站点的行为数据

2 特征方法

item特征

item的类别和统计类特征
量纲和平滑
离散和连续特征和相互转化

用户特征

用户画像库和标签
U2I特征(某个userid买了多少itemid),交叉特征(主要是id交叉)

数据的存储和使用

使用支持Map-Reduce的数据库进行存储比如hive,使用Mapper和Reducer
如果id都在一起的话,使用均匀哈希分桶和数据倾斜

  • 离线
    在线(快)和离线(大)
    在线使用hbase存储数据
    在线和离线数据同步 hive数据同步到hbase
  • 特征服务平台
    管理特征,特征共用,特征的生命周期,离线特征和实时特征

Embedding

one-hot representation 01
distributed representation 聚类

  • Embedding多角度看,是映射
    FM 分解,对embedding二阶特征组合
    Word2vec 中间层
    Deeplearning 中间层

特征工程

简单模型+复杂特征
复杂模型+简单特征

  • 线性模型的特征工程
    二阶特征和高阶交叉
    单变量的非线性变换
    特征预处理和归一化或者标准化(梯度)
  • 缺失值
    直接填充
    中位数均值填充
  • 特征选择
    方差过滤法
    相关系数法 协方差,卡方检验,互信息
    树模型的特征重要性
  • 特征降维
    PCA
    SVD
    LDA
  • 特征连续化
    embedding,空间变换
  • 特征离散化
    手动分桶,自动分桶(GBDT+LR)
  • ML Pipeline
    sklearn pipeline: fit和transform
  • 样本不均衡怎么处理
    上下采样
    基于距离SMOTE-NC
    信息类 boosting思想

你可能感兴趣的:(7M推荐系统 - S0 推荐业务,Feed流产品及推荐算法策略架构解析+用户和物品特征的常用方法)