推荐系统产品概述 (二十五)
写在前面:
大家好,我是强哥,一个热爱分享的技术狂。目前已有 12 年大数据与 AI 相关项目经验, 10 年推荐系统研究及实践经验。平时喜欢读书、暴走和写作。
业余时间专注于输出大数据、AI 等相关文章,目前已经输出了 40 万字的推荐系统系列精品文章,今年 6 月底会出版「构建企业级推荐系统:算法、工程实现与案例分析」一书。如果这些文章能够帮助你快速入门,实现职场升职加薪,我将不胜欢喜。
想要获得更多免费学习资料或内推信息,一定要看到文章最后喔。
内推信息
如果你正在看相关的招聘信息,请加我微信:liuq4360,我这里有很多内推资源等着你,欢迎投递简历。
免费学习资料
如果你想获得更多免费的学习资料,请关注同名公众号【数据与智能】,输入“资料”即可!
学习交流群
如果你想找到组织,和大家一起学习成长,交流经验,也可以加入我们的学习成长群。群里有老司机带你飞,另有小哥哥、小姐姐等你来勾搭!加小姐姐微信:epsila,她会带你入群。
在前面的章节中我们对推荐系统的基本概念、算法原理、评估体系、工程实现等知识点进行了非常全面的介绍。在接下来的 4 章中我们会详细讲解推荐系统产品、设计、运营等相关的知识。这些知识虽然与推荐算法工程师的本质工作没有直接的关系,但它们对构建一个好的、具备业务价值的工业级推荐系统是不可或缺的。
推荐算法工程师在平常的工作中也会跟产品、运营直接接触、沟通,因此,推荐算法工程师了解一些这方面的知识对于做好本职工作,帮助推荐产品更好地迭代是大有裨益的。对这些知识点的掌握与了解,也有利于提升推荐算法工程师的全局观,对自身的职业发展也是大有好处的。
本章我们会讲解推荐系统产品相关的知识点。具体来说,我们会从推荐产品简介、推荐产品形态介绍、推荐产品的应用场景、设计好的推荐产品的要点等 4 个方面进行讲述。期望读者学习完本章后,对推荐系统产品产品形态有非常直观的了解,更加重视产品设计在推荐系统价值发挥中所起的巨大作用。
一、推荐产品简介
在讲解之前,我们先给推荐系统产品下一个比较形式化的定义:所谓推荐系统产品,就是软件产品(如手机中的各种 APP)中基于算法或者策略为用户提供标的物展示的产品模块,用户通过与产品交互从该模块中获得标的物的视觉展示,最终用户可以通过该模块更快地“消费”标的物,该模块在满足用户需求的同时提升用户体验、产生效果转化。
上面这个定义中有几点需要说明一下:首先,推荐产品是软件产品中的一个或者多个子模块,每个推荐模块就是一种推荐产品形态;其次,为用户展示标的物是通过算法或者策略产生的,一般来说,推荐算法是通过机器学习技术自动化地生成标的物列表,而不是人工编排的;再次,推荐产品是一个功能点,这个功能点需要通过与用户交互才能获得推荐列表,交互的过程是否自然流畅,对用户体验和效果转化是有极大影响的;最后,推荐产品是有一定的商业目标的,目的是提升用户体验,形成效果转化(对于电商推荐,转化就是下单)。
推荐系统涉及到两类实体:人和标的物,推荐系统解决的就是信息匹配的问题,将标的物匹配给对该标的物有兴趣的用户,让用户可以看到它,进而“消费”它。匹配的准确度和及时性是非常关键的,这对推荐是否可以实现商业目标极为关键。
二、推荐产品形态介绍
所谓推荐产品形态是指产品上可以直接被用户接触到的各种基于算法生成的功能模块,也就是产品上的具体功能点,用户是可以直接看到、触摸(触屏交互)到的功能模块。
我们在《推荐算法概述》中的第 1 节“推荐范式”中讲到了推荐系统的 5 种范式:完全个性化范式、群组个性化范式、非个性化范式、标的物关联标的物范式、笛卡尔积范式。这 5 种范式是根据个性化的程度(非个性化、群组个性化、完全个性化)及实体(人和标的物)的维度来分类的,基本涵盖了所有可能的推荐情形,在第 4 章中也列举了一些产品案例。这 5 类推荐范式,可以从 3 个维度来理解。一个是用户维度,一个是标的物维度,一个是用户与标的物交叉维度。从用户维度来看就是为用户推荐可能感兴趣的标的物。从标的物维度来看,就是用户在访问标的物详情页(或者退出标的物详情页)时,关联一组跟原标的物具备某种关联的标的物列表作为推荐。第 3 个维度是将用户维度和标的物维度结合起来,不同的用户访问同样的标的物详情页展示的标的物列表也不一样。
从这 3 个维度来描述推荐系统,更加接近用户的直观感受,更容易理解。下面我们分别从这 3 个维度来讲解推荐产品形态。
1. 基于用户维度的推荐
基于用户维度的推荐可以根据个性化的粒度分为非个性化、群组个性化、完全个性化。这三种粒度对应非个性化范式、群组个性化范式、完全个性化范式。
非个性化是每个用户看到的推荐标的物都完全一样,传统门户网站的编辑对内容的编排就是非个性化的方式,每个用户看到的标的物都是一样的。对于各类网站或者 APP 的排行榜的推荐形态就是非个性化的。某云音乐的排行榜推荐,根据各个维度计算各类榜单。
群组个性化就是将相同特征的用户聚合成一组,同一组用户在某些特征上具备相似性,我们为这一组用户推荐完全一样的标的物。
精细化运营一般会采用该方式,通过用户画像系统圈定一批人(具备相同标签的一组用户),并对这批人做统一的运营。比如视频行业的会员精细化运营,当会员快到期时,可以借助精准运营留住用户,具体做法是:将快到期的会员用户圈出来,针对这批用户做会员打折活动,促进用户产生新的购买,从而留住会员用户。
某猫电视剧频道”战争风云“tab 的基于群组的个性化重排序。我们将用户根据兴趣分组(聚类),同一组内的用户看到的内容是一样的顺序,不同组的用户的排序是不一样的。但是不管哪个用户其实看到的内容集合(战争风云 tab 的全部内容)是相同的,只不过根据用户的兴趣做了排序,把用户更喜欢的内容排在了前面。重排序推荐就是限定标的物范围下的个性化排序,有点类似命题作文。
对于某猫这类购物网站来说,对未登录用户或冷启动用户,可以采用基于人群属性来做推荐。通过将用户按照性别、年龄段、收货城市等粗粒度的属性划分为若干人群,然后基于每类人群的行为数据挑选出该人群点击率最高的 TopK 个商品作为该人群感兴趣的商品推荐给他们。该方法也是一种群组个性化冷启动策略。
完全个性化就是为每个用户推荐的内容都不一样,是根据用户的行为及兴趣来为用户做推荐,是最主流的一种推荐形式。大多数时候我们所说的推荐就是指这种形式的推荐。某宝首页的猜你喜欢推荐,这个推荐就是完全个性化的,每个人推荐的都不一样。
完全个性化也可以基于用户的好友关系来做推荐。V 信上线的好物推荐,是基于社交关系的个性化推荐,将你的好友买过的商品推荐给你。
从另外一个角度看,完全个性化推荐可以分为只基于用户个人行为的推荐和基于群体行为的推荐。基于个人行为的推荐,在构建推荐算法时只依赖个人的行为,不需要其他用户的行为,常见的基于内容推荐就是这类推荐算法。基于群体行为的推荐,除了利用自己的行为外,还依赖其他用户的行为来构建算法模型,这类推荐算法可以认为是全体用户行为的“协同进化“,像协同过滤、分解机、深度学习等推荐算法都是这类推荐形式。
基于标的物维度的推荐
基于标的物维度的推荐是用户在浏览标的物详情页时,或者浏览后退出详情页时,关联一批相似或者相关的标的物列表,对应我们上面提到的标的物关联标的物范式。某猫 APP 节目详情页的相似影片,就是常见的一类标的物关联标的物的推荐模式。
除了视频网站外,电商、短视频等 APP 都大量使用基于标的物维度的推荐。某宝 APP 和某易新闻 APP 上的标的物关联标的物推荐。在某宝 APP 上当你点击某个衣服详情页后从该详情页退出,就会在该衣服图片下面用小图展示 4 个相关的衣服(下面左图红色圈圈部分)。网易新闻视频模块当你点击播放一个视频超过几秒后(播放了几秒,认为用户对该视频有兴趣)就会在该视频下面展示一行相关视频(见下面右图红色圈圈部分),如果你一直播放,当该视频播完后会播放后面的相似视频,最终形成连播推荐的效果。这两款 APP 的相似推荐都是非常好的推荐形态,交互非常自然流畅,毫无违和感。
基于用户和标的物交叉维度的推荐
这类推荐,不同用户对同一个标的物的关联推荐是不一样的,对应我们上面提到的笛卡尔积范式。如果该推荐是用户与标的物笛卡尔积式的推荐的话,不同用户看到双重约会这个电影,下面的相似影片是不一样的,推荐系统可能会整合用户的兴趣特征,过滤掉用户已经看过的电影。对于搜索来说,不同的人搜索同一个关键词得到的搜索结果及排序是不同的,搜索结果及排序整合了个人的历史行为特征及兴趣。
这类推荐由于每个用户在每个标的物上的推荐列表都不一样,我们没法事先将所有的组合算出并存下来(否则存储量是用户数 ✖️ 标的物数,对于互联网公司,这个数量是巨大的),我们必须在用户请求的过程中快速地为用户计算个性化的推荐列表,这对整个推荐系统的架构有更高的要求,所以在实际场景中用得比较少,我们在《推荐系统提供 web 服务的 2 种方式》中也讲到了这种实时装配型的推荐服务形态。
上面我们从 3 个维度讲解了推荐产品形态。在实际业务中最主要的产品形态是关联推荐、个性化推荐。关联推荐就是上面提到的基于标的物维度的推荐,关联推荐之所以重要,是因为该推荐产品形态是一种用户触点多的产品形态,用户在产品上的任何有效行为最终都会进入详情页,该产品形态跟用户的接触面广,流量大。在电视猫中,关联推荐在所有推荐产品中所产生的播放占比接近 50%,占了推荐系统的半壁江山。个性化推荐就是我们上面提到的完全个性化推荐,为每个用户都提供不一样的推荐,这类推荐一般可以部署到产品的首页,产品首页是流量最大的地方,是用户的必经之地。如果推荐做得好,可以产生极大的商业价值。现在淘宝、京东、拼多多首页都已经个性化了,并且都做到了实时个性化推荐。
另外一些比较常见的、耳熟能详的推荐产品形态有:排行榜推荐、信息流推荐等。排行榜推荐就是上面提到的非个性化推荐。信息流推荐是完全个性化推荐,只不过是采用实时信息流的方式与用户进行交互的。随着头条、抖音、快手的流行,信息流推荐越来越受到业界的重视,在产品中具备极大的商业价值。信息流推荐比较适合提供“快消”类标的物的产品,用户可以在碎片化时间中获得更好的使用体验。
目前业界有非常多的很好的推荐产品形态值得读者了解和学习,大家耳熟能详的就是某条这种下拉的信息流推荐。是陌生人社交 APP 某探上的左右滑动的推荐产品形态,这种产品形态是一种用户体验很好的尝试,用户操作简单、直接,你喜欢这个女的就右滑,不喜欢就左滑。某宝首页当用户查看某克鞋详情页退出后在某克鞋缩略图下面展示 4 个相关鞋子的推荐,下图最右边是网易新闻当用户播放一个视频几秒钟后,在该视频下面给用户提供一组相似推荐,当该视频播放完会直接连播后面的相似视频。这两类相似推荐在前面也提到了,它们就是非常好的标的物关联推荐产品形态,对用户没有干扰,用户也不需要进行复杂的操作就可以获得推荐,推荐非常直观、自然,毫无违和感。
上面只列举了几个设计得比较好的工业级推荐系统的产品形态,这些好的产品形态都值得读者借鉴。更多好的推荐产品形态等待读者结合自己公司业务情况去探索、尝试。
三、推荐产品的应用场景
我们在第 1 章中就讲到,推荐系统是随着信息技术的发展而逐步产生而发展起来的,只要产品提供的标的物数量足够多,用户无法手动从所有标的物中筛选出自己感兴趣的,就具备了做个性化推荐的条件。因此适合做个性化推荐的软件产品是非常多的,下面这些产品都适合做个性化推荐。
l 电商网站:某宝,某东,某逊等
l 视频:某 x,某酷,某音某手,某猫等
l 音乐:某云音乐,某狗音乐等
l 资讯类:某条,某快报等
l 生活服务类:某团,某程,某脉等
l 交友类:某陌,某爱网等
不同行业的产品虽说都可以提供第 2 节中的推荐产品形态,但是在具体落地时是不一样的,需要考虑到具体的产品功能和使用场景进行调整,即所谓的场景化推荐:基于时间、地理位置、上下文等提供差异化的推荐。下面对几类有代表性的场景加以简单说明。
l 基于时间的场景
某 T(家庭互联网)行业,由于家庭中有多个成员,每个成员活动的时间不一样(老年人平时都在家,年轻的父母工作日要上班,而小孩白天要上学),每个人的兴趣需求也不一样,因此给他们提供的推荐需要在不同时段具备差异性,满足家庭中每个个体的需求。
l 基于地理位置的场景
聊天交友、旅游、生活服务行业根据用户所在地理位置的不同提供不同的推荐。比如某团外卖,给用户推荐的美食一定要在用户所在位置(或者用户收货地址)附近的(某团是可以跨地域点外卖的,作者就这样做过)。
l 基于上下文场景
同一个用户在产品的不同位置、模块、阶段提供不一样的推荐。某猫在首页给用户提供的就是综合推荐,包括电影、电视剧、动漫、少儿、综艺、纪录片等 6 大类型的混合推荐。而在电影频道内部的个性化推荐就只推荐电影类型。
像电商产品,可以在用户购物链路的不同环节给用户提供不一样的推荐,比在浏览详情页、加入购物车后、退出购物车后、购买后、退货后等不同的场景提供不一样的推荐。根据读者可以结合自己所在行业来思考一下,自己公司产品的个性化推荐,有哪些地方是跟其它行业不一样的。
从上面的介绍我们可以知道,推荐系统的应用场景是多样而广泛的,在某些情况下也是非常复杂的。在移动互联网时代,推荐系统在互联网公司中拥有越来越重要的地位。可以毫不夸张地说,任何想提供海量信息的产品要想服务好用户,提供个性化推荐是必要的、甚至是最好的解决方案之一。
四、设计好的推荐产品的要点
在当前的移动互联网时代,流量红利已经枯竭,竞争进入红海阶段,产品趋于同质化,要想在激烈的竞争中生存下来是非常困难的事情。任何产品要想留住用户,必须解决用户的痛点,产品要对用户有价值,推荐产品也不例外。设计一个好的推荐产品形态不是一件容易的事情,需要深入思考,将推荐产品的功能融入到整个大的产品框架中,通过精准的推荐、良好的交互体验真正服务好用户。下面这些点是设计一个好的推荐产品形态必须要解决好的。
1. 清晰的目标与定位
产品在不同时期有不同的目标,比如初期的产品以发展用户为主,成熟期的产品强调商业变现。推荐系统作为产品的功能点,是支撑整个产品目标的,因此在不同的时期也有不同的目标和定位。推荐系统的目标除了用户体验指标,还有商业化指标。一旦目标明确,所有的优化都是朝着这个目标努力。读者可以参考《推荐系统的商业价值》更深入地了解推荐系统的目标与价值。
易于解决用户的痛点
在海量的信息下,用户能够快速方便地找到自己感兴趣的标的物一定是用户的最重要的诉求。这就要求推荐产品可以精准匹配用户的兴趣点,因此,在推荐算法的精准度上要有要求。让用户快速找到,这就要求用户的操作路径尽量短,推荐系统要放置在用户容易接触到的地方,也即用户的必经路径,一般来说,首页、详情页就是非常好的部署推荐产品的位置。
良好的用户体验
推荐系统作为软件产品,用户体验是非常重要的。用户体验包括视觉体验、交互体验等。好的视觉体验可以让用户心情愉悦,让推荐系统与整个产品融为一体,好的视觉设计也可以更好地帮助用户理解推荐系统传达的价值。而好的交互体验让用户不用深入思考就可以知道怎么跟推荐系统交互,交互过程也更简单、便捷、高效。在《构建优质的推荐系统服务》中,作者从推荐接口性能等各个方面来讲解了推荐服务的质量,推荐服务的质量直接决定了推荐交互体验是否快捷、稳定。作者在《推荐系统的 UI 交互和视觉展示》中会详细讲解推荐系统 UI 交互及视觉展示方面的知识点,这里不细说。
形成迭代的闭环
软件产品在整个生命周期中是逐步迭代完善的,这是软件工程设计原则的哲学。推荐系统作为一种特殊的软件产品,也是在逐步迭代中完善的。
推荐系统首先要有一个明确的目标,目标应该是可以量化的。有了量化的目标后,通过不断迭代优化推荐系统(包括算法的优化、UI 交互的优化、视觉的优化等各类优化),让指标朝着更好的方向提升。在迭代过程中,AB 测试工具、日志埋点、效果可视化评估这些辅助工具可以让整个评估与迭代过程更加简单、可信、高效。
设计一个好的、有商业价值的推荐产品从来就不是一件容易的事情,上面这些点读者可以参考借鉴。作者在本书的其他章节中都或多或少提到了很多设计好的推荐产品形态的要点,读者需要仔细琢磨,在实践中不断领悟和总结。
总结
本章我们简单介绍了什么是推荐产品,从用户、标的物、用户与标的物交叉等 3 个维度介绍了常用的推荐产品形态的案例及特点,并列举了工业界几个设计得比较好的推荐产品形态。同时,我们介绍了推荐系统的主流应用场景及在不同场景下推荐产品需要考虑的各种场景化问题。最后,我们提炼了 4 个设计好的推荐产品需要注意的关键点。
推荐产品形态是推荐系统中直接可以被用户接触的部分,是用户可以用眼睛直接看到的。推荐产品形态的设计是非常关键的,作为推荐算法工程师(或者推荐产品经理)一定要在日常工作中多体验自己公司的推荐产品,也需要多用用其它产品的推荐模块,从中吸收灵感、发现问题,更好地理解推荐产品的设计原则和价值体现。推荐算法工程师需要将算法优化融合到整个推荐产品体系下,只有这样,推荐系统才能更好地迭代完善,最终进化成一个贴合公司整体目标的、为用户提供良好体验的、有商业价值的推荐系统。
版权声明: 本文为 InfoQ 作者【数据与智能】的原创文章。
原文链接:【http://xie.infoq.cn/article/894d9db4006a954f3a422c447】。文章转载请联系作者。
评论