飛豬旅行場景下的實時用戶理解服務(wù)
一、飛豬旅行用戶理解服務(wù)架構(gòu)
1、旅行行為特點與用戶行為模式
旅行行業(yè)結(jié)構(gòu)具有低頻性、時空屬性和周期性三大特點。
① 低頻性是指大多數(shù)用戶每年出去旅行的次數(shù)是非常少的;
② 時空屬性是指一般用戶在不同的時間會選擇去不同的地點,比如三月份大多數(shù)人會喜歡去武漢看櫻花,元旦或者春節(jié)很多用戶會選擇去三亞過冬;
③ 周期性是指用戶在周末時喜歡周邊游,小長假時會喜歡遠(yuǎn)途游。
與傳統(tǒng)的商品推薦不一樣,旅行場景下用戶行為包括:
① 行前規(guī)劃,比如在出行前一周去做相應(yīng)的一些規(guī)劃。
② 行程安排,是多元的,包含交通、酒店,以及吃喝玩樂等度假商品。
③ 行中履約,指到達(dá)目的地后的酒店履約、門票核銷等。
④ 最后是行后反饋,當(dāng)用戶從旅游地回來以后會對旅游地有一些想法,比如喜歡的話下次還會去。
基于這些旅行行業(yè)的用戶特點,用戶在飛豬 APP 從進(jìn)入到離開的在線行為模式無非是三種鏈路:一種是用戶意圖比較明確,一般會去搜索,再去找他想要的東西;第二種是用戶通過 APP 上一些導(dǎo)航的小工具欄點擊請求;第三種是閑逛的用戶,會在首頁猜你喜歡去找自己感興趣的東西,跳到詳情頁然后進(jìn)行點擊,滾動,或者進(jìn)行收藏、加購和購買的等行為。
2、RTUS 演變背景
早期基于用戶行為模式,我們抽取了一套統(tǒng)一的實時特征服務(wù)中心,簡稱 RTFS。
最底層通過多端(飛豬端、淘寶端、包括早期的支付寶端的飛豬場景)、多場景(機(jī)票、酒店、度假等)的一些底層日志(搜索日志、點擊日志、購物車加購、收藏日志和下單日志)收集起來,定義了統(tǒng)一的一套用戶行為 Schema。
用戶行為 Schema 主要包括這樣幾個字段:行為用戶的 user_id,行為類型 bhv_type,行為時間 bhv_time,行為對應(yīng)的 id,行為對象的類型 biz_type,以及行為對象的一些額外信息 extra_info,比如用戶在某個時間點搜索了某個內(nèi)容,包括了一些額外信息,比如 city 信息,類目信息,或時間信息等等。
這是我們早期統(tǒng)一的一套用戶的實時行為特征服務(wù)中心,基于用戶實時的統(tǒng)一特征服務(wù)中心,下游業(yè)務(wù)會做一些用戶理解。
傳統(tǒng)的方法是基于用戶實時的行為,根據(jù)統(tǒng)一的 Schema 信息,各個場景會去查 RTFS,每個場景去做用戶的理解和建模。傳統(tǒng)方案的弊端是每個場景都要重復(fù)去基于底層數(shù)據(jù)去計算用戶的偏好或興趣,比較浪費(fèi)資源,每個場景都會花二三十毫秒去計算用戶的興趣點,整體存在一些問題。
后面我們基于 RTFS 統(tǒng)一去做用戶理解中心,簡稱 RTUS,把所有場景做的工作進(jìn)行統(tǒng)一收尾。根據(jù)底層的 RTFS 數(shù)據(jù),我們可以去做用戶的興趣理解,包括出行意圖預(yù)測等,同時提供顯式和隱式的表達(dá)場景,最終把用戶多方面、多維度的興趣理解或者是意圖預(yù)測存到實時 IGRAPH 數(shù)據(jù)庫里面。下游各個場景如果需要用戶各個維度理解的時候,直接去調(diào)用接口去查詢。一方面實現(xiàn)了數(shù)據(jù)復(fù)用,模型復(fù)用,同時節(jié)省了性能開銷。
3、RTUS 如何實現(xiàn)多鏈路融合
整體來說,飛豬底層用戶行為數(shù)據(jù)分為多個鏈路收集。包括 mtop 服務(wù)端的日志、ut 客戶端日志 ut/walle 專鏈數(shù)據(jù)。不同的鏈路數(shù)據(jù)存在不同特點,像服務(wù)端的日志,因為服務(wù)端直接上報,時延為 2-3 秒,但可能存在數(shù)據(jù)丟失或重復(fù)數(shù)據(jù);ut 客戶端的數(shù)據(jù),因為是客戶端用戶真實行為直接上報的數(shù)據(jù),上報時延會比較長,但準(zhǔn)確性比較高;還有專鏈數(shù)據(jù),上報更快,但整體各個場景覆蓋面不會特別全。
RTUS 對各個鏈路的數(shù)據(jù)做了異步融合。把每個鏈路收集的數(shù)據(jù),統(tǒng)一規(guī)范成 Schema,有了統(tǒng)一的數(shù)據(jù)鏈路后,后鏈路就可以拿到既準(zhǔn)確又高時效的用戶行為數(shù)據(jù)。
4、RTUS 如何實現(xiàn)數(shù)據(jù)和模型復(fù)用
以目的地的偏好預(yù)測為例介紹如何實現(xiàn)數(shù)據(jù)和模型的復(fù)用。
進(jìn)行用戶的目的地偏好分或者是目的地偏好向量預(yù)測,一部分是通過離線的 ODPS 數(shù)據(jù),全量回流至 IGraph 的全量數(shù)據(jù),另外一部分?jǐn)?shù)據(jù)是用戶實時的目的地行為數(shù)據(jù),通過 Blink 或者是 Porsche,以增量方式匯總到離線數(shù)據(jù)中去作為整體的輸入。
傳統(tǒng)的方式如藍(lán)色部分所示,每個場景發(fā)生了請求時,都會觸發(fā)各個業(yè)務(wù)場景的同步計算。新的 RTUS 當(dāng)用戶有任何一次行為觸發(fā)時,一方面數(shù)據(jù)融合與傳統(tǒng)方式相同,但是有任何用戶請求觸發(fā)時,我們會直接去查用戶行為數(shù)據(jù),異步去調(diào)用打分模型去預(yù)估用戶的人工偏好。整體打完分以后,會把打完的分實時更新到數(shù)據(jù)庫里面。有業(yè)務(wù)場景來的時候,直接去查打好分的表就好了,實現(xiàn)了統(tǒng)一的用戶目的地偏好預(yù)測,各方場景都統(tǒng)一去使用,實現(xiàn)了模型的復(fù)用。
5、RTUS 整體架構(gòu)
RTUS 用戶理解服務(wù)架構(gòu)整體如上圖所示。
最底層是實時的公共層,包括了用戶的瀏覽、點擊、加購、收藏、購買、關(guān)注、領(lǐng)券和核銷等最底層的日志。
經(jīng)過?特征處理層,會把最底層的行為日志進(jìn)行規(guī)范化、標(biāo)準(zhǔn)化、聚合化,同時會關(guān)聯(lián)用戶行為對象的屬性,包括商品詳情,交通行程,酒店的一些屬性信息。通過實時特征層處理,會得到用戶 LBS 狀態(tài)特征、用戶的行為序列特征、用戶的行為統(tǒng)計特征、商品認(rèn)知標(biāo)簽特征、商品屬性特征、頁面模塊統(tǒng)計特征。
再往上——用戶表達(dá)層,是基于結(jié)構(gòu)化特征加工層去做一些算法模型。包括:用戶的長短期偏好預(yù)測;用戶的實時意圖,包括 POI 意圖,價格意圖預(yù)測等;用戶的需求理解,是否有復(fù)購需求,或者是否搭配需求;用戶的行程表征;人群的興趣表征等,是我們算法核心的實時計算。
最上面一層,是算法層的輸出。包括顯式和隱式向量的一些表達(dá),這些表達(dá)都會存在實時引擎的數(shù)據(jù)庫里面。
上游業(yè)務(wù)場景使用的時候可以根據(jù)自己的需求,直接查詢到用?戶的意圖向量、興趣向量或行程向量。下面會重點介紹藍(lán)色用戶表達(dá)層,即飛豬旅行用戶理解算法的一些相關(guān)實踐工作,這塊工作沉積了三篇頂會文章。
二、飛豬旅行用戶理解算法實踐
1、冷啟動用戶興趣表征
(1)問題背景
冷啟動用戶興趣表征,是發(fā)表在 AAAI 2022 年會議上的一篇文章。
前文中介紹了旅行場景其實是非常低頻的需求,大多數(shù)用戶一年出去一兩次,每次出去買的東西一般是比較聚焦的,一般包括交通或酒店或度假商品,導(dǎo)致整體用戶行為比較稀疏。因此在該場景下,用戶冷啟動是非常嚴(yán)峻的問題。
統(tǒng)計數(shù)據(jù)發(fā)現(xiàn)過去三年,只有一個商品行為的用戶有 35%。也就是說過去三年有 35% 的用戶都是基本上沒有行為或者只有一個商品行為,過去 30 天的統(tǒng)計數(shù)據(jù)發(fā)現(xiàn) 58% 的用戶只有 1-5 個商品行為。如何對無行為或行為商品少的用戶進(jìn)行推薦是我們面臨一個挑戰(zhàn)。
?但旅行場景下時空興趣非常明顯,比如一般用戶,在不同的時間點,不同的地點有一些熱門玩法。例如每年元旦或者春節(jié)時,很多人會去三亞,每年三月份很多人會去武漢看櫻花,北京的用戶每年九月到十二月會去看楓葉。即不同的時間點,全國各地會有不同的一些熱門地點,用戶時空興趣,隨著時間和位置發(fā)生變化。
第二個特點是用戶具有一些群體興趣。比如一般親子用戶更傾向于去一些娛樂場所,旅行傾向于自由行,而對老年人用戶則更傾向于去跟團(tuán),情侶用戶也是傾向于自由行,還傾向于去一些浪漫一點的景點,即不同的群體興趣偏好不同。
第三個特點是用戶具有一些周期性的行為偏好。有些用戶短期一年內(nèi)沒有?行為,但歷史過去幾年有一些周期性的行為。比如有些親子用戶,每年暑假會帶小孩去迪士尼樂園,還有些用戶每年都會去三亞過冬。
另一方面的場景特點體現(xiàn)在用戶的行為特點里。比如用戶會隨著旅行規(guī)劃的決策狀態(tài),行為也會有比較大的差異。根據(jù)定義,將用戶的行為狀態(tài)劃分為多種:從靜默期,到瀏覽期,到種草,有了明確目的地或者興趣后,會進(jìn)入決策期,最后會聚焦到商品去進(jìn)行購買。即用戶的行為隨著用戶的決策狀態(tài)發(fā)生不同的變化,是一個從發(fā)散到收斂的過程。
?另外用戶的行為也會隨著 LBS 狀態(tài)發(fā)生變化。位置狀態(tài)分為三個:行前、行中和行后。行前更聚焦多個景點;行中會聚焦目的地用戶所在的 LBS 周圍的景點;行后如果是遠(yuǎn)途旅游的話,短期內(nèi)不會再去這個地點。
基于這些特點,我們提出了多方面興趣表征的推薦網(wǎng)絡(luò)。該網(wǎng)絡(luò)主要包括:用戶當(dāng)前的興趣表征輸入模塊,多方面興趣抽取模塊和用戶旅行的狀態(tài)模塊。
最終基于旅行的狀態(tài),從多方面興趣模塊中抽取出來和其?旅行狀態(tài)對應(yīng)的興趣。同樣基于用戶當(dāng)前 Session 內(nèi)的行為興趣,也會從多方面興趣模塊交叉學(xué)習(xí),抽取出用戶歷史興趣相關(guān)的一些興趣作為融合。最終將用戶的單方面興趣、多方面興趣以及狀態(tài)角色興趣,作為融合作為最后的冷啟動用戶的表征輸出。
(2)SMINet Model
目前定義了五個多方面興趣抽取器,其輸入是多方面興趣的商品集合。這五個多方面興趣商品集合包括:時空行為的商品集合,群體商品集合,用戶周期性商品集合,用戶長期行為的商品集合,以及用戶短期行為的商品集合。
基于全量用戶的全量歷史行為,不同的 query 可以檢索出 Top-k 的 Item 作為集合的表征。如時空行為的興趣抽取,首先輸入時空的商品集合,query 是時間和空間,比如武漢、三月,從全量用戶行為商品里面抽取出銷量最高的一些商品作為武漢、三月時空興趣的集合。得到商品集合后,經(jīng)過 Embedding 層得到編碼向量,再經(jīng)過 Multi-Head Attention 最終得到時空的興趣表征。
其他的興趣表征過程和時空興趣表征類似,都是通過 query 抽取 Top 銷量的商品集合,再經(jīng)過編碼層、聚合層等到興趣表征。
?除此以外,還要結(jié)合用戶當(dāng)前 Session 的行為。這里借鑒了傳統(tǒng)經(jīng)驗 GRU 網(wǎng)絡(luò)并做了一些改進(jìn),因為我們認(rèn)為用戶當(dāng)前行為序列中的最近一次行為的商品,最能表現(xiàn)用戶當(dāng)前的興趣,即用戶對某個商品的興趣隨時間衰減。
基于上述思路,在 GRU 網(wǎng)絡(luò)中引入 Time Aware 模塊, 主要加強(qiáng)用戶最近一次行為商品的興趣重要度。一般傳統(tǒng) GRU 會輸出 h1-ht 多個狀態(tài)的隱向量,這里每個隱向量的重要度 β 是不一樣的。β 為行為商品的重要度隨時間距離單向衰減。最終當(dāng)前 Session 的表征包括:GRU 網(wǎng)絡(luò)最后狀態(tài)的輸出,每個狀態(tài)的輸出均值,引入時間衰減的表征的最終融合。?
最后,通過 Co-Attention 網(wǎng)絡(luò)和用戶多方面的興趣做交叉學(xué)習(xí)。最終得到當(dāng)前興趣和多方面興趣交叉后的興趣表征。
用戶的旅行狀態(tài)會從多方面的興趣里抽取出旅行狀態(tài)對應(yīng)的興趣。基于旅行的狀態(tài)從多方面興趣里抽取出對應(yīng)的一些興趣網(wǎng)絡(luò)。藍(lán)色部分為 Travel State Aware 的門控網(wǎng)絡(luò),通過門控網(wǎng)絡(luò)從多方面興趣抽取狀態(tài)表征,根據(jù)每個興趣的重要度做加權(quán)融合得到最終的興趣表征。
最終把當(dāng)前 Session 表征以及狀態(tài)選擇的表征做融合,作為用戶最終的輸出。這是整體的網(wǎng)絡(luò)結(jié)構(gòu),損失函數(shù)是交叉熵?fù)p失函數(shù)。
在線 Serving 時,是把多方面的興趣存在 kv 的數(shù)據(jù)庫中,key 為之前所描述的 query,如時空、群體等,Value 為向量表征。
(3)實驗結(jié)果
在飛豬和公開數(shù)據(jù)集上的實驗測試表明,與經(jīng)典統(tǒng)計模型,序列模型,圖模型和交叉網(wǎng)絡(luò)的方法進(jìn)行比較,整體在 Recall 和 MRR 指標(biāo)上都遠(yuǎn)高于之前模型。
消融實驗表明,移除用戶的短期興趣,效果下降最多;此外加入時空興趣可以帶來比較好的結(jié)果;另外拉長用戶的長期的行為數(shù)據(jù),也會帶來收益。當(dāng)前 Session 和旅行狀態(tài)的興趣表征的融合也帶來了效果提升。
上圖為 travel state-aware 層的重要度,顏色越深表示越重要。橫坐標(biāo)是不同的五種興趣,縱坐標(biāo)是用戶行為多少。行為較少的用戶時空興趣的重要度越強(qiáng),用戶短期的興趣行為整體都比較重要。
線上在全量用戶和冷啟動用戶上都進(jìn)行了實驗來看效果,冷啟動用戶的效果提升更加明顯。
2、用戶出行意圖預(yù)測
(1)問題背景
用戶的出行意圖預(yù)測工作已被 CIKM2022 年會議收錄。背景是以營銷業(yè)務(wù)場景為載體,進(jìn)行用戶出行意圖預(yù)測。為了讓有旅行意圖的用戶,從手淘或者支付寶導(dǎo)航欄的入口跳轉(zhuǎn)到飛豬,會做一些營銷文案。會根據(jù)用戶的不同意圖,去做一些營銷文案來引導(dǎo)用戶跳轉(zhuǎn)。另外會發(fā) push 信息,告訴用戶周邊好玩的景點,或者回家應(yīng)該買哪個車次等。
目前根據(jù)用戶行為距離遠(yuǎn)近和頻次兩個維度將具體的旅行場景意圖分為八種。通過整體數(shù)據(jù)分析,60% 的用戶是在本地,40% 的用戶分布在其他的一些意圖上。不同的顏色代表不同的節(jié)假日或者日常,在不同的時間用戶的出行意圖不一樣。
基于上述背景可以拿到用戶歷史在不同的節(jié)假日的一些出行數(shù)據(jù)。分析發(fā)現(xiàn)這些數(shù)據(jù)也有時空的周期性,比如每年元旦都是出去玩,每年的春節(jié)都會回老家等,包括在小粒度上,比如每周或者每個月的一些周期數(shù)據(jù)。此外,還有前后周期的關(guān)聯(lián)性,比如中秋回老家,那國慶就不回老家了。
(2)DCIEN Model
?基于這些特點,提出了雙通道周期演變的意圖預(yù)測網(wǎng)絡(luò)。一方面結(jié)合了用戶的在線行為序列,另一方面結(jié)合了用戶的離線行為意圖序列。
整體網(wǎng)絡(luò)的輸入包括:用戶的 Profile 信息,上下文產(chǎn)品信息(時間、位置等),離線數(shù)據(jù)(過去三年的結(jié)構(gòu)化為節(jié)假日和星期的兩個矩陣數(shù)據(jù)),在線的用戶行為序列和未來的意圖。?
離線數(shù)據(jù)中,有兩個用戶線下位移意圖,分別是節(jié)假日和周一到周天的位移意圖。通過設(shè)計多種大小的卷積核(2x2、1x7 等),得到節(jié)假日和近期的模板 pattern,再通過模板 pattern 挖掘用戶的周期表征。
將用戶的周期表征引入到用戶的在線行為序列中,提出 periodic-aware 興趣演變模式。通過兩層 GRU 網(wǎng)絡(luò),把周期性的興趣演變計算出來。第一層通過序列輸入得到隱狀態(tài),接下來在隱狀態(tài)上拼接提取出的離線位移表征得到周期性的 Pattern 表征,作為第二層 GRU 的輸入最終得到用戶周期演變的興趣表征。通過 Target Intent 的輸入和 Attention 機(jī)制可以得到興趣里哪個跟 Target Intent 最重要,做加權(quán) Pooling 最終得到整體的興趣輸出。
(3)實驗結(jié)果
和傳統(tǒng)經(jīng)典方法比如 DSIN、DMSN 相比,我們提出的 DCIEN 方法效果更優(yōu)。
分析原因認(rèn)為,該方法主要考慮了 Session 內(nèi)興趣行為的抽取。DMSN 也是我們團(tuán)隊早期提出的方法,主要是采用 Deep Model 挖掘時空的意圖,通過 CNN 和 RNN 進(jìn)行抽取,因為重點考慮了用戶的周期pattern,所以效果比傳統(tǒng)電商的 DIN 和 DSIN 要好。DCIEN 方法效果最優(yōu)的原因一是采用了離線數(shù)據(jù)去抽取歷史 pattern,二是將離線 pattern 融合到在線行為序列建模中。
消融實驗可見 DCIEN 的效果是 0.719,去掉離線的序列效果下降至 0.69;去掉在線的序列效果下降更加明顯至 0.66;去掉在線離線的交叉計算,效果下降至 0.713;去掉時空 pattern,用 MLP 網(wǎng)絡(luò)代替,效果下降至 0.711。消融實驗表明 DCIEN 中的各個網(wǎng)絡(luò)模塊都對最終效果有正向作用。
線上實驗表明模型在營銷場景和猜你喜歡上,都對 CTR 有正向影響。
舉例來說,一個用戶定位在杭州,一般會推附近的三公里內(nèi)的,也有遠(yuǎn)處周邊的一些景點。加入意圖預(yù)測模塊,如果是外地遠(yuǎn)途來杭州的人,會更聚焦推薦杭州所在景點附近的一些景點;如果是杭州本地人,會推薦一些周邊的景點。結(jié)合意圖預(yù)測,推薦會更加精準(zhǔn)和聚焦。
3、用戶出行目的地預(yù)測
(1)問題背景
用戶目的地預(yù)測也是意圖預(yù)測的一種,為直接判斷用戶去哪個城市,工作發(fā)表在 SIGIR2022 的會議上。
該業(yè)務(wù)的大背景和上面兩項工作的背景相似,一是用戶旅行需求比較低頻,二是早期的一些目的地預(yù)測的文章沒有考慮到線下的一些位移數(shù)據(jù),傳統(tǒng)的電商推薦一般只考慮用戶在線行為序列。然而旅行是一個線上行為到線下旅行的過程,除了線上行為以為,線下去過哪些城市也是非常重要的。
基于場景的特點,通過數(shù)據(jù)分析發(fā)現(xiàn)用戶去不同的城市也呈現(xiàn)周期性。比如周末去的地方和短假或長假去的地方不太一樣。如上圖的左圖橫坐標(biāo)是不同時間的假期,縱坐標(biāo)是用戶出行的次數(shù),一般長假出去次數(shù)比較少,周末出行的次數(shù)較多。右圖的橫坐標(biāo)是距離的范圍,縱坐標(biāo)是出行次數(shù)占比概率,可以看出遠(yuǎn)途旅行相較于距離較短的目的地占比較低。
(2)OOPIN Model
?基于上述特點,提出離線和在線融合的目的地預(yù)測的網(wǎng)絡(luò)。整體網(wǎng)絡(luò)的輸入包括離線和在線兩大塊。
離線的同樣把用戶線下去過的城市結(jié)構(gòu)化成矩陣 pattern,再融合在線行為序列,對離線和在線的行為做融合,最終得到當(dāng)前的興趣演變過程。?
離線模塊是將用戶歷史去過哪些城市結(jié)構(gòu)化成矩陣后,通過不同的卷積核可以得到時間空間的一些周期性的 pattern 來在離線興趣演變中使用。
將這些 pattern 融合輸入到離線行為的第二層 GRU 中,相當(dāng)于把離線行為的城市經(jīng)過一層 GRU 拼接后可以得到離線演變的周期興趣。
用戶線下去城市之前,在線也會有一些行為序列。通過 Distance Aware Attention 網(wǎng)絡(luò)得到在線可能去的城市。
計算邏輯為計算在線行為可能城市兩兩之間的距離,提取出主要的城市。比如,用戶要去云南旅行,可能去的城市包括昆明、麗江和大理多個城市等。這些城市之間有共同的特征,就算偶爾穿插了三亞或北京,但通過 Attention 網(wǎng)絡(luò)還是會聚焦到云南省,把其余的干擾因素丟棄,通過去除噪音得到在線行為序列中的更大范圍的核心目的地。用戶最終去云南的話,云南可以通過 Target Aware Attention,找出跟離線最接近的城市的表征。通過信息增益網(wǎng)絡(luò)做減法,可以得到用戶還想去三亞的信息。即將用戶在線行為過的城市信息里,減去他已經(jīng)去過的城市信息,增益的信息作為一個新的序列輸出,作為用戶未來目的地意圖的預(yù)測。
(3)實驗結(jié)果
與傳統(tǒng)方法對比,OOPIN 效果是最優(yōu)的。
消融實驗表明,去掉在線行為后效果下跌最多至 0.1135。去掉信息增益后,效果也下跌到 0.1527,因為去掉信息增益網(wǎng)絡(luò)后,沒法學(xué)習(xí)額外的一些增益信息。去掉離線行為模塊后,效果也有明顯下降。
十天的在線實驗也表明,增加目的地預(yù)估加權(quán)融合商品的 CTR 預(yù)估作為最終的排序得分后,商品的 CTR 效果有提升。
三、問答環(huán)節(jié)
Q1:多方面興趣抽取的輸入是基于 query,可以理解是對輸入商品集合做一個 Embedding 嗎?
A1:這是全量用戶歷史的所有行為。比如提取時空興趣的話會去看三月、武漢所有銷量 Top 的商品集合作為表征得到隱向量作為武漢三月份的興趣表證。
因為這個是基于全量用戶歷史行為,如果直接去查詢,成本很高,所以我們會離線去做一次,來存在 kv 庫,線上服務(wù)是直接從數(shù)據(jù)庫中去查詢。
Q2:為什么用召回指標(biāo)評價?
A2:用離線 AUC 也可以,召回指標(biāo)也可以用,都是去衡量算法準(zhǔn)確不準(zhǔn)確。
Q3:意圖和目的地識別模塊中離線特征是如何更新的?
A3:拿目的地來說,離線特征是用戶過去三年去過哪些城市,雖然時間是三年,但用戶每年去過城市不多,平均不到 10 個,特別稀疏。每周會進(jìn)行增量訓(xùn)練,舉個例子不同的節(jié)假日比如今年的中秋,今年中秋到明年中秋期間這些特征基本上是不會變的,相當(dāng)于有些特征是每月變一次,有些特征每年變一次,星期類的周期 T+1 更新計算就好了。根據(jù)特征的跨度不一樣,更新的周期不一樣。
Q4:時間衰減是怎么確定的?
A:一般 RNN 網(wǎng)絡(luò)沒有考慮用戶行為序列時間的衰減程度,我們引入 β 值,相當(dāng)于時間的重要度系數(shù),讓最近的行為重要度最高。經(jīng)過 log 變化做一些平滑,重點是強(qiáng)調(diào)越新的商品,重要度越大,權(quán)重越大來融合加權(quán)。
Q5:多個鏈路埋點數(shù)據(jù),重復(fù)數(shù)據(jù)怎么處理?怎么保證數(shù)據(jù)準(zhǔn)確性?
A5:重點主要是解決新增的問題,重復(fù)的我們是有唯一的標(biāo)識 key,也就是每一條記錄,如果三個鏈路里面都有,唯一的標(biāo)識 key 一樣的話,就直接覆蓋掉了。
Q6:武漢三月是怎么確定出來的?是手動找每個維度去做交叉?
A6:是的,時空的話一般是城市,其實全國就兩三百個城市,12 個月,300x12 key 離線會去 group by 城市和月份做聚合。