【IT168 评论】互联网给用户带来了大量的信息,满足了用户在信息时代对信息的需求,也使得用户在面对大量信息时无法从中获得对自己真正有用的那部分信息,对信息的使用效率反而降低了,而通常解决这个问题最常规的办法是推荐系统,推荐系统能有效帮助用户快速发现感兴趣和高质量的信息,提升用户体验,增加用户使用产品时间,并有效减少用户浏览到重复或者厌恶的信息带来的不利影响。通常推荐系统越精准,用户体验就越好,用户停留时间也会越长,也越容易留住用户。
1月20日,新生代移动互联网企业今日头条在北京国家会议中心举办了“算数·年度数据发布会”,数据发布会的主题名为“算数”,实际上指的是“算法”与“数据”。
众所周知,今日头条是个个性化的新闻推荐引擎。在今日头条CEO张一鸣看来,算法是《今日头条》这款兴趣推荐搜索引擎应用的核心,这也是与传统媒体最本质的区别。今日头条之所以能够非常懂用户,精准推荐出用户所喜好的新闻,完全得益于算法。而正是精准推荐,使得今日头条在短短两年多的时间内拥有了2.2亿用户,每天有超过2000万用户在今日头条上阅读自己感兴趣的文章。
那么今日头条是怎么做到为每一个用户按兴趣精准推荐新闻的呢?在发布会上,今日头条的技术副总裁杨震原给我们揭秘了今日头条的个性化推荐核心“算法”。
今日头条的个性化推荐算法原理
如上图,有3篇文章,让3个用户投票(注:这3个用户是一类人,有相同属性(喜好和偏好)),那第4个用户应该被系统推荐的文章是那篇呢?第4个用户与前3个用户都是一类人,答案显而易见是第一篇文章。
没错,今日头条的个性化推荐算法原理就是基于投票的方法,其核心理念就是投票,每个用户一票,喜欢哪一篇文章就把票投给这篇文章,经过统计,最后得到结果很可能是在这个人群下最好的文章,并把这篇文章推荐给同人群用户过程就是个性化推荐,实际上个性化推荐并不是机器给用户推荐,而是用户之间在互相推荐,看起来似乎很简单,但实际上这需要基于海量的用户行为数据挖掘与分析。
今日头条是如何来划分人群和文章
搞技术的朋友都知道,内容推荐必须基于受众人群,只有在确定受众人群之后才能确定推荐内容,有的放矢才叫精准推荐。
上面那个例子只是很小的人群,但是现实生活中不会有这样小的人群,而且太小的人群通过推荐投票的方式也很难推荐出很精细的内容,只能推荐出一些热门内容,那今日头条是如何来划分人群?
我们假定上图这个人群有8万人,只有两类:一类叫喜欢科技的人群,一类喜欢娱乐的人群,我们先分成两类,每类有4万人,我们又找到另一个维度地域:上海和北京,喜欢科技的人有上海和北京的,喜欢娱乐的也有北京和上海的,我们把8万人群分成四组,每组两万,我们再找年龄,30岁以上和以下,我们分成8个人群,每个人群1万人,第1个是喜好科技,位置在北京,年龄30岁以上,这有1万人,我们再以下面的喜欢娱乐,地点上海,人群1万。
根据人群不同维度,我们可以细分到一个合理的力度。特别需要注意的是:在细分的领域里面投票数既不要太多,但也不要太少,因为太多没有个性化,仅是一个大众关心的话题而已,而投票数太少又没有统计意义,支持度就低了。
人群特征可以是阅读姓名,年龄,地域,职业等等。同理,文章也是类似的,文章有提到哪些名人,文章发布的时间,文章所属的地区等等,也都有很多特性,这些都是可以去组合起来。
今日头条是怎样判断一个人属于怎样的人群
判断一个人属于怎样的人群相对简单。比如地域,用户的手机在什么区域,就可以认为用户是什么地域的;比如说用户兴趣,可以根据用户的阅读习惯去判断,用户会经常去看科技的文章,那就可以判断用户属于科技的人群;再比如说用户的好友关系,用户在今日头条上面注册了,用户的好友都是娱乐圈的人,则该用户很有可能也是娱乐圈的人;所以通过用户在今日头条上行为,以及用户客观的地理位置信息,就能判断用户到底属于一个什么样的人群。
今日头条的个性推荐算法公式
精准推荐最难的不是划分人群,也不是判断用户人群归属,更不是文章属性判断,一个人可以属于多个人群,也有多个文章候选,选那个推荐才是最难的。而今日头条的推荐内容是怎么算出来的呢?
通过上图的计算公式:W1*候选1的投票率+W2*候选2的投票率+W3候选3的投票率+……=最高分,最后能计算出一个得分,按得分的高低来排序,就可以得到推荐文章的一个侯选,这个过程实际上是一个比较简单的算法,而这在今日头条内部叫逻辑回归。
总的来说,个性化推荐技术本身并不神秘,归根到底推荐算法关键是还在于对海量用户行为的数据分析与挖掘,也许各家算法略有不同,但最终目的都是殊途同归,为实现最精准的内容推荐而努力中。
如果你看的还不过瘾,欲知更多(阿里、腾讯、网易、58同城、豆瓣等)知名站点推荐系统技术内容,请点击(牛逼站是怎样炼成的?-推荐系统篇)