兩階段超長周期用戶行為序列建模方法總結(jié)
今天這篇文章介紹的主題是推薦系統(tǒng)中,基于兩階段的超長周期用戶興趣建模系列工作。主要介紹業(yè)內(nèi)比較有代表性的由快手發(fā)表的3篇工作,從2020年最開始的SIM首次提出的兩階段行為序列建模方法,到2022年KDD上發(fā)表的TWIN對兩階段一致性的優(yōu)化,再到2024年CIM上提出的在TWIN基礎(chǔ)上引入層次聚類進(jìn)一步釋放長周期建模能力。
1.背景
在推薦系統(tǒng)的排序模型中,用戶行為序列建模部分的迭代一直是最核心的收益來源。用戶行為序列建模迭代,又可以從空間和時間兩個維度進(jìn)行優(yōu)化。在空間上,通過引入不同類型的行為序列、完善行為序列表征、建立不同用戶行為序列關(guān)系提升信息豐富度;在時間上,通過引入更長周期的歷史序列完整刻畫用戶長周期興趣。
在時間上的優(yōu)化,一個核心難點(diǎn)如何解決性能問題。隨著引入序列的增長,模型的計(jì)算時間會隨之增長,很難在線上應(yīng)用。為了解決這個問題,快手提出了一系列基于兩階段的超長周期行為序列建模方法,其核心思路是將長周期行為序列拆分成兩個階段,第一階段使用計(jì)算復(fù)雜度較低的方法快速從全周期序列檢索出可能對預(yù)測有幫助的部分,縮短序列長度,第二階段再使用諸如attention等復(fù)雜模型進(jìn)一步進(jìn)行序列建模。
2.SIM:兩階段建模
行為序列建模的核心是從歷史序列中找到和目標(biāo)item關(guān)系最密切的部分,作為模型的輸入。一般采用attention的方法,但是其在長周期序列引入中一方面計(jì)算復(fù)雜度高,一方面模型擬合也比較困難。SIM提出了一種兩階段的長周期建模方法,由General Search Unit和Exact Search Unit兩個部分組成。General Search Unit用于從長歷史行為序列中選出和當(dāng)前候選商品最相關(guān)的幾個子序列,Exact Search Unit用于更精細(xì)的匹配,可以采用類似DIEN等的方法。
對于General Search Unit有hard search和soft search兩種。Hard search比較簡單,直接選擇和候選商品相同類目的歷史行為;Soft search采用向量檢索的方式計(jì)算歷史行為和候選商品的匹配分,其中商品向量采用一個輔助CTR任務(wù)來學(xué)習(xí)長期數(shù)據(jù)和候選廣告之間的相關(guān)性得到。
3.TWIN:提升兩階段一致性
上述兩階段建模的方法中,GSU階段和ESU階段存在不一致問題,即GSU篩選的打分和ESU篩選的打分并不是相同的計(jì)算邏輯,導(dǎo)致GSU篩選出的TopK不是全局最優(yōu)解,可能在ESU中認(rèn)為最優(yōu)的結(jié)果在GSU中被過濾掉了。下圖也展示了這種不一致性。可以看出,GSU和ESU的差異還是比較大的,如果能解決二者的一致性問題,能帶來比較大的收益。
為了解決這個問題,TWIN在GSU部分進(jìn)行了改造,讓GSU也進(jìn)行輕量級的attention計(jì)算提升和ESU的一致性。在GSU部分,將特征分為內(nèi)部特征和交叉特征。內(nèi)部特征指的是item本身的特征,例如商品id、視頻作者等,這部分特征不隨著用戶交互變化,因此可以直接緩存起來,線上不用每次都計(jì)算。對于交叉特征部分,每一維特征都使用一個全連接層映射成1維。通過這種方式,將attention計(jì)算的時間復(fù)雜度從??(?? × (?? + ??) × ????????)降低到??(?? × ??),其中L為序列長度,H為內(nèi)在特征維度,C為交叉特征維度,H一般占據(jù)特征的主要部分。
計(jì)算attention的公式如下,query和key使用內(nèi)在特征,交叉特征維度為1,因此這里作為bias加入到attention score的計(jì)算中。
4.TWINV2:聚類釋放長周期潛力
用戶歷史序列雖然很長,但是存在很多重復(fù)的信息或者相似的信息,這些重復(fù)或近似的item反應(yīng)了用戶相似的興趣。TWINV2在TWIN的基礎(chǔ)上,進(jìn)一步通過聚類對歷史行為序列進(jìn)行重組,縮短歷史序列,提升長周期建模潛力。
首先,將歷史看過的視頻根據(jù)其觀看長度 / 視頻長度的比例分成不同的組,每個組代表用戶的一種感興趣程度。每個組內(nèi),使用層次聚類+Kmeans聚類,對item進(jìn)行聚類。每個聚類的特征由其類內(nèi)item的特征組合而成。對于數(shù)值特征,使用這個類簇的均值計(jì)算該特征;對于ID特征,使用距離這個聚類中心最近的item的ID作為該聚類簇的特征。在得到歷史序列的聚類結(jié)果,以及每個聚類的表征之后,使用和Twin類似的ESU+GSU兩階段方法進(jìn)行用戶興趣建模。
? ?
本文轉(zhuǎn)載自 ??圓圓的算法筆記??,作者: Fareise
