
美團(tuán)推薦算法實(shí)踐_數(shù)據(jù)分析師
推薦系統(tǒng)并不是新鮮的事物,在很久之前就存在,但是推薦系統(tǒng)真正進(jìn)入人們的視野,并且作為一個(gè)重要的模塊存在于各個(gè)互聯(lián)網(wǎng)公司,還是近幾年的事情。
隨著互聯(lián)網(wǎng)的深入發(fā)展,越來(lái)越多的信息在互聯(lián)網(wǎng)上傳播,產(chǎn)生了嚴(yán)重的信息過(guò)載。如果不采用一定的手段,用戶很難從如此多的信息流中找到對(duì)自己有價(jià)值的信息。
解決信息過(guò)載有幾種手段:一種是搜索,當(dāng)用戶有了明確的信息需求意圖后,將意圖轉(zhuǎn)換為幾個(gè)簡(jiǎn)短的詞或者短語(yǔ)的組合(即query),然后將這些詞或短語(yǔ)組合提交到相應(yīng)的搜索引擎,再由搜索引擎在海量的信息庫(kù)中檢索出與query相關(guān)的信息返回給用戶;另外一種是推薦,很多時(shí)候用戶的意圖并不是很明確,或者很難用清晰的語(yǔ)義表達(dá),有時(shí)甚至連用戶自己都不清楚自己的需求,這種情況下搜索就顯得捉襟見(jiàn)肘了。尤其是近些年來(lái),隨著電子商務(wù)的興起,用戶并非一定是帶著明確的購(gòu)買(mǎi)意圖去瀏覽,很多時(shí)候是去“逛”的,這種情景下解決信息過(guò)載,理解用戶意圖,為用戶推送個(gè)性化的結(jié)果,推薦系統(tǒng)便是一種比較好的選擇。
美團(tuán)作為國(guó)內(nèi)發(fā)展較快的o2o網(wǎng)站,有著大量的用戶和豐富的用戶行為,這些為推薦系統(tǒng)的應(yīng)用和優(yōu)化提供了不可或缺的條件,接下來(lái)介紹我們?cè)?a href='/map/tuijianxitong/' style='color:#000;font-size:inherit;'>推薦系統(tǒng)的構(gòu)建和優(yōu)化過(guò)程中的一些做法,與大家共享。
從框架的角度看,推薦系統(tǒng)基本可以分為數(shù)據(jù)層、觸發(fā)層、融合過(guò)濾層和排序?qū)?。?shù)據(jù)層包括數(shù)據(jù)生成和數(shù)據(jù)存儲(chǔ),主要是利用各種數(shù)據(jù)處理工具對(duì)原始日志進(jìn)行清洗,處理成格式化的數(shù)據(jù),落地到不同類型的存儲(chǔ)系統(tǒng)中,供下游的算法和模型使用。候選集觸發(fā)層主要是從用戶的歷史行為、實(shí)時(shí)行為、地理位置等角度利用各種觸發(fā)策略產(chǎn)生推薦的候選集。候選集融合和過(guò)濾層有兩個(gè)功能,一是對(duì)出發(fā)層產(chǎn)生的不同候選集進(jìn)行融合,提高推薦策略的覆蓋度和精度;另外還要承擔(dān)一定的過(guò)濾職責(zé),從產(chǎn)品、運(yùn)營(yíng)的角度確定一些人工規(guī)則,過(guò)濾掉不符合條件的item。排序?qū)又饕抢?a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)的模型對(duì)觸發(fā)層篩選出來(lái)的候選集進(jìn)行重排序。
同時(shí),對(duì)與候選集觸發(fā)和重排序兩層而言,為了效果迭代是需要頻繁修改的兩層,因此需要支持ABtest。為了支持高效率的迭代,我們對(duì)候選集觸發(fā)和重排序兩層進(jìn)行了解耦,這兩層的結(jié)果是正交的,因此可以分別進(jìn)行對(duì)比試驗(yàn),不會(huì)相互影響。同時(shí)在每一層的內(nèi)部,我們會(huì)根據(jù)用戶將流量劃分為多份,支持多個(gè)策略同時(shí)在線對(duì)比。
數(shù)據(jù)乃算法、模型之本。美團(tuán)作為一個(gè)交易平臺(tái),同時(shí)具有快速增長(zhǎng)的用戶量,因此產(chǎn)生了海量豐富的用戶行為數(shù)據(jù)。當(dāng)然,不同類型的數(shù)據(jù)的價(jià)值和反映的用戶意圖的強(qiáng)弱也有所不同。
用戶主動(dòng)行為數(shù)據(jù)記錄了用戶在美團(tuán)平臺(tái)上不同的環(huán)節(jié)的各種行為,這些行為一方面用于候選集觸發(fā)算法(在下一部分介紹)中的離線計(jì)算(主要是瀏覽、下單),另外一方面,這些行為代表的意圖的強(qiáng)弱不同,因此在訓(xùn)練重排序模型時(shí)可以針對(duì)不同的行為設(shè)定不同的回歸目標(biāo)值,以更細(xì)地刻畫(huà)用戶的行為強(qiáng)弱程度。此外,用戶對(duì)deal的這些行為還可以作為重排序模型的交叉特征,用于模型的離線訓(xùn)練和在線預(yù)測(cè)。
上文中我們提到了數(shù)據(jù)的重要性,但是數(shù)據(jù)的落腳點(diǎn)還是算法和模型。單純的數(shù)據(jù)只是一些字節(jié)的堆積,我們必須通過(guò)對(duì)數(shù)據(jù)的清洗去除數(shù)據(jù)中的噪聲,然后通過(guò)算法和模型學(xué)習(xí)其中的規(guī)律,才能將數(shù)據(jù)的價(jià)值最大化。在本節(jié)中,將介紹推薦候選集觸發(fā)過(guò)程中用到的相關(guān)算法。
提到推薦,就不得不說(shuō)協(xié)同過(guò)濾,它幾乎在每一個(gè)推薦系統(tǒng)中都會(huì)用到?;镜乃惴ǚ浅:?jiǎn)單,但是要獲得更好的效果,往往需要根據(jù)具體的業(yè)務(wù)做一些差異化的處理。
則logLikelihoodRatio=2 * (matrixEntropy – rowEntropy – columnEntropy)
其中
rowEntropy = entropy(k11, k12) + entropy(k21, k22)
columnEntropy = entropy(k11, k21) + entropy(k12, k22)
matrixEntropy = entropy(k11, k12, k21, k22)
(entropy為幾個(gè)元素組成的系統(tǒng)的香農(nóng)熵)
對(duì)于移動(dòng)設(shè)備而言,與PC端最大的區(qū)別之一是移動(dòng)設(shè)備的位置是經(jīng)常發(fā)生變化的。不同的地理位置反映了不同的用戶場(chǎng)景,在具體的業(yè)務(wù)中可以充分利用用戶所處的地理位置。在推薦的候選集觸發(fā)中,我們也會(huì)根據(jù)用戶的實(shí)時(shí)地理位置、工作地、居住地等地理位置觸發(fā)相應(yīng)的策略。
區(qū)域消費(fèi)熱單
區(qū)域購(gòu)買(mǎi)熱單
搜索是一種強(qiáng)用戶意圖,比較明確的反應(yīng)了用戶的意愿,但是在很多情況下,因?yàn)楦鞣N各樣的原因,沒(méi)有形成最終的轉(zhuǎn)換。盡管如此,我們認(rèn)為,這種情景還是代表了一定的用戶意愿,可以加以利用。具體做法如下:
對(duì)于協(xié)同過(guò)濾而言,user之間或者deal之間的圖距離是兩跳,對(duì)于更遠(yuǎn)距離的關(guān)系則不能考慮在內(nèi)。而圖算法可以打破這一限制,將user與deal的關(guān)系視作一個(gè)二部圖,相互間的關(guān)系可以在圖上傳播。Simrank[2]是一種衡量對(duì)等實(shí)體相似度的圖算法。它的基本思想是,如果兩個(gè)實(shí)體與另外的相似實(shí)體有相關(guān)關(guān)系,那它們也是相似的,即相似性是可以傳播的。
Let s(c,d) denote the similarity between items c and d, for c != d
O(A),O(B): the set of out-neighbors for node A or node B
I(c),I(d): the set of in-neighbors for node c or node d
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實(shí)戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無(wú)論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫(kù)管理中,“大表” 始終是性能優(yōu)化繞不開(kāi)的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫(kù)表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動(dòng)態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開(kāi)始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價(jià)值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫(kù)表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫(kù))處理 Excel 數(shù)據(jù)時(shí),“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場(chǎng)景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤(pán)手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計(jì)劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計(jì)劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對(duì)象的 text 與 content:區(qū)別、場(chǎng)景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請(qǐng)求開(kāi)發(fā)時(shí)(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價(jià)值的核心操盤(pán)手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫(kù)表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請(qǐng)求工具對(duì)比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請(qǐng)求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長(zhǎng)浮點(diǎn)數(shù)據(jù)的科學(xué)計(jì)數(shù)法問(wèn)題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長(zhǎng)浮點(diǎn)數(shù)據(jù)時(shí)的科學(xué)計(jì)數(shù)法問(wèn)題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價(jià)值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營(yíng)問(wèn)題、提升執(zhí)行效率的核心手段,其價(jià)值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過(guò)程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計(jì)” 與 “用戶體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營(yíng)銷案例:數(shù)據(jù)驅(qū)動(dòng)下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見(jiàn)頂” 的當(dāng)下,精準(zhǔn)營(yíng)銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價(jià)值 在數(shù)據(jù)驅(qū)動(dòng)決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實(shí)踐到業(yè)務(wù)價(jià)值挖掘 在數(shù)據(jù)分析場(chǎng)景中,聚類分析作為 “無(wú)監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計(jì)模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價(jià)值導(dǎo)向 統(tǒng)計(jì)模型作為數(shù)據(jù)分析的核心工具,并非簡(jiǎn)單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10