飛豬旅行推薦算法應用實踐

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"italic"},{"type":"strong"}],"text":"本文是葬青在InfoQ公開課上的"},{"type":"link","attrs":{"href":"https:\/\/www.infoq.cn\/video\/36CrCWZPqlugg1dIKl4K","title":"","type":null},"content":[{"type":"text","marks":[{"type":"italic"}],"text":"演講"}],"marks":[{"type":"italic"},{"type":"strong"}]},{"type":"text","marks":[{"type":"italic"},{"type":"strong"}],"text":"全文,有刪減,並在不改變原意的基礎上作了編輯和整理。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"每天,海量用戶通過飛豬平臺瀏覽和挑選旅行產品,如何在分秒間幫助用戶發現、定位、挖掘出心儀的產品,並匹配出最佳的商品組合?這正是飛豬導購算法團隊的研究方向。飛豬通過建立個性化導購體系,包括引入用戶畫像、行程語義表達以及全鏈路行爲排序等,實現對用戶需求的預測和匹配,將可能被購買的產品呈現在用戶面前。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"本文中 ,阿里巴巴飛豬旅行的高級算法專家葬青將從旅行行業的典型場景切入,提煉出飛豬在用戶理解領域的普適經驗,希望爲大家帶來啓發。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"飛豬旅行業務簡介"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"發展歷程"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"飛豬是阿里巴巴旗下的旅遊產品,主要面向年輕消費者的休閒度假品牌。在飛豬上,用戶可以訂酒店、度假、交通等相關產品。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/6f\/ff\/6f3ef295d2b9480d52537b18d01ef7ff.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"自2012年以來,飛豬至今已走過8年成長曆程。2012年-2013年,飛豬是淘寶的一個垂直類目;2014年-2015年,開始獨立出來做阿里旅行;2016-2017年,飛豬開始做整個場景的導購;2018年至今,飛豬開始大力做場景化和內容化導購。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/df\/54\/df10dd6939f2494ca54ed93f7b72e554.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"機酒火度假業務"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"下圖展示了飛豬主要的實體,最左邊是飛豬的酒店小搜,主推酒店的日曆房;中間是飛豬的整個交通小搜,主要是機票相關。最右邊是飛豬的度假板塊,主要包括度假相關的商品,如門票等。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/e8\/52\/e88de44ab189405dcab0fcf9d3397c52.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"飛豬旅行問題&挑戰"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"旅行推薦場景&特點"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"首先介紹一下,在飛豬APP中哪些是推薦場景。如飛豬APP首頁中間位置的“百億補貼”和“特價機票”是兩個推薦的場景,主要給用戶做特價類相關商品的推薦。在APP下方是飛豬的“猜你喜歡”模塊,其通過多Tab的形式,如有旅行直播、杭州周邊、住哪裏等。飛豬APP採用無限下拉的瀑布流,用戶可以無限瀏覽,在瀑布流裏面有很多門票、酒店、景點、攻略等物料的混排,在Feed 流裏有融合主題、榜單等多種場景化的導購。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/67\/yy\/67923c8e1998a286b048db5fe75e6dyy.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"接下來是一些場景特色的推薦入口,如在左邊機票頻道頁有一個“特價”的“猜你喜歡”模塊,其主要通過特價的形式給用戶個性化的推薦OD,推薦出行的機票策略。右邊是整個機票、酒店頁面,包含上面的“特價”模塊,下面的酒店“猜你喜歡”模塊,特價的模塊,主要包括百億補貼模塊和特價酒店模塊。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/26\/fe\/263a0579559d4b11339686da2a6ea6fe.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最下面的“猜你喜歡”,是從用戶出行的角度爲其推薦合適的酒店,也是採用無限下拉瀑布流的形式,裏面結合了各種動態導購的決策信息。最後在用戶下單路徑結束後,用戶會進入度假詳情頁,這裏有“看了又看”,重點爲用戶提供相似推薦,爲其提供更多途徑去做相似的比價。右邊是用戶下完單後,在用戶的訂單列表詳情頁會有一個主打行程搭配的交叉導購需求的“猜你喜歡”板塊。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/51\/40\/518c18ab4e01ecabb8c55d54f14fd840.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"以上就是在飛豬APP上所有的有較大流量的推薦場景。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"那麼,旅行場景下的推薦具有哪些特性呢?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"衆所周知,對於旅行來說,用戶有明顯的生命週期特性,大體上可以分爲四個過程:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一是用戶旅行前,一般會有一個激發需求的過程,在這個階段,用戶一開始會帶着好玩、熱門的心態去找一些自己偏好的東西。用戶在逐漸在尋找的過程中,會慢慢過渡到追求性價比階段。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"接下來用戶進入到行前階段,在這個階段,用戶主要劃分爲兩個子階段 — “尋找”和“決策”,在“尋找”的子階段中,用戶開始刻意的尋找旅行目的地,意向的酒店、交通方式,景點門票等。在尋找階段,用戶背後的行爲邏輯是在尋找一個出行方案。在決策階段,用戶會進入到交易過程,開始關注於每一個細節,這背後是尋找最優決策的過程。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"用戶下完單之後出發了,接着會進入行中階段,這個階段,用戶最主要的需求是與周邊好玩兒地方的信息表達和信息的傳遞。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"接下來,用戶會到行後階段,這裏存在一個反饋機制,有了這個反饋機制,用戶會進入下一次“激發需求-行前-行中-行後”的循環。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/d3\/c3\/d38dfaeeda33ccb346961d5da04e4cc3.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在整個用戶旅行的生命階段,我們重點要關注三個關鍵,第一個是狀態,用戶的旅行有明顯的狀態需求、狀態變化。第二個是需求,在整個用戶旅行狀態的切換過程中,用戶的需求差異較大。第三個,有了需求後,用戶的背後需要決策,整個決策的路徑不一樣。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"飛豬旅行另一重要特點是,因爲背靠整個阿里巴巴集團,所以飛豬有很多入口,例如淘寶、支付寶、高德等,每個端上都有旅行相關的商品或內容信息的透出。但每個端用戶的心智又千差萬別,如在飛豬端,優惠、種草和心智三個需求可能都需要兼顧,在淘寶端和支付寶端,可能優惠的心智佔的更大,在高德端是優惠和心智。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"用戶看到的端不一樣,但其實端只是一個表面的場景,背後暗含着用戶在不同的端,長期積累下來的心智的轉變。在飛豬,用戶在追求優惠的心智過程中,其實是在追求一種性價比,因此飛豬端會針對性做“種草”和“心智”的表達,這是激發需求的階段,因此,我們在做推薦的過程中要考慮多端、多場景的差異。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"此外,旅行場景下的推薦有一個通有的特點,我主要從以下三個方面來解讀。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第一是旅行本身是低頻的,一份公開數據顯示,平均一位用戶旅行的次數小於等於3,這佔據了大部分的用戶比例;下面中間這張圖,我統計了用戶整個旅行的決策週期,可以看到,用戶的平均決策週期大部分在3天以上,甚至有一部分用戶在7天左右,整個用戶決策週期非常長,不像在淘繫上買商品,用戶可能幾個小時就能決定是否要下單。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/6c\/57\/6c8cb2de5e1df3cd5d1bd75b3262fd57.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第三個方面,隨着現在OTA平臺越來越多,用戶的某一次旅行,不可能在一個OAT平臺上完成所有交易,一般會橫跨很多APP。這導致的一個問題是,用戶的整個行程在單獨一個APP上是不完整的,我們在推薦過程中要考慮這個問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"飛豬旅行推薦演進"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"飛豬旅行的推薦演進,主要從三個方向進行解讀— 用戶畫像、召回體系、排序體系。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"飛豬旅行推薦系統的整個技術演進大致經歷了三個階段。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在2017年以前,主要通過一些簡單的線性和樹模型,結合簡單的通過率,來實現整基礎個性化的邏輯。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在2018年到2019年,我們針對旅行遇到的一些問題,開始邁入深度學習時代,然後結合一些旅行特點,如週期性召回及熱門推薦等做深度個性化推薦。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從2019年到現在,開始逐步進入了旅行行業的深水區,我們開始去考慮用戶的整個行程,整個旅行生命週期,及針對冷啓動問題,多端跨越、用戶Section理解等問題尋求解決方案。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/2d\/64\/2d91f1870307631236a8c7167bf12764.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"目前爲止,我們建立起了一套完整的旅行特色的推薦算法體系,自下而上分別是基礎設施、召回層、排序層和業務層。其中在基礎設施層,通過這些年的積累,我們建設了兩套用戶畫像系統 — RTFS和RTUS。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/33\/96\/33086e72086438f3b71960e91467f796.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"RTFS可以理解成一套用戶的 Run  feature系統,RTUS是在RTFS之上,對用戶的各種Run  feature 進行了各種程度的聚類,及各種意圖的深度識別。在這之上,除了傳統的協同過濾,弱更新化的召回策略外,我們逐漸發展了長期行爲的召回,基於User Travel State的召回、行程的向量表達,搭配交叉召回,週期性復購。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"特別是針對冷啓動,我們做了很多嘗試。例如,冷啓動時的用戶表達,基於時空的用戶的聚類,以及用戶的全域行爲的特徵收集。在召回層建設完後,我們分別從速排、精排、混排建設了一套完善的排序體制,分別來解決旅行的多目標問題、時空感知、多端多場景下用戶的意圖捕捉,以及用戶在整個飛豬域旅行的跨域問題,即橫跨“機酒火”多種行爲注意力模型。最上層是服務,服務整個“猜你喜歡”及前面所說的各種推薦模塊。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"用戶畫像"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"用戶畫像是個有點老生常談的問題,但在旅行場景,我們把用戶畫像作爲一個非常重要的角色去做。正如前面所介紹的,整個用戶有幾個通用的問題,低頻,冷啓動,週期長。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"總結起來,面臨兩個大問題,第一,用戶的旅行行爲是非常稀疏的,這要求我們在用戶畫像裏必須涵蓋的足夠全,要橫跨機酒火等多個類目,從用戶點擊到詳情頁,到用戶下單頁,整個全鏈路的用戶日誌收集的足夠全。第二,旅行是低頻行爲,用戶可能三個月或兩個月纔來一次APP,這要求我們在每一次用戶來的過程中,用戶畫像必須能夠準確實時捕捉用戶。如果用戶這次的到來,無法精準實時地捕捉到用戶,那用戶可能在很長時間內都不會來這個APP了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/e2\/5a\/e2eb21eaefd89df625fff7512e5c065a.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"後面整個用戶畫像,我會從豐富和實時兩大特點上來介紹。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"首先在“豐富”上,我們旅行的用戶、實體、行程、LBS四個緯度建設了比較全的特徵體系。如在旅行實體維度,我們去建模,挖掘各種類目跟類目之間的關係,包括搭配關係,類目和城市的關係,城市和城市的關係,鄰居關係,城市和玩兒法的關係,某些城市的熱度,類目的熱度,玩兒的熱度,各種趨勢的排名等。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/e6\/c8\/e694c877f57b6c06b013950c09f8f6c8.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在行程方面,重點建設行程中心,實時建模用戶在行前,行中,行後的行程偏好,行程意圖,行程結算。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在LBS方面,我們主要通過RBS挖掘用戶的羣體特性,及用戶的羣體偏好。在用戶側除了常用的準實時特徵及正負反饋之外,還重點挖掘了用戶的長期週期性偏好和目的地偏好。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"有了這些比較全的特徵後,我們建設了一套比較完善的用戶畫像中心。主要解決兩個問題,一是這麼多的用戶實時特徵,如何保證性能的問題?推薦場景這麼多,怎麼讓各個場景接入用戶畫像保證一致性?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"因此,我們構建的用戶畫像,主要分兩層,第一層是RTFS(Real Time Feature Service ),把用戶在整個旅行域的交通、酒店、度假的瀏覽、點擊、搜索、收藏等行爲全部納入全鏈路的準實時日誌,然後制訂了一套完善的日誌標準和規範,從行爲和場景兩個維度,聚合計算出來四大維度的基礎特徵,如用戶的實時狀態、用戶全域的行爲序列,及用戶全域和行業的統計類特徵,實體的熱度和趨勢等特徵,這是整個RTFS的基礎特徵。有了RTFS之後,我們在2019年時建設了第一套用戶畫像中心— RTUS,就是Real Time User Service 。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/1f\/0f\/1fff152858bf921a183a898ebf26390f.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在整個RTUS裏,我們重點建設了四大類特徵:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第一是用戶的實時類特徵,重點做用戶是否是新老用戶的判定,生命週期的判定及用戶的LBS狀態;"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第二是實時行程,對於旅行來說,行程是最主要的信息,因此我們構建了用戶的實時行程中心,可以快速捕捉用戶行程的切換,行前、行中、行後,快速捕捉用戶的行程意圖。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第三大類是實時的興趣,實時的興趣對用戶非常重要,對旅行來說同樣如此,我們要快速準實時的捕捉用戶的實時興趣,重點建設了用戶的類目偏好,目的地偏好以及玩兒法偏好。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第四類是用戶的實時意圖,因爲旅行場景下實體比較多,需要實時建模用戶價格到位的意圖。旅行尤其是酒店場景,復購比較多,因此在實時意圖裏又重點建設了用戶的復購類型的意圖。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"還有一個重點是週期性實名地圖,用戶畫像中心建設完後,推薦的所有場景都會實時介入到用戶畫像中心,這時大家可能會問,這麼多的興趣偏好,計算非常耗時間,怎麼保證性能的問題?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"針對這一點,我們聯合數據和工程團隊,做了一個大膽的嘗試。看下圖,藍色的線表示老的流程,老的流程從用戶進來首先訪問推薦或搜索的業務,之後再去串行請求用戶畫像中心,每個場景都有一套單獨的用戶畫像中心,串行的請求耗時會比較多,在這裏,我們聯合工程團隊做了一種異步構建用戶畫像的方式。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/3f\/b3\/3fbb5f6c5e2045cbee33ddaa359368b3.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如上圖紅色部分所示,用戶在旅行的任何一個端或場景上只要接觸過旅行相關的場景,就會自動觸發實時機制,實時機制會異步更新用戶畫像中心,用戶畫像中心會把用戶的實時畫像更新到實時畫像的存儲裏,包括全量和增量,其他所有的推薦場景加搜索場景,直接讀取計算好的數據。我們通過直接對接整個用戶的全鏈路實時流,保證異步的損耗做到非常小。我們通過這樣的搭建,首先解決了異步計算的問題,可以讓用戶畫像實時做計算。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"整個用戶畫像收歸到一起,各個場景都可以調用,保證了用戶畫像的一致性。此外,它的可複用性非常強。以上就是整個用戶畫像的構建過程。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"召回體系"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"有了用戶畫像後,我們開始在整個用戶畫像的基礎上去思考旅行的召回體系應該怎麼構建。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"正如前面所介紹的,旅行有生命階段,用戶會分爲靜默、“種草”、決策、衝刺,和行中階段,每個階段用戶的需求不一樣,用戶在切換狀態的過程中,存在切換狀態行爲不連續,意圖沒有精準捕捉的問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對於靜默和種草的用戶,可以結合下面這張圖看一下,靜默和種草的用戶的佔比,大概佔了40%左右。因爲這部分用戶的行爲屬於整個旅行的最基礎階段,他們的行爲還不是很多,怎麼在召回階段對這類用戶進行比較好的刻畫,是一個挑戰。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/9f\/17\/9f61bdae7b6c25a216275f387be52117.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"針對這些問題,我們提出了幾項解決方案:第一是,要依託於RTUS來構建整個用戶的行程的理解服務,能對用戶的行程做比較精準的理解,準確判斷出來用戶行程的階段,及用戶行程的意圖。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第二個方案是通過規則來對用戶進行羣體劃分,我們利用把用戶具體分成靜默、種草、決策、衝刺、行中這幾個階段,研究每個階段用戶的羣體共性來對一些行爲少的用戶進行偏好的計算。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"首先在召回體系裏,一個基礎是基於協同過濾的方式,之前不管是基於普通的協同過濾,還是基於阿里集團的Swing,都面臨着幾個問題。一是,因爲旅行場景下,用戶的意圖發散較嚴重,例如下圖片左下角這個用戶,TA在決策期,會點很多旅行目的地,如,塞班和大理,在這種情況下,如果用普通的協同過濾和普通的Swing階段方法,會將塞班和大理關聯在一起,得出的結論就是“點過塞班的人都喜歡去點大理”,這顯然不太準確。另一個典型的例子是,飛豬平臺上有很多用戶買接送機,例如可能買去西安的接送機,買北京的接送機,如果基於普通協同過濾和Swing,會得到一個結論,買了西安接送機的用戶大概率都會買北京的接送機,這其實是完全沒有任何關係的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這2個例子反映出的缺點是,它在計算用戶偏好時,沒有把實體與實體之間的關係考慮進去,因此我們提出了基於MetaPath-Swing的計算方式,即在整個建模排隊的過程中,增加了Path約束,任意兩個實體之間需要有一種“邊”可以到達,例如二者不是處於周邊的POI,它倆是不是屬於一個POI,它倆的目的地是不是一樣,在整個離線上,我們對Top20作了整個離線指標的對比,在Top20的準確率大約絕對值有百分之幾個點的提升。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/c0\/71\/c03f03441d0a1f24dfaa6d5d8b5e2c71.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"接下來是用戶行程的刻畫,行程是用戶旅行裏非常重要的一個因素,且用戶的行程有明顯的連貫性、個性化,如同樣是去北京,親子用戶和非親子用戶的需求差異顯著。可能另一個行程的用戶會重點考慮搭配或者交叉的因素,如買了機票,需要搭配下接送機或當地玩樂服務。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"針對行程方面,我們提出了基於行程的個性化召回策略,採用深度召回的方式,重點構建了用戶跟行程的關係,及行程跟商品之間的關係,線上通過向量檢索的方式來對有行程的用戶進行偏好的刻畫,我們分別在對召回的不同的Itia-dm做了全面評估,相比關鍵化策略來說,提升比較明顯。因爲大部分有行程的用戶只是有行程,在飛豬平臺上還沒有觸發很多的行爲。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/0f\/06\/0fcda52c19403114c53f2c18245f7a06.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"接下來是另外一種用戶狀態的刻畫,旅行是分週期階段的,在靜默和種草階段,用戶的行爲非常少,而這部分用戶佔比又非常高,怎麼能找到這些用戶偏好的商品?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對此,我們採用了一種羣體策略的想法,通過模型來捕捉不同旅行階段內羣體用戶的特性,對新用戶進行偏好計算,重點經營。我們把用戶的基本屬性,如年齡、性別、購買力,RBS位置等,結合用戶的State來對其進行特徵表達。這部分用戶的特徵表達,代表的是這一個羣體內用戶的特徵表達,當線上有用戶過來的時候,我們直接用這個特徵表達來去給用戶去做召回策略,整個離線和線上的效果提升也比較明顯。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/13\/80\/134592ec776da57f15db26eed37f7a80.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"排序體系"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"飛豬整個旅行排序體系大概經歷了四個階段:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第一個是普通的機器學習階段,如2017年的XFTRL階段,而後我們逐漸切換到通用的深度學習排序,主要是基於阿里自建的XPS和XTF系列。後來,我們開始做場景化深度化排序,及旅行特色排序,如基於旅行FSL— CVR,稀疏的問題,我們嘗試用MOE的方式去解,針對於旅行的分階段提出了基於Stated- MMOE的解決方案。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/ff\/a6\/ff023036a4bc09ffbeb2650e9b1565a6.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"下面挑選幾個比較有特色的介紹下。首先,我一再強調旅行是分階段、分狀態的,但之前因爲推薦的場景比較多,之前推薦的場景是互相獨立的,場景與場景之間沒有充分地共享數據行爲。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"其次,在不同場景、階段下,背後隱藏的用戶需求不一樣。一般在首頁,TA是“逛”的需求;進入訂單頁面後,更多是“決策”的需求;到了客戶界面,可能是交叉搭配的需求,之前在各個場景之間,日誌沒有互通,沒有充分地做到場景之間的互補性;"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"再次,沒有全鏈路的建模,很難捕捉用戶的實時意圖。所以,我們做了統一的特徵協議與埋點體系,構建了全鏈路統一的用戶畫像中心;"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/33\/a8\/336ffc895d0e25d96c62c297c4db3ba8.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最後,在模型層面,我們嘗試用State、MMOE的方式來捕捉用戶的狀態差異性。首先說整個旅行全域的特徵一致性,因爲對於推薦的場景來說,它大大小小都有,只要是有用戶的地方,可能都會“塞”一個推薦場景,這就導致推薦的場景比較分散,沒有形成合力。2019年我們花了很大精力去做全鏈路用戶的場景梳理,從用戶建模,統一埋點協議、各種離線特徵,統一一套埋點體系,搭建了統一的離線訓練流程,可以支持場景間快速的訓練和在線預測。建設完成後,各個場景之間的數據可以充分互通,每個場景可以用其他場景的數據去彌補數據行爲稀少的問題;每個場景都可以用其他場景的數據做全鏈路的建模。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/5e\/0b\/5e1d2f6c9280fe117dcbdb858b5dyy0b.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"搭建完一套完整的特徵體系後,我們提出了針對於旅行場景特色的模型,主要是基於旅行特色的特徵體系。重點引入了用戶的全網信息,用戶實時的正負反饋信息。模型主要有三個特點:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第一個特點是熱門現象太嚴重,因爲在旅行場景,很多的,有大量的ID特徵,但是ID特徵的規模也比較大,很容易學得不充分,且熱門現象較嚴重,我們引入了圖像Adaptive-L2正則化,來對熱門的RD來打壓。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第二個特點,考慮到有用戶在整個旅行場景,在全鏈路都有各種實時的正負反饋行爲,我們引入了全網場景內的實時正負反饋來去捕捉用戶的偏好。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第三個特點,用戶的旅行一般是跨域的,即用戶的每次旅行一定是需求,如去泰國旅遊,一定既需要買機票,又需要買門票,還需要買酒店,針對這種情況,我們提出了利用CNN結構來捕捉多業務序列之間的共性,在下圖右下角可以看到,藍色的線是Base鍵,綠色的線是模型的NUC的效果,可以看到通過引入了這麼多的特徵,及模型上結構的變化,離線的效果提升了很多。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/14\/2f\/1440642ac9fd7cc4d52dd0b38ddb482f.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"前面說道,旅行場景多,每個場景數據之間沒有充分地共享,用戶旅行完後,從首頁到訂單列表頁到購貨頁面,是一個多場景觸達的過程。我們當時在想,能不能充分地把用戶在各個場景之間的數據利用起來,挖掘用戶在這些場景背後不同的意圖,當時提出了一種Global-Ranking的思路,把用戶在整個首頁,“猜你喜歡”,郊遊鏈路等多場景的日誌做統一,統一建模用戶的偏好。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我們針對這些提出了幾點改進:一是把所有推薦鏈路的用戶數據全部統一,或者充分挖掘數據之間的共性;二是另外利用時空模型來提取一些隱藏的信息,來作爲特徵輸入。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"另外,針對旅行每個場景背後的意圖的明顯區分性,如首頁“逛”的特性,“猜你喜歡”,用戶的“行前、行中”階段等,引入了MOE結構來對建模多端多場景用戶的不同心智。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/da\/bd\/da3ca94ee257db15830cfc8eefbdaebd.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"每個場景之間有數據差異性,我們增加了場景之間的Class  Loss來解決這個問題,同時在最終的損失上會綜合考慮場景,數據的樣本差異的Loss,及場景自身的歸屬Loss,但模型是一箇中間態模型,它沒有對用戶的全鏈路狀態做顯性的建模,只是把用戶在各個場景作爲用戶的默認狀態,這不是很科學。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"基於這個模型,我們又引入了MOE的結構來做用戶的建模。下圖是用普通的MOE的離線訓練的效果,左邊最下角,通過不同的Expert權重可以看到用戶在不同場景下,Expert權重明顯的有區分性。右邊是Base和MOE的離線在一些效果上的對比,可以看到效果非常明顯。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/32\/85\/3289667b634923fba57fdfc8ecd38d85.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"前面提到狀態的MOE模型沒有顯性的去建模用戶的狀態切換,用戶在不同場景間,它只是一種表象,背後是用戶的需求的差異,用戶需求是跟用戶的狀態明顯相關的,比如,用戶如果是在種草階段,可能關注於看的內容和“行中”,和在決策階段看的內容有明顯的不同。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我們又對MOE做了改進,提出了基於State的MOE的結構,主要對用戶狀態做了顯性的建模,通過引入Gate的方式,對用戶的狀態做行前建模。由於狀態不一樣,而導致用戶背後的需求不一樣。下圖右下角是離線的評估效果,可以看到,通過顯性的建模用戶的狀態與數據的關係,拿到了不錯的收益。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/9f\/45\/9f434a55307430f6cd299b0e702c9645.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"接下來分享在展現層面的一些想法:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第一個特點是,旅行商品與電商實物商品之間的差異性,比如用戶在淘寶上購買一件衣服,可以通過文字、圖片、直播知曉商品全貌。但旅行是重服務屬性,僅通過圖片等,可能無法完全知曉商品的全貌,有一個“所見即所得”的問題,看到的不一定是真正享受的服務。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第二個特點是,有時候旅行是一種社會羣體驅動的。可能並不是因爲你有多大的偏好而去某一個地方,而是周邊人都去了,或者這個地方現在是最熱門的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第三個特徵是,旅遊的信息有非常大不對稱性,很多數據和信息只有去過才知道,實踐纔是檢驗真理的唯一標準。但如果只給用戶推薦一個酒店或推薦一個商品時,如果展示層面不做任何改變,其實很難讓用戶有決策或有比較大的衝動去購買推薦給TA的商品。這啓發我們,去構建旅行特色的導購決策信息。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"針對以上,我們在2019年啓動了旅行導購決策體系建設,具體看下圖。該體系主要通過挖掘旅行特色的標籤,及行程相關的標籤,用戶羣體的標籤,結合用戶的行爲日誌,從排名信息、趨勢信息,週期信息、行程信息、行爲信息等角度去挖掘一些有體感的Tab,比如告訴用戶商品是“最有潛力的”,或是“最熱賣的”,通過構建這樣一套完整的導購決策體系,推動產品在整個頁面上做展示,效果不錯。且用戶體驗也非常強,用戶在瀏覽整個旅行相關的交通、酒店等時,不再是冷冰冰的一種展示形式,而是可以跟用戶產生比較強的互動效應。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/00\/4c\/00c04d7eed218b538f53dfba3331d04c.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"展望"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"接下來,我還有一些對於飛豬旅行的展望。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"雖然現在,我們已經做了初步的旅行探索,但距離真正的行業深水區還有一定差距。未來我們希望圍繞整個用戶的旅行生命週期探索發現、決策購買、行中體驗的三個大階段做更深入地挖掘。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在探索發現階段:通過算法能力重點挖掘好貨,好玩兒的;在決策購買階段,要建設更加完善的導購決策信息,及導購的方案,野外線路、性價比;在行程中,通過整個用戶的行程、規劃、信息把行中體驗打透。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"此外,我們會緊緊圍繞用戶的整個旅行生命週期(行中、行前、行後)來激發需求。重點要做內容化,通過引入大量內容來激發用戶的新需求,針對冷啓動的用戶,重點去通過其他的行爲或者其他的知識表達去引導這部分用戶激發需求。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這背後就需要意圖識別更加精準。現階段,我們主要通過給用戶更加精準的推薦酒店、更智能的交通規劃方式,及更加意想不到的度假、門票等產品,來完善整個用戶的旅行方案,而不只是推一個單品。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在決策階段,後續我們會充分利用阿里的多端多場景資源,充分提升多端的轉化,提升最優的決策。在“行中”階段,會結合知識及RBS引擎的能力,讓用戶知道“行中”周圍的好喫的,好玩兒的,好住的等等。在“行後”階段,重點從評論中挖掘用戶的決策因子,及針對旅行特色的復購,爲用戶推薦智能的復購,即TA在確切的時間、確切的地點,最確切需要的東西。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"以上就是全部的分享。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":4},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"作者介紹:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"葬青,阿里巴巴飛豬旅行\/高級算法專家。葬青深耕旅遊導購算法多年,帶領團隊0-1搭建了飛豬旅行導購算法體系。葬青曾負責過百度知道相關問題推薦以及淘寶人羣推薦,是淘寶人羣推薦算法主要貢獻者,以及2015年淘寶個性化元年算法成員之一。"}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章