本文来自网易云社区
作者:孙镍波
众所周知,新浪微博的首页动态流不像微信朋友圈是按照时间顺序排列的,而是按照一种所谓的“智能排序”的方式。这种违背了用户习惯的排序方式一直被用户骂,但是无论是Facebook还是微博都执意做下去,这是为什么呢?
本来早想写一篇科普文给大家介绍一下智能FEED,但是由于比较懒一直拖着。直到上次发布了《改进网易云音乐的“音乐社交”构想》一文后,有一位同学说到想了解一下微博点赞的故事,所以促使我写下这篇文章。
1 为什么要做智能FEED?
1.1 什么是FEED
FEED最早是指RSS订阅中用来接收该信息来源更新的接口,后来就指代站点用来和其他站点之间共享内容的一种简易方式(也叫聚合内容),其本质其实是一种站内推送,通常被用于新闻和其他按顺序排列的网站,例如Blog。到后来社交媒体盛行之后,FEED几乎成为了所有社交媒体的标配。因为其交互简单,用户上手容易,后端信息配置灵活,又契合移动设备单屏操作的特点,已经被证明为内容型软件的最佳呈现方式。(甚至连支付宝在其上个大版本更新中都把首页改成了FEED)
1.2 FEED的重要性
FEED的本质是信息分发的一种方式,所以称其为内容型产品的两大命脉之一(内容生产+内容分发)。同时因为FEED通常出现在产品的第一屏,大家知道,对于大部分APP而言,首屏流量几乎占了全站的90%以上,而其余几屏其实是不怎么被关注的。所以与其大费精力对其余屏幕的功能迭代更新,不如小小优化一下首页的FEED流算法,带来的收益反而高的多。
1.3 原来的按时间排序的方式有何问题?
首先总结用户需求:
信息分发效率低下,发布者无法获得更多浏览,内容消费者依赖主动寻找内容,进而导致社区互动不足
信息过载,当一个用户关注过多其它用户时,其每天使用微博的时间里无法看完所有更新的内容,所以会错过很多有价值的内容
信息垃圾,我们会关注很多企业、网红的账号,这些账号一天发数十条消息,把我们真实好友发布的内容都冲散了,这个必须要限制
中心化现象严重,大部分用户都缺乏主动探索的动力,那么如果都按照好友转载的大号来关注,很快流量都会中心化集中到少数营销号
信息流通能力弱,大部分用户都是只浏览点赞,不发布转载,如果我们的好友都这么做,我们的动态流中将不再出现新的用户发布的内容
再总结下产品方的需求:
主要是从商业角度,将 Feed 排序交给上帝的做法,非常不利于商业化,营销号可以使用很多伎俩吸引用户关注,然后肆无忌惮发广告,即一干营销号赚得盆满钵满,而平台方得不到半点好处。
如果看明白这些,你就明白了为什么朋友圈不需要使用智能FEED,因为首先它是个封闭的熟人圈子,本身消息质量少而精,不会出现营销号和中心化,不需要担心信息流通问题;同时大家花在朋友圈的时间非常多,不必担心内容过载的问题。
2 怎么做智能FEED
既然原来的自然FEED流存在诸多问题,那么我们怎么优化呢?
2.1 优化策略
核心思路很简单,就是把有价值的内容权重提高,把低价值甚至垃圾内容权重降低。那如何判断一条信息的价值呢?可以拿Facebook早期的EdgeRank为例介绍:
EdgeRank 主要有三个因素在起作用:
亲密度(Affinity Score)
生产成本(Edge Weight)
新鲜程度(Time Decay)
亲密度的量化就是考虑该信息的来源者和你之间交流是否频繁密切。例如你女朋友发的状态比某个高中同学发的要重要。
生产成本指产生一条新鲜事的成本,成本越高权重越大。例如好友发布了9张图片的成本比起发了9个字成本高,前者就会被优先推荐;又例如发布的成本远高于点赞,所以原创内容的优先级高于因为好友点赞而被你获知的消息。
新鲜度最好理解,就是越近发生的事约容易被推荐,一般都是用一个指数衰减函数来量化动态的新旧程度。
三个分数,最终用相乘的方式共同作用于每一条新鲜事的分数,用于排序和筛选。
大家可以看出来,EdgeRank算法只考虑了社交因素,而没有考虑内容本身是否对用户有吸引力。因此后续Facebook引入机器学习,通过图像识别、语义分析等去预估新鲜事的质量,同时引入更多判断维度,例如阅读时长、视频内容、用户反馈等,去综合判断一条消息的权重。同时,FB 严格限制商业广告和普通用户的触达,网红营销号的消息曝光率从2016年的16%降低到2014年的6%。
总结一下:
智能FEED让用户在使用应用的有限时间内阅读到最感兴趣的内容,从而提高用户的粘性。
不按时间线排序,可以更自由安排广告的插入。这也是Facebook上广告大卖的原因。
自由控制内容,人为干预削减社区内的不利内容(如段子、鸡汤、微商)
得益于此,Facebook多年来一直保持高速增长,社区氛围没有崩坏。而隔壁坚持时间信息流的Twitter早已增长乏力。
2.2 微博的策略
微博大体上借鉴了Facebook的算法思路,主要也是基于LR算法(协同过滤)来做的。但是做了以下创新:
微博发现用户错过的90+%信息中,只有部分内容是对用户具有极高价值且不容错过的,所以这里无需对未读Feed全排序,只需要将最高价值的信息找出来并推荐给用户,其它的Feed仍按正常时间序排列。这样做一方面可以让Feed流整体上符合Timeline的排序,用户感觉自然流畅;另一方面,与用户对最高价值的信息认知上比较接近,算法效果比较理想。
推出了“未读池”功能 即你关注的用户发布的内容,只要是你还没看到过的都会进入未读池。当你刷新FEED的时候,会按照算法权重高低每次取出15~30条。未读池功能很好地解决了“有价值的内容没有被看到”和“无聊的时候没内容可以看”两大难题,是一个不错的点子。然而,因为未读池里内容的时间限制为3天,导致用户习惯性去刷新看看朋友有没有发布新消息的时候,却刷出了3天前的消息,从而又引来一片骂声。
3 总结和风控
智能FEED对于普通用户而言,可以帮助其提升阅读效率,第一时间看到感兴趣的内容,剔除没营养的垃圾信息,无论是关注太少没内容可看还是关注太多内容泛滥的用户,都能获得一个更佳的阅读体验。对于平台而言,可以提升用户的活跃度、互动率、留存率,同时控制社区氛围的质量,最重要的是为商业变现做好了铺垫(大幅降低网红、营销号的内容曝光,迫使企业必须使用平台自身的广告服务)
但是,智能FEED带来的一系列负面影响,包括:
将用户的操作行为公布给其所有粉丝,损害了用户隐私,让用户不敢随意点赞
混乱的时间线,让用户在看好友动态的时候一头雾水
普通用户主动发布的部分正常内容(如长图、转发等)也会被降权
这些问题虽然远不及智能FEED带来的好处,但是长此以往会给社区带来不佳的口碑,而口碑的损害可不是一朝一夕可以挽回的,因此一定要慎重处理,尽量做好每一个细节,才能让智能FEED发挥出最大的价值。
网易云免费体验馆,0成本体验20+款云产品!
更多网易研发、产品、运营经验分享请访问网易云社区。
相关文章:
【推荐】 GDB抓虫之旅(中篇)