查看原文
其他

数据挖掘系列篇之今日头条的个性化推荐

21CTO 2020-09-09

21CTO社区导读:

本篇文章为综合知乎上的专栏文章,时间流转一部分数据和架构已经有所改变,但是核心与思想仍值得大家借鉴。


谁是今日头条


今日头条是一款个性化阅读APP。根据百度百科上的信息显示,其经历了以下若干重要的时间点:

  • 2012年3月创建,2012年8月发布第一版应用

  • 至2016年10月底,今日头条激活用户数已经超过6亿,月活跃用户数超过1.4亿,日活跃用户数超过6600万,单用户日均使用时长超过76分钟,日均启动次数约9次

  • 截至2016年11月底,已有超过39万个个人、组织开设头条号

在短短4年多的时间里,异军突起成为新媒体时代的独角兽,有望成为BAT之后的第四级,其发展的速度令人惊叹不已。在2016年8月份的时候,有消息称今日头条其目前的估值为92亿美金,信息真假莫辩,但是其价值和影响力可见一斑;今日头条在阅读自媒体领域的江湖地位已经无人可以撼动。

目前今日头条也已经将触角伸向了短视频、音乐等领域,这里将不涉及到这些内容,我们将聚焦在其异军突起的阅读自媒体领域背后的产品逻辑。

今日头条作为一种新型的新闻阅读方式,已经将传统的新浪、腾讯、网易、搜狐这些新闻媒体以一种大数据+新闻内容的方式呈现给用户。上线没几年,用户量已经发展到数亿累计用户,日活奔着3000万去。看到这样的数据,小编还是比较震撼。这几乎是目前APP Top10的水平。所以有必要对今日头条好好研究下。


今日头条的特点主要有,突出个性化阅读推荐,以关联性的文章为主线来推荐,关注阅读体验,淡化弱化社交属性。


它让每个读者看到得都是自己感兴趣的内容,千人千面。并以自媒体为核心,为自媒体提供个性化的群体推荐,帮忙自媒体写手更加了解受众读者,让平台帮助你找到对你的文章感兴趣的群体。


基于技术驱动,充分发挥AI、机器学习等各类技术手段,实现读者个性化的内容推荐,以及自媒体内容的受众推荐;通过技术手段,了解平台读者以及自媒体,为他们打上各类的标签。基于读者的阅读记录,尝试了解读者的阅读兴趣,比读者自己更了解读者的兴趣爱好。


今日头条是一个阅读平台,更是一个技术平台,基于技术来驱动整个平台的个性化,基于推荐算法和AI技术的不断优化提升,实现更好的阅读体验、更精准的阅读质量。头条基于技术驱动,解决人们的阅读推荐精准问题,是AI以及机器学习、数据分析等未来技术的典型应用,基于算法和AI的持续升级,这将是个性化阅读平台的核心竞争力和生死之门。

来看下今日头条这类的个性化推荐要实现大概是什么样的流程:

(1)今日头条服务器1000台左右,通过代码实现的爬虫功能,在其他传媒的网站和门户上抓取各种信息。如果在网站上抓取到纸媒的内容,优先从纸媒门户上抓取信息

(2)抓取信息后,对有价值的信息通过算法进行分析归类。

(3)推送到有感兴趣的今日头条客户端。

(4)用户注册或登录(新浪微博、QQ、人人网)时,通过数据挖掘分析,对用户进行分析,推荐感兴趣的信息。

(5)推送后,根据用户的体验(阅读时间、评论)判断信息是否符合客户需求,再进一步调整推送信息内容。

(6)敏感信息审查。

(7)网页转码,手机信息打开纸媒或网站信息,因附带有大量广告或样式信息,下载速度很慢,影响用户体验,转码后保留内容资源,格式更适合阅读。

而我们在实际使用产品的过程中,1.可以订阅自己关注的频道;2.可以给自己不感兴趣的内容打上标签;3.内容有些少,推来推去还是那些;4.泛阅读,推荐的新闻都是即时性很高,阅后即焚,没有太多的精选文章;5.评论没有高质量的用户,都是比较短浅的评论;6.热点文章排序还有待提升。

在今日头条技术实现层面,重点包含两个环节:网络爬虫,算法推荐

网络爬虫

以今日头条为例说明一下网络爬虫在新闻抓取中的工作流程:

第一步:工作人员先要在后台设置新闻来源的字典,比如“网易新闻”、“新浪新闻”、“凤凰新闻”、“浙江新闻”等等;

第二步:通过这些字典,网络爬虫将会锁定到这些网站的超链接,从中抓取新闻。

补充说明:

如果这条新闻是在这些新闻平台相关的博客当中的内容,而不是新闻平台本身的新闻,网络爬虫就抓不到了。

聚合媒体的概念并非如此简单,除了汇聚来自不同媒体的内容之外,聚合媒体更重要的特征是对不同信息进行分类并排序,得到一个信息汇总界面(aggregator),这种信息汇总往往表现为某种排行榜。

这种排行榜在传播机制上满足网络科学中所说的“优先链接机制”,即用户的注意力更倾向于投向那些排名靠前的信息,这个过程可以被经典的传播学发现:“乐队花车效应”。这个发现起源于美国的选举过程。候选人会站在乐队花车上拉选票,赞同者会站到他的车上。研究发现,人们倾向于登上那些站满了人的花车,而非那些只有很少人的花车。

算法推荐

今日头条在实现个性化推荐上,重点引入了几个机制:算法排序+人工运营,还有重点介绍的A/B test+投票机制。

今日头条的用户登录非常人性化。作为一个后起之秀,今日头条非常具有策略性地允许用户使用微博、QQ等社交账号登录。这个过程实际上授权今日头条挖掘个人社交网络的基本信息。因而,便于获取用户的个性化信息,比如用户的兴趣、用户属性。越用越懂用户,从而进行精准的阅读内容推荐。

个性化推荐的基础是构建推荐系统

推荐系统广泛地应用于用户没有明确需求的场景。推荐系统就算法而言,可以分为:

社会化推荐(Social recommendation, 比如向朋友咨询);

基于内容的推荐(content-based filtering, 例如根据用户观看过的电影推荐其他与之相似的电影);

基于协同过滤的推荐(collaborative filtering,例如查看排行榜,或者找到和自己兴趣相似的用户,看看他们最近看什么电影)。

所以,可以用于构建推荐系统的信息也分为三类:好友、历史兴趣、注册信息。

推荐系统就是可以关联用户和物品的一种自动化工具。除了这些信息之外,时间、地点等信息均可加入到推荐系统的构建中来。现在,推荐系统已经广泛地应用于新闻推荐、图书推荐、音乐推荐、电影推荐、朋友推荐等领域,作为人工智能的一种形式,极大地方便了人们的生活和交往。

推荐系统算法的基础就是要构造相似性矩阵

这种相似性矩阵可以是物与物的相似性,例如书籍之间的相似性、音乐之间的相似性。以下以基于物品的协同过滤算法(item-based collaborative filtering, ItemCF)为例。

基于物品的协同过滤算法可以利用用户的历史行为,因而可以使得推荐结果具有很强解释性。比如,可以给喜欢读足球新闻的用户推荐其它相似的新闻。基于物品的协同过滤算法主要分为两步:

第一步:计算物品之间的相似度。

第二步: 根据用户的历史行为生成用户的推荐列表。

假设我们有四个用户:

用户1在今日头条的浏览记录是[a、b、d],

用户2的浏览记录是[b、c],

用户3的浏览记录是[c、d],

用户4的浏览记录是[b、c、d];

可将这四个人的浏览行为表达为以下四个物品矩阵:

将个体用户的物品矩阵相加,可以汇总为所有的新闻矩阵M,M[i][j]表示新闻i和新闻j被多个人同时阅读的次数。请看下图所示:

矩阵逻辑

如果两个新闻被多个人同时浏览,那么可以说它们之间的相似度更高。

将以上矩阵归一化就可以对矩阵进行操作并计算新闻之间的相似度,比如相关相似度或者余弦相似度。

基于物品间的相似性度,如果有一个新用户进入系统,并且他阅读了新闻c,那么ItemCF算法可以很快给出与新闻c相似度最高的新闻(b和d),并推荐给这个新用户。

在推荐过程中,推荐系统可以根据用户的行为不断优化相似矩阵,使得推荐越来越准确。

或者,如果用户可以手动对每个新闻的兴趣(如喜欢或讨厌)标出,就可以使得推荐更准确。

本质上来说,上面两个图是热点新闻、以及个人定制新闻的基础原理。它分为两步完成:

第一步:先找出新闻之间的热点与相似度

第二步:将热点与相似度高的新闻推送给用户。

举个栗子:

假设一个场景在抗战胜利70周年当天,有4个人同时浏览今日头条的新闻:

A是女读者,她点击了秋季糖水制作方法、育儿应注意的五个事项、阅兵式、新型武器等新闻,

B是中年上班族,他点击了阅兵式、中国最新兵器谱等新闻,

C是一位年长者,他点击了养生、阅兵式、新型武器等新闻,

D是一位刚毕业的男大学生,他点击了英雄联盟攻略、好莱坞旅行攻略、阅兵式、新型武器等新闻。

热点和相似度的产生过程:

第一步:这四个人同时点击阅兵式和新型武器,系统算法就会通过点击和停留的时间计算出阅兵式和新型武器是当天的热点。

第二步:阅兵式和新型武器同时被多人点击,代表他们之间具有相似性。

第三步:当新进用户点击新闻时,今日头条会以最快速度分析他点击的内容,并在已经排查出的热点新闻当中寻找他所感兴趣的相关内容匹配给他,引导他阅读热点。

这一系列的行为都由计算机系统自动完成。

今日头条的个性推荐算法公式

精准推荐最难的不是划分人群,也不是判断用户人群归属,更不是文章属性判断,一个人可以属于多个人群,也有多个文章候选,选哪个推荐才是最难的。而今日头条的推荐内容是怎么算出来的呢?

通过上图的计算公式:W1*候选1的投票率+W2*候选2的投票率+W3候选3的投票率+……=最高分,最后能计算出一个得分,按得分的高低来排序,就可以得到推荐文章的一个侯选,这个过程实际上是一个比较简单的算法,而这在今日头条内部叫逻辑回归。

机制的缺陷

上面的例子说明了定制新闻以泛热点新闻为基础数据来完成的事实,这就出现一个问题,即当一个人关注的新闻不是热点时,系统得不到相关的热点,就会在该新闻当中寻找其他信息进行再匹配,这样匹配出的新闻在现有信息的基础上最大程度吻合了用户的兴趣,但未必会推送当天最热点的新闻。要想达到这种长尾理论所设想的定制服务,关键是对新闻的细分。

只有将不同主题细分成各种子主题,再细分下设内容,才能达到真正的私人定制。要做到这一点,实际已经脱离了机械,而在于人对于事物性质的认知与把握。正如法国社会学家福柯在《知识考古学》当中的观点,分类,是一事物区别于其他事物的根本。而分类,归根结底是人的主观能动性的体现;当系统中累计的用户行为越多,这种分类越准确,自动化的私人定制也会越贴近用户需求。

A/B测试、双盲交叉验证

怎么做A/B测试,第一步线上流量进行分流,正常用户还是走正常的流量,一部分流量我们要保证样本无偏(不要样本全是女的或者全是90后),通过科学方法去划分出一些流量做实验,还要进行分组,分出对照组和实践组,对照组和线上的策略完全一样,实验组我们做一些小小的改变。

比如头条网页版的首页,新版加了一个链接,老版加了一个任务评论。我们看哪个好呢?通过A/B测试的方式,一部分人看到新版的结果,一部分是老版效果。事后统计分析,看到底哪个版本效果好。

还有在验证过程介入双盲交叉验证。它是说在评估一项数据的时候,我可以把一部分样本抽样,让其他人再评估一下。根据抽样数据评估的一致性来判断该评估的可靠性怎么样,比如你审一些黄色反动的文章,机器做得再好,必须有人来把关。

这个事本身判断特别复杂,机器也不能做好,我们要保证评估的有效性,要引入争议复评机制。

人工运营

在头条刚才提到有些业务需要人工的评估。因为你文章如果分类分不准的话,可能就会影响你的推荐。有很多东西要人去审的,审核和评估都有一个问题,什么问题呢?它依赖人。

大家印象中人比机器靠谱的,从大的面上来说,机器比人更靠谱,机器不求回报。在互联网公司,审核和评估投入这块肯定比工程师低很多,这就造成两个后果,第一个就是审核人员敬业或者他的能力上可能跟工程师相比,他会有一定的差距,这是客观存在的。因为我们的人力成本也比较低。

第二个就是他的流动性可能比较大,另外标准经常变来变去。我们一定要用机器去监控人的工作怎么样,需要有一个预警。这块我们需要引入一个双盲的交叉验证,帮助我们去看这些运营同学他们工作的稳定性怎么样,同时去激励不断提升自己的判断力,得到机器更好的评估。

个性化推荐技术本身并不神秘,归根到底推荐算法关键是还在于对海量用户行为的数据分析与挖掘,也许各家算法略有不同,但最终目的都是殊途同归,为实现最精准的内容推荐而努力中。

小结

今日头条是一个阅读平台,更是一个技术平台,基于技术来驱动整个平台的个性化,基于推荐算法和AI技术的不断优化提升,实现更好的阅读体验、更精准的阅读质量。头条基于技术驱动,解决人们的阅读推荐精准问题,是AI以及机器学习、数据分析等未来技术的典型应用,基于算法和AI的持续升级,这将是个性化阅读平台的核心竞争力和生死之门。


基于个人理解和未来趋势之前瞻判断,今日头条将继续向以下几个方向发展:


立足AI与机器学习、大数据等技术,优化提升推荐精准度和用户理解能力,比读者更了解自己

在阅读之外,逐步横向拓展至短视频、音乐、直播等领域,核心立足点还是个人兴趣,社交应该不会太多涉及深入

在免费模式之外,逐步引入付费的内容与服务,实现差异化的内容质量服务

在充分了解用户兴趣爱好基础上,提供更为精准和智能化的广告推荐服务,提升平台盈利能力

问答领域是一个非常好的产品点,如何做好可以将传统论坛的功能融入个性化阅读与推荐,这个应该是未来的一个方向。

除了上述的若干发展方向之外,还有以下若干隐忧:


短视频中的版权问题,大量的短视频都采集于电视、电影等来源,存在版权争议。

如何保障自媒体作者的知识产品保护以及对于抄袭、非法传播的惩戒机制

如何给众多的自媒体用户提供更多的利益分成机制,通过对于优质内容的筛选和回馈机制,激发他们的创作动力和激情,当然这个也是所有平台都面临的问题。


对于今日头条为代表的个性化阅读平台,其仅仅是AI、机器学习和数据分析技术等在特定领域和行业的具体应用;随着这些技术的逐渐发展成熟,对于各个行业的渗透与影响,相信AI为代表的新技术浪潮将深刻地影响和改变各个行业的发展历程,通过与各个细分领域行业的深度结合,创造出类似于今日头条的智能应用,从而成长为新时代的独角兽。


作者:面包君。数据分析联盟创始人,前支付宝资深数据人,VC投资人,《数据分析侠的成长故事》作者,7年大数据行业数据分析和产品从业经验。

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存