龙空技术网

推荐系统算法-召回策略(多路召回、embedding召回)

黑码视野 93

前言:

今天大家对“推荐系统多路召回”大致比较关心,你们都需要知道一些“推荐系统多路召回”的相关文章。那么小编同时在网络上网罗了一些有关“推荐系统多路召回””的相关内容,希望小伙伴们能喜欢,姐妹们一起来了解一下吧!

推荐系统按实现阶段分类

推荐系统从工程实现角度的考量,将推荐过程分为召回层和排序层:

召回层:负责将推荐底池从万级别、十万甚至百万以上级别的数据缩小到几百到几千的规模,由于召回需要在短时间内处理的海量的数据量,就决定了特征数量不宜过多、模型结构相对简单,推理时间较短。其特点可总结为计算候选底池大、计算速度快、特征少、模型简单,目标是保证用户感兴趣物品的召回率;排序层:负责对小规模的召回数据进行打分实现精准排序,一般会使用相对复杂的模型结构,利用多特征实现精准排序,由于这个阶段需要较多的计算资源,如果直接对海量的数据底池进行精准排序,计算资源将是难以预估的,所以召回和排序的阶段划分实质是场效和性能的平衡。其特点可总结为计算候选底池小、计算速度慢、特征多、模型复杂,目标是保证对用户感兴趣的物品实现精准排序。

多路召回链路

为平衡召回层的计算性能和召回率,工业界主流的召回方法是多路召回策略,即将单个召回过程拆分为由多个简单的不同召回链路来实现,不同召回链路分别召回一部分物品候选集,然后多个召回链路得到物品候选集进行混合去重。不同的召回链路是从不同的设计角度出发来保证整体召回率接近理想情况。

不同的召回链路一般可以分为个性化召回和非个性化召回:

个性化召回:是指使用到访用户的个性化信息实现召回,如u2i是根据用户的偏好分直接召回的物品、u2x2i是先根据用户的基本信息映射到其他间接维度(比如性别、年龄、偏好品类、用户画像标签等),再由其他间接维度来召回物品,其中比较特殊的是u2i2i召回,先根据用户的偏好分或者历史足迹召回到物品,再根据物品与物品(i2i,item2item)的相似关系对于已召回的物品进行放大,实现较高的召回率。

非个性化召回:是指不使用到访用户的个性化信息进行召回,如热门召回是根据场效指标排序得到候选集、趋势召回时根据物品近一段时间内的趋势增长情况进行排序得到的候选集、另外探索与利用机制也可以用于非个性化召回,既可以考虑到物品场效的同时也可以召回到新颖的商品,探索与利用具体实现可以详解 推荐系统-探索与利用。

虽然多路召回是工程实用的方法,但由于不同的召回链路可能需要不同召回参数M进行卡控召回量级,而且不同的召回链路是通过不同设计角度实现,链路策略间是割裂的,无法对于全部召回的商品进行综合评判,可能导致效率好的召回链路没有召回全,而效率差的召回链路召回到较多差效率的物品。

多路召回策略综合评判-粗排粗排是介于召回与精排之间的阶段,并非是必须的,一般将其归纳为排序阶段。粗排本质上跟精排类似,都是对物品进行模型预测,但其特征数量和模型复杂度都相对于精排小很多。

当前应用比较广泛粗排模型是基于向量内积进行实现的(即embedding召回),一般为双塔结构,即两侧分别属于用户特征和物品特征,经过DNN网络分别产出用户向量和物品向量,实时排序阶段是将用户向量与物品向量进行向量内积得到偏好分,其中用户向量和物品向量可通过离线计算产出,并将其存储实时容器中,需要计算时实时拉取即可,速度极快,但由于用户偏好具有较强的实时特性,对于实时性要求高的情况,可对用户向量进行实时预测。

由于不同召回链路产生的偏好分、热度分、流行度分等分值不具备统一的可比性,而embedding向量召回实现评分的一致性,将embedding间的相似度作为唯一的判断指标,可以随意的限定召回候选集的数量。

标签: #推荐系统多路召回