马海祥博客是一个专注于分享SEO优化、网站制作、网络营销和运营思维的自媒体博客!
马海祥博客 > 互联网 > 互联网技术 > 今日头条的个性化推荐算法

今日头条的个性化推荐算法

时间:2016-01-20   文章来源:马海祥博客   访问次数:

互联网给用户带来了大量的信息,满足了用户在信息时代对信息的需求,但也使得用户在面对大量信息时无法从中获得对自己真正有用的那部分信息,对信息的使用效率反而降低了,而通常解决这个问题最常规的办法是推荐系统。

推荐系统能有效帮助用户快速发现感兴趣和高质量的信息,提升用户体验,增加用户使用产品时间,并有效减少用户浏览到重复或者厌恶的信息带来的不利影响,通常推荐系统越精准,用户体验就越好,用户停留时间也会越长,也越容易留住用户。

今日头条的个性化推荐算法-马海祥博客

今日头条在北京国家会议中心举办了“算数·年度数据发布会”,数据发布会的主题名为“算数”,实际上指的是“算法”与“数据”,我也参加了这场发布会,有些收获不敢私藏与大家分享!

众所周知,今日头条是个个性化的新闻推荐引擎,在今日头条CEO张一鸣看来,算法是《今日头条》这款兴趣推荐搜索引擎应用的核心,这也是与传统媒体最本质的区别,今日头条之所以能够非常懂用户,精准推荐出用户所喜好的新闻,完全得益于算法,而正是精准推荐,使得今日头条在短短两年多的时间内拥有了2.2亿用户,每天有超过2000万用户在今日头条上阅读自己感兴趣的文章。

那么今日头条是怎么做到为每一个用户按兴趣精准推荐新闻的呢?在发布会上,今日头条的技术副总裁杨震原给我们揭秘了今日头条的个性化推荐核心“算法”。

1、今日头条的个性化推荐算法原理

如下图,有3篇文章,让3个用户投票[注:这3个用户是一类人,有相同属性(喜好和偏好)],那第4个用户应该被系统推荐的文章是那篇呢?第4个用户与前3个用户都是一类人,答案显而易见是第一篇文章。

今日头条的个性化推荐算法-马海祥博客

没错,今日头条的个性化推荐算法原理就是基于投票的方法,其核心理念就是投票,每个用户一票,喜欢哪一篇文章就把票投给这篇文章,经过统计,最后得到结果很可能是在这个人群下最好的文章,并把这篇文章推荐给同人群用户过程就是个性化推荐,实际上个性化推荐并不是机器给用户推荐,而是用户之间在互相推荐,看起来似乎很简单,但实际上这需要基于海量的用户行为数据挖掘与分析。

2、今日头条是如何来划分人群和文章

搞技术的朋友都知道,内容推荐必须基于受众人群,只有在确定受众人群之后才能确定推荐内容,有的放矢才叫精准推荐。

上面那个例子只是很小的人群,但是现实生活中不会有这样小的人群,而且太小的人群通过推荐投票的方式也很难推荐出很精细的内容,只能推荐出一些热门内容,那今日头条是如何来划分人群?

今日头条的个性化推荐算法-马海祥博客

我们假定上图这个人群有8万人,只有两类:一类叫喜欢科技的人群;一类喜欢娱乐的人群,我们先分成两类,每类有4万人,我们又找到另一个维度地域:上海和北京,喜欢科技的人有上海和北京的,喜欢娱乐的也有北京和上海的,我们把8万人群分成四组,每组两万,我们再找年龄,30岁以上和以下,我们分成8个人群,每个人群1万人,第1个是喜好科技,位置在北京,年龄30岁以上,这有1万人,我们再以下面的喜欢娱乐,地点上海,人群1万。

根据人群不同维度,我们可以细分到一个合理的力度。特别需要注意的是:在细分的领域里面投票数既不要太多,但也不要太少,因为太多没有个性化,仅是一个大众关心的话题而已,而投票数太少又没有统计意义,支持度就低了。

今日头条的个性化推荐算法-马海祥博客

人群特征可以是阅读姓名,年龄,地域,职业等等,同理,文章也是类似的,文章有提到哪些名人,文章发布的时间,文章所属的地区等等,也都有很多特性,这些都是可以去组合起来。

3、今日头条是怎样判断一个人属于怎样的人群

判断一个用户属于怎样的人群相对简单,比如地域,用户的手机在什么区域,就可以认为用户是什么地域的;比如说用户兴趣,可以根据用户的阅读习惯去判断,用户会经常去看科技的文章,那就可以判断用户属于科技的人群;再比如说用户的好友关系,用户在今日头条上面注册了,用户的好友都是娱乐圈的人,则该用户很有可能也是娱乐圈的人。

今日头条的个性化推荐算法-马海祥博客

所以通过用户在今日头条上行为,以及用户客观的地理位置信息,就能判断用户到底属于一个什么样的人群。

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

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

今日头条的个性化推荐算法-马海祥博客

今日头条的个性化推荐算法-马海祥博客

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

总的来说,个性化推荐技术本身并不神秘,归根到底推荐算法关键是还在于对海量用户行为的数据分析与挖掘,也许各家算法略有不同,但最终目的都是殊途同归,为实现最精准的内容推荐而努力中(对于排序的算法,大家可查看一下马海祥博客《九大排序算法的实现方法及算法分析》的相关介绍)。

5、关于推荐算法的三大类

推荐算法大致可以分为三类:基于内容的推荐算法、协同过滤推荐算法和基于知识的推荐算法。

(1)、基于内容的推荐算法

基于内容的推荐算法的原理是用户喜欢和自己关注过的Item在内容上类似的Item,比如你看了哈利波特I,基于内容的推荐算法发现哈利波特II-VI,与你以前观看的在内容上面(共有很多关键词)有很大关联性,就把后者推荐给你,这种方法可以避免Item的冷启动问题(冷启动:如果一个Item从没有被关注过,其他推荐算法则很少会去推荐,但是基于内容的推荐算法可以分析Item之间的关系,实现推荐)。

弊端在于推荐的Item可能会重复,典型的就是新闻推荐,如果你看了一则关于MH370的新闻,很可能推荐的新闻和你浏览过的,内容一致;另外一个弊端则是对于一些多媒体的推荐(比如音乐、电影、图片等)由于很难提内容特征,则很难进行推荐,一种解决方式则是人工给这些Item打标签。

(2)、协同过滤算法

协同过滤算法的原理是用户喜欢那些具有相似兴趣的用户喜欢过的商品,比如你的朋友喜欢电影哈利波特I,那么就会推荐给你,这是最简单的基于用户的协同过滤算法(user-based collaboratIve filtering),还有一种是基于Item的协同过滤算法(item-based collaborative filtering),这两种方法都是将用户的所有数据读入到内存中进行运算的,因此成为Memory-based Collaborative Filtering,另一种则是Model-based collaborative filtering,包括Aspect Model,pLSA,LDA,聚类,SVD,Matrix Factorization等,这种方法训练过程比较长,但是训练完成后,推荐过程比较快。

(3)、基于知识的推荐算法

最后一种方法是基于知识的推荐算法,也有人将这种方法归为基于内容的推荐,这种方法比较典型的是构建领域本体,或者是建立一定的规则,进行推荐。

混合推荐算法,则会融合以上方法,以加权或者串联、并联等方式尽心融合。

当然,推荐系统还包括很多方法,其实机器学习或者数据挖掘里面的方法,很多都可以应用在推荐系统中,比如说LR、GBDT、RF(这三种方法在一些电商推荐里面经常用到),社交网络里面的图结构等,都可以说是推荐方法。

马海祥博客点评:

个性化推荐的主要思想八个字概括之:物以类聚、人以群分。主要的方法及变种应该有很多,像协同过滤、基于内容的推荐、基于标签的推荐等等,以后推荐系统一个趋势就是基于社交的,利用用户反馈进行实时推荐,多种推荐算法进行混合,从而达到一个较好的推荐结果。

本文发布于马海祥博客文章,如想转载,请注明原文网址摘自于https://www.mahaixiang.cn/internet/1418.html,注明出处;否则,禁止转载;谢谢配合!

相关标签搜索: 今日头条  

上一篇:HTTP与HTTPS的区别
下一篇:HTTP、SSL/TLS和HTTPS协议的区别与联系

您可能还会对以下这些文章感兴趣!

  • 完整的汉字Unicode编码表

    什么是Unicode编码呢?在创造Unicode之前针对各种语言有几百种编码系统,而且这些编码系统也相互冲突,给不同语言系统的电脑进行交流带来了麻烦。因为两种相同的字符在不同的编码系统可能有完全不同的意思,这些不同甚至会对电脑带来危害。于是Unicode出现了,Unicode给每个字符提供了一个唯一的数字,不论是什么平台,不论是什么程序,不论是什么语言。它真正实现了全球电脑系统的United,作为一个标准,它已经成为全球软件技术最重要的发展趋势……【查看全文

    阅读:11关键词: 编码表   日期:2019-06-25
  • 基于贝叶斯推断应用原理的过滤垃圾邮件研究

    随着电子邮件的应用与普及,垃圾邮件的泛滥也越来越多地受到人们的关注。而目前正确识别垃圾邮件的技术难度非常大。传统的垃圾邮件过滤方法,主要有关键词法和校验码法等。前者的过滤依据是特定的词语;后者则是计算邮件文本的校验码,再与已知的垃圾邮件进行对比。它们……【查看全文

    阅读:940关键词: 贝叶斯推断   贝叶斯应用   贝叶斯原理   过滤垃圾邮件   垃圾邮件   日期:2013-11-01
  • HTTP与HTTPS的区别

    超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡密码等……【查看全文

    阅读:59598关键词: http   https   日期:2015-07-21
  • 今日头条的个性化推荐算法

    互联网给用户带来了大量的信息,满足了用户在信息时代对信息的需求,但也使得用户在面对大量信息时无法从中获得对自己真正有用的那部分信息,对信息的使用效率反而降低了,而通常解决这个问题最常规的办法是推荐系统。推荐系统能有效帮助用户快速发现感兴趣和高质量的信……【查看全文

    阅读:13560关键词: 今日头条   日期:2016-01-20
  • HTTP服务的七层架构技术解析及运用

    一般来说,计算机领域的体系结构普遍采用了分层的方式,从最底层的硬件往高层依次有:操作系统->驱动程序->运行库->系统程序->应用程序等等。从网络分层模型OSI来讲,由上至下为:应用层->表示层->会话层->传输层->网络层->数据链路层->物理层。当然实际应用的TCP/IP协……【查看全文

    阅读:5507关键词: 七层架构解析   七层架构运用   七层架构技术   http服务   日期:2014-09-11
  • 盘点2010年代这10年的重大网络安全事件

    二十一世纪的第2个十年即将过去,在过去十年里有很多的重大网络安全事件发生,我们见证了过去十年,大量的数据泄露、黑客攻击、民族国家之间的间谍行动、几乎不间断的金钱利益网络犯罪以及让系统崩溃的恶意软件,这些安全事件不绝于耳。以史为镜可以知兴替,我们不必沉溺于过去重大的数据泄露事件或者黑客行动,而是更应该专注他们的技术,从这些技术中去预见未来网络安全趋势,让专家对网络安全领域范式转变有所了解。下面我就按时间……【查看全文

    阅读:1203关键词: 2010年代   网络安全   网络事件   日期:2019-12-21
  • 详解内存数据库中的索引技术

    传统的数据库管理系统把所有数据都放在磁盘上进行管理,所以称作磁盘数据库(DRDB:Disk-Resident Database),磁盘数据库需要频繁地访问磁盘来进行数据的操作,磁盘的读写速度远远小于CPU处理数据的速度,所以磁盘数据库的瓶颈出现在磁盘读写上,基于此,内存数据库的概……【查看全文

    阅读:3705关键词: 内存数据库   索引技术   数据库   日期:2015-01-09
  • 云服务器的常规安全设置及基本安全策略

    我们要保障云服务器数据安全,首先应树立正确的安全意识,从监控、入侵防御、数据备份等多方面做好安全措施,与服务商共同承担数据安全保护责任。只有由内而外进行双重加固,才能获得良好的安全性,最大限度地确保业务安全。最近,换了新的云服务器,很多安全设置就要重新做了,对于一些基本设置及基本安全策略,在网上搜了一下,整理大概有以下这些要点,如果有不足的设置,希望大家帮忙提出哈!……【查看全文

    阅读:9关键词: 云服务器   安全设置   安全策略   服务器   日期:2021-07-19
  • SSL证书服务的DV SSL、OV SSL和EV SSL三种类型有什么区别?

    SSL 证书就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。SSL证书服务帮助您以最小的成本将服务从HTTP转换成HTTPS,实现网站或移动应用的身份验证和数据加密传输。简单来说,SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据……【查看全文

    阅读:21关键词: SSL证书   日期:2021-07-15
  • 计算机的开机启动原理

    计算机从打开电源到开始操作,整个启动可以说是一个非常复杂的过程。总体来说,计算机的整个启动过程分成四个阶段:第一阶段:BIOS;第二阶段:主引导记录;第三阶段:硬盘启动;第四阶段:操作系统;直至执行/bin/login程序,跳出登录界面,等待用户输入用户名和密码。……【查看全文

    阅读:3353关键词: 计算机   计算机启动   计算机原理   开机启动原理   日期:2014-01-16
↓ 点击查看更多 ↓

互联网更多>>

SEO优化 更多>>

深度解析网站转化率的优化方法技巧 从搜索引擎的角度来看文章内容原创的问题