本文是推荐算法实战系列第一篇文章。
1、推荐系统架构
召回 召回主要是从一大堆的物料中,排除与用户不相关的,留下可能符合用户品味的。
主要考虑相关性和多样性。
召回模型由于候选集规模巨大,通常采用“离线计算,在线缓存(查询)”的模式。而且,不能出现用户信息和物料信息的交叉。限制了模型的表达能力和精度。
召回模型最常见的是双塔模型,在线时用相似向量查找(给定用户向量,查找topK的物品向量),因而需要用到向量数据库。
通常采用多路召回弥补精度的不足,以及多样性要求。
精排是优中选优,召回不是小号精排,拿精排的思路做召回很容易翻车。
粗排 介于召回和精排之间。小型推荐系统可有可无。
精排 推荐系统的重头戏。
重排 精排时,相似内容会打上相近的分数。
重排不是过滤筛选,而是将相似内容打散,保证多样性。
重排通常是不可或缺的,只不过在小型系统中,用启发式规则就可以。
2、搜广推的区别与联系
相同点 都遵循“召回-精排”的功能架构,以及lambda数据架构。
很多算法、模型在三个领域是通用的,例如CTR预估算法。
都需要高度个性化。广告的个性化要求更高。
搜索vs推荐 最大的差异,用户表达意图的方式不同。
搜索,用户意图通过query表达。query相关特征在搜索模型中居于VIP待遇。
推荐,重要的特征来源于用户与物料的交叉。搜索中是query与物料的交叉。
搜索对结果的准确性要求更高。
搜推vs广告 广告兼顾用户、平台、广告主。
搜推只要求ctr、cvr的相对顺序,广告要求绝对值准确,因为会用来计费。
广告要对ctr、cvr校准。
广告的转化链路更长。
广告的物料候选集更小。
本文总访问量次