视频推荐

Matching

基于用户行为

离线协同过滤

  • 根据用户行为日志,利用物品-based协同过滤生成离线的 物品2物品相似度矩阵、用户离线推荐结果

    • 基于艾宾浩斯遗忘曲线按照时间进行降权
    • 弱化热点影片的权重
    • 矩阵分解
  • 基于用户的playlog接口实时获取用户的短时间内的观看历史, 通过物品2物品相似度矩阵进行CF扩散,提取出与用户短时间内 观看历史相似的topN个物品用于召回

  • 用户的CF离线推荐结果直接作为线上服务的召回渠道

W2V

  • 全部影片作为预料库、观看历史按时序排列视为文档,计算所有 物品的词向量

  • 根据词向量计算物品2物品相似度矩阵,用于线上playlog召回 数据

LDA

  • 基于概率主题模型:文档-潜在主题-词三级关系,映射/类比到 用户行为数据:用户-潜在兴趣-资源

  • 通过用户历史行为记录,提取LDA中间产物、用户的潜在兴趣 向量、资源潜在主题分布向量

  • 基于物品的主题向量,进行物品2物品相似度计算,用于线上 playlog召回数据

SimRank

  • 将用户、物品关系视为二部图,考虑相似关系可以在图上传播 思想,使用SimRank计算物品相似队列

基于内容

基于标题

  • 对影片文本简介使用doc2vector,计算资源的表示向量
  • 使用资源的表示项集计算物品2物品相似度矩阵

基于Style

基于Tag

其他方向

  • RNN捕捉用户在点击序列中的模式,利用点击行为发生先后顺序 调整推荐展示顺序

  • Graph Embedding

Ranking

特征工程

  • 低维稠密通用特征:泛化能力良好、记忆能力差

    • embedding特征
    • 统计特征
  • 高维稠密特征:记忆能力较好

    • 视频ID
    • 标签
    • 主题

分类

  • 按特征来源分类

    • 物品特征:资源风格、低于、类型、标签、统计特征
    • 用户特征:性别、年龄、婚姻状况、收入预测
    • context特征:网络状态、时间段、城市
    • 交叉特征
  • 按特征更新频率、获取方式

    • 离线特征:变化缓慢,如:用户、物品基本特征、统计特征
    • 近在线特征:分钟级、小时级需要更新的特征,如:ctr
    • 在线特征:每次请求达到实时获取特征,如:网络状态、 请求时间

特征扩充

  • 用户兴趣向量丰富用户维度上兴趣特征

    • LDA中间产物作为用户潜在兴趣向量
    • W2V词向量、用户行为历史统计出用户兴趣向量
  • 资源embedding向量丰富物品维度特征

    • 用户行为数据embedding得到W2V、LDA词向量
    • 资源标题embedding得到doc2vector词向量
  • 资源封面AutoEncode向量

    • 基于资源封面采用自编码器训练,提取隐层向量作为资源 特征

统计特征细化

  • 特征工程时间窗口细化:按不同时间窗口分别计算资源的统计 特征

    • 丰富资源特征
    • 融入时间衰减因素
  • 在线特征交叉:交叉特征增加样本特征的区分度

连续特征离散化

  • 目标:避免特征为长尾分布、大部分取值集中在小范围,对样本 区分度差
  • 等频离散化:等频分桶、独热编码
  • 对数转化

采样策略

  • 负样本采样策略调整:基本曝光时间、顺序,过滤负样本
  • 不平衡样本策略调整:离线A/B测试正负样本比例,择优调整

模型

  • 一般使用stacking模型堆叠集成
  • 参见ml_models/model_enhancement/ensemble_stacking

基学习器

  • GBDT:各树、各叶子节点对应一维特征

    • 适合低维稠密通用特征,对输入特征分布没有要求
  • DNN

    • 适合普通稠密特征、embedding特征
    • 能抽取有良好分布数据的深层次特征,提高模型准确性、 泛化能力

元学习器

  • LR

    • 适合低维稀疏特征,可对所有特征离散化以引入非线性
  • FM

    • 适合低维稀疏特征
    • LR基础上自动组合二阶交叉项
  • Linear:训练模型、对训练结果线性加权

冷启动、EE

冷启动

Matching

  • 冷启动用户召回

    • 使用imbd算法计算资源得分,根据不同时间周期进行得分 融合、并ab测试,选取最优时间周期组合
    • 按照imdb得分倒排,生成热点召回数据
  • 冷启动资源召回

    • 基于资源库,统计各资源点击、播放率,按一定比例召回 第点击、播放率物品

Ranking

  • 通常使用强化学习算法
  • Thompson Sampling
  • UCB算法
  • Epsilon-Greedy算法
  • 朴素Bandit算法
  • LinUCB算法:较UCB算法加入特征信息
  • COFIBA算法:Bandit算法结合协同过滤

Exploration and Exploitation Tradeoff

Matching

  • 调整不同召回渠道的配比方式保证多样性
Author

UBeaRLy

Posted on

2019-07-23

Updated on

2021-07-16

Licensed under

Comments