饿了么研发总监马尧:外卖推荐算法中有哪些机制与手段?
提到市場機制和調控手段,大家可能會想起某些中央機構,而在流量的分發方面,我們的角色是類似的,搜索推薦是餓了么的核心流量入口,我們通過市場機制來實現流量效率的最大化,而調控手段更多的是兼顧效率和平臺長期目標以及流量生態的健康。
今天分享的內容分以下幾個方面,首先是餓了么外賣推薦業務形態,然后是搜索推薦平臺的目標與定位;接下來會聊聊在外賣推薦領域的特殊挑戰,以及外賣推薦算法中的一些市場機制和調控手段。
1.餓了么外賣推薦業務形態
前面提到過,搜索推薦是餓了么核心的流量分發入口,平臺90%以上的用戶在下單前的決策是通過各種各樣的搜索推薦產品實現的。我們每天負責千萬級訂單的精準匹配,涉及首頁推薦、搜索、金剛入口、活動會場、發現頁、訂單頁等不同業務場景。平臺方面除了餓了么APP外賣,還有支付寶里面的外賣、手機淘寶里面的外賣等很多阿里系流量。類目方面也更加豐富,除了美食餐飲外賣,還有水果、買生鮮、醫藥、鮮花等可以通過外賣實現。
外賣業務的簡要流程:首先用戶進入app會有一個瀏覽行為,訪問某個模塊后點擊某一個商家或者美食到達店內,然后會有一個選擇和加購物車的過程,再之后達成訂單。前面的步驟看起來和傳統電商是類似的,但是有一個核心區別點在于用戶下單完成后還有一個商家的出餐和即時配送的過程,這個下單后的環節也是會影響用戶的整個體驗的,需要在推薦場景中考慮。
2. 餓了么搜索推薦平臺的?標與定位
餓了么推薦平臺作為流量分發的中樞連接著幾個不同的角色,包括用戶(流量)、商家(供給)還有平臺本身,需要明確好定位。對于用戶/流量側主要是為用戶提供良好的決策體驗,幫助用戶選擇滿意的餐廳和美食,并優化好用戶的整個鏈路的體驗。對于商家側需要帶來精準的流量,帶來訂單提升,并不斷提升商家曝光效率,幫助商家在平臺上成長。最后對于平臺而言,核心是提供流量的變現、交易的價值以及建設好健康的流量生態,為平臺的長期目標服務。
3. 外賣推薦的特殊挑戰
這里聊一下外賣推薦的一些特殊挑戰,第一點,區別于傳統搜索和電商,在用戶下單后有一個即時配送的過程,而配送滿意與否也是關于用戶體驗的重要因素,因為外賣用戶通常是時間敏感的,尤其是午餐和晚餐高峰期。通常而言,用戶對商家的喜好以及是否轉化是衡量推薦質量的一個重要因素,但在外賣存在一個情況就是雖然偏好商家,但是下單后很久才送到,用戶對商家很喜愛但是整個鏈路的時間體驗比較差,這是我們在流量分發階段需要考慮的問題,轉化率、決策效率、配送時長等需要綜合考慮。第二點就是峰值效應比較明顯,高峰是平時幾十倍,峰值又比較尖,類似于秒殺,這在工程上會帶來很大的挑戰,同時,高峰期用戶行為分布變化比較快,對如何快速捕捉用戶行為提出了比較高的要求。第三點是即時性資源約束和限制,餐廳資源、物流騎手運營資源都是在固定時間比較有限的,如何在多重約束情況下綜合優化用戶體驗也是一個挑戰。最后一點,區域化會和流量宏觀調控有關系,外賣的流量成點狀區域分布,網格效應弱,并且每個區域的城市發展、外賣階段、流量分布是不同的,不同的地區有不同的目標,也對應著不同的流量策略,因此流量的調控手段顯得格外重要。
為了解決這些問題,我們簡單地分為兩個層次解決,市場機制是下面三塊,主要是解決效率最大化問題,包括識別挖掘類、精準召回算法、智能化排序算法。而調控手段更多的是偏產品和業務規則,同時對規則中也會融入一些算法實現流量扶持、長期目標、生態目標的均衡。包括兼顧用戶體驗的策略,扶持特殊業務的策略,新店店長成長策略等。
4. 外賣推薦算法中的市場機制
外賣推薦算法中的市場機制方面主要是把效率最大化的目標與算法目標做了一些關聯。基于現有流量及供給,通過深入挖掘、精準匹配及智能化排序機制去實現用戶體驗和平臺效率最大化。
對推薦算法目標拆解如上圖所示,在外賣領域有四個重要角色,流量、供給、轉化和履約。搜索推薦對用戶下單轉化起到關鍵作用,會將目標拆解為不同子模型。如GMV會分解為點擊模型、轉化模型、客單價模型,如果考慮每單收益時會建立單筆收益模型,還有偏向于用戶體驗的指標,如決策效率 、就餐體驗、等待時間,也會建模去優化。
優化目標大的節奏上經歷了從轉化率—\u0026gt;訪購率 —\u0026gt; 毛GMV —\u0026gt; 凈GMV—\u0026gt; 凈GMV+UE,早期以優化轉化率為主,但外賣平臺具有很高的消費頻次,很多用戶一天之內下單超過2單以上,因此優化目標又調整為訪購率(訂單量/UV),除轉化率外還要優化用戶的下單頻次。后續為了平衡用戶體驗和平臺目標,同時加強品質感,并兼顧高客單價商家的訴求,優化目標調整為GMV(交易額),為此也引入了客單價預估模型。再后來,為了打擊虛假自營銷和虛抬物價等行為,優化目標又調整為實付GMV。目前,隨著平臺目標新一輪的變化,我們正在嘗試對新的目標進行優化。
外賣推薦系統架構與大部分推薦系統架構類似,底層是基礎設施層,包括大數據處理的Spark、Hadoop,深度學習工具TensorFlow,分布式EKV,還有做實時計算的平臺及工具。目前融入阿里經濟體后,在服務和數據上會進行一個打通,以便更好地融入阿里技術體系。
數據/特征層包括數據的埋點、收集、清洗、加工、建模、應用等多個環節,特征部分非常關鍵,包括通過人工的特征工程以及通過模型做很多特征,包括用戶維度、商家維度、上下文維度的特征。
算法模型層核心是召回和排序,外賣場景是一個強LBS屬性的場景,召回主要是基于LBS搜索;后面也加入了標簽化、向量化的召回。去年我們在這塊做了一些不錯的嘗試。比如說標簽召回,前面提到過本地化的一個挑戰在于信息的非結構化,商家上傳的菜品各式各樣,直接通過文本匹配效果是不夠好的。為此我們先通過離線挖掘的方案,挖掘菜品的口味、食材、菜系、做法等標簽化表示,在搜索階段,再通過標簽進行召回,有效的解決了意圖匹配的問題。向量化主要是對商品、美食、搜索詞等通過word2vec、Item2vec等方法生成其向量化的表示,是一種更加泛化的表達,生成向量后,基于向量的相似度進行召回。該方法在各個模塊取得了不錯的效果,其中在無結果推薦等模塊甚至取得數倍轉化率的提升。另外,在精準召回環節往往還會進行一輪粗排,主要是為了在效果和性能上進行更好的平衡。
智能化排序(Rank)環節在外賣這種強LBS熟悉的業務下更為關鍵,會對召回環節的結果通過模型進行重排序,以達到更優的體驗和業務目標。在這個環節,我們經歷了算法模型和優化目標的多次升級,后面會重點介紹下。
最上層是產品/業務層,會更偏一些調控策略。右側所示會有一些通用服務,如實時數據服務、畫像服務、特征服務等。
在線服務架構:用戶請求過來后,Rank服務會主要負責請求分發、結果聚合以及用戶策略調整。會將請求依據用戶場景發送到搜索服務集群或者推薦召回集群,會做一個相應的召回和初排。真正的模型預測是在模型預測服務,會做機器學習預測或者精排。
Rank模型升級路線
升級路線:
從先前的人工規則演進到線性模型的LR,再到后來的非線性模型以及模型融合階段,然后到深度學習和在線學習為主的模型??傮w來看模型復雜度越來越高,時效性越來越快,由最開始的天級到后來的流式秒級更新。優化目標也會結合平臺目標進行演進,目前主要是基于GMV+用戶整體體驗最大化。雖然模型復雜度越來越高、時效性越來越強,但是模型總體收益與原來相比越來越少,如LR與人工規則相比相差10%,再到GBDT/GBDT+FTRL為主就是5個百分點提升。到深度學習模型階段,工程與算法復雜性進一步提升,但收益的提升也進一步縮窄。
接下來介紹下Wide\u0026amp;Deep模型在排序上的應用,主要參照的是Google發布的論文做了一些改造,第一點是在Wide部分加入了GBDT的葉子節點,包括點擊模型和下單模型。因為我們是從GBDT遷移過來,很多工作可以復用,在deep部分加入一些預訓練的商家特征或者用戶特征的embedding,或者相互間融合。后面又嘗試了DeepFM模型,總體結構和論文中一致,改方案充分利用了DNN在學習高階交互特征方面的能力以及FM在學習二階交互特征方面的能力,完全避免的人工構建特征,是一個端到端的模型 ,線上實驗效果上也更佳。
在線學習與實時引擎
在線學習在外賣推薦中應用主要是解決用戶行為變化快的問題以及商家經營狀況、運力、天氣等因素隨時變化。通過對實時生態體系的不斷完善,實時樣本流構建、實時特征、實時模型更新和評估等方案逐步成熟,基于此上線的多步融合的xgboost+FTRL取得了大幅提升,在一段時間內是效果最好的模型。主要采用Google論文算法FTRL,優點有可以產生稀疏解、收斂速度很好、支持并行化處理、可以訓練大規模模型、工程實現簡單。
左邊是實時效果引擎,會基于在線排序引擎會將業務日志和用戶行為埋點數據做一個聚合,生成一個實時樣本流。然后進入在線訓練模型做一個實時模型訓練和更新,排序引擎會定期加載模型訓練的參數,用于線上的排序。
從模型結構上看,將GBDT和FTRL進行融合,會輸出GBDT的葉子節點,將人工特征進入模型進行一個預測。
目前前面三個模型在線上不同應用場景模型復雜度等方面都有流量在跑,推薦技術升級路線總體路線也包含了數據、特征、模型還有業務理解升級。
5. 外賣推薦算法中的調控手段
調控手段主要用來解決長期平臺生態問題,是效率最大化的基礎上的流量再分配。兼顧平臺的短期目標與長期目標。包括多個方面的平衡。如果單純以最大化單日GMV為目標,會存在多方面的問題,比如流量分布的馬太效應以及新店成長問題。
? 用戶對商家、商品的偏好以及總體滿意度方面的平衡
? 當天立即下單轉化的需求和對用戶興趣探索成本的平衡;
? 自然流量效率和商家在平臺成長或賦能線下商家間的平衡;
? 平臺短期收益和長期生態間的平衡。
? 不同業務線間流量平衡、短期平臺廣告收入與平臺轉化間的平衡。
針對這些問題采用很多調控手段解決這些問題,比如利用多模型融合結局用戶當前轉化率與滿意度的問題,預估用戶下單時的總體時長與轉化率的關系。用EE算法迫近流量比例去促進新店成長,還有用戶興趣的邊界探索與擴展,防止過度個性化問題。配置區域化優化目標,將一定流量賦能線下,支持區域化的特定目標或者對特定業務支持,最后一點是長短期目標平衡,短期GMV目標+復購率boost,短期GMV只考慮到當次收益最大化,需要加入復購率來平衡長期目標。還有廣告收入vs 平臺轉化流量,通過AB Test來控制廣告流量密度,通過流量驅動外賣商家提升,改善經營水平。
一些嘗試:
(1)對用戶生命周期分析,核心的流失原因有(對商品滿意,對服務或配送不滿意,商家不夠豐富or推薦過窄),策略是通過多個目標模型的融合,轉化模型(當下轉化率/GMV)+滿意度模型(用戶整體體驗);復購率boost:流重新分配,盡量向?復購率商戶傾斜,促進回訪和復購;新鮮感:分配?定?例流量E\u0026amp;E。
(2)區域化定制?標與流量分配,起先依據城市建立模型,但是不理解每個城市目標是不一樣的,只是做一個分開的建模優化其轉化率。目前是針對每一個區域做一個目標配置化,或者拿出一定的流量分配到特定的商家或商戶。
(3)外賣推薦調控手段——E\u0026amp;E
為了在扶持和效率上做一些平衡,介入了一些算法機制,如EE算法去解決新店成長扶持、區域化業務流量扶持、用戶新鮮感策略。策略也經過一定的演化,從早期的鎖定位到輪播策略到現在的探索利用。常用的MAB算法有Thompson sampling、 Epsilon-Greedy、UCB、Lin UCB。
算法我們也做了一些探索,如冷啟動流量扶持,流量質量探索。Explore階段是結合業務經驗會賦予初始優先級,再加上Thompson sampling和定期清空參數做到足夠的探索。利用階段,用商家累計統計收益做一個利用,在外賣場景會出現不同時間場景、用戶用統計收益不準確,因此用統計收益結合預估收益做利用。在新店扶持方面曝光效率和人工相比提升70%,新店扶成率提升30%。
作者介紹:
馬堯,餓了么研發總監,搜索推薦及商業策略研發負責人。目前負責流量分發和變現領域的技術體系,包括搜索、推薦、Rank以及廣告技術在餓了么平臺的應用,帶領團隊建立起搜索推薦的技術體系,并將機器學習全面引入各項核心業務,對使用數據挖掘和機器學習技術提升用戶體驗、平臺營收以及賦能商家方面有豐富實踐。曾任職美團點評和騰訊。
本文來自馬堯在 DataFun 社區的演講,由 DataFun 編輯整理。
總結
以上是生活随笔為你收集整理的饿了么研发总监马尧:外卖推荐算法中有哪些机制与手段?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 金山云最新财报:Q4营收7.27亿,同比
- 下一篇: 大数据和人工智能的关系,超全解析