以头条为例:谈谈推荐策略
关于机器在用户画像和内容画像精准构建出来之后,如何做推荐呢?本文以今日头条为例,跟大家谈谈推荐策略。
关于推荐
首先,为了方便读者更好的理解本文,笔者将以今日头条(建议在手机上下好“今日头条”APP,且最好注册一个头条号并登陆到后台)这款产品为例输出一些内容推荐(分发)相关的“干货”。
回到标题,何为推荐?
简言之:“物以类聚,人以群分”。
那何为物,何为人呢?
答:物为内容(文章/图文/视频等),人为用户(刷今日头条的用户)。
那么机器怎么知道内容和人属于什么类别(断物识人)呢?
再答:“内容画像”和“用户画像”的构建,而推荐的过程其实就是完成用户和内容的匹配。
那么什么是“内容画像”和“用户画像”呢?机器是如何对两者进行精准构建和匹配呢?
内容画像
内容画像,简单来说就是内容的特点。如果具象化内容,笔者更倾向于假设是一个内容漏斗(类似于倒三角形用户漏斗,不过所示关系不一定为层级关系,见图1)。第一层通常表示内容的一个垂直领域(大类别)而后面几层可以大致表示为标签/关键词/主题词等小类别。
(图2:百度图片,仅图示忽略文字)
考虑到内容漏斗有很多层,为了便于理解,笔者简单说一下用户可以直观看到的几层。最显眼的可能就是第一层了,在头条(指今日头条)内部通常指的就是垂类(垂直领域),如:科技、娱乐、体育等。
举个栗子:笔者昨天发布的一篇软广,被机器识别成了“科技”领域的文章。那这个内容第一层就是科技,通常为机器标注(涉及NLP技术:文本分类、命名实体识别等)、人工手打(传说中“打tag”的一种主要形式),或PUGC创作者(统称:头条号)在发布内容时进行领域选择,不过,现在发布内容已不需要进行选择。
显然,光知道内容的大类并不能给用户精准的推荐感兴趣的内容。这里再讲一层,其实也是一种打tag的形式(涉及NLP技术:文本主题/关键词抽取),只是平台根据用户的喜好对内容做更进一步的更细化了。还是上面举例的这篇文章,对应的一些细分tag就有vivo、手机、科技等。
当然,这个内容漏斗远不及这两层,细分其实有很多种,比如接着上文举例的文章来说,漏斗可能是这样的:科技->手机->Android->vivo->vivo旗舰机->vivo NEX->vivo NEX双屏版。而细分的惊喜,内容画像也就越清晰,推荐才越精准,当然,技术难度也是同样提高的。
因此,像头条比较强悍的竞品之一,一点资讯号称365万个个性化订阅频道,可想后面支撑的一个推荐算法团队是有多强。
当然,除了内容的特点之外,内容画像还包含内容的质量、热度、原创度、所发布用户的权重等。而这个权重指的就是头条对头条号所发布文章的推荐权重(更多的是内容冷启动推荐数量,以及后续推荐的加成幅度)。
说到推荐权重,就不得不提一下之前平台为了让头条号作者们过新手/评原创有一个量化的指标,即头条号指数(如图6所示),而这个头条号指数其实可以理解为平台对于头条号的一个打分,决定了头条号所发布内容的推荐权重。而头条号指数的评定标准有5大方面(如图7):原创度、垂直度、关注度、健康度、传播度。不过,现在头条号Web端后台已经看不到了,不过手机端还可以看到。
(图7: 2017年6月26日笔者头条号后台)
用户画像
什么是用户画像呢?简而言之就是你(显式&隐式)的基本特征(比如:性别、学历、年龄、常驻位置等)和兴趣爱好(篮球迷、数码控、动漫迷等)所构建出来的一个“属性图”(技术通常称为“知识图谱”)。
举个栗子:我们通常被机器标注成一个数据组合(如图9):科技 | 20%、体育 |10%、娱乐 | 30、养生 | 5%……..
(图9:用户画像实例,来源《内容算法》)
那么问题来了,机器如何知道一个用户的画像呢?
首先,用户分为新用户和老用户两类。针对前者就涉及到了用户画像构建的一个常见且难点(策略产品面试比问)——(用户)冷启动,通常面试官会问你,如何做用户冷启动?
那么笔者告诉大家一个常见的答案:
- 首先,新用户打开APP会让选择喜欢的领域;
- 其二,绝对的冷启动并不存在,用户在其他APP的行为其实也会被监督到,比如:你在淘宝看球鞋,打开头条刷新闻就能刷到你刚看的那款球鞋的广告,也就是说在你打开APP那一刻,你的一个比较明显的属性·体育|篮球已经被获取了。
- 其三,机器通常会给你推荐当前热点内容「比如科技领域 | iPhone发布新品,娱乐领域 | 汪峰上头条等」,通过你在这些内容下的用户行为(点击,点赞,转发,跳出,停留时长等),机器会对屏幕前面的你有一个“初印象”。
通过你在不同领域内容的用户行为,判断你对内容的兴趣度,从而构建你的一个初步用户画像(这是当前常用的一种用户冷启动方式)。比如:打开头条,给你冷启动推送了12条内容(3条NBA+3条娱乐+3条科技+3条美食),然后你点击了3条体育,2条数码,1条娱乐…..。
那么,最开始的用户画像(V1.0)可能为体育 | 30%,数码领域 | 20%,娱乐领域 | 10%,其他领域 | 20%,目测是一名男性,爱好运动,科技宅等。然后,还发现里面2条体育内容都是和科比有关的,那么你大概率是个男性科密数码控。
后来,你变成了老用户,随着你使用头条的次数越多,你产生的用户行为数据越多,背后的模型就会被训练的越“聪明”。随着你“刷”的越多,你的用户画像也会随之发生不断的变化,变得越来越细化,越精准。
如何推荐
最后,关于机器在用户画像和内容画像精准构建出来之后,如何做推荐呢?
事实上,这其实就是一个匹配(match)的操作。当然,简单说匹配笔者认为还是不够恰当,因为除了这2个用户画像和内容画像(相关性特征)之外,机器在训练模型时还会考虑热度特征(全局热度、分类热度等)、协同特征(相似用户、兴趣分类用户等)、环境特征(时间、地理位置等),详见图10。
(图10:来源文章“今日头条算法原理(全)”)
那么,机器学习到了这些如图6的这些特征之后,推荐模型就会被不断的更新(准确的说是模型的参数在发生更新,如:神经网络在做后向传播时会在每一次迭代时发生相关权重参数的变化),最后机器呈现给不同用户的内容也会因为这些特征的不同而不一样,甚至同类型的用户,也就是所谓的“千人千面”(最早用在电商平台)。而作为内容“消费”平台,这里主要指的是内容分发。
那么如何让内容分发变得更加精准呢?
这里不得不提这两个名词,即:召回和排序。这里难讲,简言之,召回比较依赖于内容和用户的标签匹配度,而排序则涉及到一个用户兴趣倾向性,或者是一个更加细粒度的匹配问题上,因为要保证合适的内容放在合适的位置。
比如:笔者是一个数码控,那如果推送12篇内容给我,我更倾向于第一篇是关于数码的而不是娱乐的。而排序也往往能够反映出推荐策略的优秀程度。因为只有让用户最快的触达你感兴趣的内容才会产生更多的留存,才会激活,才能进行转化(才能更便于平台推送广告等商业化操作)。
当然,AI时代,决定模型表现,或者说我们这里的推荐系统(也可以理解为是一种机器学习模型)的表现,除了算法本身,还有算力(指的是计算机运算能力,这方面头条和竞品无法拉开差距,因为这是钱能够解决的问题),还有另外一个关键项就是数据(高质量的数据)。
关于数据的重要性,让我想到了带我做科研的一位博士师兄(目前在Amazon做推荐)说过的一句话:“Garbage in, Garbage out”,而这句话更适用于AI+产品落地上。简言之,数据对于推荐结果(或者说内容分发)的好坏起着十分根本性的作用。
说到这,请大家跟着笔者思考一个问题,头条DAU(日活)据说2.4亿+,而每个用户日均使用时长70min+,假设用户阅读一篇内容(文章/视频)的平均时间是2min,那么用户阅读内容数据得有2.4亿*70/2 = 84亿+(条)!。
所以,回到最开始的问题,为啥说头条推荐如此牛逼呢?
那是因为推荐算法的3个核心壁垒,头条都属于业内前列(甚至可以称得上是国内NO.1)。
One More Thing
以上,皆为笔者粗鄙之见,所讲内容只是今日头条推荐算法里的极少部分,背后的Model和Data十分庞大与强大,纰漏难免,还望谅解并给予批评指正。
另外,笔者认为机器(计算机)再厉害,也是人类所“赋予”的,机器越来越聪明的背后反映的应该是人(如:推荐算法团队| Modeling & Data processing)在不断的进化变强!
『参考』:
- 闫泽华|《内容算法》
- 今日头条·曹欢欢博士|今日头条算法原理(全):http://h5ip.cn/mgq9
- Dietmar Jannach等著,蒋凡译|《推荐系统 [ Recommender systems:An introduction]》
- 项亮|《推荐系统实践》
本文由 @不二互联网-Alex 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议
不二互联网!这个名字咋理解呀? 😆
不二的互联网事~哈哈哈,不二是作者名字。
我们家app还是手工千人千面_(:з」∠)_。关于冷启动摸索用户潜在标签的方案确实很有意思和启发。感谢赐教。
我们家还是千人一面,泪奔…
哈哈,目前来说很多大厂都是手动的,不过方向肯定还是机器 人的,也就是头条的打法。