推荐系统(2)---推荐召回 一、业界框架: 二、召回策略 三、算法

转载:https://blog.csdn.net/weixin_40924580/article/details/85023267

https://www.cnblogs.com/wmx24/p/10157154.html

https://www.jianshu.com/p/160c4800b9b5

https://blog.csdn.net/qq_39521554/article/details/83062188

https://baijiahao.baidu.com/s?id=1625869421219865699&wfr=spider&for=pc

推荐系统(2)---推荐召回
一、业界框架:
二、召回策略
三、算法

Match(召回匹配)& Rank(推荐排序)
定义:Match基于当前user(profile、history)和context,快速在全库里找到TopN最相关的item,给Rank来做小范围综合多目标最大
通常做法:用各种算法做召回,比如user/item/model-based CF,Content-based,Demographic-based,DNN-Embedding-based等,做粗排之后交由后面的Rank层做更精细的排序。
推荐系统(2)---推荐召回
一、业界框架:
二、召回策略
三、算法

二、召回策略

主要有协同过滤、向量化召回和阿里最近在Aicon中提到的深度树匹配模型。

详细介绍:https://www.jianshu.com/p/ef3caa5672c8(摘自石晓文简书)

1、协同过滤召回:

user-cf、item-cf、矩阵分解

2、向量化召回:

主要通过模型来学习用户和物品的兴趣向量,并通过内积来计算用户和物品之间的相似性,从而得到最终的候选集。

其中,比较经典的模型便是Youtube召回模型。在实际线上应用时,由于物品空间巨大,计算用户兴趣向量和所有物品兴趣向量的内积,耗时十分巨大,有时候会通过局部敏感Hash等方法来进行近似求解。

YouTube召回模型:

推荐系统(2)---推荐召回
一、业界框架:
二、召回策略
三、算法

基于用户的历史观看记录和场景,学习一个用户向量U,通过一个softmax分类器,U能够有效地从视频预料库中识别视频的类别(即推荐的结果)

从模型结构可以看出,在离线训练阶段,将其视为一个分类问题。我们使用隐式反馈来进行学习,用户完整观看过一个视频,便视作一个正例。如果将视频库中的每一个视频当作一个类别,那么在时刻t,对于用户U和上下文C,用户会观看视频i的概率为:

 推荐系统(2)---推荐召回
一、业界框架:
二、召回策略
三、算法
其中,u是用户的embedding,这个embedding,是网络最后一个Relu激活函数的输出,vi是视频i的embedding。
 

局部敏感哈希(Locality-Sensitive Hashing, LSH)

LSH的基本思想如下:我们首先对原始数据空间中的向量进行hash映射,得到一个hash table,我们希望,原始数据空间中的两个相邻向量通过相同的hash变换后,被映射到同一个桶的概率很大,而不相邻的向量被映射到同一个桶的概率很小。因此,在召回阶段,我们便可以将所有的物品兴趣向量映射到不同的桶内,然后将用户兴趣向量映射到桶内,此时,只需要将用户向量跟该桶内的物品向量求内积即可。这样计算量被大大减小。

3、深度树匹配

上面两种方法,揭示了召回中两个比较关键的问题:全库搜索、先进模型。

如果说向量化召回通过内积运算的方式打开了全库搜索的天花板,那么下一阶段应该是:能否设计一套全新的推荐算法框架,它允许容纳任意先进的模型而非限定内积形式,并且能够对全库进行更好的检索。

三、算法

1、基于共现关系的CF:User-based CF、Item-based CF、相似度

2、基于模型的CF:SVD算法、MF、SVD++、

2、FM模型:

3、深度学习: