流量投放:推荐召回策略

流量投放:推荐召回策略

img

协同策略

概念

  • u-user:用户
  • i-item:内容
  • g-tag:标签

各种概念:

  • 2i:计算item-item相似度,用于相似推荐、相关推荐、关联推荐;
  • u2i:基于矩阵分解、协同过滤的结果,直接给u推荐i;
  • u2u2i:基于用户的协同过滤,先找相似用户,再推荐相似用户喜欢的item;
  • u2i2i:基于物品的协同过滤,先统计用户喜爱的物品,再推荐他喜欢的物品;
  • u2tag2i:基于标签的泛化推荐,先统计用户偏好的tag向量,然后匹配所有的Item,这个tag一般是item的标签、分类、关键词等tag;

img

比较

基于用户(特征)协同过滤2u

基本思想:当召回用户A的候选集时,可以先找到和他有相似兴趣的其他用户,然后把那些用户喜欢的、而用户A没有未交互的物品作为候选集

**其中相似度的计算公式可以概括为:**用户u和用户v,令N(u)表示用户u曾经有过正反馈(例如点击)的物品集合,令N(v) 为用户v曾经有过正反馈的物品集合,相似度=uv用户相似的物品集合/uv所有的物品集合和

例如香港首页feed为你推荐场景:正反馈可能为 ->img

除了针对候选集进行0 1有无的推荐外,更应该进一步优化的是针对每个候选集的物品进行score(价值)计算,换句话说,两个用户对冷门物品采取过同样的行为更能说明他们兴趣的相似度,因此,我们可以基于物品的流行度对热门物品进行一定的惩罚,价值可以为自定义,例如售卖券的价值=10,小程序的价值=20

基于余弦相似度

大概步骤:

  1. 先统计当前用户相似度的用户后
  2. 算法会给用户推荐和他兴趣最相似的K个用户喜欢的

基于物品协同过滤2i

**基本思想:**给用户推荐那些和他们之前喜欢的物品相似的物品。比如,该算法会因为你购买过《数据挖掘导论》而给你推荐《机器学习》。不过,ItemCF算法并不利用物品的内容属性计算物品之间的相似度,它主要通过分析用户的行为记录计算物品之间的相似度。该算法认为,物品A和物品B具有很大的相似度是因为喜欢物品A的用户大都也喜欢物品 B。一切都是基于用户行为去推荐item

**其中相似度的计算公式可以概括为:**喜欢item1并且喜欢item2的人数占了喜欢item1的百分比

相似度 =( N(Item1)交N(item2))/N(Item1)

这里我们按照喜欢吃这个行为计算相似度举例,例如喜欢西瓜=100w,喜欢吃菠萝并喜欢吃西瓜的人数=50W,那么喜欢吃西瓜和喜欢吃菠萝的相似度=50/100=0.5,值越接近1相似度越高

大概步骤:

  1. 计算物品之间的相似度
  2. 根据物品的相似度和用户的历史行为给用户生成召回候选集

该算法也会有一个问题,就是针对热门item,假设按照喜欢这个行为作为相似度的考虑,假设有一个热门商品大多数用户都喜欢,这样会导致这个热门商品和大部分商品相似度都很高,因此这里会导致热门商品会经常被推荐。

那么我们是不是可以不让每个用户的行为的贡献度都一样呢?例如:

假设有这么一个用户,他是开书店的,并且买了当当网上80%的书准备用来自己卖。那么, 他的购物车里包含当当网80%的书。假设当当网有100万本书,也就是说他买了80万本。从前面 对ItemCF的讨论可以看到,这意味着因为存在这么一个用户,有80万本书两两之间就产生了相似度。这个用户虽然活跃,但是买这些书并非都是出于自身的兴趣,而且这些书覆 盖了当当网图书的很多领域,所以这个用户对于他所购买书的两两相似度的贡献应该远远小于一个只买了十几本自己喜欢的书的文学青年。因此,我们要对这样的用户进行一定的惩罚,John S. Breese在论文1中提出了一个称为IUF(Inverse User Frequence),即用户活跃度对数的 倒数的参数,他也认为活跃用户对物品相似度的贡献应该小于不活跃的用户

结论

UserCFItemCF
推荐原理给用户推荐那些和他有共同兴 趣爱好的用户喜欢的物品,UserCF的推荐结果着重于反映和用户兴趣相似的小群体的热点,UserCF的推荐更社会化,反映了用户所在的小型兴趣群体中物品的热门程度用户推荐那些和他之前喜欢的物品类似的物品,ItemCF 的推荐结果着重于维系用户的历史兴趣,而ItemCF的推荐更加个性化,反映了用户自己的兴趣传承
业务场景例如新闻网站,擅长抓热点例如图书,电商网站,用户兴趣比较持久固定,对热门程度没有那么敏感,例如买书,更多的是看相似性,不一定注重热点
时效性(新加入item)时效性要求较高,个性化不太明显的场景长尾物品丰富,用户个性化需求强烈
上新物品无需更新离线数据,只要用户看到,就可能推荐给用户依赖离线更新item之间的相似度关系
存储如果用户很多,那么维护用户兴趣相似度矩阵需要很大的空间同理,如果物品很多,那么维护物品相似度矩阵代价较大

img

# 推荐  投放 

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×