小紅書為何讓歪果仁上頭?推薦算法超牛,2篇核心論文揭秘
最近歪果朋友瘋狂涌入「Xiaohongshu」,網(wǎng)友直呼,一夜之間與國際接軌。
這場史稱「美洲大遷徙」的互聯(lián)網(wǎng)奇象,也離不開小紅書本身過硬的內(nèi)容推薦算法技術(shù)。而歪果網(wǎng)友也毫不吝嗇對于「Xiaohongshu」推薦算法的贊美。
小紅書如何「投你所好」
接下來讓我們看看,小紅書的推薦算法是怎么不斷地成功「投你所好」。
一般來講,為了構(gòu)建出用戶所喜歡的推薦內(nèi)容列表,經(jīng)典的推薦系統(tǒng)構(gòu)成為:
- 從內(nèi)容數(shù)據(jù)庫中檢索候選內(nèi)容
- 通過排序模塊衡量每個事件的質(zhì)量,即預(yù)測特定內(nèi)容將為用戶提供的效用程度
- 高質(zhì)量內(nèi)容將被發(fā)送至策略模塊進(jìn)行進(jìn)一步篩選和重新排序,以構(gòu)建最終的推薦列表
推薦系統(tǒng)的典型結(jié)構(gòu)
目前能夠檢索到的小紅書官方發(fā)表的推薦算法相關(guān)的技術(shù)論文共有兩篇,接下來就讓我們一起揭開小紅書內(nèi)容推薦機(jī)制的「神秘面紗」。
發(fā)現(xiàn)你的興趣:NoteLLM
推薦契合用戶興趣的筆記是一項(xiàng)關(guān)鍵任務(wù)。NoteLLM是一種用于解決內(nèi)容到內(nèi)容(I2I)筆記推薦問題的創(chuàng)新統(tǒng)一框架,旨在為用戶提供更精準(zhǔn)的筆記推薦服務(wù)。
研究者在小紅書開展了為期一周的在線I2I推薦實(shí)驗(yàn)。
與先前使用SentenceBERT的方法相比,NoteLLM的點(diǎn)擊率提升了16.20%,召回性能的增強(qiáng)使評論數(shù)增加1.10%,平均每周發(fā)布者數(shù)量增加0.41%。
這些結(jié)果顯示,將LLM用于I2I筆記推薦任務(wù)能顯著提升推薦性能和用戶體驗(yàn)。同時,新筆記一天內(nèi)評論數(shù)顯著增加3.58%,表明LLM的泛化能力對冷啟動筆記有積極作用。
目前,NoteLLM已部署在小紅書的I2I筆記推薦任務(wù)中。
具體來說,通過「筆記壓縮提示詞」將筆記濃縮成特殊的單一token,再借助對比學(xué)習(xí)方法,進(jìn)一步學(xué)習(xí)潛在相關(guān)筆記的嵌入關(guān)系。同時,NoteLLM還能對筆記進(jìn)行總結(jié),通過指令調(diào)優(yōu)自動生成標(biāo)簽或類別。
經(jīng)大量實(shí)際場景驗(yàn)證,NoteLLM在小紅書推薦系統(tǒng)里效果顯著。
論文鏈接:https://arxiv.org/pdf/2403.01744
基于BERT模型的在線I2I筆記推薦方法存在局限性,它們僅把標(biāo)簽/類別當(dāng)作筆記內(nèi)容的普通部分,未深挖其潛在價值。標(biāo)簽/類別蘊(yùn)含著筆記的核心要點(diǎn),對判斷筆記間內(nèi)容相關(guān)性至關(guān)重要。
生成標(biāo)簽/類別與生成筆記嵌入具有相似性,二者都能將筆記關(guān)鍵信息凝練為有限內(nèi)容。學(xué)習(xí)生成標(biāo)簽/類別,有助于提升嵌入質(zhì)量。
NoteLLM框架由三個關(guān)鍵部分組成:筆記壓縮提示構(gòu)建、生成對比學(xué)習(xí)(GCL)和協(xié)作監(jiān)督微調(diào)(CSFT)。
研究者采用統(tǒng)一的筆記壓縮提示,旨在將筆記內(nèi)容壓縮成一個特殊的單一token,來助力I2I推薦和生成任務(wù)。
利用這個壓縮后的特殊token,通過生成對比學(xué)習(xí)(GCL)挖掘其中的協(xié)作知識。之后,借助協(xié)作監(jiān)督微調(diào)(CSFT),運(yùn)用這些知識生成標(biāo)簽和類別。
構(gòu)建筆記壓縮提示
研究者用以下提示模板,實(shí)現(xiàn)了對筆記的通用壓縮以及標(biāo)簽和類別的生成:
在這個模板里,[BOS]、[EMB] 和 [EOS] 是特殊的 token 。而<Instruction>(指令)、<Input Note>(輸入筆記)、<Output Guidance>(輸出引導(dǎo))和<Output>(輸出結(jié)果)是占位符,后續(xù)會被具體內(nèi)容替換。
類別生成的具體內(nèi)容定義如下:
標(biāo)簽生成的模板如下:
完成提示構(gòu)建后,對其進(jìn)行標(biāo)記化處理并輸入LLM,LLM會將協(xié)作信號與關(guān)鍵語義信息提煉到壓縮詞中,依據(jù)筆記核心思想生成標(biāo)簽或類別。
生成對比學(xué)習(xí)(GCL)
研究者提出生成式對比學(xué)習(xí)(GCL),目的是增強(qiáng)LLM捕獲更強(qiáng)協(xié)作信號的能力。GCL不同于從特定答案或獎勵模型中學(xué)習(xí),它采用對比學(xué)習(xí),從整體視角考量筆記之間關(guān)系的緊密程度。
為了將協(xié)作信號融入LLM,采用基于用戶行為的共現(xiàn)機(jī)制來構(gòu)建相關(guān)筆記對。這一機(jī)制基于這樣的假設(shè):若兩篇筆記常被用戶一起閱讀,那么它們很可能存在關(guān)聯(lián)。
在構(gòu)建相關(guān)筆記對之后,訓(xùn)練NoteLLM基于文本語義和協(xié)作信號判斷筆記的相關(guān)性。
GCL的損失函數(shù)計算如下:
其中,??????表示GCL的損失,??為可學(xué)習(xí)的溫度參數(shù),??????(??,??)=?????/(∥??∥*∥??∥) 表示向量??和??的相似度。
協(xié)作監(jiān)督微調(diào)(CSFT)
生成標(biāo)簽/類別和生成筆記嵌入類似,都是對筆記內(nèi)容的總結(jié):前者從文本生成角度提取關(guān)鍵信息,后者從協(xié)作視角將筆記壓縮為虛擬詞用于I2I推薦。
NoteLLM把GCL和CSFT任務(wù)結(jié)合起來建模,旨在潛在地提高嵌入的質(zhì)量。研究者將這兩個任務(wù)整合到一個提示中,給它們提供額外信息,同時簡化訓(xùn)練流程。
具體而言,研究者用協(xié)作監(jiān)督微調(diào)(CSFT),通過筆記的語義內(nèi)容和壓縮標(biāo)記中的協(xié)作信號生成標(biāo)簽/類別。
CSFT損失的計算方式如下:
其中,????????為CSFT損失,??是輸出序列的長度,????表示輸出序列??中的第??個標(biāo)記,??是輸入序列。
最后,把GCL和CSFT結(jié)合,得到NoteLLM的總損失函數(shù):
通過模型更新,NoteLLM可在筆記推薦場景中同時開展I2I推薦任務(wù)和標(biāo)簽/類別生成任務(wù)。
實(shí)現(xiàn)多樣化推薦:SSD
論文鏈接:https://arxiv.org/pdf/2107.05204
該論文主要是提出了滑動頻譜分解(SSD)方法,以解決小紅書中「多樣化信息流推薦」的問題。并且文中也提出了計算嵌入向量的策略CB2CF,以應(yīng)對實(shí)際推薦場景中的長尾效應(yīng)。
滑動頻譜分解
推薦系統(tǒng)通常提供很長的內(nèi)容序列,而用戶當(dāng)前的瀏覽窗口只能占據(jù)整個序列的一部分。因此用戶需要不斷滑動當(dāng)前瀏覽窗口才能獲取推薦內(nèi)容序列中其余內(nèi)容。
如下圖所示,用戶閱覽窗口的處理步驟為:首先,一個固定大小為ω的窗口在整個原始內(nèi)容序列中滑動。然后將內(nèi)容的多個窗口以內(nèi)容矩陣的形式堆疊在一起。最后將每個內(nèi)容映射到其d維內(nèi)容嵌入,得到軌跡張量??。
在推薦場景中,作者將軌跡矩陣推廣到三階情況,將d維內(nèi)容嵌入視為多元觀測,并借助單變量時間序列奇異譜分析(SSA),對??進(jìn)行奇異值分解。
其中,??的體積代表了基于整個序列以及滑動窗口的多樣性,奇異矩陣可以看作是推薦內(nèi)容呈現(xiàn)的正交方向,而奇異值則指的是這些方向在用戶對多樣性感知中的權(quán)重。
作者繼續(xù)通過這些內(nèi)容所跨越的超平行體的體積來定義多樣性,由于多樣化的內(nèi)容嵌入更加正交,這意味著它能夠跨越更大的體積。
一方面,推薦系統(tǒng)通常計算質(zhì)量分?jǐn)?shù)來表示用戶的預(yù)期效用,例如視頻觀看時間或參與度。另一方面,多樣性有時被視為探索以發(fā)現(xiàn)更多關(guān)于用戶的信息
其中為三階張量??的體積,γ是一個超參數(shù),用于調(diào)整質(zhì)量和多樣性之間的權(quán)衡。該目標(biāo)函數(shù)利用貪心算法進(jìn)行推理求解。
由于該方法將整個內(nèi)容序列視為用戶觀察到的時間序列,并通過頻譜分析分解其滑動表示。因此,作者將提出的方法稱為滑動頻譜分解(SSD,Sliding Spectrum Decomposition)。
作者也利用在線實(shí)驗(yàn)論證了相比于DPP(Determinantal Point Process)推薦算法,SSD分別在駐留時間、互動次數(shù)、ILAD、MRT四個指標(biāo)分別進(jìn)步了+0.25%,+0.71%,+0.37%,+0.53%。
其中ILAD是通過用戶查看筆記內(nèi)容之間的平均成對相異性來衡量多樣性。MRT則使用用戶點(diǎn)擊的內(nèi)容類別的平均數(shù)量來描述多樣性。
這說明SSD算法能夠更進(jìn)一步地解決小紅書中「多樣化信息流推薦」的問題,給用戶更多類別的個性化推薦內(nèi)容。
計算嵌入向量的CB2CF
協(xié)同過濾(CF,Collaborative Filtering)是一種常用的推薦系統(tǒng)算法,它基于用戶的行為數(shù)據(jù)來計算內(nèi)容之間的相似度,并據(jù)此為用戶提供個性化推薦。
在CF策略的基礎(chǔ)上,作者提出了采用如下圖所示的孿生網(wǎng)絡(luò)結(jié)構(gòu)CB2CF策略來計算內(nèi)容嵌入向量。
嵌入模型CB2CF的網(wǎng)絡(luò)架構(gòu)
對于給定的一個筆記內(nèi)容,分別利用預(yù)訓(xùn)練的BERT模型提取文本描述的特征,Inception-V3模型提取封面圖像的特征,將兩者特征拼接后通過全連接層得到目標(biāo)嵌入向量。
在訓(xùn)練數(shù)據(jù)收集上,僅使用筆記內(nèi)容本身作為特征,避免長尾效應(yīng)的影響。對于有用戶互動的筆記,將通過 ItemCF方法檢索且在推薦結(jié)果中曝光足夠的筆記,與組成的筆記對作為正樣本;隨機(jī)采樣ItemCF檢索的筆記與組成的筆記對作為負(fù)樣本。
為適應(yīng)SSD方法,采用余弦相似度作為距離度量,并對嵌入向量進(jìn)行歸一化,通過在歸一化后的向量后附加一個元素為1的額外維度,解決余弦距離與體積定義的不匹配問題。
最后,作者將這個問題視為一個二分類任務(wù),并使用交叉熵?fù)p失作為目標(biāo)函數(shù)。
在實(shí)驗(yàn)中,作者將注意力限制在僅有少量互動的長尾內(nèi)容上,并隨機(jī)抽取了100,000個筆記,這些內(nèi)容在一個月內(nèi)的互動次數(shù)均少于3次。
下圖展示了給定一個描述中國書法的低參與度內(nèi)容時,從CF和CB2CF生成的最相似內(nèi)容的示例。顯然,在這種情境下,所提出的CB2CF方法能夠檢索到更多相似內(nèi)容,而CF則檢索到了與娛樂和繪畫相關(guān)的內(nèi)容。
這說明將SSD與CB2CF嵌入相結(jié)合,能夠?qū)崿F(xiàn)更好地捕捉用戶在長序列場景下對多樣性的感知,且在長尾效應(yīng)下精確衡量內(nèi)容相似度,給用戶提供符合興趣且廣泛多樣的個性化推薦內(nèi)容。