旅行场景下的个性化营销平台揭秘
分享嘉賓:弘軼、尋瀟、溪懷@飛豬
編輯整理:郭嘉偉
內容來源:DataFunTalk
?
導讀:個性化投放的"無人駕駛"平臺何以自動化支持上千個場景的千人千面投放?商家、運營、小二,我們如何做到極致賦能和提效?面對旅行場景下用戶需求低頻、行為稀疏,特別是在營銷活動大促期間,用戶量迅速增長,用戶的冷啟動問題更加嚴峻,如何提高冷啟動用戶的推薦效果成為關鍵。另外,面對旅行場景下的豐富多樣的的貨品需求依賴關系,我們如何來組織和呈現給用戶?阿里飛豬個性化推薦團隊將通過本文,為大家帶來旅行場景下的個性化營銷平臺揭秘。
主要分享內容包括:
-
背景
-
個性化營銷平臺架構
-
個性化營銷平臺算法
01
背景介紹
飛豬專注于在旅行場景。個性化營銷團隊承接飛豬日常場景和會場場景,我們會給用戶呈現千人千面的個性化投放。
1. 日常場景
飛豬App上有眾多頁面。上圖最左的首頁界面中,上方是Banner,下方是猜你喜歡。由首頁的入口可以進入各頻道頁,包括周邊游、飛豬門票、旅游度假等。各頻道頁有不同的投放模塊,這些全都由個性化營銷平臺承接。
2. 會場場景
每年的雙十一、六一八、五一、春運、暑促等會場中,個性化營銷團隊承接各場景模塊,包括主會場、全部會場、目的地會場、一些榜單會場等。
3. 挑戰和難點
面對眾多頁面和眾多模塊,個性化營銷存在如下幾點挑戰和難點:
-
投放頁面和模塊多樣化;
-
投放物料多種異構數據源;
-
運營干預配置多樣化;
-
如何統一個性化投放模型來賦能提效。
02
個性化營銷平臺架構
個性化營銷平臺架構的設計主要包括以下內容:
1. 場景抽象
我們首先對上節講到的日常場景和會場場景進行場景抽象,抽象出的場景包括:入口、單Tab場景、多Tab場景、膠囊、主題榜單、單物料投放、多物料混投、LBS推薦、周邊推薦和實時熱榜等。
-
入口:點擊后可直接進入商品詳情頁,我們認為不是入口,否則我們定義為入口;
-
單物料投放:只投放一種物料,如只投放商品或只投放酒店;
-
多物料混投:投放頁面可能有出現商品、酒店、門票、POI等多種物料;
-
LBS推薦:基于用戶定位的推薦。
2. 功能抽象
個性化營銷平臺可以投放的物料包括:商品、酒店、內容、玩法、目的地、商圈、主題、榜單、店鋪、優惠券、景點、POI等。
投放的功能包括:召回、排序、加權、打散、定坑。
-
召回:常規的個性化召回、弱個性化召回、冷啟動召回、熱門召回、觸發式召回;
-
排序:綜合考慮多個維度,如點擊率CTR、成交量GMV、人氣、銷量、距離等;
-
加權:為賦能運營,對爆款或者新品給予一定的扶持;
-
打散:保證呈現結果多樣化;
-
定坑:基于某些營銷目的,針對爆款、熱品給用戶進行定向的前置推送。
3. 鏈路抽象
我們將鏈路抽象為6個模塊:產品運行端、選品平臺、場景管理平臺、個性化投放平臺、前端、用戶。
-
產品運營端:運營端基于自身的行業理解,根據規則選品,為選品平臺篩選出商品池 、酒店池等,并配置場景管理平臺的投放規則;
-
選品平臺:生成選品ID后提供給場景管理平臺,將物料采取實時加離線的方式同步到個性化投放平臺;
-
場景管理平臺:將投放規則和選品數據同步到個性化投放平臺,接收個性化投放平臺返回的個性化結果;
-
個性化投放平臺:基于選品池和投放規則,給出千人千面的個性化結果返回場景管理平臺;
-
前端:接收場景管理平臺的結果,將內容呈現給用戶。
4. 個性化投放
本節我們將介紹個性化投放平臺如何構建人貨匹配的個性化方案。圖中從下向上依次是離線和在線處理過程。
-
離線處理會基于用戶歷史行為數據,對用戶和物料進行建模。
-
在線處理首先進行用戶理解和實時的上下文分析,目的是更精準的人貨實時匹配,即個性化召回。物料召回后平臺會進行匹配和排序,匹配和排序之間會有流量調控,目的是對新品 、爆款、尖貨等給予一定的扶持。排序結果會結合運營的投放規則進行更加精準的重排序最終呈現給用戶。
4. 用戶建模
用戶建模過程如圖所示,從最底層往上依次是:實時公共層、實時特征層、用戶表達層和實時服務層,其中用戶表達層是我們的核心工作。
-
實時公共層:收集用戶行為數據并落盤;
-
實時特征層:進行特征預處理,對用戶行為數據進行結構化、標準化和聚合化,對寶貝建立關聯,生成模型需要的特征表達,如用戶LBS狀態特征、商品認知標簽特征、頁面模塊統計特征等;
-
用戶表達層:基于實時特征層的原始特征進行加工、提純、聚合,生產用戶的特征表達,包括:用戶長短期偏好、用戶實時意圖、用戶需求預測、用戶行程、層次主題興趣;
-
實時服務層:平臺在該層對外輸出服務,輸出的功能主要包括:用戶狀態查詢、實時trigger查詢、用戶意圖向量、用戶興趣向量、用戶行程向量、用戶畫像標簽,其中向量為隱式表達,用戶畫像標簽為顯式表達。
5. 全域流量調控
全域流量調控過程如圖所示,從最底層往上依次是:實時流計算中心、調控商品配置中心、 PID調控中臺 。
-
實時流計算中心:監控飛豬、手淘、支付寶三端的實時行為,根據實時日志流獲取不同物料不同粒度下的實時PV,不同物料包括:不同item 、不同類目、不同目的地、不同賣家;
-
調控商品配置中心:主要由運營來參與,運營在日常或會場中需 要對一些爆款商品做一定的流量扶持,如熱門的目的地,熱門的行業,運營基于曝光流量和實時PV決策 是否給予更多的流量,算法方也會給予一個相應的建議,比如有的買家銷量高人氣高,算法會相應的提高權重,運營結合算法的策略在平臺進行配置;
-
PID調控中臺:使用一個改進的PID算法,通過小時任務更新、分鐘任務更新和誤差計算更新生成能夠影響個性化流量推薦的調控因子,該調控因子作用在個性化場景上,具體來說作用在匹配階段和排序階段,最終影響頁面上物料投放的流量。
整體的流量調控結果反應在實時調控看板上,可以及時做到自適應的反饋和流量調整。
6.?整體方案
整體方案集成如圖所示,從最底層往上依次是:數據后臺、個性化營銷中臺、業務前臺。
-
數據后臺:用戶分層、商品分層、玩法標簽體系、用戶標簽體系、人貨場匹配;
-
個性化營銷中臺:營銷能力矩陣、營銷算法技術、數字化營銷、全域流量調控
-
業務前臺:基于營銷中臺,提供運營平臺、營銷觸達、平臺導購。
03
個性化營銷平臺算法
下面我們將介紹飛豬個性化營銷平臺算法:
-
用戶session理解
-
用戶冷啟動技術
-
旅游玩法標簽體系建設
1. 用戶session理解
① 背景
旅行場景下,用戶興趣可能來源于多方面:用戶基礎屬性、用戶群體屬性、用戶實時興趣、用戶周期興趣、用戶長期興趣。
-
用戶基礎屬性:年齡、性別、購買力、地理屬性等,其中地理屬性包括用戶所在地是幾線城市,用戶是在老家還是新的工作地等。
-
用戶群體:用戶是白領或學生,用戶朋友圈的組成等。
本次我們會重點介紹用戶實時興趣的挖掘,也就是用戶session理解。
用戶session 中會有以下行為:首頁、搜索、商品頁、收藏、加購、購買。完整的session從進入首頁直到完成購買,期間可能發生若干次搜索、商品頁、收藏、加購行為。但是常見session并不完整,往往未完成購買就會退出APP。針對不同的session,我們會進行session理解。
② 用戶行為網絡抽象
用戶行為session中產生一次點擊Item的行為,有很多附加關系可以利用,這種附加關系可以用異構圖的形式表現[1]。
-
用戶側可以構成一張關系圖:提交Query 、加購商品,收藏景點等,用戶還會有一些自身的屬性 ,如年齡性別等。
-
Item側也可以構成關系圖:以門票為例,門票即一個景點,景點旁可能有酒店、景點本身有一些玩法元素,景點可能有專車接送之類的服務元素。
③ 用戶行為構建圖網絡
我們根據上節的抽象,構建了用戶行為網絡。具體來說,我們將用戶到商品的行為抽象為一個網絡結構圖,采取了GraphSAGE[2]的做法,訓練主要節點的Embedding。主要節點有用戶、商品、POI。用戶本身有一些屬性,如年齡、LBS、購買力等也會作為附加節點和主要節點建立邊。
-
訓練評測:MRR接近0.96,loss低于0.15。
-
離線評測:取HIT@20這個指標,User命中率不高,可能因為User鏈特別大,整體數據稀疏導致。對Item和POI的命中率都較高,Item約為 0.88,POI約為0.65。
④ 用戶行為session表達
基于上節介紹的用戶行為session中的節點向量表達,我們進而構建用戶行為session的表達[3]。我們首先檢索與當前session有協同信息的鄰居session。鄰居檢索:根據當前session有哪些item,粗篩出有相同item的session,再根據最大覆蓋原則選出自身有多個item和當前session相同的鄰居session。
當前session的通過long-term加short-term方式學習到當前表達:
-
long-term:attention機制
-
short-term:當前session最近一次行為過的item的節點的embedding
-
由long-term和short-term一起經過一個全連接生成當前表達
鄰居session通過global encoder加local encoder方式學習鄰居表達:
-
global encoder:每個鄰居session通過GRU生成表達
-
local encoder:所有鄰居session做一個聚合
鄰居表達通過Guided Attention with Time-aware機制經當前表達指導提出取協同表達后,當前表達和協同表達通過Co Attention機制學習到最終表達。離線在item集上評測,HIT@20 約為0.6,POI上約為0.49。
2. 用戶冷啟動技術
① 背景
我們將近最近3月沒有任何行為的用戶劃分為冷啟動用戶 ,冷啟動用戶在飛豬、淘寶、支付寶三端占比都很高。用戶的行為稀疏或者無任何行為,使得推薦系統無法有效捕捉到用戶的真實興趣,特別是在大促期間,用戶量迅速增長,用戶的冷啟動問題更加嚴峻。
② 基于層次主題知識的召回
營銷場景上沉淀了?量運營根據行業知識精?選品后的數據域,這些數據域劃分的topic涉及多個維度?( 類?、玩法、POI、?的地、銷量、熱度等 ) 且具有層次性,不同層次代表了?戶不同的購買心智。
以圖中右側為例,從level 1中可以獲得用戶對于類目的偏好,從level2中可以獲得用戶對于不同玩法的偏好。我們在不同層次學習用戶不同的購買心智,通過不同數據域的偏好去映射得到用戶可能偏好的一些寶貝。
航旅背景下,目的地是重點考慮的維度。同一區域的用戶,朋友、親屬關系往往比較集中,分布比較一致,同?區域的?戶偏好具有?定相似性這一現象更加明顯。
我們據此提出U2Htopic2I:
-
選取一批飛豬的活躍用戶 ,根據活躍用戶的點擊、收藏、加購行為得出一個用戶對層次主題的偏好打分,考慮到航旅背景的特點,我們對用戶的行為加入了時間衰減因子,最終得到一個偏好主題庫;
-
將冷啟動用戶的區域性映射到偏好主題庫上,從而召回用戶可能偏好的主題,以及偏好主題下對應的寶貝信息。
U2Htopic2I存在的問題:
-
時間衰減過于嚴格,導致近期?為的topic權重過?,并且該權重很難人工去調節;
-
對于冷啟動?戶的topic挖掘維度過于單 ?,沒有充分利?到?戶的屬性信息。
我們據此提出Attr2Htopic2I:通過模型去學習?戶屬性到topic偏好的映射關系,對?為稀疏的?戶或??為?戶, 根據?戶的屬性信息關聯到?戶的偏好。
Attr2Htopic2I同樣是選取一批飛豬活躍用戶,與U2Htopic2I不同在于,通過模型去預測歷史活躍用戶對層次主題的偏好。通過冷啟動用戶的屬性集,將其映射到偏好主題庫上,從而召回用戶可能感興趣的寶貝。
用戶側我們提取用戶的靜態信息,因為對冷啟動用戶而言,我們只能利用到用戶的基本屬性,如年齡、性別、區域信息、購買力等。層次主題一側我們提取層次主題的標簽信息,如人群、品牌、目的地區域、玩法等。
用戶歷史行為過的層次主題的數據量極大,為使模型更好地學習用戶的層次主題偏好我們采取如下方式構造樣本空間,增大正負樣本的差異性:
-
正樣本:用戶最近行為過,且點擊率比較高的層次主題;
-
負樣本:最近曝光較多,但用戶沒有產生點擊的樣本。
線上測試結果顯示,U2Htopic2I在淘寶端帶來了2個點的提升,Attr2Htopic2I在U2Htopic2I的基礎上,在淘寶端帶來4個點的提升,效果明顯。
③ 基于用戶跨域映射的召回
背景:三端稀疏?為?戶占?33.9%?( fliggy )、69.0% ( taobao )、65.8% ( alipay ),僅采?飛豬本場景數據難以覆蓋這么??例的冷啟動?戶。
思想:跨領域特征映射,將?戶在淘寶的?為特征向量映射到飛豬?為特征向量。
數據有效性和想法可行性:
-
飛豬用戶和手淘用戶的交集比例很高;
-
手淘端的部分寶貝行為和航旅寶貝具有一定的關聯性,如一個用戶近期在手淘端有沙灘鞋、沙灘褲、泳裝等行為,我們認為該用戶可能有海濱度假的需求,當他來到飛豬端時,我們就給他投放相應的寶貝。
模型構造:
通過在淘寶和飛豬兩端?為都豐富的?戶,學習?個user embedding映射函數,將三個領域間的知識遷移[4]。用戶在淘寶端的用戶畫像,除了用戶的點擊收藏加購外,我們引入了對于航旅場景下非常重要的用戶LBS行為序列信息。用戶飛豬端行為序列生成飛豬側向量表達,用戶在手淘端的行為序列、LBS屬性和用戶屬性信息生成手淘端向量表達。上述兩個表達共同輸入一個兩層的全連接網絡,學習到user的embedding。
訓練時,我們選取在飛豬端和淘寶端都有行為的交集用戶。線上召回時,我們把冷啟動用戶在手淘端的行為序列、用戶屬性和LBS信息輸入網絡,得到一個隱藏層的embedding,作為用戶在飛豬端的用戶畫像。根據隱藏層的embedding,計算其與寶貝embedding向量的相似度,召回飛豬端與其相似度最高的top@N的寶貝。
上面的方法在飛豬端帶來1到2個百分點的uctr提升,在淘寶端帶來了2個百分點的uctr提升。但是同時也存在以下幾個問題:
-
淘寶域知識使?不充分:忽視了?戶的群體特性對?戶的影響,以及商品之間的共性;
-
遷移過程粗糙:淘寶域的?戶特征與?飛豬域?戶特征空間不?致,直接映射帶來的gap較?;
-
建模局限性:訓練損失與在線召回?式?致性較低;
-
?戶局限性:?戶必須在淘寶端有?為。
④ 基于異構關系的冷啟動建模
我們將用戶與用戶、用戶與寶貝、寶貝與寶貝之間這種不同的關系稱為異構關系[5]。
旅行具有群體性:
-
群體?戶與?標?戶具有?定的相似性,群體?為代表了?標?戶的興趣?向;
-
群體?戶最近?為過的商品?定程度上反應了最近商品的熱度趨勢,防?為冷啟動?戶召回?量冷?商品。
訓練階段:
篩選出一批淘寶和飛豬雙端的活躍用戶,將活躍用戶在淘寶端的用戶行為序列和LBS信息通過聚類得到user group;將user group最近行為過的歷史寶貝和目標寶貝組成一個item group,通過這種方式引入了用戶與用戶、用戶與寶貝以及寶貝與寶貝之間的異構關系;分別將這兩個group輸入attention網絡中,學習目標用戶和user group之間的相似度,目標寶貝和item group之間的相似度,再分別加上用戶側的side information以及寶貝側的side information;再分別經過一個全連接網絡,得到user embedding和item embedding;最后計算embedding向量之間的相似度。
生成階段:
將冷啟動用戶在淘寶端的行為序列、LBS信息及user側的屬性信息輸入網絡;得到模型?標輸出隱層user embedding以及item embedding;利用user embedding和item embedding對冷啟動用戶進行召回,返回top@N的寶貝推薦。
我們進一步介紹user group和item group的構建。
user group:
-
關聯性:根據?戶的淘寶?為及lbs信息聚類得到user group,判斷user group最近行為過的寶貝是否與目標寶貝是同一主題,或者看user group行為過的寶貝是否在目標寶貝i2i可召回列表中;
-
實效性:優先使??戶的近期?為。
item group:
-
由user group內的?為商品構成,增加item group與?標商品的關聯性
離線評估,我們從真實點擊數據對比中看出,葉子類目及目的地相同的比例達到69%,完全命中的比例達到1%。上圖右側我們列舉了幾個線上真實召回的案例,如用戶在淘寶端行為過潛水鏡、沙灘鞋,我們則召回了關于海島、潛水方面的寶貝,用戶在淘寶端行為過防滑鞋套,我們據此召回了雪鄉相關的寶貝。
3. 旅游玩法標簽體系建設
我們將分為4個方面介紹玩法標簽體系建設:玩法標簽生產與挖掘、玩法標簽樹建設、玩法標簽樹掛載、玩法標簽的應用。
① 玩法標簽挖掘與生產
難點和挑戰:數據覆蓋更全面、更準確,同時精細化地綁定到寶貝上。
玩法標簽的挖掘與生產的迭代過程:
-
基于?本內容分析的TF-IDF算法抽取關鍵詞
-
基于?本?絡結構TextRank算法抽取核?詞
-
基于深度?絡模型TextCNN 意圖關鍵詞?成
主要思想:基于?本分類的思想,基于商品?本信息,預測商品的關鍵詞興趣點
主要?作:
-
樣本構建:對商品的?本信息預處理,提取候選詞序列,label為?戶搜索詞
-
模型選擇:TextCNN分類模型
-
?絡結構:詞embedding->卷積層->池化層->…..->全聯接->softmax層->輸出
-
數據??評測
② 統一的玩法標簽樹體系
在挖掘和生產了大量符合用戶感知的玩法標簽后,我們需要構建全?的,層級的,有旅?特?的統?玩法標簽樹體系。我們借助行業運營的經驗與知識,構建了自由的航旅玩法標簽樹,其中涉及了美食、??、交通、住宿等16個?級標簽,葉子結點則包括沖浪、滑雪等具體玩法。
③ 玩法標簽的掛載
在構建好玩法標簽樹之后,我們需要將標簽準確的掛載到寶貝之上。一個寶貝可以擁有多個玩法標簽,玩法標簽掛載本質上是一個多標簽問題,我們將其拆解為多個二分類問題。飛豬團隊最初采取傳統的機器學習方法。我們取得了玩法標覆蓋占?90.21%、 商品覆蓋占?92.12%、 商品??評測準確率88%的結果。傳統方法存在標簽信息利用不充分的問題,人工評測準確率依然有可提高的空間。
傳統方法將掛載過程拆成3個部分,f0是學習文本關鍵詞的embedding,f1是抽象出整個文本的embedding,f2是一個掛載模型,全程都沒有利用到標簽信息。
我們采用LEAM[6] 算法:學習word和label在同?空間內的embedding,利?text和label的相關性構建?本表示,提高掛載準確率。
我們將玩法標簽準確掛載在寶貝上后,可以有如下應用:
-
將飛豬常?的場景數據結構化沉淀出玩法標簽
-
將這些結構化數據之間通過玩法標簽建?關聯匹配關系
-
玩法標簽圈?、圈品投放
-
玩法主題?產、按場景玩法主題組織的投放
在實際的搜索界面,我們的標簽會作為market-in set展示。
進一步,我們希望在時空的場景下,結合玩法進行更深層次的應用。我們會基于用戶歷史行為數據,得到寶貝每一天的點擊、收藏、加購,寶貝的目的地等信息,并且寶貝已掛載相應的玩法標簽。我們進一步借助時序分析的方法,得到該寶貝在什么時間、什么地點、什么玩法是最熱門的,從而更好的服務用戶在時間、空間、玩法三個維度輔助用戶出行。
04
參考文獻
[1]. Zhao, Jun, et al. "IntentGC: a Scalable Graph Convolution Framework Fusing Heterogeneous Information for Recommendation."?Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2019.
[2]. Hamilton, Will, Zhitao Ying, and Jure Leskovec. "Inductive representation learning on large graphs."?Advances in neural information processing systems. 2017.
[3]. Lv, Yang, Liangsheng Zhuang, and Pengyu Luo. "Neighborhood-Enhanced and Time-Aware Model for Session-based Recommendation."?arXiv preprint arXiv:1909.11252?(2019).
[4]. Wang, Xinghua, et al. "Cross-domain recommendation for cold-start users via neighborhood based feature mapping."?International Conference on Database Systems for Advanced Applications. Springer, Cham, 2018.
[5]. Hu, Liang, et al. "Hers: Modeling influential contexts with heterogeneous relations for sparse and cold-start recommendation."?Proceedings of the AAAI Conference on Artificial Intelligence. Vol. 33. 2019.
[6]. Wang, Guoyin, et al. "Joint embedding of words and labels for text classification."?arXiv preprint arXiv:1805.04174?(2018).
總結
以上是生活随笔為你收集整理的旅行场景下的个性化营销平台揭秘的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分布式事务在Sharding-Spher
- 下一篇: 从DSSM语义匹配到Google的双塔深