个性化推荐的背景、落地场景、架构剖析:
一、推荐系统在工业界主流落地场景:
1、信息流:如今日头条、腾讯新闻等;
2、电商:如淘宝京东的猜你喜欢,为你推荐板块;
3、O2O(点对点)的LBS(基于位置服务):如百度地图找附近餐馆;
二、推荐系统的架构实现:
三、工业界常用的召回架构
1、离线模型:根据用户的行为计算出推荐结果:
- 给用户计算出固定的推荐的item结果
- 计算出item之间的相似度、
- 计算出具有某种特点lable的item的排序,比如之前说的离线计算好所有体育类的item的排序文件,这些文件都是直接写入KV的存储中的,在用户访问我们的服务时,Recall部分直接从KV中读取,因为我们存储的只是item_id,所以当我们得到了item_id,再去detail Server中得到每个item_id的详情,然后将详情拼好,传给Rank
2、深度学习模型:
item embedding向量需要离线存储在kv数据库当中,但用户访问服务时,需要在线访问深度学习的模型服务来完成user embedding的计算,同时将user侧的embedding和item embedding做最近邻的计算而得到召回
2基于物品的协同过滤 itemCF的理论和理论升级,是目前商用最广泛的推荐算法。
信息过载,用户实际需求不明确
强依赖于用户行为
基于物品的协同过滤算法ItemCF
基于item的协同过滤,通过用户对不同item的评分来评测item之间的相似性,基于item之间的相似性做出推荐。
简单来讲就是:
给用户推荐和他之前喜欢的物品相似的物品。
如何衡量相似:
不同于同内容属性的相似性,协同过滤衡量item相似是基于用户行为,喜欢两个物品的重合度越高,就越相似
如何衡量喜欢:
判断用户是否是真实点击,在电商场景下更看重实际的转化,也就是消费购买,信息流场景下更看重真实的点击
用例说明:
3基于用户的协同过滤算法UserCF:不同用户行为的重合度
基于用户的协同过滤,通过不同用户对物品的评分来评测用户之间的相似性,基于用户之间的相似性做出推荐。
简单来讲就是:给用户推荐和他兴趣相似的其他用户喜欢的物品。
用例说明:
推荐实时性
对于userCF来说,user有了新的行为不会造成推荐结果的变化,因为userCF是基于相似度用户矩阵来完成的推荐,user本身的行为变化并不能够让自己的推荐结果发生改变
对于itemCF来说,user一旦有了新的行为推荐结果会立即发生改变,因为userCF是基于相似度物品矩阵来完成的推荐,所以点击了物品会立即推荐与该物品相似的物品
新用户/新物品的推荐
新用户
userCF:对于新用户的到来不能立即推荐,需要新用户有了一定的行为并且与其他用户的用户相似度矩阵之后才能进行推荐
userCF:新物品入库后,一旦被user行为过,可以通过用户相似度矩阵将该物品推荐给和该用户的相似的其他用户
itemCF:对于新用户一旦item完成了行为点击,就可以根据物品相似矩阵立即给该新用户推荐与该item相似的其他item
itemCF:新物品入库后不能立即推荐,新物品并没有与其他物品在相似度矩阵中出现。itemCF并不能将新item做及时的推荐
推荐理由可解释性
userCF 是使用用户相似度矩阵来完成推荐的