姓名:李浩然
學(xué)號(hào):16030410020
轉(zhuǎn)自:http://blog.csdn.net/qq_40027052/article/details/78733365(有刪改)
【嵌牛導(dǎo)讀】:在電商領(lǐng)域险胰,推薦的價(jià)值在于挖掘用戶潛在購(gòu)買需求羽氮,縮短用戶到商品的距離叮叹,提升用戶的購(gòu)物體驗(yàn)。
京東推薦的演進(jìn)史是絢麗多彩的娃属。京東的推薦起步于2012年,當(dāng)時(shí)的推薦產(chǎn)品甚至是基于規(guī)則匹配做的护姆。整個(gè)推薦產(chǎn)品線組合就像一個(gè)個(gè)松散的原始部落一樣矾端,部落與部落之前沒有任何工程、算法的交集卵皂。2013年秩铆,國(guó)內(nèi)大數(shù)據(jù)時(shí)代到來(lái),一方面如果做的事情與大數(shù)據(jù)不沾邊,都顯得自己水平不夠殴玛,另外一方面京東業(yè)務(wù)在這一年開始飛速發(fā)展捅膘,所以傳統(tǒng)的方式已經(jīng)跟不上業(yè)務(wù)的發(fā)展了,為此推薦團(tuán)隊(duì)專門設(shè)計(jì)了新的推薦系統(tǒng)滚粟。
【嵌牛鼻子】:多屏互動(dòng)寻仗、機(jī)器學(xué)習(xí)、數(shù)據(jù)平臺(tái)凡壤、個(gè)性化技術(shù)署尤、離線計(jì)算平臺(tái)、推薦引擎
【嵌牛提問(wèn)】:京東的個(gè)性化推送是怎么實(shí)現(xiàn)的亚侠?京東的個(gè)性化推薦系統(tǒng)是怎么演化的曹体?它都有哪些關(guān)鍵技術(shù)?
【嵌牛正文】:
推薦產(chǎn)品
用戶從產(chǎn)生購(gòu)買意向硝烂,到經(jīng)歷購(gòu)買決策箕别,直至最后下單的整個(gè)過(guò)程,在任何一個(gè)購(gòu)物鏈路上的節(jié)點(diǎn)滞谢,推薦產(chǎn)品都能在一定程度上幫助用戶決策串稀。
推薦產(chǎn)品發(fā)展歷程主要經(jīng)歷了幾個(gè)階段(圖1),由簡(jiǎn)單的關(guān)聯(lián)推薦過(guò)程到個(gè)性化推薦爹凹,逐步過(guò)渡到場(chǎng)景智能推薦厨诸。從相關(guān)、相似的產(chǎn)品推薦過(guò)渡到多特征禾酱、多維度微酬、用戶實(shí)時(shí)行為、結(jié)合用戶場(chǎng)景進(jìn)行的全方位智能推薦颤陶。
圖1 推薦產(chǎn)品發(fā)展歷程
多類型主要指推薦類型覆蓋到多種類型颗管,如商品、活動(dòng)滓走、分類垦江、優(yōu)惠券、樓層搅方、入口圖比吭、文章、清單姨涡、好貨等衩藤。在移動(dòng)互聯(lián)時(shí)代,多屏場(chǎng)景非常普遍涛漂,整合用戶在多屏的信息赏表,能使個(gè)性化推薦更精準(zhǔn)检诗。多屏整合的背后技術(shù)是通過(guò)前端埋點(diǎn),用戶行為觸發(fā)埋點(diǎn)事件瓢剿,通過(guò)點(diǎn)擊流系統(tǒng)進(jìn)行多屏的行為信息收集逢慌。這些行為數(shù)據(jù)通過(guò)實(shí)時(shí)流計(jì)算平臺(tái)來(lái)計(jì)算用戶的興趣偏好,從而根據(jù)用戶興趣偏好對(duì)推薦結(jié)果進(jìn)行重排序间狂,達(dá)到個(gè)性化推薦的效果攻泼。京東多屏終端如圖2所示。
圖2 京東多屏終端
推薦系統(tǒng)的目標(biāo)是通過(guò)全方位的精準(zhǔn)數(shù)據(jù)刻畫用戶的購(gòu)買意圖前标,推薦用戶有購(gòu)買意愿的商品坠韩,給用戶最好的體驗(yàn),提升下單轉(zhuǎn)化率炼列,增強(qiáng)用戶黏性只搁。推薦系統(tǒng)的業(yè)務(wù)架構(gòu)如圖3所示。
圖3 推薦系統(tǒng)的業(yè)務(wù)架構(gòu)
系統(tǒng)架構(gòu)俭尖。對(duì)外提供統(tǒng)一的HTTP推薦服務(wù)氢惋,服務(wù)京東所有終端的推薦業(yè)務(wù)。
模型服務(wù)稽犁。為了提高個(gè)性化的效果而開發(fā)的一系列公共的個(gè)性化服務(wù)焰望,用戶維度有用戶行為服務(wù)和用戶畫像服務(wù),商品維度有商品畫像已亥,地域維度有小區(qū)畫像熊赖,特征維度有特征服務(wù)。通過(guò)這些基礎(chǔ)服務(wù)虑椎,讓個(gè)性化推薦更簡(jiǎn)單震鹉、更精準(zhǔn)。
機(jī)器學(xué)習(xí)捆姜。算法模型訓(xùn)練階段传趾,嘗試多種機(jī)器學(xué)習(xí)模型,結(jié)合離線測(cè)評(píng)和在線A/B泥技,驗(yàn)證不同場(chǎng)景下的算法模型的效果浆兰,提高推薦的轉(zhuǎn)化率。
數(shù)據(jù)平臺(tái)珊豹。數(shù)據(jù)是推薦的源泉簸呈,包括數(shù)據(jù)收集和數(shù)據(jù)計(jì)算。數(shù)據(jù)雖然是整體推薦架構(gòu)的最底層店茶,卻是非常重要的蜕便,因?yàn)閿?shù)據(jù)直接關(guān)系到推薦的健康發(fā)展和效果提升。
在起步初期忽妒,推薦產(chǎn)品比較簡(jiǎn)單玩裙,每個(gè)推薦產(chǎn)品都是獨(dú)立服務(wù)實(shí)現(xiàn)。新版推薦系統(tǒng)是一個(gè)系統(tǒng)性工程段直,其依賴數(shù)據(jù)吃溅、架構(gòu)、算法鸯檬、人機(jī)交互等環(huán)節(jié)的有機(jī)結(jié)合决侈。新版推薦系統(tǒng)的目標(biāo),是通過(guò)個(gè)性化數(shù)據(jù)挖掘喧务、機(jī)器學(xué)習(xí)等技術(shù)赖歌,將“千人一面”變?yōu)椤扒饲妗保岣哂脩糁艺\(chéng)度和用戶體驗(yàn)功茴,提高用戶購(gòu)物決策的質(zhì)量和效率庐冯;提高網(wǎng)站交叉銷售能力,縮短用戶購(gòu)物路徑坎穿,提高流量轉(zhuǎn)化率(CVR)展父。目前新版推薦系統(tǒng)支持多類型個(gè)性化推薦,包括商品玲昧、店鋪栖茉、品牌、活動(dòng)孵延、優(yōu)惠券吕漂、樓層等。新版?zhèn)€性化推薦系統(tǒng)架構(gòu)如圖4所示尘应。
圖4 新版?zhèn)€性化推薦系統(tǒng)架構(gòu)
個(gè)性化推薦系統(tǒng)架構(gòu)圖中不同的顏色代表不同的業(yè)務(wù)處理場(chǎng)景:數(shù)據(jù)處理部分(最底層綠色模塊)惶凝,包括離線數(shù)據(jù)預(yù)處理、機(jī)器學(xué)習(xí)模型訓(xùn)練菩收,以及在線實(shí)時(shí)行為的接入梨睁、實(shí)時(shí)特征計(jì)算。推薦平臺(tái)(藍(lán)色模塊)娜饵,主要體現(xiàn)響應(yīng)用戶請(qǐng)求時(shí)推薦系統(tǒng)的各服務(wù)模塊之間的交互關(guān)系坡贺。推薦系統(tǒng)核心模塊:
推薦網(wǎng)關(guān)。推薦服務(wù)的入口箱舞,負(fù)責(zé)推薦請(qǐng)求的合法性檢查遍坟、請(qǐng)求分發(fā)、在線Debug以及組裝請(qǐng)求響應(yīng)的結(jié)果晴股。
調(diào)度引擎愿伴。負(fù)責(zé)推薦服務(wù)按策略調(diào)度及流量分發(fā),主要根據(jù)配置中心的推薦產(chǎn)品的實(shí)驗(yàn)配置策略進(jìn)行分流电湘,支持按用戶分流隔节、隨機(jī)分流和按關(guān)鍵參數(shù)分流鹅经。支持自定義埋 點(diǎn),收集實(shí)時(shí)數(shù)據(jù)怎诫;支持應(yīng)急預(yù)案功能瘾晃,處理緊急情況,秒級(jí)生效幻妓。
推薦引擎蹦误。負(fù)責(zé)推薦在線算法邏輯實(shí)現(xiàn),主要包括召回肉津、過(guò)濾强胰、特征計(jì)算、排序妹沙、 多樣化等處理過(guò)程偶洋。
個(gè)性化基礎(chǔ)服務(wù)。目前主要個(gè)性化基礎(chǔ)服務(wù)有用戶畫像距糖、商品畫像涡真、用戶行為、 預(yù)測(cè)服務(wù)肾筐。用戶畫像包括用戶的長(zhǎng)期興趣哆料、短期興趣、實(shí)時(shí)興趣吗铐。興趣主要有性別东亦、品牌 偏好、品類偏好唬渗、購(gòu)買力等級(jí)典阵、自營(yíng)偏好、尺碼顏色偏好镊逝、促銷敏感度壮啊、家庭情況等。商品畫像主要包括商品的產(chǎn)品詞撑蒜、修飾詞歹啼、品牌詞、質(zhì)量分座菠、價(jià)格等級(jí)狸眼、性別、年齡浴滴、標(biāo)簽等拓萌。用戶行為主要獲取用戶近期行為,包括用戶的搜索升略、點(diǎn)擊微王、關(guān)注屡限、加入購(gòu)車、下單等炕倘。預(yù)測(cè)服務(wù)主要是基于用戶的歷史行為囚霸,使用機(jī)器學(xué)習(xí)訓(xùn)練模型,用于調(diào)整召回候選集的權(quán)重激才。
特征服務(wù)平臺(tái)。負(fù)責(zé)為個(gè)性服務(wù)提供特征數(shù)據(jù)和特征計(jì)算额嘿,特征服務(wù)平臺(tái)主要針對(duì) 特征數(shù)據(jù)瘸恼,進(jìn)行有效的聲明、管理册养,進(jìn)而達(dá)到特征資源的共享东帅,快速支持針對(duì)不同的特征進(jìn)行有效的聲明、上線球拦、測(cè)試以及A/B實(shí)驗(yàn)效果對(duì)比靠闭。
個(gè)性化技術(shù)(橙色模塊),個(gè)性化主要通過(guò)特征和算法訓(xùn)練模型來(lái)進(jìn)行重排序坎炼,達(dá)到精準(zhǔn)推薦的目的愧膀。特征服務(wù)平臺(tái)主要用于提供大量多維度的特征信息,推薦場(chǎng)景回放技術(shù)是指通過(guò)用戶實(shí)時(shí)場(chǎng)景特征信息反饋到推薦排序谣光,在線學(xué)習(xí)(Online-Learning)和深度學(xué)習(xí)都是大規(guī)模特征計(jì)算的個(gè)性化服務(wù)檩淋。
個(gè)性化推薦系統(tǒng)的主要優(yōu)勢(shì)體現(xiàn)為支持多類型推薦和多屏產(chǎn)品形態(tài),支持算法模型A/B實(shí)驗(yàn)快速迭代萄金,支持系統(tǒng)架構(gòu)與算法解耦蟀悦,支持存儲(chǔ)資源與推薦引擎計(jì)算的解耦,支持預(yù)測(cè)召回與推薦引擎計(jì)算的解耦氧敢,支持自定義埋點(diǎn)功能日戈;推薦特征數(shù)據(jù)服務(wù)平臺(tái)化,支持推薦場(chǎng)景回放孙乖。
京東擁有龐大的用戶量和全品類的商品以及多種促銷活動(dòng)浙炼,可以根據(jù)用戶在京東平臺(tái)上的行為記錄積累數(shù)據(jù),如瀏覽唯袄、加購(gòu)物車鼓拧、關(guān)注、搜索越妈、購(gòu)買季俩、評(píng)論等行為數(shù)據(jù),以及商品本身的品牌梅掠、品類酌住、描述店归、價(jià)格等屬性數(shù)據(jù)的積累,活動(dòng)酪我、素材等資源的數(shù)據(jù)積累消痛。這些數(shù)據(jù)是大規(guī)模機(jī)器學(xué)習(xí)的基礎(chǔ),也是更精確地進(jìn)行個(gè)性化推薦的前提都哭。
用戶行為數(shù)據(jù)收集流程一般是用戶在京東平臺(tái)(京東App秩伞、京東PC網(wǎng)站、微信手Q)上相關(guān)操作欺矫,都會(huì)觸發(fā)埋點(diǎn)請(qǐng)求點(diǎn)擊流系統(tǒng)(專門用于收集行為數(shù)據(jù)的平臺(tái)系統(tǒng))纱新。點(diǎn)擊流系統(tǒng)接到請(qǐng)求后,進(jìn)行實(shí)時(shí)消息發(fā)送(用于實(shí)時(shí)計(jì)算業(yè)務(wù)消費(fèi))和落本地日志(用于離線模型計(jì)算)穆趴,定時(shí)自動(dòng)抽取行為日志到大數(shù)據(jù)平臺(tái)中心脸爱。算法人員在數(shù)據(jù)集市上通過(guò)機(jī)器學(xué)習(xí)訓(xùn)練模型,這些算法模型應(yīng)用于推薦服務(wù)未妹,推薦服務(wù)輔助用戶決策簿废,進(jìn)一步影響用戶的購(gòu)物行為,購(gòu)物行為數(shù)據(jù)再發(fā)送到點(diǎn)擊流络它,從而達(dá)到數(shù)據(jù)收集閉環(huán)族檬。
目前離線計(jì)算平臺(tái)涉及的計(jì)算內(nèi)容主要有離線模型、離線特征化戳、用戶畫像导梆、商品畫像、用戶行為迂烁,離線計(jì)算主要在Hadoop上運(yùn)行MapReduce看尼,也有部分在Spark平臺(tái)上計(jì)算,計(jì)算的結(jié)果通過(guò)公共導(dǎo)數(shù)工具導(dǎo)入存儲(chǔ)庫(kù)盟步。團(tuán)隊(duì)考慮到業(yè)務(wù)種類繁多藏斩、類型復(fù)雜以及存儲(chǔ)類型多樣,開發(fā)了插件化導(dǎo)數(shù)工具却盘,降低離線數(shù)據(jù)開發(fā)及維護(hù)的成本狰域。數(shù)據(jù)離線計(jì)算架構(gòu)如圖5所示。
圖5 數(shù)據(jù)離線計(jì)算架構(gòu)
目前在線計(jì)算的范圍主要有用戶實(shí)時(shí)行為黄橘、用戶實(shí)時(shí)畫像兆览、用戶實(shí)時(shí)反饋、實(shí)時(shí)交互特征計(jì)算等塞关。在線計(jì)算是根據(jù)業(yè)務(wù)需求抬探,快速捕捉用戶的興趣和場(chǎng)景特征,從而實(shí)時(shí)反饋 到用戶的推薦結(jié)果及排序,給用戶專屬的個(gè)性化體驗(yàn)小压。在線計(jì)算的實(shí)現(xiàn)消息主要來(lái)源于Kafka集群的消息訂閱和JMQ消息訂閱线梗,通過(guò)Storm集群或Spark集群實(shí)時(shí)消費(fèi),推送到Redis集群和HBase集群存儲(chǔ)怠益。數(shù)據(jù)在線計(jì)算框架如圖6所示仪搔。
圖6 數(shù)據(jù)在線計(jì)算架構(gòu)
推薦系統(tǒng)涉及的技術(shù)點(diǎn)比較多,考慮到篇幅有限蜻牢,這里重點(diǎn)介紹個(gè)性化推薦中比較重要的部分烤咧。
個(gè)性化推薦系統(tǒng)的核心是推薦引擎,推薦引擎的一般處理過(guò)程是召回候選集抢呆,進(jìn)行規(guī)則過(guò)濾煮嫌,使用算法模型打分,模型融合排序镀娶,推薦結(jié)果多樣化展示。主要使用的技術(shù)是機(jī)器學(xué)習(xí)模型揪罕,結(jié)合知識(shí)圖譜梯码,挖掘商品間的關(guān)系,按用戶場(chǎng)景好啰,通過(guò)高維特征計(jì)算和海量召回轩娶,大規(guī)模排序模型,進(jìn)行個(gè)性化推薦框往,提升排序效果鳄抒,給用戶極致的購(gòu)物體驗(yàn)。
推薦引擎處理邏輯主要包括分配任務(wù)椰弊,執(zhí)行推薦器许溅,合并召回結(jié)果。推薦器負(fù)責(zé)召回候選集秉版、業(yè)務(wù)規(guī)則過(guò)濾贤重、特征計(jì)算、排序等處理清焕。推薦引擎技術(shù)架構(gòu)如圖7所示并蝗。
圖7 推薦引擎技術(shù)架構(gòu)
分配。根據(jù)推薦場(chǎng)景秸妥,按召回源進(jìn)行任務(wù)拆分滚停,關(guān)鍵是讓分布式任務(wù)到達(dá)負(fù)載均衡。
推薦器粥惧。推薦引擎的核心執(zhí)行組件键畴,獲取個(gè)性化推薦結(jié)果,推薦器的實(shí)現(xiàn)如圖8所示突雪。
圖8 推薦器架構(gòu)
召回階段镰吵。獲取候選集檩禾,一般從基于用戶畫像、用戶偏好疤祭、地域等維度進(jìn)行召回盼产,如果是新用戶的召回資源不夠,會(huì)使用冷啟動(dòng)服務(wù)進(jìn)行召回勺馆。
規(guī)則過(guò)濾階段戏售。對(duì)人工規(guī)則、一品多商草穆、子母碼灌灾、郵差差價(jià)等進(jìn)行過(guò)濾。
特征計(jì)算階段悲柱。結(jié)合用戶實(shí)時(shí)行為锋喜、用戶畫像、知識(shí)圖譜豌鸡、特征服務(wù)嘿般,計(jì)算出召回的候選集的特征向量。
排序階段涯冠。使用算法模型對(duì)召回候選集打分炉奴,根據(jù)召回源和候選集的分值,按一定的策略對(duì)候選集進(jìn)行重新排序蛇更。
合并瞻赶。歸并多個(gè)推薦器返回的推薦結(jié)果,按業(yè)務(wù)規(guī)則進(jìn)行合并派任,考慮一定的多樣性砸逊。舉例來(lái)說(shuō),京東App首頁(yè)“猜你喜歡”的實(shí)現(xiàn)過(guò)程如圖9所示掌逛。首先根據(jù)用戶畫像信息和用戶的近期行為及相關(guān)反饋信息痹兜,選擇不同的召回方式,進(jìn)行業(yè)務(wù)規(guī)則過(guò)濾颤诀;對(duì)滿足要求的候選商品集字旭,提取用戶特征、商品特征崖叫、用戶和商品的交叉特征遗淳;使用算法模型根據(jù)這些特征計(jì)算候選商品的得分;根據(jù)每個(gè)商品的得分對(duì)商品進(jìn)行排序心傀,同時(shí)會(huì)豐富推薦理由屈暗,考慮用戶體驗(yàn),會(huì)對(duì)最終排好序推薦結(jié)果進(jìn)行微調(diào)整,如多樣性展示养叛。
圖9 猜你喜歡實(shí)現(xiàn)過(guò)程圖
京東大數(shù)據(jù)有別于其他廠商的地方就是京東擁有最長(zhǎng)的價(jià)值鏈和全流程的數(shù)據(jù)積累种呐。京東數(shù)據(jù)的特征非常全面,數(shù)據(jù)鏈記錄著每個(gè)用戶的每一步操作:從登錄到搜索弃甥、瀏覽爽室、選擇商品、頁(yè)面停留時(shí)間淆攻、評(píng)論閱讀阔墩、是否關(guān)注促銷,以及加入購(gòu)物車瓶珊、下訂單啸箫、付款、配送方式伞芹,最終是否有售后和返修忘苛,整個(gè)用戶的購(gòu)物行為完整數(shù)據(jù)都被記錄下來(lái)唧垦。通過(guò)對(duì)這些用戶行為及相關(guān)場(chǎng)景的分析凰盔,構(gòu)建了京東用戶畫像含潘,如圖10所示稿静。
其中不僅有用戶的年齡、性別腿倚、購(gòu)物習(xí)慣,更有根據(jù)其購(gòu)物行為分析出的大量數(shù)據(jù),例如是否已婚西乖,是否有孩子,對(duì)促銷是否敏感等坛增。另外获雕,實(shí)時(shí)用戶畫像可以秒級(jí)分析出用戶的購(gòu)買意圖,以及實(shí)時(shí)興趣偏好收捣。京東推薦用戶畫像技術(shù)體系如圖11所示届案。
用戶畫像在京東各終端的推薦產(chǎn)品中都有應(yīng)用,618推出的智能賣場(chǎng)是用戶畫像的典型應(yīng)用場(chǎng)景罢艾。智能賣場(chǎng)的產(chǎn)品包括發(fā)現(xiàn)好貨楣颠、個(gè)性化樓層、秒殺咐蚯、活動(dòng)童漩、優(yōu)惠券、分類春锋、標(biāo)簽等矫膨。以秒殺為例,推薦結(jié)果會(huì)根據(jù)當(dāng)前用戶的用戶畫像中的畫像模型(性別、年齡侧馅、促銷敏感度危尿、品類偏好、購(gòu)買力)進(jìn)行加權(quán)馁痴,讓用戶最感興趣的商品排在前面谊娇。
用戶畫像也是場(chǎng)景推薦的核心基礎(chǔ)。以東家小院為例弥搞,根據(jù)用戶的歷史行為匯聚出很多場(chǎng)景標(biāo)簽邮绿,按當(dāng)前用戶的畫像模型,調(diào)整場(chǎng)景標(biāo)簽的排序攀例。如用戶選擇“包治百病”標(biāo)簽船逮,會(huì)按用戶畫像中的性別、年齡粤铭、品類挖胃、促銷敏感度等畫像模型進(jìn)行推薦商品的重排序。
圖10 用戶畫像示意圖
圖11 京東推薦用戶畫像技術(shù)體系
特征就是一種屬性的描述梆惯,特征是個(gè)性化推薦的基礎(chǔ)酱鸭,常用的特征分為單邊特征和雙邊特征。單邊特征是指對(duì)象本身的屬性描述垛吗,如商品的顏色凹髓;雙邊特征是指兩個(gè)對(duì)象交互程度的描述,如某用戶最近一小時(shí)瀏覽的品牌與候選集中品牌的匹配程度怯屉。從特征生成的場(chǎng)景來(lái)說(shuō)蔚舀,分為離線特征和實(shí)時(shí)特征。離線特征是通過(guò)算法模型提前生成锨络,實(shí)時(shí)特征是通過(guò)實(shí)時(shí)計(jì)算的方式生成的赌躺。特征的質(zhì)量直接影響推薦的效果、特征計(jì)算的性能羡儿,同時(shí)影響個(gè)性化推薦的處理能力礼患。另外,共享和復(fù)用特征可以提高算法的迭代速度并節(jié)約人力成本掠归。
特征服務(wù)管理平臺(tái)主要針對(duì)特征數(shù)據(jù)和特征計(jì)算缅叠,進(jìn)行有效聲明和管理,進(jìn)而達(dá)到特征資源的共享和復(fù)用虏冻。特征服務(wù)平臺(tái)能快速滿足針對(duì)制定不同的特征進(jìn)行有效的聲明肤粱、上線、測(cè)試以及A/B實(shí)驗(yàn)效果對(duì)比的需求兄旬,做到特征的可維護(hù)狼犯、可說(shuō)明余寥、可驗(yàn)證。特征服務(wù)平臺(tái)的主要功能如下:離線特征的定制化使用悯森,在線特征的定制化使用宋舷,由定制化特征產(chǎn)生新的特征,部分特征瓢姻、模型在線申明祝蝠,不同特征效果快速A/B。特征服務(wù)平臺(tái)架構(gòu)如圖12所示幻碱。
圖12 特征服務(wù)平臺(tái)架構(gòu)
推薦的一般處理邏輯是每次請(qǐng)求會(huì)召回一批商品绎狭,然后根據(jù)用戶的行為數(shù)據(jù)和用戶模型計(jì)算出每個(gè)商品的特征。算法模型會(huì)根據(jù)每個(gè)商品的特征計(jì)算出每個(gè)商品的得分褥傍,最后選出得分最高的幾個(gè)商品推薦給用戶儡嘶。
線上計(jì)算特征這種行為是一次性的,不會(huì)被記錄下來(lái)恍风。因此在線下訓(xùn)練模型的時(shí)候蹦狂,如果想利用上述的特征,就需要在線下機(jī)器上再次計(jì)算一遍這些特征朋贬。遺憾的是凯楔,線下計(jì)算出來(lái)的特征往往不能和線上特征完全相同,這就導(dǎo)致了模型訓(xùn)練的效果較差锦募。場(chǎng)景特征回放示意圖如圖13所示摆屯,推薦業(yè)務(wù)調(diào)用推薦引擎,推薦引擎將場(chǎng)景特征通過(guò)特征回放服務(wù)記錄下來(lái)糠亩,推送至大數(shù)據(jù)平臺(tái)虐骑,機(jī)器學(xué)習(xí)根據(jù)場(chǎng)景特征數(shù)據(jù)重新訓(xùn)練算法模型,進(jìn)而影響推薦引擎中的排序削解,形成一個(gè)場(chǎng)景閉環(huán)推薦富弦,達(dá)到更準(zhǔn)確的個(gè)性化推薦沟娱。
圖13 場(chǎng)景特征回放示意圖
場(chǎng)景特征回放技術(shù)架構(gòu)如圖14所示氛驮,場(chǎng)景特征回放技術(shù)實(shí)現(xiàn)過(guò)程如下。線上特征一般是一系列的數(shù)值济似,我們將這些特征按照一定的規(guī)則組裝成一個(gè)字符串矫废,然后將特征使用HTTP的POST方法異步發(fā)送到服務(wù)端。
圖14 場(chǎng)景特征回放技術(shù)架構(gòu)
服務(wù)端使用Openresty接收這些HTTP請(qǐng)求砰蠢,并把HTTP請(qǐng)求中的特征數(shù)據(jù)落地到本地磁盤文件中蓖扑。Openresty是一種高性能的Web服務(wù)器,能夠承受很高的QPS台舱,并且具有很高的穩(wěn)定性律杠,它的這兩點(diǎn)特性保障了服務(wù)的穩(wěn)定潭流。
數(shù)據(jù)抽取系統(tǒng)把服務(wù)器集群磁盤上的數(shù)據(jù)抽取到臨時(shí)倉(cāng)庫(kù)。
數(shù)據(jù)抽取系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行壓縮和過(guò)濾處理柜去,然后推送到Hive表中灰嫉。不同類型的請(qǐng)求會(huì)放到不同的分區(qū)中,更加方便算法工程師使用這些數(shù)據(jù)嗓奢。
個(gè)性化推薦系統(tǒng)是一個(gè)系統(tǒng)工程讼撒,依賴產(chǎn)品、數(shù)據(jù)股耽、架構(gòu)根盒、算法、人機(jī)交互等進(jìn)行場(chǎng)景推薦物蝙,本節(jié)重點(diǎn)從這幾個(gè)維度闡述了京東的個(gè)性化推薦系統(tǒng)炎滞。推薦系統(tǒng)隨著業(yè)務(wù)發(fā)展和社會(huì)生活方式的改變而進(jìn)行不斷升級(jí),經(jīng)歷了從PC時(shí)代到移動(dòng)互聯(lián)時(shí)代诬乞,從關(guān)聯(lián)推薦走向個(gè)性化推薦厂榛,從純商品推薦到多類型推薦的轉(zhuǎn)變。個(gè)性化推薦系統(tǒng)已經(jīng)實(shí)現(xiàn)了千人千面丽惭。誠(chéng)然击奶,個(gè)性化的效果也有待提升,有些體驗(yàn)類的問(wèn)題也在逐步完善责掏。目前正在進(jìn)行或有待提高的方面包括:算法方面豐富知識(shí)圖譜柜砾、深度學(xué)習(xí)廣泛應(yīng)用;推薦系統(tǒng)方面會(huì)更好地支持海量召回换衬、高維特征計(jì)算痰驱、在線學(xué)習(xí),推薦更實(shí)時(shí)瞳浦,更精準(zhǔn)担映;產(chǎn)品方面已向“滿屏皆智能推薦”方向邁進(jìn)。最后叫潦,希望個(gè)性化推薦系統(tǒng)能讓購(gòu)物變得簡(jiǎn)單蝇完,變得更人性化、更豐富矗蕊、更美好短蜕。