这篇文章搞头条号、运营知乎等流量的兄弟们可以看看,可以让你了解到你的文章是怎么被推荐的、通过很好的配合头条、知乎等的技术架构、机制可以增加你文章的曝光。
今日头条以前进入各大app的流量主要被几部分刮分,一个是app内搜索、一个是固定频道、一个是用户在闲逛。当前各大app、无论是电商、知乎、新闻等流量一部分还是app内部搜索,另外大头就是各大频道、内容、问答板块都被个性化推荐把持。
今日头条是怎么实现个性化推荐的呢?一个是用户画像,一个是文章分类,分类是由多种纬度组成,通过用户在app内搜索、点击视频、文章、浏览、收藏等app内一些列的操作会不断对用户画像进行完善,并且生成用户对文章分类的喜好,通过喜好给你推荐相似的视频、文章,最终让用户刷不完、离不开。
最开始冷启动今日头条会推荐给你些八卦、娱乐新闻、热门新闻、其他类型文章等多个池子,因为最开始是没有你的用户画像的,因为你在app内没有行为,通过微博账号登录抓取微博信息进行分析生成画像这种方式暂时不谈。
个性化推荐系统主体三部分:文章分类、用户画像、用户喜好均是通过用户在app行为,通过数据分析师对数据分析,构建的策略算法,算法工程师构建的模型、以及推荐引擎、特征工程等一系列的算法、工程最终构成一个内容个性化推荐系统。
这篇主要讲下文章分类主要包含哪些,怎样构建文章分类、分类后怎么使用三个问题。
当下内容推荐引擎,文章由标签、兴趣、主题、其中标签规模最大,标签又分为粗标签数据规模亿级别、精标签数据规模千万级别,兴趣数据规模粗几十万级、精十万级、主题几百级。多种类型的分类综合构成文章数据来源。来供feed流使用。
文章分类构建主要由hadoop、hive、spark、strom等工具实现,标签的构建主要通过对文章进行分词、通过TF-IDF等算法找出文章可以由哪些标签来抽象表达。标签比如:锤子、坚果、老罗,乔布斯、苹果、iPhoneX。标签下文章几百万、几十万、几千不等。兴趣的构建与标签类似但力度更大、更粗些,兴趣比如:星座、二次元、抖音等等。
主题分类由LDA模型通过spark框架计算实现,主题比如:体育新闻、it新闻、娱乐新闻等构成。
个性化推荐本质就做一件事:排序。数据计算主要通过hive、spark实现离线的数据排序,排序特征包含曝光量、点击量、点击率、作者权重、文章质量分、等几十个特征综合进行排序,排序结果作为备选集合。光有离线计算是不够的、当下推荐系统更加强调实时性,strom准实时框架会根据实时线上上报特征对文章的排序进行实时调整、比如某大V作者的文章权重很高,排名好获得很多曝光机会,但是曝光机会并转化成点击量、这时strom计算会将文章曝光降低,已给其他文章更多的曝光机会。
搜索引擎的曝光更加集中、最大的曝光基本集中在首页前三篇,而推荐引擎会拉取多个分类类别、标签下选择用户多个喜好标签下文章、多个兴趣下用户喜好文章、多个主题下用户喜好文章。调取特征、再通过模型实时预估每篇文章点击量,通过点击量预估模型预估文章被当前用户点的几率。
如果文章在热门的标签下,偏好标签的用户会多,文章排到热门标签前几,那必定会带来特别大的曝光量、但热门标签竞争激烈。冷门标签偏好人少,但是冷门标签下文章会少、竞争少,维护好冷门标签,在固定人群下也会取得持续不错的曝光。
后边文章会详细写下怎样构建用户画像、构建热门分类、通用分类、用户偏好分类、突发新闻分类召回集、搭建特征工程、构建点击量预估模型过程,以及推荐引擎架构、设计、实现。