本文從互聯(lián)網(wǎng)收集并整理了推薦系統(tǒng)的架構(gòu)包个,其中包括一些大公司的推薦系統(tǒng)框架(數(shù)據(jù)流存儲(chǔ)刷允、計(jì)算、模型應(yīng)用)碧囊,可以參考這些資料树灶,取長(zhǎng)補(bǔ)短,最后根據(jù)自己的業(yè)務(wù)需求糯而,技術(shù)選型來(lái)設(shè)計(jì)相應(yīng)的框架天通。后續(xù)持續(xù)更新并收集。熄驼。像寒。
? ? ? ?界面UI那一塊包含3塊東西:1) 通過(guò)一定方式展示推薦物品(物品標(biāo)題、縮略圖瓜贾、簡(jiǎn)介等)诺祸;2) 給的推薦理由;3) 數(shù)據(jù)反饋改進(jìn)個(gè)性化推薦阐虚;
關(guān)于用戶(hù)數(shù)據(jù)的存放地方:1)數(shù)據(jù)庫(kù)/緩存用來(lái)實(shí)時(shí)取數(shù)據(jù)序臂;2) hdfs文件上面;
? ? ? 抽象出來(lái)的三種推薦方式:
? 用戶(hù)行為數(shù)據(jù)--->推薦引擎(第一層過(guò)濾)--->初始推薦結(jié)果--->過(guò)濾--->排名--->推薦解釋--->推薦結(jié)果实束。
? ? ? ?圖3中奥秆,推薦引擎的構(gòu)建來(lái)源于不同的數(shù)據(jù)源(也就是用戶(hù)的特征有很多種類(lèi),例如統(tǒng)計(jì)的咸灿、行為的构订、主題的)+不同的推薦模型算法,推薦引擎的架構(gòu)可以試多樣化的(實(shí)時(shí)推薦的+離線(xiàn)推薦的)避矢,然后融合推薦結(jié)果(人工規(guī)則+模型結(jié)果)悼瘾,融合方式多樣的,有線(xiàn)性加權(quán)的或者切換式的等
? ? ? ?圖4中审胸,A模塊負(fù)責(zé)用戶(hù)各類(lèi)型特征的收集亥宿,B模塊的相關(guān)表是根據(jù)圖3中的推薦引擎來(lái)生成的,B模塊的輸出推薦結(jié)果用來(lái)C模塊的輸入砂沛,中間經(jīng)過(guò)過(guò)濾模塊(用戶(hù)已經(jīng)產(chǎn)生行為的物品烫扼,非候選物品,業(yè)務(wù)方提供的物品黑名單等)碍庵,排名模塊也根據(jù)預(yù)設(shè)定的推薦目標(biāo)來(lái)制定映企,最后推薦解釋的生成(這是可能是最容易忽視悟狱,但很關(guān)鍵的一環(huán),微信的好友推薦游戲堰氓,這一解釋已經(jīng)勝過(guò)后臺(tái)的算法作用了)
備注:上圖來(lái)至easyhadoop舉辦的技術(shù)沙龍中優(yōu)酷數(shù)據(jù)挖掘工程師的演講挤渐,有關(guān)詳細(xì)信息請(qǐng)移步 http://virtual.51cto.com/exp/Hadoop_20130330/index.html#top。作者在演講中講的一些"干貨"跟推薦議題是很有價(jià)值的双絮,下圖簡(jiǎn)單描述浴麻。
模型前數(shù)據(jù)準(zhǔn)備(理解數(shù)據(jù)源,用戶(hù)囤攀,物品)
總結(jié):淘寶的推薦系統(tǒng)白胀,描述了推薦引擎搭建的整體架構(gòu),包括離線(xiàn)的分布式計(jì)算和存儲(chǔ)抚岗、監(jiān)控或杠、數(shù)據(jù)統(tǒng)計(jì)和分析、實(shí)驗(yàn)平臺(tái)等宣蔚。給我們搭建推薦引擎提供了很好的建議向抢。整體流程大致這樣。通過(guò)后臺(tái)的分布式計(jì)算胚委,將算法產(chǎn)生的算法結(jié)果數(shù)據(jù)存儲(chǔ)進(jìn)入一種介質(zhì)中挟鸠,首推hbase。然后亩冬,通過(guò)一種叫做云梯的機(jī)制將算法結(jié)果推入中間層介質(zhì)中艘希,供推薦系統(tǒng)在線(xiàn)部分調(diào)用。在線(xiàn)部分提供引擎和實(shí)驗(yàn)分流硅急,將用戶(hù)的行為數(shù)據(jù)存儲(chǔ)進(jìn)入hadoop中覆享,數(shù)據(jù)統(tǒng)計(jì)分析平臺(tái)由hive來(lái)搭建,主要用來(lái)分析和統(tǒng)計(jì)hadoop中的用戶(hù)行為log营袜。這張圖不僅講了撒顿,推薦系統(tǒng)的架構(gòu)流程,也講了跟這個(gè)平臺(tái)有關(guān)系的人荚板,是怎么介入的凤壁,我覺(jué)得提供的信息可很好的參考。