京東展示推薦技術 優化算法提升用戶體驗
2023-07-11 08:18:53 3
2015年11月19日-21日,由CSDN重磅打造的SDCC2015(中國軟體開發者大會)在北京舉行,吸引了超過上千位專業人士的參與。京東個性化與排序平臺部高級總監鄒宇、京東推薦平臺部總監劉思喆代表京東參與了此項年度技術盛會,並向業界分享了京東的推薦技術。
京東推薦產品覆蓋各個渠道,各個平臺,包括PC端、APP端、微信購物、手Q購物以及EDM、定向營銷等。京東推薦產品有四大價值:挖掘用戶潛在的購買需求;縮短用戶到商品的距離;用戶需求不明確的時候提供比較好的參考;吸引有好奇心的用戶。
京東個性化與排序平臺部高級總監鄒宇
目前,搜索對京東訂單引入貢獻非常大,推薦的貢獻更是高速成長。比如京東推薦系統在京東少兒圖書品類推薦效果優秀,主要原因是商品單價不高,用戶決策並且最終轉化成本很低。
京東推薦的架構與算法優化
劉思喆介紹了京東推薦的結構。京東推薦最基礎的單元被稱為Key,是最基本的召回元素。Key標準結構可能是商品到商品、用戶到商品的關係,類目到類目的關係,品牌到品牌的關係,人到商品的關係等等。
再向上一層就是業務邏輯的封裝層,將推薦位的行為以及用戶當時行為都進行接入,這包括用戶的實時數據還有累積消費數據。然後約有上千個和推薦相關的調度系統,把需要的結果都進行計算,最終會加到這個系統裡面。
最上層的是整個用戶的反饋環,最終可以變成統計系統,即包含優化目標,也包含整個KPI,可以指導最終的頂層數據的存儲甚至排序,形成推薦系統的閉環。
京東推薦平臺部總監劉思喆
據透露,京東推薦系統在算法優化上有四個方向。第一,對業務要有一個非常好的理解,主要的手段就是大量的數據分析,對數據的質量以及覆蓋度進行一個比較好的考量,會佔25%的權重,第二,京東會測試大量的召回結果,會測試不同算法在不同數據源上的效果,提高召回模型的質量,佔據50%權重。第三,京東推薦系統要實時,實時方式拿到用戶的反饋,然後應用不同維度數據源進行結果重新排序,佔據15%。第四,把離線放到在線,加大數據更新頻率,響應用戶需求頻率,佔據10%。
因用戶行為而調整的召回與排序
京東的數據主要兩大類,用戶行為數據和基於內容的數據。京東會根據用戶的行為數據構建用戶畫像,比如是不是有小孩,是不是男性,在京東的生命周期怎麼樣,促銷的敏感度如何,在家還是單位購物多,購買率的等級是什麼?京東會根據用戶的行為做推薦,這大多是通過離線數據計算的。此外,系統還會根據用戶的實時行為進行推薦,比如判斷出用戶喜歡瀏覽牙刷的品類,喜歡電動牙刷,而且偏好聲波類電動牙刷。
通過「共現矩陣」的辦法,京東推薦系統可以度量商品到商品的、用戶到用戶的商品、商品到商品的相似指數。比如用戶對某個商品的分值比較高,瀏覽的分值比較高,購買的分值更高。通過這些辦法,可以找到比較貼近其需求和愛好的產品推薦給消費者,在這些基礎算法之外,京東還會應用高級算法提升推薦的效果。
京東還會通過一些模型進行推薦,比如用戶的購買力模型、周期商品購買模型、LDA模型等。例如,京東現在有大量第三方商家,會存在有「一品多商」的問題,京東就會用圖片相似等方法做過濾。
在排序上,京東會進行兩級預估,先預估CTR(點擊率),再預估CVR(轉化率),由此進行排序。這是如何實現的呢?對於任何一個商品,京東都認為它具備品牌、中心詞、類目、擴展屬性等指標,可以用銷售量來度量。每個商品和商品之間有一張購買的網,每個商品的pagerank也可以使用,這個指標不但考慮了數量問題,還考慮了網狀關係,考量的指標還有評論數、好評度、瀏覽深度等。拿一個實際的例子來說,如果某用戶購買產後塑身產品,那麼孕婦裝雖然有關聯度,但這種關係會被劇烈地降低權重,因為邏輯上是先懷孕後生產再塑身。
鄒宇分享了對冷啟動用戶的處理方法。所謂的「冷啟動」是指一個新用戶,系統中沒有他的行為數據。這個時候,京東做法就是根據人以群分的歸類法則。比如基於社交關係推薦。當然如果這些沒有,可能找更粗的人群分群的方式,比如性別、年齡、地域。當然最極端的情況下,完全沒有,那就根據最近的熱點進行類別多樣化精選推薦的策略,把每一類當下最流行的商品拼在一起推薦給新用戶去看,這其實是試探的過程,然後根據用戶的交互反饋,慢慢向用戶主信息上收斂。
重視實驗與監控 迅速確認算法優劣
劉思喆介紹,在推薦系統中,京東非常重視實驗與監控。京東是算法和架構分離,架構可以管頂層工程,算法就是每天嘗試各種各樣的特徵、數據、規則,以及流量最終的效果怎麼樣。
京東推薦的實驗系統採用了外部的頁面配置。流量實時生效,而且流量比例是可以任意分配的。簡單修改某一個線上實驗,它的流量就可以實現秒級線上更新,第二天甚至實時可以看到結果。京東的分流策略常用兩種,第一種是隨機,每次刷新看到的結果可能都不一樣,比如十組實驗,每一版都是10%的概率呈現;第二種就是相對固定,一旦看到第一次結果之後,就保證你以後看到的結果都是這個樣子。京東的實驗系統支持版本回溯,算法工程師一旦出現誤配,可以找回相關的版本和權限。
除了實時實驗之外,京東實驗系統同樣有離線debug平臺支持,輸入參數可以是一個或多個SKU,也可以是類,進行不同實驗的結果召回,定位不同實驗的效果。這樣算法工程師可以通過自測幾個小的例子,迅速找到自己的算法,在沒有切流量之前問題在哪,或者到底好在什麼地方。
持續優化迭代 提升推薦系統價值
劉思喆認為,算法優化必須逐步迭代。不可能忽然上一個很牛的算法保證效果提高50%,工程師之間的相互交流有助於提高算法優化效果。
而通過數據的挖掘,京東也會發現,某些用戶從來不點任何推薦,不點任何廣告,也就是對這個東西完完全全不感冒。那可能京東也有可能對該用戶隱藏推薦系統。「用戶如果能深度地參與到推薦系統裡面來,當然可能是無意識的,這時推薦系統才真正做到了極致。」
鄒宇認為,京東大數據的價值越來越大。舉例來說,網際網路展示廣告的點擊率通常能到千分之一就不錯了,轉化率更低,通常是萬分之幾。但京東的搜索轉化率高於這種廣告轉化率的幾個數量級,因此,京東的數據會有越來越高的價值,京東的推薦系統在推動業務成長方面的作用也將越來越重要。