一. 推薦系統(tǒng)主要分3個部分:
1. offline部分-離線:
采用的技術(shù)主要有MapReduce,spark,hive,mahout等.
離線挖掘出來的有效數(shù)據(jù),為了能夠快速的提供服務(wù),一般通過nosql非關(guān)系數(shù)據(jù)庫,有時也叫緩存數(shù)據(jù)庫作為中間介質(zhì)進行交換,為前端提供服務(wù).
2. nearline部分-近線:
采用的技術(shù)主要有流行比較的是流式計算框架storm(毫秒級別),spark streaming(秒級別)
3. online部分-在線:
采用的技術(shù)主要有:webUI,webserver,nosql
二. 推薦系統(tǒng)簡單的架構(gòu)流程圖:

image.png
1. UI界面主要用來展示三塊內(nèi)容:
(1) 通過一定方式展示推薦物品(物品標題,縮略圖,簡介等).
(2) 推薦的理由.
(3) 數(shù)據(jù)反饋的個性化推薦.
2. 用戶行為日志存儲的位置:
(1) 數(shù)據(jù)庫或者緩存;
(2) hdfs 分布式文件存儲系統(tǒng).
三. 推薦系統(tǒng)抽象的推薦方式:
推薦系統(tǒng)是基于物品信息和用戶信息以及用戶行為數(shù)據(jù)(評分,收藏,購買等行為)進行推薦物品的.
常用的算法有如下三種:
- 基于人口統(tǒng)計的推薦,比如:根據(jù)用戶的相似度進行推薦,性別,年齡等重要特征;
- 基于內(nèi)容的推薦,比如物品元數(shù)據(jù)等,買鍵盤推薦鼠標之類的;
- 基于協(xié)同過濾的推薦,比如豆瓣網(wǎng),相似的人還都看了哪些數(shù)據(jù),然后向你推薦.
推薦的方式方法有很多,所以基于不同的推薦模型算法就有很多種對應(yīng)的推薦引擎,多種推薦引擎會匯總得出一個初始的推薦結(jié)果,這些結(jié)果經(jīng)過過濾和排名,最后展現(xiàn)給用戶.
四. 推薦系統(tǒng)完整的生態(tài)架構(gòu)流程圖:

生態(tài)架構(gòu)圖