1.推荐系统的技术架构下面我们来看看短视频社区平台的推荐系统架构是如何划分的。从下到上依次为日志信息层、模型策略层、数据计算层、数据结果层和用户交互层,如图2-5所示。▲图2-5推荐系统技术架构(1)日志信息层这一层主要分为两部分,一部分是静态数据,比如用户数据和内容数据,用户的年龄、性别、地区、稿件内容标题、时长,作者长期为固定数据,系统每天取其增量存入日志信息层;另一部分是行为数据,比如推荐请求日志,记录了哪些内容暴露给了哪些用户;推荐点击日志,用户点击了哪些内容;用户浏览时间的日志信息、用户的LBS位置信息等。(2)模型策略层该层主要决定采用何种模型和策略来分析解释日志信息层的静态数据和行为数据,例如是否在召回阶段召回比较热门的内容,或者根据对用户行为召回过滤;在排序阶段使用哪种机器学习模型进行精细排序和其他策略。(3)数据计算层该层以模型策略层为基础。设置召回排序策略和模型后,采用离线大规模计算和在线实时计算两种方式计算模型训练结果。离线计算是由于机器数量和性能的限制。大量数据需要离线计算。在线计算针对在线用户的实时反馈行为,系统快速响应,提升用户体验。(4)数据结果层该层的作用是存储不同数据应用系统中从数据计算层得到的相应计算结果。比如用户画像、内容特征可以存储在ElasticSearch(搜索数据库)中,因为这些数据只需要批量查询读取即可;而用户行为数据需要存储在Redis(内存应用)中,方便前端界面快速响应用户反馈。(5)用户交互层该层的交互逻辑分为两部分。第一部分是将每一层最终计算出的推荐结果呈现给用户,第二部分是记录用户对推荐结果的反馈行为,比如浏览行为(时长/路径)、点击行为(看什么内容)点击/完成率等),差评行为(不感兴趣/抱怨等不同程度的差评)。2.推荐系统的四大模块基于上面的描述,我们了解了推荐系统技术架构的总体框架,但是还是感觉太复杂太技术化。说到底,推荐系统要做的不就是从海量的内容库中挑选出几十个用户可能感兴趣的优质视频吗?我们将推荐系统抽象为一个信息过滤系统,分为评论、召回、排序、规则四个模块,逐层过滤内容,如图2-6所示。▲图2-6推荐系统技术架构的简化审核模块,筛选出符合短视频社区规则和价值观的视频,输出量约百万级;召回模块会根据用户行为和流行规则快速找到少量视频。对于一些高质量的内容,产出水平大致在10万左右;排序模块分为粗排序和细排序,使用更复杂的模型,加入更多的特征,输出量级在100个视频左右;规则模块也叫ReRanker(重新排序)模块,会在排序模块的结果基础上,加入人工干预、规则限制等,最后将结果呈现给用户,有几十种输出结果。本文节选自《短视频社区:产品、运营与商业化》(ISBN:978-7-111-70525-3),经出版社授权。
