感谢博文作者 Kevin_Duan
原文链接:https://blog.csdn.net/chunyun0716/article/details/83152037
推荐系统整体架构
先说点题外话,最近在看的书中讲到了怎么进行自学的方法,分了十个层级。第一个便是要了解所学内容的概况,也就是轮廓,大的东西是什么,方向是什么。所以,专栏的主要内容就是推荐系统,那么首先来看看推荐系统的整体架构是什么。
先来一张图:
推荐系统的核心组成部分
这里把推荐系统分为以下重要的组成部分:
- 离线
- 核心节点
- 服务
- UI
下面将大致介绍每一部分的重点内容,具体的、详细的内容便是本专栏围绕的主题,将在后续章节一一为大家进行说明。
离线
离线部分主要包括数据采集、ETL、特征工程和离线算法模型的训练。
数据采集就不用多说了,它是推荐中的物料,有了数据,推荐系统才能发挥作用,才能训练各种各样的模型进行推荐,进而将算法的作用发挥到极致。所以,数据收集是比较重要的,要在这个方面多多思考。
ETL就是常说的数据清洗。因为原始的数据并不是能满足你的要求,而是非常杂乱的,那么需要对数据做进一步的处理,方便后续的使用,这个过程往往伴随这数据仓库的产生。
特征工程。原始数据太多了,可能需要挑选若干个进行重点分析。
算法模型。根据现有的数据,训练离线模型。
核心节点
核心节点包括推荐结果存储,推荐引擎配置,AB test 服务。这部分内容是推荐的关键,后续章节详细给出。
服务
服务这块包含推荐服务、实时服务、排序服务和业务服务。这部分是推荐系统的重要工程,它涉及大数据、排序逻辑、业务逻辑和推荐逻辑,是算法和工程结合的产物。
UI
有人可能会说,推荐系统怎么会包含UI,没错,这个还非常重要。推荐系统的推荐效果怎么样,全靠它和真实的用户进行交互,全靠它的数据上报。它上报的曝光和点击数据是对推荐系统很重要的反馈,推荐系统根据实际用户的反馈会做进一步的调整和优化。
总结
本节给出了推荐系统的整体框架,准确地说是一个逻辑架构图。通过它,可以了解推荐系统包含哪些子系统,子系统之间有些什么交互。当然,详细的交互会在后续章节一一给出,请大家持续关注。
</div>
<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-258a4616f7.css" rel="stylesheet">
</div>
</article>