科学地花钱:基于端智能的在线红包分配方案 (CIKM2020)
一、前言
本文是作者在1688進行新人紅包發(fā)放的技術(shù)方案總結(jié),基于該技術(shù)方案的論文《Spending Money Wisely: Online Electronic Coupon Allocation based on Real-Time User Intent Detection》已經(jīng)被CIKM2020接收,歡迎交流指正!
關(guān)于作者
李良偉:阿里巴巴算法工程師,郵箱 leon.llw@alibaba-inc.com
孫劉誠: 阿里巴巴高級算法工程師,郵箱 liucheng.slc@alibaba-inc.com
二、背景介紹
用戶權(quán)益(包括現(xiàn)金紅包、優(yōu)惠券、店鋪券、元寶等,圖-1)是電商平臺常用的用戶運營手段,能夠幫助平臺促活促轉(zhuǎn)化。 圍繞著權(quán)益的技術(shù)優(yōu)化也層出不窮[1,2,3,4,5]。
紅包發(fā)放作為一種營銷手段,其ROI是我們非常關(guān)心的一個指標,因為它直接反映了在有限的預(yù)算內(nèi)紅包為整個平臺促活促成交的能力。優(yōu)化紅包發(fā)放的ROI要求我們把紅包發(fā)到最合適的用戶手上。而判斷哪些用戶適合領(lǐng)到紅包需要我們在真正發(fā)紅包之前判斷當前用戶的意圖。舉例來講,一個購買意圖非常明確、無論是否有紅包都會下單的用戶顯然不適合領(lǐng)到紅包;相反,紅包對一個猶豫不決、貨比三家的用戶很有可能起到“臨門一腳”的作用。
隨著1688業(yè)務(wù)的快速發(fā)展,每天都會有大量的平臺新用戶涌入,其中有很多用戶在整個阿里經(jīng)濟體的數(shù)據(jù)都十分稀疏,基于常規(guī)手段,我們很難對這種“陌生”的用戶進行精準刻畫。然而,只要一個用戶進入了APP,或多或少都會和平臺產(chǎn)生相互作用(滑動,點擊等),這種在端上實時產(chǎn)生的數(shù)據(jù)能夠幫助我們對用戶尤其是新用戶的實時意圖進行精準捕捉,進而完成紅包發(fā)放的決策。
本文將介紹我們基于端智能的用戶意圖識別和智能權(quán)益發(fā)放方案。
三、技術(shù)方案
從數(shù)學的角度,權(quán)益發(fā)放是一個帶約束的優(yōu)化問題。優(yōu)化目標是關(guān)心的業(yè)務(wù)指標(GMV,買家數(shù),轉(zhuǎn)化率等),約束一般是預(yù)算約束,有時也會有其他約束比如發(fā)放疲勞度約束、單個用戶領(lǐng)取紅包金額約束等。
按照之前提到的先識別用戶意圖再進行權(quán)益發(fā)放這一思路,我們提出了一個two-stage的求解方案。在第一階段,我們基于端智能技術(shù)[6],根據(jù)用戶實時行為數(shù)據(jù),通過瞬時意圖識別網(wǎng)絡(luò)(Instantaneous Intent Detection Network, IIDN) 識別出用戶當前意圖;在第二階段,我們將優(yōu)化問題建模成一個多選項背包問題(Multiple-Choice Knapsack Problem, MCKP),并運用[7]提到的primal-dual框架求解。在這里,我們強調(diào)我們關(guān)于IIDN的兩個創(chuàng)新點:
1.IIDN最主要檢測的用戶意圖是下單意圖,但是實踐發(fā)現(xiàn)在新人當中,用戶下單的比例是比較小的,這樣我們在進行下單意圖識別的時候會面臨一個類別不均衡的問題(下單:不下單 = 1:10甚至更低),這樣的類別偏差會降低常見的分類器的分類效果[8]。為了解決這一問題,受到ESMM[11]和seq2seq[10]啟發(fā),我們引入了一個輔助任務(wù):停留意圖識別。我們隨后會從理論上驗證這一做法
2.我們采用encoder-decoder的結(jié)構(gòu),靈活地處理序列化的輸入和輸出
第一階段:瞬時意圖識別
圖-2是IIDN的整體結(jié)構(gòu),它由Embedding Layer, LSTM layer, Attention Layer, Encoder和Decoder五部分組成。接下來分別介紹。
Embedding Layer
模型的輸入主要是實時用戶特征和紅包特征,用戶特征包括實時特征(端上收集到的:點擊、加購等)、歷史特征(用戶核身、年齡等),紅包特征現(xiàn)在只加入了面額。這些特征是高度異質(zhì)的,需要進行一步處理把它們映射到相同的向量空間中。我們采用[9]提到的嵌套技術(shù),把原始的異質(zhì)特征映射為長度固定的向量,并把該向量作為后續(xù)結(jié)構(gòu)的輸入。
LSTM Layer
我們紅包發(fā)放的業(yè)務(wù)邏輯是:用戶在詳情頁產(chǎn)生瀏覽行為并返回landing page的時候觸發(fā)決策模型,判斷給該用戶發(fā)放紅包的面額(0元代表不發(fā)放)。由于用戶通常會產(chǎn)生一系列的詳情頁瀏覽行為,因此我們收集到的數(shù)據(jù)也是高度序列化的。為了更好地描述序列化數(shù)據(jù)當中的時間依賴關(guān)系,我們在特征抽取環(huán)節(jié)采用了Long Short Term Memory (LSTM) 來捕捉這種序列化信息。
Attention Layer
對于LSTM產(chǎn)出的序列化的feature map,我們使用注意力機制抽取當中的局部和全局依賴關(guān)系。我們將LSTM每層的輸出都通過Attention計算權(quán)重并參與最終的結(jié)果計算。這樣的好處是模型不僅關(guān)注LSTM最終層輸出,還會關(guān)注逐層的輸出結(jié)果,從而增加模型對于輸入信息的感知能力。
Encoder
由于用戶實時特征的序列長度不固定,而紅包特征和用戶歷史特征是靜態(tài)的固定特征,我們需要一種機制來進行有效的特征融合。受到Natural Language Generation (NLG) 當中語句生成的啟發(fā),我們采用一種seq2seq的結(jié)構(gòu):包括encoder和decoder,我們將在下一小節(jié)介紹decoder。這里encoder將之前產(chǎn)生的所有feature map作為輸入,通過全連接層產(chǎn)生一個固定長度的向量,這個向量囊括了進行用戶意圖識別的一切信息,并作為之后decoder進行意圖識別的依據(jù)。
Decoder
Decoder被用來輸出最終的意圖識別結(jié)果。在最開始,我們的模型只輸出用戶下單的概率,但是隨著業(yè)務(wù)的深入,我們發(fā)現(xiàn)類別不均衡這一問題給結(jié)果預(yù)測造成了不小的干擾。在提高預(yù)測精度的實踐當中,我們發(fā)現(xiàn)了一個有趣的現(xiàn)象:如果在進行下單率預(yù)估的時候在特征中加入用戶在這次瀏覽之后是否離開這一信息,預(yù)測精度會有很大的提升。這引發(fā)了我們的思考:用戶離開和用戶下單之間存在什么樣的關(guān)系。隨后我們又做了一個實驗:進行用戶離開意圖識別,并在特征中加入了用戶兩小時內(nèi)是否下單這一特征。實驗結(jié)果表明加入是否下單這一特征并不能給離開率預(yù)估的任務(wù)帶來增益。這樣的實驗結(jié)果其實是符合邏輯的:用戶能夠下單的前提是用戶一定要留在APP內(nèi)不離開,前者的發(fā)生在邏輯上需要依賴后者的發(fā)生,因此在進行下單率預(yù)估的時候加入是否離開能夠為模型提供一定的信息增益;相反,用戶是否離開更多取決于用戶當前的心態(tài)以及APP能否很好地承接他,用戶是否下單并不能影響用戶是否離開。我們可以認為:
可以看到,在進行下單率預(yù)估的時候(P的計算),用戶停留意圖識別(S的計算,或者說離開意圖,二者等價)將可以用來作為輔助任務(wù)提升預(yù)測效果。我們的實驗也驗證了這點。
盡管在我們這一任務(wù)當中,我們只需要預(yù)測停留意圖和下單意圖,但是在之后擴展的場景中,更多意圖也可以被識別:比如用戶去往搜索的意圖,用戶去往新人專區(qū)的意圖等。所有意圖其實都像下單意圖和停留意圖一樣存在一個邏輯上的先后關(guān)系(至少所有意圖的產(chǎn)生都依賴于用戶不離開),這樣的關(guān)系使得我們想到了機器翻譯當中語句生成:后一個單詞的生成依賴于前一個單詞的預(yù)測,這啟發(fā)了我們在encoder-decoder的基礎(chǔ)上采用seq2seq的思想:decoder會先生成S,并在此之上生成P。這樣做有兩個好處:
1.在一定程度上緩解了我們一開始提到類別不均衡問題:盡管不是所有用戶都下單,但是所有用戶一定會離開APP,離開意圖識別并不存在類別不均衡的問題
2.我們這一套意圖識別框架可以擴展到無限多的意圖識別當中,只要提供先驗的邏輯先后關(guān)系
我們使用普通的RNN完成每一個意圖的識別。
loss設(shè)計
全局的loss是由停留意圖識別和下單意圖識別兩個任務(wù)的loss相加得到:
第二階段:求解MCKP
根據(jù)第一階段得到的實時意圖$P$和$S$,我們在這一階段完成紅包的最終發(fā)放。我們將這一問題建模成一個多選項背包問題,我們作以下定義:
1.j用來索引紅包,表示第j個紅包,i用來索引用戶,表示第i個用戶 2.c_j表示第$j$個紅包的面額 3.x_{ij} = 1當且僅當?shù)趇個用戶被發(fā)到了j紅包 4.\gamma 表示用戶停留興趣閾值,我們只給那些停留意圖足夠低的用戶發(fā)紅包,停留意圖如果不夠低我們認為他還會繼續(xù)瀏覽,因此這次先不發(fā)放紅包 5.P_{ij}、S_{ij}分別表示第$i$個用戶領(lǐng)取到第$j$個紅包以后的下單率和停留率 6.B表示全局預(yù)算約束運用以上的定義,紅包發(fā)放問題可以被寫作:對于任意的用戶,滿足S_{ij} <= gamma,我們求解以下最優(yōu)化問題:
通過上式求得的x_{ij}和j,我們就得到了最終的分配方案。
四、系統(tǒng)部署
目前在集團做端智能首推jarvis平臺,在這里給相關(guān)同學點贊,在最開始的時候沒少麻煩jarvis同學解決問題。運用jarvis,我們可以收集端上實時數(shù)據(jù)并將深度模型部署到端上。我們主要是將IIDN部署到端上,MCKP決策模型由于需要考慮全局最優(yōu),所以放在了服務(wù)端。
圖-3是我們整體的系統(tǒng)架構(gòu),每一個用戶在詳情頁回退到landing page的時候會觸發(fā)決策模型,IIDN首先根據(jù)端上采集到的行為數(shù)據(jù)識別出用戶的下單和停留意圖,隨后該意圖會被推送到服務(wù)端參與最終的紅包決策。我們這套系統(tǒng)在日常線上持續(xù)生效,同時還參與了0331商人節(jié),助力買家數(shù)的提升。
五、實驗
實驗設(shè)置
我們從1688客戶端收集數(shù)據(jù),用到的特征如下表:
實驗分為兩部分:離線實驗和在線實驗。離線實驗主要驗證IIDN對于意圖的識別效果,驗證指標是AUC和logloss;在線實驗主要驗證我們二段式建模對于紅包發(fā)放的效果,主要的驗證指標是增量買家成本 (increment cost, ic),它被用來衡量每帶來一個增量買家需要消耗的成本,計算公式如下:
離線實驗
在離線實驗環(huán)節(jié),我們分別使用以下方法進行下單意圖識別,并進行比較:
1.Logistic Regression (LR) 2.Gradient Boosting Decision Tree (GBDT) 3.DNN + RNN [12] 4.IIDN-single-LSTM (單層LSTM) 5.IIDN-non-attention (無Attention機制,使用簡單的全連接) 6.IIDN-non-auxiliary-task (沒有輔助任務(wù)的IIDN) 7.IIDN離線結(jié)果如下表:
可以看到IIDN達到最高的AUC和最低的Logloss,這證明了IIDN的合理性。
在線實驗
我們主要和另外三個發(fā)放方案做比較:
1.不發(fā):該桶所有用戶均不發(fā)紅包 2.全發(fā):該桶所有用戶均發(fā)紅包 3.uplift:我們采用廣告營銷當中常用的uplift方案,對每一個用戶發(fā)放使他轉(zhuǎn)化率提升最大的面額,同時該面額帶來的轉(zhuǎn)化率提升需要大于一定的閾值,否則不發(fā)放紅包在線效果如下表:
模型分析
學習曲線
圖-4展示了不同方法的學習曲線,可以看到LSTM, Attention以及停留意圖識別任務(wù)均可以起到加速模型訓練的效果。
單調(diào)性分析
正常來講,紅包面額越大,對于用戶的刺激作用也越大,用戶下單率曲線應(yīng)該是一條關(guān)于紅包面額單調(diào)遞增的曲線,我們實驗得到的曲線如下圖:
可以看到所有模型基本呈現(xiàn)單調(diào)性,其中IIDN更加符合真實情況。
六、參考文獻
1. 競爭網(wǎng)絡(luò)下的智能紅包發(fā)放(ATA)
2. 花錢,我們是認真的 -- 基于用戶權(quán)益敏感與大規(guī)模分組背包的紅包發(fā)放算法(ATA)
3. 2018雙11:用戶來而未購?用戶購買意圖識別與驚喜紅包新玩法(ATA)
4. 社交營銷(1):雙11蓋樓,紅包有多少,樓有多高!| 基于社交裂變的C2C紅包智能投放(ATA)
5. 商家增長引擎系列二:全生命周期商家建模與直通車智能紅包(ATA)
6. Jarvis端上算法平臺介紹(ATA)
7. Agrawal, Shipra, Zizhuo Wang, and Yinyu Ye. "A dynamic near-optimal algorithm for online linear programming." Operations Research 62.4 (2014): 876-890.
8. Chen, Ken, Bao-Liang Lu, and James T. Kwok. "Efficient classification of multi-label and imbalanced data using min-max modular classifiers." The 2006 IEEE International Joint Conference on Neural Network Proceedings. IEEE, 2006.
9. Guo, Long, et al. "Buying or browsing?: predicting real-time purchasing intent using attention-based deep network with multiple behavior." Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2019.
10. Sutskever, Ilya, Oriol Vinyals, and Quoc V. Le. "Sequence to sequence learning with neural networks." Advances in neural information processing systems. 2014.
11. Ma, Xiao, et al. "Entire space multi-task model: An effective approach for estimating post-click conversion rate." The 41st International ACM SIGIR Conference on Research & Development in Information Retrieval. 2018.
12. Wei, Ermo, Drew Wicke, and Sean Luke. "Hierarchical approaches for reinforcement learning in parameterized action space." 2018 AAAI Spring Symposium Series. 2018.
延伸閱讀
點我購買
推薦語:本書是阿里巴巴CBU技術(shù)部(1688.com)深耕B2B電商15年的經(jīng)驗總結(jié)。阿里巴巴B2B在戰(zhàn)略形態(tài)上經(jīng)歷了信息平臺、交易平臺和營銷平臺的升級迭代,本書聚焦營銷平臺商業(yè)形態(tài)背后的算法和技術(shù)能力,試圖從技術(shù)和商業(yè)互為驅(qū)動的視角闡述技術(shù)如何賦能業(yè)務(wù),并結(jié)合阿里巴巴集團在基礎(chǔ)設(shè)域和算法創(chuàng)新上的沉淀,打造出智能B2B商業(yè)操作系統(tǒng)。
原文鏈接:https://developer.aliyun.com/article/770615?
版權(quán)聲明:本文內(nèi)容由阿里云實名注冊用戶自發(fā)貢獻,版權(quán)歸原作者所有,阿里云開發(fā)者社區(qū)不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。具體規(guī)則請查看《阿里云開發(fā)者社區(qū)用戶服務(wù)協(xié)議》和《阿里云開發(fā)者社區(qū)知識產(chǎn)權(quán)保護指引》。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,填寫侵權(quán)投訴表單進行舉報,一經(jīng)查實,本社區(qū)將立刻刪除涉嫌侵權(quán)內(nèi)容。總結(jié)
以上是生活随笔為你收集整理的科学地花钱:基于端智能的在线红包分配方案 (CIKM2020)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: troubleshoot之:用contr
- 下一篇: 一篇文章教会你创建vue项目和使用vue