【他山之石】360 多興趣召回 Mind 實(shí)戰(zhàn)優(yōu)化
一、業(yè)務(wù)背景
隨著短視頻和信息流等場(chǎng)景的興起,用戶(hù)在這些場(chǎng)景中產(chǎn)生了大量的行為序列,包括曝光、播放、點(diǎn)擊、點(diǎn)贊和關(guān)注等。這些序列本身就具備很高的價(jià)值。因此涌現(xiàn)出了許多序列模型,如 YouTube DNN [1]、GRU4REC [2]、MIND [3]等。這些模型通過(guò)對(duì)用戶(hù)行為序列進(jìn)行建模,以提取用戶(hù)的興趣。其中,MIND 模型具有獨(dú)特的特點(diǎn)。
MIND 模型是 2019 年由阿里巴巴團(tuán)隊(duì)提出的,其獨(dú)特之處在于直接建模了用戶(hù)的多個(gè)興趣,而不是得到一個(gè)統(tǒng)一的用戶(hù)表達(dá)。該模型受到了膠囊網(wǎng)絡(luò) CapsuleNet 的啟發(fā),通過(guò)膠囊間的路由計(jì)算來(lái)提取用戶(hù)的多個(gè)興趣。在 2020 年,阿里巴巴團(tuán)隊(duì)和清華大學(xué)團(tuán)隊(duì)聯(lián)合對(duì) MIND 模型進(jìn)行了改進(jìn),提出了 ComiRec 模型 [4]。主要改進(jìn)在于推理階段。原本的 MIND 在推理得到多個(gè)用戶(hù)興趣表達(dá)后,分別進(jìn)行 ann 檢索以得到召回結(jié)果。而 ComiRec 模型則對(duì)多個(gè)興趣檢索后的檢索結(jié)果進(jìn)行了融合,從而進(jìn)一步保證了召回結(jié)果的多樣性。
根據(jù) MIND 模型論文,我們進(jìn)行了復(fù)現(xiàn)并將該模型應(yīng)用于我們的墨魚(yú)丸小視頻場(chǎng)景中。在評(píng)估過(guò)程中,我們發(fā)現(xiàn)原始 MIND 模型存在一些問(wèn)題,例如膠囊數(shù)與用戶(hù)序列長(zhǎng)度之間的強(qiáng)綁定關(guān)系以及膠囊之間的差異性不強(qiáng)。為了解決這些問(wèn)題,我們?cè)诔跏蓟z囊的位置和數(shù)量上進(jìn)行了改進(jìn),并改進(jìn)了路由算法的計(jì)算方式,以增加膠囊之間的差異度。
二、原 MIND 模型以及其發(fā)展
上圖為原 MIND 模型結(jié)構(gòu),該模型主要分為以下幾個(gè)模塊,分別是 Embedding Layer、Multi-interest Extraction Layer(最重要)、Label-aware Attention Layer、Serving,對(duì)于 Embedding Layer 部分,該模型與目前其他序列模型一樣,在此不做贅述。我們下面對(duì)其他幾個(gè)模塊依次進(jìn)行介紹。
1、Capsule 膠囊網(wǎng)絡(luò)以及 MIND 改造
原 MIND 模型的 Multi-interest Extraction Layer 主要參考的是 capsule 網(wǎng)絡(luò) [5]。膠囊即是一小群神經(jīng)元的聚集,其共同輸出一個(gè)完整的向量。不同于原始的 Dense 結(jié)構(gòu),膠囊采用路由的方式得到,并進(jìn)行反向傳播優(yōu)化,路由算法如下:
這里需要注意,每個(gè)下層膠囊 i 與上層膠囊 j 都對(duì)應(yīng)一個(gè)雙線性映射矩陣 W_ij。這里膠囊網(wǎng)絡(luò)考慮下層膠囊 i 與上層膠囊 j 之間的 W_ij 矩陣,是仿照了神經(jīng)網(wǎng)絡(luò)中上層神經(jīng)元 i 與下層神經(jīng)元 j 之間的權(quán)重 w_ij。由于每個(gè)膠囊是多維的,則膠囊間路由采用的是矩陣而非一個(gè)標(biāo)量。
基于該方法,MIND 模型對(duì)膠囊的路由進(jìn)行了改進(jìn):
對(duì)于共享使用一個(gè)雙線性映射矩陣,MIND 作者是考慮到在推薦場(chǎng)景中,用戶(hù)的行為序列是不定長(zhǎng)的,且作者希望多個(gè)興趣映射到同一個(gè)空間下。另一方面,我們認(rèn)為 MIND 作者假定了位置信息在其推薦場(chǎng)景中并不重要,無(wú)需對(duì)每個(gè)序列的位置設(shè)計(jì)不同的映射矩陣。
由于采用了共享雙線性矩陣,如果 routing logit b_ij 依然采用零初始化,則第一輪的上層膠囊會(huì)全部一樣。以后也會(huì)一直一樣,代表所有底層膠囊的均值。所以對(duì)于 routing logit b_ij 采用了正態(tài)隨機(jī)初始化。
論文也提出了一種動(dòng)態(tài)調(diào)整膠囊個(gè)數(shù)的方式,該方式假設(shè)了用戶(hù)合適的膠囊數(shù)應(yīng)當(dāng)與用戶(hù)序列數(shù)呈現(xiàn)次線性關(guān)系。實(shí)際上用戶(hù)合適的膠囊數(shù)與業(yè)務(wù)場(chǎng)景和數(shù)據(jù)的內(nèi)部結(jié)構(gòu)相關(guān),很難一概而論。
2、Label-aware和serving
在 label-aware 階段,對(duì)于候選 item,通過(guò) attention 的方式確定每個(gè)興趣重要程度。在計(jì)算 softmax 之前,對(duì) logit 進(jìn)行了以 p 為指數(shù)的運(yùn)算,通過(guò)調(diào)節(jié) p 來(lái)調(diào)整多個(gè)興趣權(quán)重的差異程度。模型損失函數(shù)采用對(duì)數(shù) softmax。需要指出的是:
- 多個(gè)用戶(hù)興趣采用 attention 方式聚合是必要的,該方式使得用戶(hù)序列中的小眾興趣在更新時(shí)免受主要興趣的影響和掩蓋,從而進(jìn)行更有效的更新和興趣捕捉。我們認(rèn)為,label-aware 的 attention 是多興趣捕捉的關(guān)鍵所在。
- 以 p 為指數(shù)的運(yùn)算在實(shí)際訓(xùn)練中是有限制的,選取的 p 應(yīng)滿(mǎn)足 x^p 為單調(diào)函數(shù),使得得分通過(guò)函數(shù)后依然保序??商鎿Q成對(duì)得分除 τ>0 以控制。
在 serving 階段,MIND 模型分別計(jì)算各個(gè)興趣 emb 做向量檢索,以獲取 topN 資源。在 MIND 后續(xù)工作中,阿里巴巴團(tuán)隊(duì)在多個(gè)興趣索引的 topN 個(gè)結(jié)果如何合并方面進(jìn)行了研究和改進(jìn)。
3、優(yōu)勢(shì)以及存在的問(wèn)題
MIND 模型優(yōu)勢(shì)在于其顯性建模了用戶(hù)多個(gè)興趣,其論文對(duì)比說(shuō)明,建模多個(gè)用戶(hù)向量表示對(duì)于推薦是有很大幫助的。尤其是電商這類(lèi)資源種類(lèi)較多,用戶(hù)興趣較為廣泛的推薦場(chǎng)景。
我們通過(guò)分析和實(shí)驗(yàn)也發(fā)現(xiàn)原 MIND 模型存在以下問(wèn)題:
- 膠囊數(shù)的強(qiáng)假設(shè):MIND 中假設(shè)了膠囊數(shù)與用戶(hù)序列長(zhǎng)度存在次線性關(guān)系,有一定道理,但對(duì)用戶(hù)序列內(nèi)部結(jié)構(gòu)考慮不足。
- 膠囊初始化的隨機(jī)性:routing logit 隨機(jī)導(dǎo)致膠囊初始化的隨機(jī),穩(wěn)定性不足。
- 膠囊間的相似性:膠囊間的相似性過(guò)高,可能會(huì)導(dǎo)致模型重復(fù)捕捉相同的興趣,興趣召回覆蓋不足。
- 膠囊內(nèi)資源內(nèi)容的一致性不足:膠囊內(nèi)的資源內(nèi)容可能缺乏一致性,解釋性不足。
三、MIND 改進(jìn)過(guò)程
基于以上的缺點(diǎn),我們的改進(jìn)從膠囊初始化、路由計(jì)算過(guò)程、數(shù)據(jù)與訓(xùn)練方式三個(gè)方面展開(kāi)。
1、膠囊初始化改進(jìn)
膠囊路由的過(guò)程很容易聯(lián)想到聚類(lèi)計(jì)算的過(guò)程。以聚類(lèi)算法 Kmeans 為例,在該算法中膠囊的初始化位置對(duì)聚類(lèi)結(jié)果的影響是巨大的,類(lèi)比膠囊網(wǎng)絡(luò)我們也認(rèn)為膠囊初始化位置對(duì)于膠囊路由計(jì)算影響是巨大的。實(shí)際上原始 mind 論文并不直接對(duì)膠囊做初始化,而是對(duì) logit routing 矩陣做初始化,進(jìn)而計(jì)算出第一輪膠囊的結(jié)果。這種方式本身并沒(méi)有對(duì)初始膠囊之間的位置關(guān)系進(jìn)行約束和限制,而我們希望初始化的膠囊之間盡量保持遠(yuǎn)離,以讓其盡可能覆蓋不同興趣。所以我們首先采取了與 kmeans++ 中一樣的 maxmin 類(lèi)似的初始化策略,直接初始化膠囊位置。
(1)maxmin方法
設(shè)一個(gè)用戶(hù)全部 items 為 S,則該集合就是我們膠囊的候選集。首先我們?cè)?S 中隨機(jī)選擇一個(gè) item,作為第一個(gè)膠囊的初始化位置。假設(shè)已選擇出的全部膠囊為 C,然后在剩余的全部 items 中,分別計(jì)算各個(gè) item 與當(dāng)前膠囊集合 C 的距離。這里需要說(shuō)明的是,我們定義點(diǎn) x 到集合 C 的距離如下
我們選擇剩余的全部 items 中,將距離最遠(yuǎn)的 item 作為本輪選出的膠囊,加入到膠囊集合 C 中,即
該過(guò)程一直迭代下去直到選擇出的膠囊數(shù)達(dá)到所需膠囊數(shù)。其算法步驟如下:
- 根據(jù)用戶(hù)序列長(zhǎng)度計(jì)算用戶(hù)所需的膠囊數(shù) K。
- 隨機(jī)選擇一個(gè) item 作為第一個(gè)初始化膠囊,將目前全部已經(jīng)選出的膠囊記為 C。
- 剩余全部 items 計(jì)算其與C距離。
- 取與 C 距離最大的點(diǎn)作為下一個(gè)膠囊,將其加入到 C 中。
- 重復(fù)進(jìn)行 3-4 直到 C 中的膠囊數(shù)達(dá)到 K 則停止。
我們下面也給出了一個(gè)例子直觀地說(shuō)明該方法的初始化結(jié)果,其中藍(lán)色的點(diǎn)由兩種分布生成,分別在[-10,10]×[-10,10]上按照均勻分布采樣 100 個(gè)點(diǎn),再分別以(±5,±5)為期望,1 為方差的四個(gè)正態(tài)分布中各采樣 20 點(diǎn),總共 180 個(gè)點(diǎn)。通過(guò) maxmin 初始化方法采樣 4 個(gè)膠囊得到圖中橙色點(diǎn),最終路由后的膠囊位置為圖中的紅點(diǎn)。
注意到由于我們生成的正態(tài)分布位于四個(gè)象限,而該初始化方法也分別在四個(gè)象限初始化了膠囊。經(jīng)過(guò)膠囊路由計(jì)算后,四個(gè)膠囊也分別迭代到與其最近的點(diǎn)簇附近,該初始化方式基本上是符合預(yù)期的。
但是該方法依然存在缺點(diǎn):
- 膠囊數(shù)K依然取決于用戶(hù)序列長(zhǎng)度。
- 初始中心位置邊緣,離群點(diǎn)風(fēng)險(xiǎn)增大,序列較短時(shí)問(wèn)題更嚴(yán)重。
- 隨機(jī)性,每次初始化不同,不保證收斂結(jié)果一致。
(2)markov 方法
重新審視該問(wèn)題,對(duì)于下面的圖,其各個(gè)點(diǎn)的生成方式與 mm 方法中圖的生成方式相同。我們很容易觀察到該圖應(yīng)該存在四個(gè)簇,而我們希望將該過(guò)程進(jìn)行建模。
我們認(rèn)為在整個(gè)表征空間內(nèi),點(diǎn)密度越大則這些點(diǎn)越有可能屬于同一興趣,其應(yīng)當(dāng)被同一膠囊覆蓋。選擇膠囊初始化位置實(shí)際上就是選擇密度最大的點(diǎn)的“選點(diǎn)問(wèn)題”。為了刻畫(huà)一個(gè)點(diǎn)所處的位置密度,我們可以通過(guò)計(jì)算該點(diǎn)與其他點(diǎn)的相似程度來(lái)實(shí)現(xiàn)。而序列中兩點(diǎn)的距離,則代表了序列中"選點(diǎn)問(wèn)題”所需的全部結(jié)構(gòu)信息。具體而言,如果一個(gè)點(diǎn)的鄰居點(diǎn)數(shù)量越多,且鄰居點(diǎn)與其相距越近,那么該點(diǎn)附近的密度就越高,因此該點(diǎn)應(yīng)該被視為候選膠囊?;谶@種想法,我們使用類(lèi)似于 PageRank 算法中計(jì)算節(jié)點(diǎn)重要度的方法(既周邊密度),該方法本質(zhì)上是基于 markov 過(guò)程的圖標(biāo)簽傳遞問(wèn)題(graph label propagation)。
我們簡(jiǎn)單介紹一下離散的 markov 過(guò)程。首先離散的 markov 過(guò)程是一個(gè)隨機(jī)過(guò)程,'離散'說(shuō)明該隨機(jī)過(guò)程在時(shí)間上存在眾多離散的時(shí)刻 t_0<t_1<…<t_??,而非在時(shí)間上連續(xù)。對(duì)于時(shí)刻??,該過(guò)程存在對(duì)應(yīng)的狀態(tài) x(t)。A 為 ??×?? 的狀態(tài)轉(zhuǎn)移矩陣,其列和為 1,??_???? 代表的含義為 n 個(gè)點(diǎn)中第 j 個(gè)點(diǎn)經(jīng)過(guò)一次轉(zhuǎn)移以后到達(dá)第 i 個(gè)點(diǎn)的概率。那么在 ?? 時(shí)刻,想獲得 ??+1 時(shí)刻的狀態(tài),其計(jì)算公式為 ??_(??+1)=??*??_??,也就是說(shuō) ??+1 時(shí)刻的狀態(tài)只與 ?? 時(shí)刻狀態(tài)以及轉(zhuǎn)移概率有關(guān),與之前時(shí)刻狀態(tài)無(wú)關(guān)。
上述轉(zhuǎn)移過(guò)程一直進(jìn)行下去,在滿(mǎn)足一定條件下,是可以停止的。也就是說(shuō)存在一個(gè)狀態(tài) ??,使得 ??_(??+1)≈??_??,這時(shí)的狀態(tài)就是馬爾科夫平穩(wěn)狀態(tài)。
在我們的問(wèn)題里,把 n 個(gè)點(diǎn)初始 t_0 時(shí)刻的狀態(tài) x(??_0)定義為全為 1 的向量,代表最開(kāi)始每個(gè)點(diǎn)的重要程度都是均等的。我們通過(guò)構(gòu)建點(diǎn)之間的相似矩陣,并對(duì)其做列歸一化得到狀態(tài)轉(zhuǎn)移矩陣(確保收斂狀態(tài)存在),通過(guò)多輪轉(zhuǎn)移計(jì)算后得到平穩(wěn)狀態(tài),即狀態(tài)轉(zhuǎn)移矩陣特征值為 1 的特征向量。
我們下面給出了上圖 markov 平穩(wěn)狀態(tài)時(shí)各點(diǎn)重要度得分。很容易可以注意到,四個(gè)較為密集的簇得分最高,而較為疏遠(yuǎn)的點(diǎn)則得分很低。
基于各點(diǎn)的重要度,我們了進(jìn)行膠囊的選擇。我們參考了連續(xù)函數(shù)的極大值點(diǎn)的定義,即對(duì)于點(diǎn) x,存在很小的 ?>0,使得以 x 為球心,? 為半徑的鄰域內(nèi)該點(diǎn)的值最大,則 x 是個(gè)極大值點(diǎn)。同樣我們的膠囊選擇方式為:對(duì)于點(diǎn) x 以及給定的半徑 r>0,首先在以 x 為球心,r 為半徑的鄰域內(nèi)存在至少 2 個(gè)點(diǎn)(保證 x 不是孤立點(diǎn)),并且 x 的重要度是最大的,這樣的 x 記為候選膠囊。在滿(mǎn)足條件的候選膠囊中,優(yōu)先選擇鄰居多的候選膠囊作為膠囊初始化點(diǎn),并且選出的膠囊數(shù)不超過(guò)設(shè)置的最大膠囊數(shù)。
通過(guò)上述方式選擇的膠囊如下圖所示,總共選出四個(gè)候選膠囊,且膠囊位置都落在重要度較大的點(diǎn)簇中,該初始化方案符合我們的預(yù)期。
注意到該方式得到的膠囊數(shù)并非根據(jù)用戶(hù)序列長(zhǎng)度計(jì)算得到或者直接將膠囊數(shù)設(shè)置為超參數(shù),而是取決于用戶(hù)序列本身內(nèi)部結(jié)構(gòu)。并且該過(guò)程不含隨機(jī)部分,即多次推理初始化結(jié)果一致。
我們把 markov 過(guò)程初始化膠囊方法流程匯總?cè)缦拢?/span>
- 計(jì)算點(diǎn)和點(diǎn)之間的轉(zhuǎn)移概率構(gòu)建概率轉(zhuǎn)移矩陣,給定各點(diǎn)初始重要度為 1。
- 計(jì)算 markov 平穩(wěn)過(guò)程,得到平穩(wěn)狀態(tài)下各點(diǎn)重要度。
- 根據(jù)各點(diǎn)鄰居數(shù)以及鄰居重要度找到全部候選膠囊。
- 在不超過(guò)膠囊最大值的情況下,優(yōu)先選擇鄰居數(shù)最多的候選膠囊作為初始化膠囊。
2、路由過(guò)程改造
對(duì)于路由過(guò)程,我們首先做了部分刪減,匯總?cè)缦?/span>
- 刪除雙線性映射矩陣 S。
- Squash 函數(shù)更改為 L2-norm。
- Logit routing 矩陣不采用 softmax,而是保留每列最大值,其他值置為 0。
首先是刪除了雙線性映射矩陣 S,我們認(rèn)為在多興趣模型中,資源在序列中的位置并不重要,所以我們不考慮對(duì)每個(gè)上下層膠囊都設(shè)置不同映射矩陣 S_ij。其次 MIND 模型將 embedding layer 作為第一層膠囊,多個(gè)興趣作為第二層膠囊,興趣提取模塊只有這兩層膠囊。映射矩陣 S 始終作用于第一層膠囊上,這等價(jià)于對(duì)全部資源 embedding 做 S 為線性變換矩陣的線性變換,且 embedding 和 S 都需要學(xué)習(xí),這是沒(méi)必要的。因此我們直接刪除了矩陣 S。
對(duì)于原 squash 函數(shù),由于我們模型中都是通過(guò) L2-norm 將 emb 模長(zhǎng)變?yōu)?1,所以我們也不采用原論文中的 squash 函數(shù),而是直接采用 L2-norm 運(yùn)算。
最大的改動(dòng)在于對(duì) logit routing 矩陣的處理,該矩陣直接決定了各個(gè)行為序列到興趣膠囊的權(quán)重大小。原始的 logit routing 矩陣是稠密的,即各序列 item 到各個(gè)膠囊都有貢獻(xiàn),這容易造成各個(gè)膠囊之間差異性不強(qiáng),即便在這一步原 mind 論文做了 softmax 也只是讓 item 到膠囊各個(gè)得分差異增加。我們通過(guò)只保留 item 到各個(gè)膠囊得分的最大值部分,其他置零,將該矩陣變成稀疏矩陣。通過(guò)該方式,每輪路由每個(gè) item 只會(huì)貢獻(xiàn)一個(gè)膠囊的更新。并且 logit routing 我們不再采用累加,而是直接每輪計(jì)算完后覆蓋。
以上兩個(gè)處理方式也是仿照了 kmeans 算法的更新方式。在 kmeans 中,每個(gè) item 只能屬于一個(gè)簇,其到其他簇的得分為 0。并且簇的本輪迭代只基于本輪各個(gè)簇下所屬的 items 計(jì)算得到,不會(huì)考慮上一輪中該簇下面的 items。
3。數(shù)據(jù)與訓(xùn)練
序列模型或者語(yǔ)言模型的訓(xùn)練,本質(zhì)上是學(xué)習(xí)序列中 token 的共現(xiàn)性,這個(gè)共線性可能是高階的。我們今天討論的模型,則希望在解決 token 共現(xiàn)性的同時(shí),通過(guò)中間的一個(gè)隱因子來(lái)解釋這種共線性。通過(guò)對(duì)隱因子的顯式建模,來(lái)實(shí)現(xiàn)對(duì)用戶(hù)行為中潛在興趣點(diǎn)的捕捉,進(jìn)而實(shí)現(xiàn)在推薦過(guò)程中對(duì)用戶(hù)興趣的控制。
(1)資源表達(dá)學(xué)習(xí):
- 在完全的端到端學(xué)習(xí)中,資源的表達(dá)本質(zhì)上體現(xiàn)資源在行為序列中的共現(xiàn),而不保證在資源內(nèi)容刻畫(huà)上的一致性。出于對(duì)推薦結(jié)果可解釋性的要求,我們使用資源預(yù)訓(xùn)練的 embedding 做初始化,并且在資源作為 input 時(shí)將該 emb 進(jìn)行 fix 操作,即 stop gradient。同時(shí),我們刪除了膠囊網(wǎng)絡(luò)中的雙線性映射矩陣 S,進(jìn)一步將興趣點(diǎn)限定在資源原始語(yǔ)義空間的聚集。實(shí)驗(yàn)證明,這種操作雖然對(duì)模型做了極大的限定,但訓(xùn)練的有效性和可解釋性有足夠的保證。這一點(diǎn)在用戶(hù)歷史行為的跨度較大(幾個(gè)月到半年不等),平臺(tái)內(nèi)容分布以及用戶(hù)行為 pattern 在不斷變化的情況下,尤其重要。
- 同時(shí),當(dāng)資源作為輸出側(cè)目標(biāo),用于 label-aware attention 計(jì)算及 sampled softmax 損失函數(shù)計(jì)算時(shí),與輸入層一致使用資源預(yù)訓(xùn)練表達(dá)初始化,并進(jìn)行正常的梯度更新。這樣的優(yōu)勢(shì)在于,初始與輸入層表達(dá)一致,可以進(jìn)行更有效的 label-aware attention 計(jì)算,而正常的梯度更新可以保證模型在框定語(yǔ)義空間一致的條件下,學(xué)習(xí)得到資源在語(yǔ)料中的顯著性信息。
(2)負(fù)采樣策略:
- 根據(jù)資源在語(yǔ)料中出現(xiàn)的頻次的冪律分布(0~1)作為資源被采樣為負(fù)樣本的概率,以便于對(duì)語(yǔ)料中超頭部的資源做較好的控制。一般來(lái)講,冪律越大,對(duì)熱門(mén)資源的打壓效果越明顯。
- 對(duì)于超冷門(mén)資源,由于我們的方案保證了內(nèi)容的一致性和解釋性,同時(shí)其作為負(fù)樣本的概率極低,因此推理階段進(jìn)行膠囊的向量檢索時(shí)很容易被排到靠前的位置。但有概率的地方就一定存在先驗(yàn),我們?yōu)槊總€(gè)資源給定一個(gè)基礎(chǔ)的先驗(yàn)頻率 L。具體的值可以根據(jù)業(yè)務(wù)需要和語(yǔ)料分布靈活調(diào)整,該方法可以有效遏制推薦結(jié)果中的”翹尾“現(xiàn)象。
下圖為我們最終改進(jìn)后 MIND 的結(jié)構(gòu)圖:
四、實(shí)際建模效果
1、膠囊初始化實(shí)驗(yàn)效果
為驗(yàn)證我們提出的 markov 膠囊初始化效果,我們采用用戶(hù)真實(shí)的行為序列,在該數(shù)據(jù)上進(jìn)行 markov 膠囊初始化選擇膠囊,并通過(guò) t-SNE 算法進(jìn)行降維后可視化,更加直觀的呈現(xiàn)出我們的方法在真實(shí)場(chǎng)景的效果。在可視化圖中,我們用資源的標(biāo)簽繪制散點(diǎn)圖,黑色加粗的標(biāo)簽表示經(jīng)過(guò) markov 過(guò)程選擇出的初始化膠囊。
我們下面抽取了兩個(gè)用戶(hù)序列作為例子,兩個(gè)序列都是長(zhǎng)行為序列。前者行為序列中的資源類(lèi)型較為集中,主要是搞笑視頻和動(dòng)漫,后者則興趣相對(duì)分散,有動(dòng)漫、游戲、親子、動(dòng)物、劇情等類(lèi)型。注意到對(duì)于長(zhǎng)序列且興趣較為集中的例子 1,只需 2-4 個(gè)膠囊就可以將其主要興趣捕捉到,但是如果采用傳統(tǒng)的基于序列長(zhǎng)度計(jì)算所需膠囊個(gè)數(shù)的方式,則會(huì)強(qiáng)行將其分派到 7-8 個(gè)膠囊下。而在長(zhǎng)序列且興趣較為分散的例子 2 中,主要的幾個(gè)興趣均被膠囊捕捉到,膠囊也不會(huì)由于邊緣點(diǎn)、孤立點(diǎn)的存在而偏離。
以下兩個(gè)例子充分說(shuō)明了,markov 膠囊初始化方法在自適應(yīng)地確定用戶(hù)膠囊數(shù)量和初始化位置的優(yōu)勢(shì)。
2、業(yè)務(wù)實(shí)際效果評(píng)估
在根據(jù)用戶(hù)過(guò)去半年時(shí)間內(nèi)發(fā)生的正向反饋行為進(jìn)行多興趣建模的召回中,我們發(fā)現(xiàn)除了在召回占比、正向反饋率等都有明顯提升之外,最主要的收益體現(xiàn)在召回品類(lèi)多樣性以及單位曝光中覆蓋的不同資源量及作者數(shù)量。
五、總結(jié)
本文主要針對(duì)阿里提出的多興趣抽取模型的興趣抽取過(guò)程進(jìn)行迭代,在結(jié)合自身業(yè)務(wù)優(yōu)化的訴求下,提出了將膠囊的隨機(jī)映射初始化改為從底層膠囊選擇的策略,同時(shí)提出了兩種初始膠囊選擇的方案。
從實(shí)際應(yīng)用上看,maxmin 方案簡(jiǎn)單實(shí)用,在業(yè)務(wù)對(duì)興趣點(diǎn)區(qū)分度要求不大,同時(shí)對(duì)邊緣興趣(探測(cè)、發(fā)現(xiàn))有較高訴求的場(chǎng)景更為合適。而 markov 的方法在業(yè)務(wù)對(duì)用戶(hù)興趣覆蓋度、區(qū)分度、顯著性都有較高要求的場(chǎng)景較為合適,計(jì)算復(fù)雜度也略高。
六、參考文章
[1] Covington P, Adams J, Sargin E. Deep neural networks for youtube recommendations[C]//Proceedings of the 10th ACM conference on recommender systems. 2016: 191-198。
[2] Hidasi B, Karatzoglou A, Baltrunas L, et al. Session-based recommendations with recurrent neural networks[J]. arXiv preprint arXiv:1511.06939, 2015。
[3] Li C, Liu Z, Wu M, et al. Multi-interest network with dynamic routing for recommendation at Tmall[C]//Proceedings of the 28th ACM international conference on information and knowledge management. 2019: 2615-2623。
[4] Cen Y, Zhang J, Zou X, et al. Controllable multi-interest framework for recommendation[C]//Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2020: 2942-2951。
[5] Sabour S, Frosst N, Hinton G E. Dynamic routing between capsules[J]. Advances in neural information processing systems, 2017, 30。