比对象还懂你!推荐算法为啥这么准?

0 评论 3359 浏览 31 收藏 17 分钟

信息过度和广告过多的社会中,推荐算法的使用也就显得理所当然,但是它是如何做到了解用户的呢?本文从用户画像的定义和设计出发,结合实际案例,深入浅出地阐述了基于用户画像的推荐算法及其产品设计。

为了方便读者更好的理解本文,笔者将以今日头条(建议在手机上下好“今日头条”APP,且最好注册一个头条号并登录到后台)这款产品为例输出一些内容推荐(分发)相关的“干货”。

何为推荐?简言之:“物以类聚,人以群分”,那何为物,何为人呢?答:物为内容(文章/图文/视频等),人为用户(刷今日头条的用户);那么机器怎么知道内容和人属于什么类别(断物识人)呢?再答:“内容画像”和“用户画像”的构建,而推荐的过程其实就是完成用户和内容的匹配。那么什么是“内容画像”和“用户画像”呢?机器是如何对两者进行精准构建和匹配呢?

一、内容画像

内容画像,简单来说就是内容的特点。如果具象化内容,笔者更倾向于假设是一个内容漏斗(类似于倒三角形用户漏斗,不过所示关系不一定为层级关系,见图1)。第一层通常表示内容的一个垂直领域(大类别)而后面几层可以大致表示为标签/关键词/主题词等小类别。

▲ 图1:用户漏斗

1. 垂直领域

划分方式:机器标注(NLP技术),人工手打,PUGC创作者选择(已不需要)。

考虑到内容漏斗有很多层,为了便于理解,笔者简单说一下用户可以直观看到的几层。最显眼的可能就是第一层了,在头条(指今日头条)内部通常指的就是垂类(垂直领域),如:科技、娱乐、体育等。举个栗子,笔者之前发布的一篇vivo NEX的软广,被机器识别成了“科技”领域的文章。那这个内容第一层就是科技。

垂类的划分方式通常为机器标注(涉及NLP技术:文本分类、命名实体识别等)、人工手打(传说中“打tag”的一种主要形式),或PUGC创作者(统称:头条号)在发布内容时进行领域选择(如图3),不过,现在发布内容已不需要进行选择。

▲ 图2:笔者头条号“不二科技君”标题截图

▲ 图3:来源百度图片,早期头条号发布内容时需选领域

2. 细分tag

划分方式:机器标注(NLP技术)

显然,光知道内容的大类并不能给用户精准的推荐感兴趣的内容。那就需要第二层内容漏斗了,这里要讲的其实也是一种打tag的形式(涉及NLP技术:文本主题/关键词抽取),只是平台根据用户的喜好对内容做更进一步的更细化了。还是上面举例的这篇vivo NEX双屏版文章,对应的一些细分tag就有vivo、手机、科技等。「不过“一起皮一下才开心”是什么鬼?」

▲ 图4:上述举例文末对应的细分tag

当然,这个内容漏斗远不止这两层,细分其实有很多种,比如接着上文举例的文章来说,漏斗可能是这样的:科技->手机->Android->vivo->vivo旗舰机->vivo NEX->vivo NEX双屏版。而细分得越精细,内容画像也就越清晰,推荐才越精准,当然,技术难度也是同样提高的。

像头条比较强悍的竞品之一“一点资讯”,就号称有365万个个性化订阅频道,可想后面支撑的一个推荐算法团队是有多强。当然,除了内容的特点之外,内容画像还包含内容的质量、热度、原创度、所发布用户的权重等。而这个权重指的就是头条对头条号所发布文章的推荐权重(更多的是内容冷启动推荐数量,以及后续推荐的加成幅度),如图5可见头条对笔者这篇“软广”的推荐量,也可以侧面看出头条对于软文的打压力度。

▲ 图5:上文举例文章的后台数据,推荐数为5228

那推荐权重由什么来决定呢?其中一项就是头条号指数。头条号指数是之前平台为了让做作者们过新手/评原创而提出的一个量化指标(如图6),而这个头条号指数其实可以理解为平台对于头条号的一个打分,决定了头条号所发布内容的推荐权重。而头条号指数的评定标准有5大方面(如图7):原创度、垂直度、关注度、健康度、传播度。

不过,现在头条号Web端后台已经看不到了,不过手机端还可以看到。除了内容的特点之外,内容画像还包含内容的质量、热度、原创度、所发布用户的权重等。

▲ 图6: 2017年6月26日笔者头条号后台

▲ 图7:来源百度图片,头条号指数的五大影响因素

二、什么是用户画像?

什么是用户画像呢?简而言之就是你(显式&隐式)的基本特征(比如:性别、学历、年龄、常驻位置等)和兴趣爱好(篮球迷、数码控、动漫迷等)所构建出来的一个“属性图”(技术通常称为“知识图谱”)。举个栗子,我们通常被机器标注成一个数据组合(如图8):科技|20%、体育|10%、娱乐|30、养生|5%……..

▲ 图8:用户画像实例,来源《内容算法》

三、机器如何构建用户画像

那么问题来了,机器如何知道一个用户的画像呢?首先,用户分为新用户和老用户两类。针对前者就涉及到了用户画像构建的一个常见且难点(策略产品面试问题)——(用户)冷启动,通常面试官会问你,如何做用户冷启动?那么笔者告诉大家一些常见的答案。

首先,新用户打开APP会让选择喜欢的领域。其二,绝对的冷启动并不存在,用户在其他APP的行为其实也会被监督到。比如你在淘宝看球鞋,打开头条刷新闻就能刷到你刚看的那款球鞋的广告,也就是说在你打开淘宝APP那一刻,你的一个比较明显的属性·体育|篮球已经被获取了。

其三,机器通常会给你推荐当前热点内容「比如科技领域|iPhone发布新品,娱乐领域|汪峰上头条等」,通过你在这些内容下的用户行为(点击,点赞,转发,跳出,停留时长等),机器会对屏幕前面的你有一个“初印象”。通过你在不同领域内容的用户行为,判断你对内容的兴趣度,从而构建你的一个初步用户画像(这是当前常用的一种用户冷启动方式)。

比如:打开头条,给你冷启动推送了12条内容(3条NBA+3条娱乐+3条科技+3条美食),然后你点击了3条体育,2条数码,1条娱乐……那么,最开始的用户画像(V1.0)可能为体育|30%,数码领域|20%,娱乐领域|10%,其他领域|20%,目测是一名男性,爱好运动,科技宅等。然后,还发现里面2条体育内容都是和科比有关的,那么你大概率是个男性科密数码控。

后来,你变成了老用户,随着你使用头条的次数越多,你产生的用户行为数据越多,背后的模型就会被训练的越“聪明”。随着你“刷”的越多,你的用户画像也会随之发生不断的变化,变得越来越细化,越精准。

四、如何推荐?

最后,关于机器在用户画像和内容画像精准构建出来之后,如何做推荐呢?事实上,这其实就是一个匹配(match)的操作。当然,简单说匹配笔者认为还是不够恰当,因为除了用户画像和内容画像(相关性特征)之外,机器在训练模型时还会考虑热度特征(全局热度、分类热度等)、协同特征(相似用户、兴趣分类用户等)、环境特征(时间、地理位置等),详见图9。

▲ 图9:来源文章“今日头条算法原理(全)”

那么,机器学习到了这些如图9的这些特征之后,推荐模型就会被不断的更新(准确的说是模型的参数在发生更新,如:神经网络在做后向传播时会在每一次迭代时发生相关权重参数的变化),最后机器呈现给不同用户的内容也会因为这些特征的不同而不一样,甚至同类型的用户,也就是所谓的“千人千面”(最早用在电商平台)。

而作为内容消费”平台,这里主要指的是内容分发。那么如何让内容分发变得更加精准呢?这里不得不提这两个名词,即:召回和排序。这里难讲,简言之,召回比较依赖于内容和用户的标签匹配度,而排序则涉及到一个用户兴趣倾向性,或者是一个更加细粒度的匹配问题上,因为要保证合适的内容放在合适的位置,比如笔者是一个数码控,那如果推送12篇内容给我,我更倾向于第一篇是关于数码的而不是娱乐的。

而排序也往往能够反映出推荐策略的优秀程度,因为只有让用户最快的触达你感兴趣的内容才会产生更多的留存,才会激活,才能进行转化(才能更便于平台推送广告等商业化操作)。当然,AI时代,决定模型表现,或者说我们这里的推荐系统(也可以理解为是一种机器学习模型)的表现,除了算法本身,还有算力(指的是计算机运算能力,这方面头条和竞品无法拉开差距,因为这是钱能够解决的问题),还有另外一个关键项就是数据(高质量的数据)。

关于数据的重要性,让我想到了带我做科研的一位博士师兄(目前在Amazon做推荐)说过的一句话:“Garbage in, Garbage out”,而这句话更适用于AI+产品落地上。简言之,数据对于推荐结果(或者说内容分发)的好坏起着十分根本性的作用。

说到这,请大家跟着笔者思考一个问题,头条DAU(日活)据说2.4亿+,而每个用户日均使用时长70min+,假设用户阅读一篇内容(文章/视频)的平均时间是2min,那么用户阅读内容数据得有2.4亿*70/2 = 84亿+(条)!所以,回到最开始的问题,为啥说头条推荐如此牛逼呢?那是因为推荐算法的3个核心壁垒,头条都属于业内前列(甚至可以称得上是国内NO.1)。

One More Thing

看完笔者“粗鄙”的输出,大家对推荐策略有没有想深入的兴趣呢?如果有想了解的冲动,甚至想定位做策略产品经理的话,那么后面的一些话远比之前的长篇大论更加实在。

私认为(内容推荐)策略产品经理入门之前,一定的推荐算法“技术”输入是必须的。而一个较好且体系的学习方式就是“阅读+思考+实战三位一体”「摘自@刘飞老师很久之前在群里说的的一段话」。所以,这里的“One More Thing”是指笔者希望带(和)大家一起做一些实际的,有意义的输入,从根本上去寻找打开推荐策略这一黑匣的钥匙。

关于“阅读”,大家可以移步至我的微信公众号,之前写的一个“策略产品入门”的一篇文章获取一下推荐书籍资源。那么,大家比较关心的“实践”部分该如何去做呢?这里要卖个关子,相信你看完《内容算法》这本书就会有答案了,因为笔者觉得本书的后半部分其实就是泽华老师在教大家如何去做实践。

以上,皆为笔者粗鄙之见,所讲内容只是今日头条推荐算法里的极少部分,背后的Model和Data十分庞大与强大,纰漏难免,还望谅解并给予批评指正。另外,笔者认为机器(计算机)再厉害,也是人类所“赋予”的,机器越来越聪明的背后反映的应该是人(如:推荐算法团队| Modeling & Data processing)在不断的进化变强!

在此,作为南开人,忍不住向今日头条创始人@张一鸣师兄致敬,向您带领的优秀团队表示崇高的敬意!

参考文献:

  1. 闫泽华|《内容算法》
  2. 今日头条·曹欢欢博士 | 今日头条算法原理(全)
  3. 3Dietmar Jannach等著,蒋凡译 | 《推荐系统 [ Recommender systems:An introduction]》
  4. 项亮 | 《推荐系统实践》——策略产品小白 | 南开NLP硕士·熊慧超 2018.12.27

 

作者:产品TED;公众号:产品TED

本文由 @产品TED 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash,基于CC0协议。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!