点击上方 "大数据与人工智能","星标或置顶公众号"
第一时间获取好内容
作者丨 gongyouliu
这是作者的第 11 篇文章, 约 1.2 W 字, 阅读需 60 min
作者在《 推荐系统的工程实现 》(点击蓝字可回顾)这篇文章的第五部分 "推荐系统范式" 中讲到工业级推荐系统有非个性化范式, 完全个性化范式, 群组个性化范式, 标的物关联标的物范式, 笛卡尔积范式等 5 种 常用的推荐范式. 本文会按照这 5 大范式来讲解常用的推荐算法, 但不会深入讲解算法的实现原理, 只是概述算法的实现思路, 后面的系列文章我会对常用的重点算法进行细致深入剖析.
本文会从 推荐算法与产品介绍, 推荐召回算法概述, 排序算法概述, 推荐算法落地需要关注的几个问题 等 4 部分来讲解. 完全个性化范式和标的物关联标的物范式是最常用的推荐范式, 在互联网产品中有大量真实场景应用, 也是本文重点讲解的.
读者读完本文后, 你会知道每类范式常用的算法有哪些, 实现的思路是什幺, 以及常用的应用场景. 本文也可以作为读者落地推荐算法到真实推荐场景的参考指南.
一
推荐算法与产品介绍
工业级推荐系统的推荐业务流程一般分为召回和排序两个阶段, 召回就是将用户可能会感兴趣的标的物通过算法从全量标的物库中取出来, 一般会采用多个算法来召回, 比如热门召回, 协同过滤召回, 标签召回等, 排序阶段将召回阶段的标的物列表根据用户可能的点击概率大小排序(即所谓的 ctr 预估). 在实际业务中, 在排序后还会增加一层调控逻辑, 根据业务规则及运营策略对排序后的列表进一步增补微调, 满足特定的运营需求.
下面图 1 是电视猫 (一款基于 OTT 端[智能电视或者智能盒子] 的视频播放软件)的推荐系统的业务流程, 包含召回, 排序和业务调控三大算法和策略模块, 可以作为大家设计推荐系统算法模块的参考. 本文只讲解召回, 排序两个阶段涉及到的算法, 业务调控跟具体业务及公司运营策略强相关, 本文不做过多描述.
图 1 电视猫推荐系统业务流
推荐算法是一种机器学习算法, 所以算法模型的质量强依赖于用于算法训练的数据集, 这里我们简单提下推荐系统可以利用的数据有哪些(参考下面图 2 及上面图 1 的数据源). 一般推荐系统依赖三大类数据: 标的物 metadata 数据(标的物相关的描述信息), 用户画像数据(用户相关数据, 如年龄, 地域, 性别, 收入等), 用户行为数据(用户对标的物的操作行为, 如播放, 点击, 购买, 收藏等). 这三类数据是主要可用的模型数据. 另外人工标注数据, 第三方数据等也可以用来补充完善上述三类数据.
图 2 推荐系统依赖的三类数据
相信大家对推荐流程及算法依赖的数据有了初步了解, 下面我们来根据不同的推荐范式重点讲解对应的推荐产品及可行的推荐算法, 方便大家将不同的推荐算法对应到不同的推荐产品中.
上面我们提到的 5 类推荐范式, 可以从三个维度来理解:
一个是用户维度,
一个是标的物维度,
一个是用户与标的物笛卡尔积维度.
从用户维度来看就是为用户推荐可能感兴趣的标的物, 从标的物维度来看, 就是用户在访问标的物详情页 (或者退出标的物详情页) 时, 关联一组标的物作为推荐. 第三个维度是将用户维度和标的物维度结合起来, 不同的用户访问同样的标的物详情页看到的内容也不一样.
1. 基于用户维度的推荐
基于用户维度的推荐可以根据个性化的粒度分为非个性化, 群组个性化, 完全个性化. 这三种粒度对应我们前面提到的非个性化范式, 群组个性化范式, 完全个性化范式.
非个性化 是每个用户看到的推荐内容都完全一样, 传统门户网站的编辑对内容的编排就是非个性化的方式, 每个用户看到的内容都是一样的. 对于各类网站或者 App 的排行榜的推荐形态也是非个性化的. 下面图 3 是网易云音乐的排行榜推荐, 根据各个维度计算各类榜单.
图 3 网易云音乐排行榜
群组个性化就是将相同特征的用户聚合成一组, 同一组用户在某些特征上具备相似性, 我们为这一组用户推荐完全一样的内容.
精细化运营一般会采用该方式, 通过用户画像系统圈一批人, 并对这批人做统一的运营. 比如视频行业的会员精细化运营, 当会员快到期时, 可以借助精准运营留住用户, 具体可以将快到期的会员用户圈出来, 针对这批用户做会员打折活动, 促进用户产生新的购买.
图 4 是电视猫电视剧频道 "战争风云"tab 的基于群组的个性化重排序. 我们将用户根据兴趣分组 (聚类), 同一组内的用户看到的内容是一样的顺序, 但是不同组的用户的排序是不一样的. 但是不管哪个用户其实看到的内容集合(战争风云 tab 的全部内容) 是相同的, 只不过根据用户的兴趣做了排序, 把用户更喜欢的内容排在了前面.
图 4 电视猫基于群组的个性化重排序
对于天猫这类购物网站来说, 对未登录用户或是冷启动的用户, 可以采用基于人群属性来做推荐. 通过将用户按照性别, 年龄段, 收货城市等粗粒度的属性划分为若干人群, 然后基于每个人群的行为数据挑选出该人群点击率最高的 TopK 个商品作为该人群感兴趣的商品推荐给他们. 该方法也是一种群组个性化推荐策略.
- Multi-Interest Network with Dynamic Routing for Recommendation at Tmall
- Deep Session Interest Network for Click-Through Rate Prediction
- Behavior Sequence Transformer for E-commerce Recommendation in Alibaba
- Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba
- Personal Recommendation Using Deep Recurrent Neural Networks in NetEase
- Deep Reinforcement Learning for List-wise Recommendations
- Recommendations with Negative Feedback via Pairwise Deep Reinforcement Learning
- Learning Tree-based Deep Model for Recommender Systems
- Item2Vec- Neural Item Embedding for Collaborative Filtering
- Deep Neural Networks for YouTube Recommendations
- Deep Learning based Recommender System- A Survey and New Perspectives
- Wide & Deep Learning for Recommender Systems
- Learning Piece-wise Linear Models from Large Scale Data for Ad Click Prediction
- Ad Click Prediction- a View from the Trenches
- Greedy function approximation: a gradient boosting machine
- Practical Lessons from Predicting Clicks on Ads at Facebook
- Google News Personalization: Scalable Online Collaborative Filtering
来源: http://www.tuicool.com/articles/aeeuYnF