推荐系统一般分为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
效果评估
- 离线评估
- 线上实验