【DW12月-推荐系统】Task01 熟悉推荐系统基本流程

参考链接:https://github.com/datawhalechina/fun-rec

一、掌握数据分析方法

数据分析的价值主要在于熟悉了解整个数据集的基本情况包括每个文件里有哪些数据,具体的文件中的每个字段表示什么实际含义,以及数据集中特征之间的相关性,在推荐场景下主要就是分析用户本身的基本属性,文章基本属性,以及用户和文章交互的一些分布。
常用的数据分析方法有描述统计、假设检验、信度分析、列联表分析、相关分析、方差分析、回归分析、聚类分析、判别分析、主成分分析、因子分析、时间序列分析、生存分析、典型相关分析、ROC分析等。不是所有的分析方法都需要用到,不同的场景使用不同的方法进行分析。

二、了解多路召回策略

召回负责从百万级物品中粗选出千级数量物品,常用算法有协同过滤、用户画像等,有时候也叫粗排层。
所谓的多路召回策略,就是指采用不同的策略、特征或简单模型,分别召回一部分候选集,然后把候选集混合在一起供后续排序模型使用。可以明显的看出,“多路召回策略”是在“计算速度”和“召回率”之间进行权衡的结果。其中,各种简单策略保证候选集的快速召回,从不同角度设计的策略保证召回率接近理想的状态,不至于损伤排序效果。如图1是多路召回的一个示意图,在多路召回中,每个策略之间毫不相关,所以一般可以写并发多线程同时进行,这样可以更加高效。

图1

图1只是一个多路召回的例子,通常可以使用多种不同的策略来获取用户排序的候选商品集合,而具体使用哪些召回策略其实是与业务强相关的 ,针对不同的任务就会有对于该业务真实场景下需要考虑的召回规则。例如新闻推荐,召回规则可以是“热门视频”、“导演召回”、“演员召回”、“最近上映“、”流行趋势“、”类型召回“等。

三、了解冷启动策略

冷启动问题可以分成三类:文章冷启动,用户冷启动,系统冷启动。

  • 文章冷启动:对于一个平台系统新加入的文章,该文章没有任何的交互记录,如何推荐给用户的问题。(场景可以认为是,日志数据中没有出现过的文章都可以认为是冷启动的文章)
  • 用户冷启动:对于一个平台系统新来的用户,该用户还没有文章的交互信息,如何给该用户进行推荐。(场景就是,测试集中的用户是否在测试集对应的log数据中出现过,如果没有出现过,那么可以认为该用户是冷启动用户。但是有时候并没有这么严格,我们也可以自己设定某些指标来判别哪些用户是冷启动用户,比如通过使用时长,点击率,留存率等等)
  • 系统冷启动:就是对于一个平台刚上线,还没有任何的相关历史数据,此时就是系统冷启动,其实也就是前面两种的一个综合。

四、了解常见的排序模型

排序负责对召回层召回的千级物品进行精细排序,也叫精排层。
常见的排序方法有冒泡排序、选择排序、插入排序、希尔排序、快速排序、归并排序和堆排序。

五、了解模型融合

在每个召回排序策略后都得到了一些候选集后,然后按照顺序、平均法等完成加权融合。

六、总结

推荐系统需要学习的东西很多,代码超多而且很复杂,召回与排序只是冰山一角,但是掌握它的基础和适用场景能解决很多问题。

你可能感兴趣的:(【DW12月-推荐系统】Task01 熟悉推荐系统基本流程)