WWW 2025 | 中南、微軟提出端到端雙重動態推薦模型,釋放LLM在序列推薦中的潛力...

c17357158e6a8326594e33a8f7c51032.gif

?PaperWeekly 原創 ·?作者 |?殷珺

單位 |?中南大學碩士研究生

研究方向 |?大語言模型、推薦系統

16020df88163a10cacb01ceace2498a0.png

論文題目:

Unleash LLMs Potential for Sequential Recommendation by Coordinating Dual Dynamic Index Mechanism

論文鏈接:

https://openreview.net/pdf?id=GE71TxvTH3

代碼鏈接:

https://github.com/Esperanto-mega/ED2

論文錄用:

The ACM Web Conference Research Track 2025 (Oral)

21c822ddf64cd9548f874319316df9b7.png

摘要

由于大型語言模型(Large Language Models,LLMs)在語義理解和邏輯推理方面表現出前所未有的能力,它們在下一代序列推薦系統(Recommender Systems,RSs)的開發中展現出了巨大的潛力。

然而,現有的基于 LLM 的序列推薦系統大多將索引生成與序列推薦分離,這導致語義信息與協同信息的融合不夠充分。此外,對用戶相關信息的忽視限制了基于 LLM 的序列推薦系統對高階用戶-物品交互模式的挖掘。

為了解決上述問題,我們提出了端到端雙重動態(End-to-End Dual Dynamic, ED2)推薦模型,這是首個采用雙重動態索引機制的基于 LLM 的序列推薦系統。該機制不僅能夠將索引生成和序列推薦整合到統一的 LLM 主干流程中,還使得基于 LLM 的序列推薦系統能夠有效利用用戶相關信息。

具體而言,為了提升 LLM 對雙重動態索引的理解能力,我們提出了一種多粒度 Token 調節器,該調節器基于 LLMs 的語義知識,在多個表示粒度上構建對齊監督。此外,我們特別設計了用戶集合數據及一系列新穎的指令微調任務,以捕捉高階用戶-物品交互模式。

在三個公開數據集上的廣泛實驗表明,ED2 的性能優越,在命中率(Hit-Rate)上平均提升 19.62%,在歸一化折損累計增益(NDCG)上平均提升 21.11%。

395f2c5d1ec441259bff60455bbd615a.png

動機

dabd7f1fafb2c9c0334a1496bab76d0a.png

盡管取得了顯著成就,當前基于 LLM 的序列推薦系統仍然面臨以下局限:

(i)靜態索引機制限制了 LLM 對語義信息和協同信息的融合。如圖 1b 所示,現有的基于 LLM 的序列推薦系統大多采用靜態索引機制,將索引生成過程與序列推薦過程分離。

在推薦系統優化過程中,靜態索引保持不變,因此無法考慮物品之間的協同相似性。例如,電影《變形金剛》(2007年7月3日)與教學視頻《Transformer詳細講解》(2021年10月28日)在文本內容上高度相似,但在用戶交互記錄中的重疊度卻極低。?

(ii)忽視用戶相關信息,限制了 LLM 對高階用戶-物品交互模式的挖掘。如圖 1b 所示,大多數主流的基于 LLM 的序列推薦系統(如 FDSA、TIGER 和 LC-Rec)僅依賴物品相關信息(即物品文本內容和交互物品序列)進行下一個物品的預測,而不考慮用戶相關信息。這使得基于 LLM 的序列推薦系統難以捕捉和利用高階用戶-物品交互模式。

在傳統的序列推薦系統中,高階用戶-物品交互模式至關重要,并對推薦結果有著巨大貢獻。例如,用戶共同購買模式(co-purchase pattern)能夠識別出具有相似興趣的用戶,而用戶偏好模式(user preference pattern)則反映了用戶在長時間跨度上的一致性喜好。

4526cf81e087061822cd22070dc12949.png

方法

9b00d034087626d3240d99dfe9e1ff72.png

3.1 端到端雙重動態語義推薦系統

端到端雙重動態(ED2)推薦模型由共享的 LLM 主干網絡和雙重動態索引生成器組成。共享的 LLM 主干網絡負責理解用戶/物品的文本特征,并推理序列推薦結果。雙重動態索引生成器能夠將 LLM 主干網絡提供的用戶/物品表示量化為離散索引。

具體而言,語義信息首先在 LLM 主干網絡的幫助下從文本內容中提取,然后通過雙重動態索引生成器壓縮為緊湊的索引,最終通過面向序列推薦的微調與協同信息融合。

3.1.1 語義信息提取

為了充分利用與用戶和物品相關的語義信息,我們基于它們的文本特征初始化用戶/物品表示。

對于每個用戶 及其交互序列 ,我們查找并組織對應的文本特征,形成集合 。在 LLM 主干網絡的文本編碼器 中,LLM 的分詞器(Tokenizer)首先將文本內容轉換為標記索引(token indices),然后標記嵌入層(token embedding layer)將標記索引投影為標記嵌入(token embeddings)。

最終,LLM 基于其內在的語義知識,將標記嵌入轉換為語義表示。語義信息提取過程可以表示為:

d1bbfb7b93bcbced51908f9515ae9288.png

其中,d 表示 LLM 的隱藏層特征維度。

3.1.2 雙重動態語義索引生成

基于 LLM 主干網絡文本編碼器提取的語義表示,雙重動態索引生成器將其中的語義信息壓縮為離散索引。由于雙重動態索引的離散性,下游的 LLM 主干推薦器能夠直接生成推薦結果的索引,從而充分激發 LLM 主干的自然語言生成能力。

通常,每個用戶/物品都與一個唯一標識符(如 <user_9974>、<item_161>)相關聯。一種樸素的策略是將所有唯一標識符直接添加到 LLM 詞表中,但這種方法會導致詞表大小隨用戶和物品數量線性增長。

借鑒序列量化(sequential quantization)技術,我們在設計雙重動態索引生成器式采用了分層架構,通過 M 個索引標記(每個標記有 N 種可能取值)的組合來表示每個用戶、物品。

例如,如圖 2 中雙重動態索引生成階段所示,物品 <item_5175> 可表示為 =<a2,b4,c5,d7>,其中 M=4,N=8。在該分層索引機制下,表達空間隨索引長度 M 指數級增長。

一個長度為 M 基數為 N 的分層索引理論上可以表示 個不同的對象,而新引入的索引標記總數僅為 N×M。以物品 為例,量化過程將以殘差方式執行 M 次,其數學表達如下:

9df496ee39f16a1aa68691c7c08337f6.png

最終,物品 的語義索引可表示為: .

3.1.3 生成式序列推薦

為了讓 LLM 主干網絡理解序列推薦任務,我們通過自然語言指令將雙重動態索引與用戶交互序列進行聚合。具體而言,交互序列中的原始用戶索引 和物品索引 被替換為相應的雙重動態索引。由此,交互記錄被重組為一個由自然語言 Token 和雙重動態索引 Token 組成的異構序列。在我們的實現中,一條異構自然語言指令的示例如下:

“You are an expert in sequential recommendation. Based on the historical interaction sequence: , could you please predict the most suitable item for user ?”

記異構自然語言指令為 ,LLM 主干網絡首先將自然語言指令 轉換為隱藏表示 。然后,在 LLM 主干網絡的基礎上附加一個擴展的語言模型頭,用于將隱藏狀態 投影到索引標記詞表,表示如下,

0b0aa7755a4f637118c097e2da367232.png

其中, 是推薦結果的索引表示。若有需要,可以通過逆查找操作(inverse look-up)將索引轉換回原始物品 ID。基于異構指令提示的序列推薦任務可以自然地轉化為語言生成任務,其優化目標定義為負對數似然(Negative Log-Likelihood, NLL),具體如下:

318db2e843a5b012ce3aeeae37dfc0d0.png

其中,F 是由 LLM 主干網絡與擴展的語言模型頭組成的整體模型,B 表示批量大小(batch size), 和 分別為第 個樣本的真實索引與自然語言指令。

3.2 多粒度 Token 調節器

給定動態索引 和對應的文本特征 ,值得注意的是, 和 從兩個不同的角度描述了同一實體。因此,LLM 對動態索引 的理解應當與對文本特征 的理解相似。

606869324d8e252946c78b5a5cb4b016.png

如圖 3 所示,多粒度 Token 調節器模塊在索引層和標記層構建了對齊監督。我們提出的基于索引層對齊監督優化目標公式如下,

a8604fee2f5f446b443efb9fec23fb69.png

其中, 為批量大小, 和 分別為動態索引 和文本特征 的 LLM 表示。具有相似表示的用戶/物品往往會分配相似的索引,這些索引共享一部分相同的標記。因此,我們提出了基于標記層對齊監督的優化目標,公式如下,

5f086c4f3c1299298294e6c86d0f7098.png

其中 是第 個量化器的輸入, 是與索引標記 對應的碼字。

3.3 高階交互模式挖掘

我們設計了高階用戶-物品交互模式的挖掘方法,使得 LLM 能夠捕捉這些隱式模式。具體而言,我們首先根據歷史行為構建相關的用戶集合數據。對于每個物品 ,與之有過歷史交互的用戶被記錄為一個關聯集合 ,其中 表示用戶 的交互序列。

作為序列推薦任務的對稱任務,我們設計了用戶預測任務,旨在挖掘用戶共同購買模式。LLM 主干網絡推薦系統通過提示多個歷史上與特定物品有過交互的用戶,然后指示其生成另一個喜歡相同物品的用戶的索引。下面是異構指令的示例:

“You are a professional recommendation system. The item is historically purchased by the following users: . Could you please predict another user who may be interested in this item?”

為了挖掘用戶偏好模式,我們還設計了基于用戶最近評論、搜索查詢和整體個人資料的指令調優任務。

bf9234551cd1db0bab5cf83db7b8d946.png

實驗結果

4.1 序列推薦性能

8caf56b6aabdc743eed1b3e88862773a.png

結論:1)融合語義信息和協同信息是提高序列推薦性能的有效方法;2)雙重動態索引機制釋放了 LLM 在序列推薦中的潛力;3)針對高階用戶-物品交互模式的特定指令調優至關重要。

4.2 消融實驗

4.2.1 模型架構消融

cc3938d589af82a98eb323a7c7699f7a.png

結論:1)多粒度 Token 調節器(m-GTR)促進了 LLM 對動態索引標記的理解;2)引入用戶相關信息存在加劇靜態索引機制局限性的風險;3)簡單地引入用戶相關信息對序列推薦任務沒有實質性的幫助。

4.2.2 索引方法消融

我們變化雙重動態索引長度,并引入了動態局部敏感哈希(LSH)索引和靜態 LSH 索引(分別表示為 D-LSH 和 S-LSH)作為對比變體。

c7af75c22f1a34400d49d5f415751fdb.png

結論:1)在商品、用戶數量為 10K~45K 的數據規模下,用 4 個索引標記表示每個商品、用戶是合適的;2)動態索引機制的優越性在局部敏感哈希索引上同樣明顯。

更多閱讀

548175c56ab21d448e72c2526f77fc09.png

c6b1bf1885988b94ae25f143b7ad0d36.png

7317dd64854585f319cb24150d823fb0.png

ce142cb53763846252ca3971f226eb87.gif

#投 稿?通 道#

?讓你的文字被更多人看到?

如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。

總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?

PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析科研心得競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。

📝?稿件基本要求:

? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?

? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題

? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算

📬?投稿通道:

? 投稿郵箱:hr@paperweekly.site?

? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者

? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿

3375abd33984b2a7198accc9e4063106.png

△長按添加PaperWeekly小編

🔍

現在,在「知乎」也能找到我們了

進入知乎首頁搜索「PaperWeekly」

點擊「關注」訂閱我們的專欄吧

·

·

·

e08fc97f23dbb83163343796fff77371.jpeg

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/70164.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/70164.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/70164.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c# 2025/2/17 周一

16. 《表達式&#xff0c;語句詳解4》 20 未完。。 表達式&#xff0c;語句詳解_4_嗶哩嗶哩_bilibili

數據結構與算法面試專題——堆排序

完全二叉樹 完全二叉樹中如果每棵子樹的最大值都在頂部就是大根堆 完全二叉樹中如果每棵子樹的最小值都在頂部就是小根堆 設計目標&#xff1a;完全二叉樹的設計目標是高效地利用存儲空間&#xff0c;同時便于進行層次遍歷和數組存儲。它的結構使得每個節點的子節點都可以通過簡…

iOS開發書籍推薦 - 《高性能 iOS應用開發》(附帶鏈接)

引言 在 iOS 開發的過程中&#xff0c;隨著應用功能的增加和用戶需求的提升&#xff0c;性能優化成為了不可忽視的一環。尤其是面對復雜的界面、龐大的數據處理以及不斷增加的后臺操作&#xff0c;如何確保應用的流暢性和響應速度&#xff0c;成為開發者的一大挑戰。《高性能 …

微信小程序的制作

制作微信小程序的過程大致可以分為幾個步驟&#xff1a;從環境搭建、項目創建&#xff0c;到開發、調試和發布。下面我會為你簡要介紹每個步驟。 1. 準備工作 在開始開發微信小程序之前&#xff0c;你需要確保你已經完成了以下幾個步驟&#xff1a; 注冊微信小程序賬號&…

LabVIEW 中dde.llbDDE 通信功能

在 LabVIEW 功能體系中&#xff0c;位于 C:\Program Files (x86)\National Instruments\LabVIEW 2019\vi.lib\Platform\dde.llb 的 dde.llb 庫占據著重要的地位。作為一個與動態數據交換&#xff08;DDE&#xff09;緊密相關的庫文件&#xff0c;它為 LabVIEW 用戶提供了與其他…

gitte遠程倉庫修改后,本地沒有更新,本地與遠程倉庫不一致

問題 &#xff1a;gitte遠程倉庫修改后&#xff0c;本地沒有更新&#xff0c;本地與遠程倉庫不一致 現象&#xff1a; [cxqiZwz9fjj2ssnshikw14avaZ rpc]$ git push Username for https://gitee.com: beihangya Password for https://beihangyagitee.com: To https://gitee.c…

組合模式詳解(Java)

一、組合模式基本概念 1.1 定義與類型 組合模式是一種結構型設計模式,它通過將對象組織成樹形結構,來表示“部分-整體”的層次關系。這種模式使得客戶端可以一致地對待單個對象和組合對象,從而簡化了客戶端代碼的復雜性。組合模式的核心在于定義了一個抽象組件角色,這個角…

LabVIEW危化品倉庫的安全監測系統

本案例展示了基于LabVIEW平臺設計的危化品倉庫安全監測系統&#xff0c;結合ZigBee無線通信技術、485串口通訊技術和傳感器技術&#xff0c;實現了對危化品倉庫的實時無線監測。該系統不僅能提高安全性&#xff0c;還能大幅提升工作效率&#xff0c;確保危化品倉庫的安全運營。…

【私人筆記】Web前端

Vue專題 vue3 vue3 頁面路徑前面添加目錄 - 路由base設置 - vite設置base https://mbd.baidu.com/ma/s/XdDrePju 修改vite.config.js export default defineConfig({base: /your-directory/,// 其他配置... }); vue2 uniapp 【持續更新】uni-app學習筆記_uniapp快速復制一…

數倉搭建:DWB層(基礎數據層)

維度退化: 通過減少表的數量和提高數據的冗余來優化查詢性能。 在維度退化中&#xff0c;相關的維度數據被合并到一個寬表中&#xff0c;減少了查詢時需要進行的表連接操作。例如&#xff0c;在銷售數據倉庫中&#xff0c;客戶信息、產品信息和時間信息等維度可能會被合并到一…

【Linux】進程間通信——進程池

文章目錄 進程池什么進程池進程池的作用 用代碼模擬進程池管道信息任務類InitProcesspool()DisPatchTasks()任務的執行邏輯&#xff08;Work&#xff09;CleanProcessPool() 封裝main.ccChannel.hppProcessPool.hppTask.hppMakefile 總結總結 進程池 什么進程池 進程池&#…

13-跳躍游戲 II

給定一個長度為 n 的 0 索引整數數組 nums。初始位置為 nums[0]。 每個元素 nums[i] 表示從索引 i 向后跳轉的最大長度。換句話說&#xff0c;如果你在 nums[i] 處&#xff0c;你可以跳轉到任意 nums[i j] 處: 0 < j < nums[i] i j < n 返回到達 nums[n - 1] 的最…

Qt的QToolBox的使用

QToolBox 是 Qt 框架中的一個控件&#xff0c;用于創建一個可折疊的“工具箱”界面&#xff08;類似 Windows 資源管理器的側邊欄&#xff09;。每個子項可以展開或折疊&#xff0c;適合用于分組顯示多個功能模塊。以下是其基本用法和示例&#xff1a; 1. 基本用法 創建并添加…

《DeepSeek 一站式工作生活 AI 助手》

最近國產AI工具DeepSeek在全球火出圈&#xff0c;登頂多個國家應用商店&#xff0c;下載量一路飆升。這匹AI “黑馬” 到底憑什么征服全球用戶&#xff1f;讓我們全方位解鎖DeepSeek——從基礎入門到高階玩法&#xff0c;從實用技巧到隱藏功能。 DeepSeek是一款功能強大的國產A…

Java中CompletableFuture異步工具類

參考&#xff1a;CompletableFuture 詳解 | JavaGuide 實際項目中&#xff0c;一個接口可能需要同時獲取多種不同的數據&#xff0c;然后再匯總返回&#xff0c;舉個例子&#xff1a;用戶請求獲取訂單信息&#xff0c;可能需要同時獲取用戶信息、商品詳情、物流信息、等數據。…

Oracle Rac 多路徑鏈路不穩定引發IO降速-光弱

一、背景 今天突然被異地的同事拉來開遠程會議&#xff0c;會議內容是開發反饋每天9點左右有個sqlldr 命令的腳本調用突然執行很慢&#xff0c;以前幾秒的導入操作現在需要30-60s左右&#xff0c;而且數據量基本相同。 二、分析 1&#xff09;、查看ASH報告 從報告上確認是數…

哈希表-兩個數的交集

代碼隨想錄-刷題筆記 349. 兩個數組的交集 - 力扣&#xff08;LeetCode&#xff09; 內容: 集合的使用 , 重復的數剔除掉&#xff0c;剩下的即為交集&#xff0c;最后加入數組即可。 class Solution {public int[] intersection(int[] nums1, int[] nums2) {Set<Integer…

[JVM篇]分代垃圾回收

分代垃圾回收 分代收集法是目前大部分 JVM 所采用的方法&#xff0c;其核心思想是根據對象存活的不同生命周期將內存劃分為不同的域&#xff0c;一般情況下將 GC 堆劃分為老生代(Tenured/Old Generation)和新生代(Young Generation)。老生代的特點是每次垃圾回收時只有少量對象…

漢諾塔問題詳解:遞歸與分治的經典案例

嘿&#xff0c;小伙伴們&#xff01;今天我可算撞見了個超有意思的東西&#xff0c;就是那大名鼎鼎的漢諾塔問題&#xff01;我這好奇心一下子就被勾起來了&#xff0c;迫不及待地想深挖一下&#xff0c;然后把那些好玩的、燒腦的、讓人拍案叫絕的解題思路和奇妙故事都分享給大…

vue中如何動態的增減組件的類名(class)

在 Vue.js 2 中&#xff0c;你可以通過計算屬性或直接在模板中使用 v-bind:class 來動態地改變組件的類名。下面是一個簡單的示例&#xff0c;說明如何在某個條件被復核后為組件添加一個 selected 類&#xff08;此處為組件添加一個默認的類&#xff08;例如 radio&#xff09;…