推荐系统中的召回算法

推荐系统中的召回算法

  • 定义
  • 来源
  • 指标
  • 召回类型
  • base算法
  • modified算法
  • ranki2i
  • embedding实践

定义

推荐策略的两个关键问题分别是“召回”和“排序”。“召回(match)”指从全量信息集合中触发尽可能多正确的结果,并将结果返回给“排序”

来源

全量商品与用户进行匹配排序,计算量无法支持。需要召回获得较小的商品候选集,再进行复杂模型的排序。

指标

召回率(recall),准确率(precision)

召回类型

  1. 基于内容匹配的召回(content-based)
  2. 基于协同过滤的召回(collaborative filtering)
    协同过滤细分为:
    a. 基于共现关系neighborhood(user-based,item-based)
    b. 基于模型model-based
    模型协同过滤细分为:
      i. 传统SVD,FM
      ii. 深度网络DNN(deepmatch),embedding(w2v, graph embedding)

base算法

item-based CF(i2i)
商品根据用户浏览表示成向量,例如商品A被用户a/b浏览,没有被用户c浏览,可以表示为(1, 1, 0)
计算两个商品的余弦相似度 similarity(A,B) = cos(A,B) = AB/||A||||B||
实际应用中,采用一个session内的用户行为来计算两个商品的pair对
最终产离线数据为左i,和相似的右i,按照相似度从高到低,线上使用时,右i要进行截断

modified算法

余弦相似度过于粗暴,容易出现哈利波特效应。改良版将降低热门用户/商品的权重

  1. wbcos i2i(weighted bin)
  2. swing i2i
  3. expectation i2i

ranki2i

背景:上面都是基于统计产生的i2i,实际展示的时候不是要最相似原商品的,还有考虑该商品的ctr和cvr等综合产出
过程:利用模型,离线训练和离线预测,右i的点击率,并进行重排。

  1. 分别预测ctr, cvr
    类似于线上rank,这里采用左i的feature和右i的feature,模型可采用现有的rank模型(gbdt, lr, dnn皆可)
  2. 一步到位l2r
    利用pairwise或listwise作为损失函数
    将gmv或点击率转化为预测目标,label为多分类,指标为ndcg

embedding实践

word2vec, graph embedding

你可能感兴趣的:(推荐系统)