1. 用戶行為日志
采集: 怎么采集? 客戶端和web服務(wù)之間加個(gè)代理?
日志由端來上報(bào)確定格式的數(shù)據(jù)來實(shí)現(xiàn)采集嚣伐。可以認(rèn)為有一個(gè)用于日志接收的Http接口,當(dāng)用戶行為發(fā)生時(shí)俺抽,端上報(bào)相應(yīng)的日志澡腾。
存儲(chǔ): 一堆原始日志存在文件系統(tǒng)沸伏,或者匯總成會(huì)話日志? 誰想用就拿去用糕珊,比如hadoop就扔到hdfs上,是這樣嗎?
用戶行為日志目前沒有會(huì)話的概念毅糟。
日志最終都會(huì)存儲(chǔ)在hdfs上红选。
日志的流向:端-->Log服務(wù)-->分布式消息隊(duì)列–>hdfs/storm-->下游。
分析: 收集后批量分析? 邊收集邊分析? 同一份內(nèi)容被利用多次?
分析的方式因算法姆另、模型喇肋、業(yè)務(wù)的不同而不同〖7可以是批量的(離線算法)蝶防,實(shí)時(shí)的(用戶模型)。 日志可以被多次處理右核。
2. 用戶模型慧脱、用戶畫像、用戶興趣模型是同義詞嗎? 就是用統(tǒng)一的結(jié)構(gòu)描述用戶的基本信息贺喝、行為菱鸥、興趣什么的...
是同義詞。是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)躏鱼,格式只要能滿足需求即可氮采。
3. ab test的設(shè)計(jì)不需要依賴其他層嗎?
abtest是一個(gè)功能性的描述,它設(shè)計(jì)的實(shí)時(shí)需要依賴行為日志的采集染苛、分析
4. ab test根據(jù)什么進(jìn)行比較? 點(diǎn)擊率?
主要通過點(diǎn)擊率來比較
5. 如何判斷本次推薦是準(zhǔn)確的鹊漠? 用戶進(jìn)行評(píng)分?
如果推薦內(nèi)容能夠讓用戶產(chǎn)生主動(dòng)行為:如點(diǎn)擊、購(gòu)買等茶行,則認(rèn)為是準(zhǔn)確的躯概,一般以點(diǎn)擊率、轉(zhuǎn)化率來評(píng)估
6. mr畔师、bolt中的就是算法實(shí)現(xiàn)嗎?
可以這么認(rèn)為娶靡。mr是大規(guī)模數(shù)據(jù)的統(tǒng)計(jì)分析方法, bolt只是整個(gè)算法的一個(gè)環(huán)節(jié)看锉。他們都是實(shí)現(xiàn)算法姿锭、模型的手段
7. 所謂訓(xùn)練用戶興趣模型指的是把用戶行為數(shù)據(jù)扔給算法不斷計(jì)算嗎? 然后根據(jù)計(jì)算結(jié)果重新生成商品列表?
構(gòu)建用戶模型本身可以看作是一個(gè)算法。 ?用戶模型的主要目的是用來準(zhǔn)確刻畫用戶的伯铣,包含社會(huì)屬性和興趣等呻此。 計(jì)算商品列表可以與用戶模型相關(guān)、也可以不相關(guān)(如cf就不需要用戶模型)
8. 比如像user cf這種算法是不是每次計(jì)算的時(shí)候要從日志里找?guī)讉€(gè)和我類似口味的用戶腔寡,然后把他們喜歡的東西找出來生成個(gè)列表?
是的焚鲜,在線cf的儲(chǔ)存、計(jì)算代價(jià)較高,一般是離線實(shí)現(xiàn)的恃泪≈P耍或者用聚類算法更好一點(diǎn)
9. 關(guān)于推薦系統(tǒng)的各種評(píng)測(cè)指標(biāo),準(zhǔn)確率贝乎、召回率情连、覆蓋率、流行度...我們要怎么評(píng)測(cè)
準(zhǔn)確率一般用點(diǎn)擊率或者轉(zhuǎn)化率來表示览效,即點(diǎn)擊量 / 曝光量
召回率的話在推薦系統(tǒng)中一般用的較少却舀。
覆蓋率可以做為推薦系統(tǒng)的一個(gè)優(yōu)化方向來做,就是 distinct(每天推薦的商品) / 商品總量
至于流行度什么的根據(jù)業(yè)務(wù)锤灿,是一些逼人離職的指標(biāo)挽拔,一般是
10.項(xiàng)目開發(fā)過程中算法和具體業(yè)務(wù)結(jié)合的結(jié)合方式?
我的業(yè)務(wù)就是個(gè)性化推薦但校,沒有其它的螃诅。所以算法就是來提供業(yè)務(wù)需要的數(shù)據(jù)的。 你可以理解為推薦系統(tǒng)有框架和算法組成状囱。算法是數(shù)據(jù)的生產(chǎn)方术裸。框架來負(fù)責(zé)組合算法亭枷,組裝數(shù)據(jù)
11.模型訓(xùn)練袭艺,具體在代碼層面的實(shí)現(xiàn)邏輯
這個(gè)問題比較范,對(duì)于用戶/商品模型來說:模型是一個(gè)Json對(duì)象叨粘, 訓(xùn)練的過程就是按一定規(guī)則填充相應(yīng)的field猾编,涉及機(jī)器學(xué)習(xí)算法較少。
對(duì)于ranking/ model來說升敲,主要的工作是清洗日志答倡、抽樣、訓(xùn)練驴党、驗(yàn)證的過程, 模型本身會(huì)使用開源算法苇羡,不需要實(shí)現(xiàn)。
12.簇心簽名
簇心簽名用于商品去重和聚類鼻弧。 是聚類算法的產(chǎn)物。
13.圖片簽名如何做到去重锦茁?
為圖片生成hash指紋 如感知哈希算法
14.代理rc_proxy的功能攘轩?
分頁緩存、結(jié)果適配等
推薦系統(tǒng)架構(gòu) (工程码俩,已完成)
用戶畫像 (工程算法度帮,已完成)
商品畫像 (工程算法, 已完成)
打點(diǎn)日志 ?(規(guī)范, 已完成)
rpc框架grpc-java(工程笨篷,已完成)
流式計(jì)算框架strom(工程算法瞳秽, 已完成)
storm.pptstorm事務(wù)詳解(transactionTopology).doc
大數(shù)據(jù)處理平臺(tái)hadoop(算法, 已完成)
大數(shù)據(jù)處理平臺(tái)spark(算法率翅, 已完成)
協(xié)同過濾:collaborative filtering
關(guān)聯(lián)規(guī)則挖掘:associate rule mining
聚類算法: kmeans, ?mimhash, ?lda
分類算法:support vector mechine练俐, logistic regression
開發(fā)環(huán)境
bj05-ovc-recom01.dev.gomeplus.com 10.69.261.47
bj05-ovc-recom02.dev.gomeplus.com 10.69.241.48
bj05-ovc-recom03.dev.gomeplus.com 10.69.251.49
bj05-ovc-recom04.dev.gomeplus.com 10.69.221.50
bj05-ovc-recom05.dev.gomeplus.com 10.69.244.51
bj05-ovc-recom06.dev.gomeplus.com 10.69.291.52