推薦系統架構設計 1.0
實時資料從kafka獲取到後直接進入spark streaming(這裡也可以用其他實時計算技術,如storm,flink)進行處理,計算出實時特徵存入redis,供線上模型**服務使用。
離線部分資料主要分為兩部分,一部分是mysql定時拉取過去,另一部分是從flume實時拉資料到hive資料倉儲。mysql主要儲存使用者相關變動頻率小的屬性特徵,flume採集計算的主要是帖子(feed)相關變化頻率大的特徵。
推薦系統後台設計 1.0
推薦主要方法分為召回和排序過程,召回過程是粗步選取資料,排序過程是對篩選後的資料精確排序,結果返回給使用者。
推薦後台架構圖
過程如下:
使用者請求介面,傳入uid作為引數。
先看使用者uid對應在快取中有沒有推薦結果,如果有則直接獲取返回,如果沒有則重新獲取。
根據使用者uid,去不同召回源獲取對應候選帖子。
選取的帖子需要進行去重,過濾狀態異常帖子。
對不同召回源獲取的帖子先合併,然後隨機取1000條。
排序環節,對1000條帖子進行打分排序,取top 200條。
根據使用者歷史推薦資訊,對獲取到的200條資料進行過濾,保證推薦結果不重複。
對過濾結果取25條返回使用者,剩下帖子放在快取,等待下次請求使用。
備註: 上面的帖子取的條數都是根據實際經驗選擇,具體可以調整。
(完)
feed流和瀑布流 積累 feed流
了解feed流 feed v.餵養 進食 為.提供.n.飼養 餵食 正如現在各個平台為使用者提供的精神層面的資訊內容,這些內容組合起來的格式,便是feed。平台藉此傳遞給使用者,乙個朋友圈動態,一條微博,即為feed。feed流是持續更新呈現給使用者的資訊流。feed流模式 推模式 例如乙個大v發了...
feed流和瀑布流 什麼叫feed流?
feed流是乙個資訊出口,想要與他人或資訊建立連線,只需要重新整理這乙個動作,即可獲得大量所需,並且不斷在更新,可謂殺時間好手,令人沉溺。想要設計好feed流頁面,對feed流的概念,模式進行了解是十分必要的。什麼是feed流呢?feed,源自早期的rss。2006年 facebook重新定義了fe...
什麼是feed流?
總結一下 feed是將使用者主動訂閱的若干訊息源組合在一起形成內容聚合器,幫助使用者持續地獲取最新的訂閱源內容。嚴格按照上述定義來說,我們通常說的搜尋結果 排序列表都不能算作feed流。feed流的展現形式有很多種,主要的有timeline以及rank。timeline 是最典型的feed流展示方式...