前一篇介绍了推荐系统冷启动的问题,既然已经cold start了,这一节就大致讲下新闻推荐系统的业务架构,也就是新闻推荐系统需要有哪些模块组成,每一个模块的职责是什么。
首先看下整个新闻推荐系统大图,今天这篇文章就是为大家讲解这张图的具体含义和相互关系,今天主要是介绍大概最为开篇,接下来会有一系列文章介绍图中每一部分的策略。
(画图不容易版权相关,转载请注明出处~)
图中红色相关的形状是两个输入,分别是用户和内容,分别代表两个路径,表示的是当推荐系统进入一个用户或一个内容的行为轨迹。本文把整个推荐系统按照业务路径分成3个部分,分别是用户数据轨迹、内容数据轨迹以及推荐列表生成,接下来分别介绍下每个环节的作用。
用户轨迹方面,每次进来一名用户首先要判断这名用户是否是新用户,一旦发现是新用户将启动冷启动策略,这个策略在之前的文章已经介绍过。如果用户不涉及到冷启动问题,则进入用户画像的构建流程。
用户画像的构建分为两种,分别是用户注册标签特征(用户注册的时候获取的特征),还有一种是平台行为特征(用户过去在平台的一些操作日志)
用户注册标签特征
这部分特征是原始生成的,不需要每次用户登录都重新计算并修改。
账号注册信息:注册的时候可以让用户填写年龄、性别等内容、手机号等内容,同时也可以通过LBS信息了解用户的活动区域。针对这些信息可以给用户兴趣做一个初步判断,比如年轻的都市女性,往往有较高的消费能力,在推荐策略上可以推荐高规格的一些内容
身份证信息:现在很多系统都需要实名认证,身份证号其实可以带来很多有用的信息,比如前两位是省级代码,34位是市级代码,7-14位是生日代码,第17位是性别代码(奇数代表男性、偶数代表女性)
社交账号登录:如果系统可以设计成支持淘宝、微信等账号登录,也可以通过这些系统拿到部分用户画像信息
预采集:现在很多APP,当用户初次进入都有一个兴趣爱好勾选的按钮,这个就是为了解决冷启动的一个手段,在推荐之前先通过用户标记获取用户信息
数据交换:注册的时候其实可以拿到用户的手机号码,现在有很多卖数据的公司都提供用户画像数据的交易,只要提供手机号就能获取特别全的用户数据(这个貌似是个黑产业)
平台行为特征
需要每次用户登录都记录的特征
用户历史的浏览记录,比如用户关注了哪些类目的新闻,比如体育新闻或者娱乐新闻
用户在平台上的一些反馈,评论、点赞、收藏都信息
用户的LBS变化信息,比如用户经常往返于北京和杭州,这些信息需要实时抓取
获取了以上用户的特征信息,做汇总就可以入“用户总库”,这个用户行为数据库将对接下来的模型训练起到重要作用。
内容轨迹指的是每次平台新增新闻内容时的操作。新闻内容不同于其它推荐场景,对于内容的安全审查是非常重要的。如果出现不健康内容,对于平台会有很大的伤害,具体策略日后详细讲解。执行完内容审查,要开始对内容进行打标,标签分两种,分别是内容自身特征以及平台行为特征。
注:新闻推荐的更多是倾向于文章标题推荐,而安全审查更多地针对文章内容
内容自身特征
内容自身的属性,不需要频繁更新
内容所属类别,可以分多个级别标记,比如可以标为体育,体育下一级还可以标为篮球,这个标注是依靠算法实现。比如关键词提取或者主题模型
内容主体识别,标记出文章包含哪些主体,比如下面这句话“费德勒是个出色的网球运动员”。可以找出“网球”、“运动员”、“费德勒”这3个主体
文章的发布时间、发布者等信息,以及是否有地理相关性的特征
平台行为特征
平台行为特征指的是新闻内容在平台上历史被点击、点赞、收藏、转发等信息。
当收集了内容以及用户特征后,就组成了所有平台上的内容总库以及用户总库,可以将这两个组件合并构建出模型训练集。训练集汇总了所有平台上的某某文章被某某阅读点击过的全部行为日志,这样就可以通过算法训练一个模型用来新闻推荐。
算法有很多形式可以选择,这个在未来的章节详细介绍
有了内容推荐模型后,要进行的操作就比较简单了,为用户预测出他感兴趣的模型。有的同学会说,既然有了模型那么对每个用户在全网所有文章的兴趣点预测一次,取topN不就可以了?通常推荐系统不会这么做,因为每个用户对每个文章都算一下兴趣度计算量非常大,而且很难在用户进入新闻终端时快速拿到预测结果。
通常的做法是先通过召回策略筛选出部分推荐候选集,再通过内容推荐模型对候选集进行预测并排序,这样就可以大大减少计算量。
召回策略候选集可以通过用户画像标签从内容总库中快速查询获得。
通过内容推荐模型对召回候选集数据进行预测,拿到用户感兴趣的文章排序列表,就可以推送给用户。以上是本文的介绍,略过了中间的很多策略,待后续文章补充。
参考文献:http://lusongsong.com/info/post/9829.html