0%

推荐系统入门

推荐系统一般分为2个部分,召回、粗排、精排、重排。本文是对推荐系统的一个入门学习。

对比推荐和NLP,我认为NLP更像是偏底层的技术, 推荐系统的问题抽象之后和NLP问题非常相似。

推荐系统的基本问题可以抽象成求解

即求解指定 item在指定user的历史行为记录下可能产生行为的联合条件概率,其中item, history_item的形式都是item id。

而NLP的language model中,第k个word的概率也正是类似的形式。

工业界推荐系统一般包含四个部分:召回、粗排、精排、重排(召回和排序)。下面分别了解一下。

召回

召回阶段负责从海量数据中快速筛选出部分数据,供后面排序阶段使用。

  • 召回模型

    • 基于协同过滤的召回算法

      基于用户相似性推荐的叫UserCF,基于物品相似度推荐的叫ItemCF

    • 基于矩阵分解的召回算法

      SVD 奇异值分解

    • Embedding 召回

      one-hot —> word2vec —> Node2vec —> bert

  • 经典模型

    DSSM 文本匹配

排序

  • 模型

    • LR

      lr是比较简单的线性模型,通过学习用户点击行为来构建CTR( 点击通过率 )预估。

    • GBDT+LR

  • 效果评估

    1. 离线评估
    2. 线上实验