数据是一切的开始,而召回决定整个推荐系统的上限,如果一开始就召回错了的话,整个系统的推荐效果将会很差。
常见的召回策略有以下三种:
一、规则召回
最常用的召回策略,解释性最强。
优点:策略逻辑清晰明了,业务意义明确,可解释性极强
缺点:个性化弱,千人一面,易引起马太效应,头部曝光越来越多。
适用场景:最开始搭建推荐系统时
标签召回
使用方式:最早应用于音乐与电影网站,同时对内容和用户打标,计算两者的标签重合度。
核心问题:如何构建科学全面的标签体系、如何为用户和内容打标,主流打标方式仍为人工打标。
高质量分召回&类目召回
使用方式:电商推荐和内容推荐场景,适合用于新人冷启动。
举例:电商领域通过历史销量、好评率、收藏数等综合评估物料的质量分;内容通过浏览量、互动数来综合评估。
注:为质量因子配备超参数,超参数决定该部分在整个公式的重要度,为人工设定,参数为模型训练得到。
质量因子归一化:Min-Max归一化公式进行,对于电商不同类目需要分类目进行归一化,防止极大差异影响。
热销召回
使用方式:召回近期热门的物料,适合用于新用户召回策略,“热门”由业务进行自行定义,需要设计统计周期(长、中、短)为x、y、z。
高点击率召回
使用方式:召回“CTR预估模型”这一核心指标
复购召回
使用方式:生鲜电商领域经常使用
实现方式:基于用户维度统一其购买的商品,使用Min-Max归一化方式,在综合电商领域一般,大宗商品会让用户印象差
二、协同过滤
推荐系统最经典的算法,包括基于物料(Item-CF,1998)的算法和基于用户(User-CF,1992)的算法,即“协同+过滤”,利用群体数据去寻找规律,测定物料间、用户间的相似性,排除相似度低的物料与用户,后再进行排序。
核心问题:如何计算物料与物料之间、用户与用户之间的相似度
优点:算法逻辑较简单,容易实现,同时又有不错的效果,具备一定的个性化
缺点:与规则召回缺点方向一致,冷启动问题明显,存在一定的马太效应,头部热门问题容易与其他商品产生关联
1.挖掘与目标用户相似的用户集合,取相似度排在前几位的用户作为候选集。
Jaccard系数:Wab = 0.4; Wac = 0.25; Wad = 0.2; Wae = 0.75,B、E最高
2.挖掘该集合中受欢迎的物料,从中为目标用户推荐他没有接触过的物料。
B、E浏览的商品中,A为浏览过d、e,估算其兴趣度
P(A,d) = 0.4*1+0.75*0 = 0.4;P(A,e) = 0.4*1+0.75*1=1.15,故而A对e商品的兴趣度高选择e商品为用户推荐
基于物料的协同过滤(Item算法):目前在各大互联网公司应用十分广泛,用余弦相似度计算。
举例如下,6个用户和5个商品。
计算商品间的相似度:余弦定理计算商品间的相似度
基于目标用户历史浏览行为和商品间的相似度,为其推荐感兴趣且未浏览过的商品
本文只有5个商品,目标A浏览过a、b、c。没有浏览过d、e,所以预估P(A,d)、P(A,e)。
P(A,d) = 0.5*1+0*1+0.67*1=1.17
P(A,e) = 0.5*1+0.35*1+0.89*1=1.74
所以优先为用户A推荐商品e。
UserCF算法与ItemCF算法的异同点 总结
基于图模型的方法(graph-based model)
主要分为两大步:
1)将数据表格转化为二分图
2)基于两个顶点的路径数、路径长度及经过的节点出度判断相关性。
例:“A——a——B——c”,路径长度为3,A到c只有一条路径,而A到e有两条,A与e关联性强于A与c。
A到e的两条路径哪个相关性更强,比较出度(该顶点对外连接了几个其他的顶点),出度越大,相关性越弱。
三、基于向量的召回
1. 隐语义模型
最经典的应用就是隐语义模型,或者称为隐向量模型。
在现实中,用户与物料间的矩阵是非常稀疏的,很难进行预估,而隐语义模型的思想是挖掘用户和物料间的特征属性,将用户和物料归到相同的特征维度,一般为四象限维度,然后再进行比较。
核心:将一个共现矩阵(用户和物料的交互矩阵)分解成两个小矩阵(用户矩阵和物料矩阵),两个矩阵在相同的向量维度上。
矩阵的常见分解方法有三种:
方法一:特征值分解
只能作用于NxN矩阵,大多数用户x物料矩阵并非方矩阵,不具有适用性。
方法二:奇异值分解
适用于所有MxN矩阵,但是对于矩阵的稠密度要求高,应用时必须把缺失值用近似值、平均值补全,计算复杂、资源要求高。
方法三:梯度下降法
Funk SVD,又称LFM,将预测值与实际评分值比较,损失函数为均方差,利用梯度下降进行迭代,直到模型收敛。
隐语义模型优缺点:
1)泛化能力强。一定程度上缓解矩阵稀疏问题
2)计算复杂度低。计算复杂度为(m+n)*k,而协同矩阵为m*m或者n*n
3)更好的灵活性和扩展性。可以与其他特征组合或拼接,也可以和深度学习神经网路哦结合
仅考虑用户和物料各自的特征,不方便加入用户、物料、上下文特征以及其他一些交互特征,模型本身具有一定局限性。
2. 双塔模型
优点: