清澈如初|个性化推荐算法(推荐系统)概要( 四 )


2. 基于标的物维度的推荐
基于标的物维度的推荐是用户在访问标的物详情页时 , 或者访问后退出时 , 关联一批相似或者相关的标的物列表 , 对应我们上面提到的标的物关联标的物范式 。 下图是电视猫APP节目详情页的相似影片 , 就是常见的一类标的物关联标的物的推荐模式 。
清澈如初|个性化推荐算法(推荐系统)概要除了视频网站外 , 电商、短视频等APP都大量使用基于标的物维度的推荐 。 下图分别是淘宝APP和网易新闻APP上的标的物关联标的物推荐 。 淘宝APP上当你点击某个衣服详情页后从该详情页退出 , 就会在该衣服图片下面用小图展示4个相关的衣服(下面左图红色圈圈部分) , 网易新闻视频模块当你点击播放一个视频超过几秒后就会在该视频下面展示一行相关视频(见下面右图红色圈圈部分) , 如果你一直播放 , 当该视频播完后会播放后面的相似视频 , 最终形成连播推荐的效果 。 这两款APP的相似推荐都是非常好的推荐形态 , 交互非常自然流畅 , 毫无违和感 。
3. 基于用户和标的物交叉维度的推荐
这类推荐 , 不同用户对同一个标的物的关联推荐是不一样的 , 对应我们上面提到的笛卡尔积范式 。 还是拿电视猫来举例 , 如果该推荐是用户与标的物笛卡尔积式的推荐的话 , 不同用户看到双重约会这个电影 , 下面的相似影片是不一样的 , 推荐会整合用户的兴趣特征 , 过滤掉用户已经看过的电影等等 。 对于搜索来说 , 不同的人搜索同一个关键词得到的搜索结果及排序是不同的 , 搜索结果及排序整合了个人的历史行为特征及兴趣 。
清澈如初|个性化推荐算法(推荐系统)概要这类推荐由于每个用户在每个标的物上的推荐列表都不一样 , 我们没法事先将所有的组合算出并存下来(否则存储量是用户数 × 标的物数 , 对于互联网公司 , 这个数量是巨大的) , 我们必须在用户请求的过程中快速地为用户计算个性化的推荐列表 , 这对整个推荐系统的架构有更高的要求 , 所以在实际场景中用得比较少 。
二、召回算法概述一、推荐召回算法概述1. 非个性化范式 非个性化范式就是所有用户推荐一样的标的物列表 , 一般各种榜单就是这类推荐 , 如最新榜、最热榜等等 。 这类排行榜就是基于某个规则来对标的物降序排列 , 将排序后的标的物取topN推荐给用户 。 比如最新榜可以根据标的物上线的时间顺序来倒序排列 , 取前面的topN推荐给用户 。 最热榜可以根据用户播放量(点击量)降序排列 。
这里面可能需要考虑标的物的多品类特性 , 甚至还会考虑地域、时间、价格等各个维度 。 在具体实施时会比较复杂 , 需要根据具体的产品及业务场景来设计 。
非个性化范式可以基于简单的计数统计来生成推荐 , 基本不会用到很复杂的机器学习算法 。 当然 , 用来取topN的排行榜计算公式可能会整合各类用户行为数据 , 公式会比较复杂(如豆瓣评分公式就比较复杂) 。
非个性化范式的排行榜等算法 , 实现起来很简单 , 可解释性也很强 。 虽然每个用户推荐的内容都一样 , 但是(从生物进化上)人都是有从众心理的 , 大家都喜欢的东西 , 我们也喜欢的概率还是很大的 , 所以这类推荐效果还是非常不错的 。 这类算法也可以作为冷启动或者默认的推荐算法 。
2. 完全个性化范式
完全个性化范式是最常用的推荐模式 , 可用的推荐方法非常多 。 下面对常用的算法及最新的算法进展进行简单梳理 。
(1)基于内容的个性化推荐算法
这类推荐算法只依赖于用户自己的历史行为而不必知道其他用户的行为 。 该算法的核心思想是:标的物是有描述属性的 , 用户对标的物的操作行为为用户打上了相关属性的烙印 , 这些属性就是用户的兴趣标签 , 那么我们就可以基于用户的兴趣来为用户生成推荐列表 。 拿视频推荐来举例 , 如果用户过去看了科幻和恐怖两类电影 , 那么恐怖、科幻就是用户的偏好标签了 , 这时我们就可以给用户推荐科幻、恐怖类的其他电影 。 具体来说 , 我们有如下两类方法来为用户做推荐 。