一文带你入门算法分发
闫泽华| 腾讯研究院| 2018-08-19

   【流媒体网】摘要:本文用最通俗语言为你拆解算法分发全过程。


 

  当音乐应用变得越来越懂你,当新闻客户端逐一装配了推荐引擎,当各色巨头纷纷入场短视频算法分发:图文、音频、视频,种种信息载体正借由算法的力量提速分发效率。

  愿意或不愿意,你我已经事实上被时代的浪潮所挟持,走进了内容的算法分发时代。

  对于算法分发很多人会有所误解,这或许源自我们的远观,缺乏了解才会觉得算法猛如虎。而当走近了算法分发,有了一定的了解之后,或许会有重新的认知:纵然算法如虎,也可细嗅蔷薇。

  断物识人,推荐起点

  尽管算法分发中应用了各种高深的模型或公式,但其基础原理是朴素的:更好地了解待推荐的内容,更好地了解要推荐给的人,才能更高效的完成内容与人之间的对接。

  从这个角度来看:断物识人,是一切推荐行为的起点。

  何以断物,何以识人?用打标签的形式最容易理解。

  标签是对高维事物的降维理解,借由单个短语抽象出了事物更具有表意性、更为显著的特点。在不同的业务消费场景下,我们会选择不同的标签集合来对内容和用户进行标注。

  比如,对于职场社交应用,职业背景、工作经历会是用户重要的标签;而对于兴趣社交应用,兴趣偏好类的标签则具有更高的权重。

  在内容画像层面,有两种典型的标签产出方式,以音乐为例:

  专家系统:潘多拉(Pandora)的音乐基因工程(Music Genome Project)。在这项工程中,歌曲体系被抽离出450个标签,细化到如主唱性别、电吉他失真程度、背景和声类型等等。

  每一首歌曲都会被经由工作人员耗时30分钟左右,有选择性标注一些标签,并以从0到5的分值代表这一标签的表征程度。

  UGC产出:在豆瓣音乐,音乐的标签化体系源于普通网友的贡献。群体的力量为豆瓣积累了大量具有语义表意性的标签。

  而由于用户的多样性和编辑的开放性,用户标签需要经过特定的清洗和归一化才能投入使用。

  而在用户画像层面,则可以大致划分为静态和动态画像两个层面:

  静态画像:即用户的设备信息、地理位置、注册信息等等。通常,我们将用户的静态信息认为是业务无关信息。

  动态画像:用户在使用某一项业务时,和业务所提供内容服务产生交互后的显性或隐性种种行为,构成了用户画像的动态部分。以视频消费场景为例,点赞、评论、分享等种种显性动作都会让用户与相应的内容标签产生关联。而拖拽行为、播放完成度、页面停留时长等隐性行为则得以让系统更好的衡量用户在特定标签下的偏好程度。

  内容画像和用户画像,借由业务场景下的交互,构成了一个相互影响的循环系统。

  内容画像决定人的画像,自然是最容易理解的。在音乐场景下,你收听、收藏、评分了很多爵士类的音乐,那么系统就会判定为你是一个喜欢爵士音乐的用户;在读书场景下,你完整阅读、点评了哪些书籍,哪些书籍做了笔记,哪些书籍只是潦草翻阅,都会影响系统中你的用户画像。

  因此,“你的选择决定你的画像”可以说丝毫不为过。

  而反过来,用户的画像也会影响到内容的画像。我们可以将其看作是基于典型画像的用户行为对内容做出的后验投票。

  在一个大体量的视频上传体系里,人工打标签的方式已经不具有可行性了,只有用户的播放行为才有助于我们更好的揣测视频内容的分类。

  在实际工程应用中,由于内容的复杂性与多样性,画像远不止于预设的标签集合。在这种情况下,我们引入了聚类的方式来表征内容。

  在聚类的方式下,我们不再试图用标签词来描述事物,而是基于某一维度的特征将相关的物品组成一个集合,用“物以类聚”来试图说明内容的特征。比如,一段藏獒捕食的视频,会同动物世界里猛兽捕食的内容聚为一类,而不会同家猫捕捉老鼠的内容聚为一类。

  协同过滤,群体智慧

  如前所述,标签的应用更多的是在帮助我们快速建立对事物的抽象理解。而由于前置标签系统的有限性和封闭性,必然不足以应对更复杂多变的新增场景。比如,一则大吃猪肘子的短视频,你应该如何标签或分类?是美食还是猎奇,亦或是生活记录?

  放弃标签,转而以用户的群体消费行为进行分类和记录,这就是协同过滤的基础思想。

  举一个生活中的场景,初次为人父母,“无证上岗”的新手爸妈们内心是激动而又惶恐的。打听,成了他们育儿的重要法宝之一。

  “你家宝宝用的是什么沐浴液啊、你们有没有上什么早教班啊…”亲子群中,无时无刻不在发生这样的讨论,这样的讨论也构成大家后续消费决策的主要因素之一。

  这种基于人和人之间的相互推荐固然是弱社交关系分发的一种形态,但是促成大家有价值信息交换和购买转化的,其实是人和人之间的相似点:为人父母、拥有相似的价值观和消费观。

  把用户的消费行为作为特征,以此进行用户相似性或物品相似性的计算,进行信息的匹配,这构成了协同过滤(Collaborative Filtering)。

  协同推荐可以分为三个子类:

  基于物品(Item-based)的协同

  基于用户(User-based )的协同

  基于模型(Model-based)的协同

  基于用户的协同,即切合了上面的例子,其基础思路分为两步:找到那些与你在某一方面口味相似的人群(比如你们都是新手爸妈,倾向于同一种教育理念),将这一人群喜欢的新东西推荐给你。

  基于物品的协同,其推荐的基础思路是:先确定你喜欢物品,再找到与之相似的物品推荐给你。只是物品与物品间的相似度不是从内容属性的角度衡量的,而是从用户反馈的角度来衡量的。

  使用大规模人群的喜好进行内容的推荐,这就是在实际工程环境里,各家公司应用的主流分发方式。

  基于模型的协同,是应用用户的喜好信息来训练算法模型,实时预测用户可能的点击率。比如,在Netflix的系统中就将受限玻尔兹曼机(Restricted Boltzmann Machines, RBM)神经网络应用于协同过滤。将深度学习应用于基于模型的协同,也成为了业界广泛使用的方式。

  由冷到热,内容的算法分发生命周期

  作为连接内容与人的推荐系统,无时无刻不在面对着增量的问题:

  增量的用户

  增量的内容

  新的用户、新的内容对于推荐系统来说都是没有过往信息量积累的、是陌生的,需要累积一定的曝光量和互动量(阅读、分享等)来收集基础数据。这个从0到1积累基础数据的过程就是冷启动,其效果的好坏直接关系到用户端、作者端的满意度和留存率。

  如果我们假设一篇新内容要经过100次阅读才能够得到相对可信的内容画像,新用户同样需要完成100次阅读之后才能够建立起可用的用户画像。那么一个最直观的问题就是:怎么样达成这100次有效的阅读?

  这就是冷启动面临的问题。下面我们从内容和用户两个维度来分别论述。

  在推荐系统中,通过分析一篇内容的标题、关键字来确定要向哪个目标人群进行探索性展示,借由探索性展示完成了从0到1的用户反馈积累过程。

  在这个冷启动过程中,如果没能得到足够正面的用户反馈(点击行为和阅读体验),系统就会认为这篇内容是不受欢迎的,为了控制负面影响,就会逐步降低这篇内容的推荐量。

  反之,如果内容在冷启动过程中顺利找到了自己的目标人群,收获了很高的点击率,就有可能被推荐系统快速放大,具有了成为爆款的可能。

  因此,冷启动决定一篇内容命运的说法,可以说丝毫不为过。

  以时下最火热快手类小视频应用为例,一则视频在分发过程中的生命周期,亦跳不脱“丰富先验信息、依赖后验信息”这一定律。

  在一个小视频应用里面,大体上会有三类人:

  半职业或职业的生产者

  视频工具的使用者

  视频内容的消费者

  从信息的消费性角度来看,其结合方式大概率是第一类人生产,第三类人消费。先验信息就是尽可能多挖掘出第一类人的固有特征,比如作者是谁(考虑关注分发)、配的音乐是什么、是否有参与活动话题(考虑活动分发)等等,对于足够的头部生产者还可能会以运营介入的方式去人工标注,去完善先验信息。

  客观上说,小视频先验信息的丰富程度是远小于文本内容的,我们将其类比微博类的短文本内容或者全图片内容可能会更合适。先验信息的缺乏,使得小视频的分发过程更依赖协同算法支撑下,用户参与行为的后验信息的补充。

  在冷启动的环节里,一则小视频会分发给特定类别的用户来查看,系统从用户角度去统计不同聚类用户的播放情况(如完整播放、分享、点赞、评论、重复播放等),以用户行为的后验信息去刻画小视频特征,以解答:“哪一类用户会喜欢这则视频”这一问题。

  比如,时下很热的海草舞,不同的生产者都会上传类似主题的视频,哪个更好?

  在业务场景里,真正值得依赖的一定不是专家,而是基于普通用户真实观看行为的投票,才能选择出更值得扩散内容,用以优化全局的效率。

  对于用户冷启动,算法分发所做的则是一个剪枝和快速收敛的过程。

  这是因为算法分发首先服务的是业务的大目标,即用户的留存率。毕竟,只有保证了留存率的前提下,尽可能的留住用户之后,系统才会有进一步探索用户的可能性。人都留不住,推荐的多样性、兴趣探索等等自然无从谈起。

  因此,算法分发会更倾向于在有限次数的展示里尽可能快的探索出用户的兴趣点,会从覆盖面大的兴趣内容开始,逐步缩小范围,以用户的点击反馈来确定其更感兴趣的类目,并通过快速强化已知兴趣偏好下的内容分发量来试图留住用户。

  三分天下?编辑、算法与社交

  不夸张的说,算法分发将是未来信息分发行业的标准配置。

  为什么这么说?因为算法是个筐,什么都能往里装。在内容展现和推荐的过程当中,可以参考下述公式:算法分发权重=编辑分发权重 + 社交分发权重 + 各种算法产出权重。

  如果将任意一个权重设置为1,其他设置为0,算法分发系统就会变成一个标准的编辑分发系统或者是社交分发系统。也就是说,算法分发的基线就是编辑分发或社交分发。

  从这个角度来看,只要算法应用的不太差,基本上引入算法分发一定是正向。因为它在有限的货架里,围绕用户展示了无限的货品。

  在业务层面,我们通常会复合型使用三种分发,在不同的环节应用不同的因素,才达到最好的效果。

  以知乎读书会为例,我们将其划分为:

  内容生产

  用户触达

  反馈改进

  在内容生产中,为了保证调性,一定是需要引入编辑专家去选人、选书的。选择的书是否有价值,选择的人是否是行业专家,还是职业的拆书人,都是体现产品价值观判断的事情。

  当内容从生产进入流通,进入触达环节后,为了追求效率的最大化,人工干预的作用就会相对弱化。

  举一个业务场景的例子,对于读书类产品,运营一定会有今日推荐的需求,推荐给用户今日读书会上新了什么大咖领读的书籍。从编辑的角度,领读人是大咖,书是经典,编辑权重一定非常高。

  乍听来很合理的需求,当进入用户场景后就会发现其值得商榷:首先,用户不是每天都来的。如果他一周来一次,那么提供给他的应该是今日推荐,还是本周推荐呢?

  进一步,考虑到用户偏好问题。你是应该把物理学大咖的内容强加给他,还是推荐给他一个朋友们最近都好评的一本领读书(社交分发),又或者是他自己已经标注了“想读”的一本艺术类书籍的解读呢?

  在信息触达环节中,产品应当追求的是信息和人的有效链接,是用户体验的最大化而非产品经理意识的最大化。

  当服务收集到了足够多用户数据的时候,又可以反过来影响内容的二次迭代。在迭代的环节中,编辑的作用又凸显了出来,结合数据的反馈来对内容进行调整:内容的播放完成率为什么低?是稿件问题,还是领读人语音的问题,是否需要重新录制等等。

  站在编辑分发和社交分发之上,算法分发一定能够获得更大的发展、收获更多元的可能性。

责任编辑:路明玉

版权声明:凡本网注明来源“流媒体网”的所有内容,版权均属流媒体网所有,转载需注明出处。凡注明来源非“流媒体网”的所有内容,其目的在于传递更多信息,并不意味着流媒体网赞同其观点或证实其内容的真实性。