距离第一次写推荐系统的博客,已经过去了两年多。近期读了一些推荐方向上比较有深度的文章,因此,想借助此篇博客梳理推荐系统方向上的部分工作,另一方面也是对所读文章的一个学习笔记。

什么是推荐?和搜索对比,搜索解决的是用户寻找物品的问题,而推荐解决的是物品找人的问题。前者是多对一,多个用户去搜索一个巨大的物品库。后者是一对多的问题,一个巨大的物品库分别推送给各自的潜在用户。场景的变化推动技术的演进。在PC时代,机器由于无法获取全面的用户信息,对于用户的理解是存在偏差的,但是到了移动互联网时代,通过手机终端,可以获取全面的用户信息,这让推荐有了实施的数据基础。至于PC时代为什么无法获取更全面的用户信息,也许是一个关于OS的技术问题,又或是一个用户习惯养成的问题,再或者是互联网的群体还不够大,积累的数据量不足以做出好的推荐效果问题。

在进入一个方向之前,首先要从整体上看到该方向上做的事情。这篇文章给予博主很大的启发。文章的主要内容是给出了对待推荐系统的三个视角。

  • 矩阵视角

矩阵的行是物品,矩阵的列是用户,矩阵中的元素是用户对物品的评分。矩阵中存在的空值填充,就是推荐系统要做的事情。既然将推荐问题用一个矩阵得以描述,就给了推荐问题一个形式化的定义,借助量化/数值计算的方式解决该问题。相关的方法比如User/Item-Based的各种具体算法,进而包括各种用户表征,商品表征算法等,基于矩阵分解(SVD)的方法等。

  • 图视角

用户和商品通过各种交互行为(浏览,点赞,收藏,评论等),可以形成一个天然的图的结构,继而可以很自然的将推荐问题定义为图的链接预测问题。这里既可以基于图的拓扑结构,演化出传统的图算法,比如swing算法,或者利用深度学习的技术,将该问题转化为图表征+连接预测问题。

既然可以将推荐问题转化为一个图问题,而从数学上看,图是可以用矩阵来描述的,所以本质上,矩阵视角和图视角在数学上存在本质的相似性。清华的唐杰组基于图表征的问题出发,有对二者的关系给出一个数学上的描述。

  • 时间线

矩阵和图,是一种静态的观察视角,不过,如果能够在图上添加时间的维度,就可以用一种静态的方式处理动态的信息,不过这种方式是隐式的。一种显式的方式则是将推荐问题定义为:已知用户历史时间中购买的物品序列,计算下一时刻用户可能会购买的物品。这样就将推荐问题转化为一个经典的序列预测问题,类似可能的方法论都得以应用。

本质上该视角是一种动态的观察角度。相关的方法包括Translation-Based推荐等,相关工作《Sequential Recommender Systems: Challenges, Progress and Prospects》等。

明确方法上的大方向之后,就可以深入到细分方向。这篇文章给出了一份要阅读的具体的工作,这里是一份具体的阅读清单。

文章中作者以一个资深广告算法专家的身份讲述了广告算法发展的宏观视角,围绕召回+排序(粗排+精排)的框架,结合具体的CTR问题,以系统和算法协同设计的思路,讲述了广告系统发展的波澜壮阔的宏大历史图景。这其中夹杂着作者对于代际变换的思考,对于数据+算力+算法三要素的认知和实质性的工作推进。敢想敢干的品质,在文章中有很多地方可以体现。

阿里妈妈搜索广告预估模型2021思考与实践,这篇文章的行为风格和思路同上篇文章。

相关文章:

  • CTR模型一览,这篇文章梳理了经典的CTR模型系列,具体包含LR/GBDT/GBDT+LR/FM/FFM/Deep&Wide/DeepFM/Deep&Cross/NFM/DIN/FTRL等。这些模型的发展脉络包含一下思想:
  • 特征低维->特征高维
  • 特征离散->特征连续
  • 交叉特征的手工构建->交叉特征的自动构建
  • 参数的离线更新->参数的在线更新

除了上述核心思想外,也有其他的一些思想指导。但是从这个维度来看,主流思想是围绕特征的各种花式玩儿法。

相关文章: