文 | Indulgence
个性化推荐的原理应该是在特定的,去构造一些合理的算法或规则将正确的数据推荐给正确的用户,这句话放在现在很多产品都是一样的,但可能在不同的产品上也有一点区别,比如说在百度视频里面所指的数据就是视频和用户。
视频:我们在几千万的视频属性库里面每一部视频都有一些它自己的静态属性。比如明星、地区、发行年代、用户为他打上一些心情、场景等标签、视频类目标签。同时每部视频也有它的一些动态数据,如播放量,收藏率等。
用户:百度视频除了有自己的用户画像,比如说观看偏好,观看场景等,还拥有一些其他体制下的用户画像,比如用户的年龄、性别等等,这些都会是一些比较好的推荐资源。
需求/场景
个性化推荐听得最多的就是它的一些算法,百度视频用的也是一些基于画像的推荐,或者协调过滤,其次百度视频的推荐还会涉及到另外一些方面比如需求场景,如他是一个懒惰型还是发现型用户,他在用个性化推荐的时候是在什么样的时间等。这些我都归纳为需求场景。
1.懒惰/被动浏览
他可能是漫无目的,可能会有一些自己感兴趣的视频作品,但他又懒得去找,比如说进入视频页,他就是想要一键播放,其实也没有更好的解决办法,之前就是要进入一个列表滑动一下,然后又没有预期。那这种需求我就要提炼出来,首先推荐一些他感兴趣的,另外说他不需要太费力地浏览,能够做到一键播放,这个地方也就是他个性化需求的另一方面,也就是去满足他被动听那个心态
这里做了一些尝试,比如说我们做的“猜你喜欢”,“个性视频”等那些,都是解决个性化推荐和一键播放,根据用户的行为进行调整。
2.主动浏览
对于这种用户就是他有自己的一个找到某些视频的需求,但是他的时间比较短,有时候需要通过一些分类他肯定需要进入很多层级,找一次很麻烦,所以需要一种能够节省时间得方法。
提炼一下需求,就是说这种用户是属于那种浏览型用户,他有自己感兴趣的,也希望能够主动去发现,但是就是在筛选的方式上比较麻烦,要通过筛选几次之后才能找到他自己想要的内容。
那我可以在他浏览的场景,比如说在视频搜索栏,在查找的视频下面,主动去做一些个性化,比如说新增一个全部,那全部里面可能是根据你的看过习惯做的推荐,省去你查找的麻烦。另外一块,或者是我们把他经常做一些筛选的行为记录下来,也让他后面重新做筛选的时候省去一些麻烦。
3.追“新作品”
对于这种场景,这个用户他是有一种新的需求,比如说他喜欢的明星出了新短视频及相关内容,他希望第一时间能够知道,这种需求在我提到的两种场景里面都不能很好地满足。
那我可以通过他的看视频行为知道他关注什么明星的那些作品,随后单击明星或者作品更新的时候我们可以马上通过push的方法来告诉用户,这种是一个搞清用户最快的一个办法,满足他个性化的需求
4.让推荐融于无形之中
这块可能是比较容易忽略的也是非常重要的一个推荐场景,比如说在搜索框内出现了这部视频作品可能是我关注的一位,那其实他更多时候进一个视频软件第一件事要么就是从本地缓存那里看视频,或者直接就进入搜索框去搜索他感兴趣的内容。那我在你一进来的时候能够在搜索框上面显示你感兴趣的内容或者关键词,对他来说就是一个非常节省时间而且更自然的方式
如果一个用户在本地的数据较少,缓存的视频作品非常少,他是一个新用户,不知道怎样去查找视频内容,那可能对我来说通过这样的一种方法,就是根据他已经下载的一些的视频来推荐给他与这个视频相似的视频。比如我是一个喜欢看科幻电影的用户,可能我刚刚下载了一部作品,发现下载里面又出现了几部跟这个比较像的电影,那我继续下载它,让用户感觉推荐是这个非常自然的事情。
5.对于需求和场景的总结
用户在使用这个场景的时候是什么?他是一个需要主动浏览的场景还是说是一个被动场景,这场景没有解决的时候他的痛点是什么?
我希望他的解决方法是自然和简单的。不需要用户去做太多操作,太多操作对于用户来说是一种负担
对个性化推荐来说是不是有更加刚需的主场景?举个例子,我提供了很久在线发现跟本地推荐,在线推荐的意思是说有发现欲望的用户在视频库里面可以逛到一些好看的视频,但其实,在很多视频软件里面,用户的大部分时间都不是停留在在线发现。那我应思考一下用户的主场景,比如说他的下载视频是不是有更多可以做个性化推荐的可能。
算法/规则
可能认为个性化推荐需要接触的算法东西很多,比如几个推荐系统、几个表情推荐、画像推荐甚至是更深奥的回归等,实际上百度视频尝试过不少算法,但归纳到底一些比较复杂的算法可能会用到局部调整。
常用的推荐算法
基于用户画像的推荐。比如说我是一个北京市的 80 后男人,我喜欢科幻、欧美视频,那能不能给我推荐一些类似视频呢?
协同推荐。比如说很多人觉得这两部视频好看,你收藏/分享了其中一部,那另外一部不如也试试看,这是协同推荐最基础的一个方法。
基于标签推荐。比如这部视频和另外一部视频在年代、类目等这些维度都非常相似,刚好也喜欢其中的一部,那我就认为你可以也喜欢另外一种
1.什么是画像推荐
用户画像在百度里面有两个定义,第一个是基于用户的社会属性定出来的,比如说我几岁、我的职业、我的星座等这些属性。社会属性在百度视频有几个特征是非常明显的,比如说不同年龄段的人看到视频是不太一样的,或者说不同职业的人看的视频不一样。
而百度视频的用户画像是指,通过用户在百度视频里面看到、收藏的视频归纳出来的用户可能喜欢某些视频,他可能喜欢某些类别,某位明星这些,通过数据归纳出对他的一个描述
2.基于用户画像怎样去推荐
主要表现在百度视频里不同年龄和性别的用户喜欢哪些视频。可以得出,不同性别、年龄的用户口味相差蛮大的。假设一个用户进入百度视频但没有任何数据的时候,我们可以尝试这种方法来推荐给用户,比如说你是一个十几岁的男生,我比较倾向于给你推荐偏娱乐、二次元这种视频。
3.用户画像是怎么做的
百度视频的用户画像我是收集了用户在产品里面的一些操作行为,比如说他观看哪些视频等,把数据收集起来在后台服务器上去计算。另外也有自己视频库的东西,比如这部视频作品的流派,风格、心情。将这两个数据结合,他有几个维度,比如明星、流派、风格,都一个个分权重。
有了这些数据之后我就可以做很多事情,用户产生这些行为之后我大概可以知道他可能喜欢鹿晗、吴亦凡等明星,那我可以推荐给他这些的一些冷门但好听歌曲,这些对用户来说都是一个非常好的体验
4.协同推荐是怎么做的
比如百度视频有100个人收藏了鹿晗的这部电影,而吴亦凡的也有100个人收藏,其中共同收藏这两部作品共有50 个人,那通过一个简单的并集运算,然后再用共同人数 50 除以并集100 之后可以得出0.5,也就是喜欢鹿晗的这部电影有 50%的概率就喜欢吴亦凡的作品。
通过这个方法可以通过多少人看过这部视频,再求出共同看视频人数,最后通过一个公式来算出相似度
用户的行为=内容(明星、类目、年代)+显性操作(常看、关注、下载、收藏)+隐形操作(完整观看、跳过)
获得视频相似度之后该怎样去推荐给用户感兴趣的作品内容?这里涉及到怎样去定义用户感兴趣的作品内容,在百度视频里面用户行为定义是,比如他的一个显性和隐形操作,比如说他对一个专题收藏/分享和跳过了哪些视频内容。
当有了这些操作行为之后就可以来计算用户喜欢哪些作品,如图上的例子(钢铁侠这部作品分值应该是5*0.4+4*0.7=4.7,通过这样一个计算得出钢铁侠这部电影应该是最先推给你的,其次是蜘蛛侠、超人。
这是 百度视频一个原理,当然上面可能叠加了很多修正,比如说他很久之前看的电影就会进行一个降权,因为越早收藏的重要性越低。而一些热门作品很多人都收藏的会降权,但你收藏了很多歌曲会加权。通过这个算法对用户进行推荐。
5.算法总结
基于用户画像推荐解释性可能是最强的,但是他依赖于用户不断地去看视频积累数据。关于协同推荐的有点就是只要你看过这部作品,他就可以通过后台计算去给你推荐,对于一些冷门作品,这样是非常有用的;同时他的缺点也非常明显,就是对于热门作品它的可解释性不强。基于标签优点在于他无论冷热门作品可取性都非常强,只要你有打上这个标签就能推荐;缺点就在于他需要依靠人工去打标签。
数据
基础数据和挑战
对于视频来说最重要的是标签和用户数据,对于标签来说可以看到他有很多维度,比如明星、作品等很多,而标签这块人力成本非常高,而且不断试错的过程中发现客观标签的覆盖率不是特别全面,主观标签如果完全依赖于信息,它的出错率也是非常高的。对于用户画像来说,它的生成慢和感知差是一个大痛点。
让画像创建简单,应用场景更普遍
用户画像我上面说道他的一个生成难、感知度普遍较弱。在尝试一个办法,比如说用户新装了 百度视频,那他可能会有一个扫描手机本地视频的习惯,那么扫描完之后我们就会去分析一下他本地的那些视频是什么样的,这样就能够确定一个用户的初始画像。这种方法在很多 app 上都有用到。同时对于画像感知差的问题,我会做一个数据总结,把用户数据呈现在用户面前,告诉他这不是一个冷冰冰的数据,这样就让用户更有动力去接受我们的推荐。
个性化推荐难点
1.产品经理不懂技术
2.优化效果不明显
3.口碑难以量化和横向对比
4.算法重要,但场景和基础不能忽略
产品经理更加重视的是它的关注、场景、推荐系统所用数据,理解算法其中的优劣势。
End.
原创文章,作者:ioued,如若转载,请注明出处:https://www.iamue.com/18947/