论文笔记-KDD2024-Bridging Items and Language: A Transition Paradigm for Large Language Model-Based Recommendation
TransRec:基于大语言模型的推荐系统过渡范式
论文下载: Bridging Items and Language: A Transition Paradigm for Large Language Model-Based Recommendation
代码: TransRec
摘要
现有的基于ID的标识符(例如数字ID)和基于描述的标识符(例如标题)可能会失去语义或缺乏足够的独特性。此外,生成方法可能会生成无效的标识符,从而与语料库中的项目不匹配。
为了解决以上问题,本文提出一种新颖的基于LLM的推荐系统过渡范式TransRec,以桥接项目和语言的关系。具体而言,TransRec提出了多方面的标识符,结合ID、标题和属性进行项目索引,保留了语义和独特性。此外,TransRec引入了一种特殊的数据结构,以确保仅生成有效的标识符,并利用子字符串索引来引导LLMs从标识符的任何位置生成。最后,TransRec提出了一个聚合模块,利用生成的多方面标识符有效地对语料库中的项目进行排名。
1.引言
构建基于LLMs的推荐系统的关键在于桥接项目空间和语言空间,如图1所示。
为了桥接这两个空间,涉及两个关键步骤:item indexing and generation grounding。索引步骤为每个项目分配一个唯一标识符(例如项目标题或数字ID),用户的历史交互转换为标识符序列。给定用户历史交互的标识符序列,生成步骤利用LLMs在语言空间中生成令牌序列,并将令牌序列反向关联到项目空间中的项目。
然而,现有工作在这两个步骤中存在固有的局限性。对于索引步骤:基于ID的标识符利用数字ID表示项目,缺乏语义信息。基于描述的标识符采用语义描述来索引项目,由于存在常见词汇,项目描述缺乏足够的独特性。对于生成步骤:在LLMs的整个词汇表上生成可能会产生无效的项目标识符。
本文为两个步骤设置了关键目标。对于索引步骤:确保项目可互相区分的独特性并保证语义。对于生成步骤,由于生成步骤严重依赖于第一个token的质量,本文考虑无位置限制的生成,允许LLMs从有效标识符的任何位置生成。
如图2所示,TransRec使用多方面标识符对项目进行索引,考虑项目ID、标题和属性,保证独特性和语义。引入FM索引实现无位置限制的约束生成,支持LLMs生成任何有效标识符段。另外,使用标识符的子字符串进一步增强LLMs的无位置生成能力,用于指令调整。最后,通过聚合模块利用生成的标识符对语料库中的项目排序。
本文的主要贡献如下:
-
强调了基于LLM的推荐系统中桥接项目和语言空间的两个基本步骤中的现有问题和关键目标。
-
提出了一种新的TransRec范式,具有多方面标识符和无位置限制生成,为LLM推荐提供了无缝连接项目和语言的方式。
-
在各种推荐设置下进行了大量实验,验证了TransRec的有效性。
2.前言
设 U U U 和 I I I 分别表示用户和项目的集合,将用户 u u u 的历史交互序列表示为 S u = [ i u 1 , i u 2 , ... , i u L ] S_u = [i_u^1, i_u^2, \ldots, i_u^L] Su=[iu1,iu2,...,iuL],按照时间顺序排列,其中 u ∈ U u \in U u∈U, i u ∈ I i_u \in I iu∈I,且 L = ∣ S u ∣ L = |S_u| L=∣Su∣。给定用户的历史交互,序列推荐任务是预测该用户下一个喜欢的项目 i u L + 1 ∈ I i_u^{L+1} \in I iuL+1∈I。
为了利用LLMs进行推荐,现有工作主要依赖于指令调优,以缩小LLM预训练数据与推荐数据之间的内在差异。在指令调优后,LLMs生成基于用户历史交互的推荐项目。
2.1指令调优
指令调优涉及三个阶段:项目索引、数据重构和大模型优化。
项目索引:
对于推荐数据中的每个项目,项目索引为其分配一个自然语言中的标识符。
数据重构:
基于项目标识符,每个用户的交互序列可以转换为标识符序列。然后,为指令调优构造指令数据,包括指令输入和输出。指令输入包含描述推荐任务的任务说明以及用户的历史交互的自然语言形式。指令输出通常设置为下一个交互项目的标识符。
LLM优化:
给定指令数据,可以通过最小化指令输出 y y y 在输入 x x x 条件下的负对数似然来优化LLM的可学习参数。
其中 y t y_t yt 是 y y y 的第 t t t 个标记, y < t y_{<t} y<t 表示在 y t y_t yt 之前的标记序列。
2.2生成匹配
在指令调优之后,可以通过生成步骤有效利用LLMs生成推荐,即通过LLM生成标记序列,并将其与语料库中的项目进行匹配。涉及两个阶段:生成和匹配。
生成:
给定一个包含任务描述和用户历史交互的指令输入,基于LLM的推荐系统生成标记序列。
匹配:
生成的标记序列在语言空间中被匹配到一组现有标识符作为推荐项目。
3.TransRec
3.1多方面项目索引
3.1.1多方面标识符
结合三个方面来从不同角度表示一个项目:
-
数字ID:确保项目之间的区分性。为每个项目分配一个唯一的随机数字ID,记作𝑃。通过对用户-项目交互进行调优,LLMs将数字ID与用户-项目交互对齐。
-
项目标题:确保丰富的语义。项目标题记作𝑇,通常包含一个简洁而描述性的名称,传达有关项目的一般信息。
-
项目属性:作为一个补充方面,注入语义,尤其是在项目标题可能信息不足或不可用的情况下。完整的属性记作 A = [ a 1 , a 2 , ... , a n ] A=[a_1,a_2,\ldots,a_n] A=[a1,a2,...,an]。
总之,对于推荐数据中的每个项目 𝑖,可以获得多面标识符 i ~ = { P , T , A } \tilde{i} =\{P, T, A\} i~={P,T,A}。基于多方面标识符,随后构建语言空间中的指令数据,以进行LLMs的指令调优。
3.1.2数据重构
如图4所示,对于每个方面,基于用户的交互序列构建指令输入和输出。为了形成ID方面的用户历史交互,将 S u S_u Su 中的前 L − 1 L - 1 L−1 个项目转换为它们的数字 ID,然后用分号分隔每个项目。ID 方面标识符的序列表示为 " P 1 ; P 2 ; ... ; P L − 1 P_1; P_2; \ldots; P_{L-1} P1;P2;...;PL−1",标题和属性方面的历史交互分别表示为 " T 1 ; T 2 ; ... ; T L − 1 T_1; T_2; \ldots; T_{L-1} T1;T2;...;TL−1" 和 " A 1 ; A 2 ; ... ; A L − 1 A_1; A_2; \ldots; A_{L-1} A1;A2;...;AL−1"。
对于ID方面,使用用户交互序列中最后一个项目的数字ID,即 P L P_L PL。对于标题方面,利用从标题 T T T 中采样的任意长度 l ∈ { 1 , ... , ∣ T ∣ } l \in \{1, \ldots, |T|\} l∈{1,...,∣T∣} 的子字符串 t t t。这样可以鼓励LLMs从可能与用户兴趣相关的任意位置生成内容。对于每个用户的交互序列,从最后一个项目的标题中采样 K K K 个子字符串,并构建 K K K 对指令输入-输出。对于属性方面,每个属性 a ∈ A L a \in A_L a∈AL 独立用作一个指令输出,结果生成 ∣ A L ∣ |A_L| ∣AL∣ 对指令输入-输出。将来自ID、标题和属性方面的指令数据集分别表示为 D I D D_{ID} DID、 D t i t l e D_{title} Dtitle 和 D a t t r D_{attr} Dattr。此外,为了明确区分不同方面的数据,在指令输入后添加一个方面前缀,如图4所示。
基于重建的指令数据 D i n s t r = D I D ∪ D t i t l e ∪ D a t t r D_{instr} = D_{ID} \cup D_{title} \cup D_{attr} Dinstr=DID∪Dtitle∪Dattr,通过公式 (1) 优化LLM。
3.2多方面生成匹配
在指令调优之后,TransRec的下一步是生成grounding,其目标是基于用户的历史交互提供语料库中的项目推荐,如图5。
3.2.1无位置限制的约束生成
FM-index
以图2中的项目为例,将多方面标识符扁平化为 " 1023 Urban Decay Eyeshadow Palette Naked Heat Makeup Eyes ",其中 ", , , " 是指示每个ID和细粒度属性开始和结束的特殊标记。然后,将扁平化的标识符存储在 Wavelet Tree中。给定一个起始标记(例如,"BOS")或一个标记序列,FM-index 可以在 O ( V log ( V ) ) O(V \log(V)) O(Vlog(V)) 的时间复杂度内找到所有可能的后续标记,其中 V V V 是LLMs的词汇表大小。
标识符生成
给定用户的历史交互,TransRec通过基于FM-index的约束束搜索在每个方面生成有效的标识符。其中,特殊标记被用来指示正在生成哪个方面的标识符。通过限制生成的起始标记和结束标记,TransRec生成一组有效的ID标识符和与项目相关的属性标识符,如图5所示。
此外,TransRec通过FM-index从任意位置生成有效的标题标识符的子字符串,因此不需要为标题设置特殊的起始和结束标记。LLMs的无位置限制生成能力也通过指令调优过程得到了增强,其中子字符串被设定为指令输出。TransRec为每个方面获得一组生成的标识符,将 ID、标题和属性方面的生成标识符分别表示为 P g P_g Pg、 T g T_g Tg 和 A g A_g Ag。
3.2.2聚合匹配
为了将生成的标识符与语料库中的项目进行关联,并对语料库中的项目进行排名推荐,本文引入了一个聚合匹配模块,其中包含内部方面和跨方面的聚合。
方面内部聚合
首先在每个方面内将生成的标识符与语料库中的项目进行关联。给定一个方面的生成标识符(例如 T g T_g Tg),基于每个项目标识符的覆盖率将其聚合到语料库项目中(例如 T g ∩ T T_g \cap T Tg∩T)。然而,直接对覆盖集中的标识符评分进行求和是不切实际的,因为自回归生成中的概率是单调递减的。为了解决这个问题,通过整合标记频率来平衡评分:
其中 y ^ \hat{y} y^ 是生成的标识符, P ( y ^ ∣ x ) P(\hat{y}|x) P(y^∣x) 是LLMs给出的标记评分, P ( y ^ ) P(\hat{y}) P(y^) 是测量标记频率的无条件概率。
其中 F ( y ^ , I ~ ) F(\hat{y}, \tilde{I}) F(y^,I~) 表示在标识符语料库 I ~ \tilde{I} I~ 中的标记 y ^ \hat{y} y^ 的数量。
然后,针对用户 u u u 在方面 f f f 中对应于项目 i i i 的关联评分为:
其中 i ~ \tilde{i} i~ 是该项目的多面标识符, γ \gamma γ 是一个超参数,用于控制内部方面关联评分的强度。
跨方面聚合
为了从三个方面聚合关联评分,需要考虑每个方面在不同场景中的不同影响。例如,在寻找书籍时,标题可能变得至关重要,而在寻找餐厅时,类别(例如,墨西哥菜)可能更为重要。因此,TransRec 在最终排名中平衡了每个方面的权重。
用户 u u u 和项目 i i i 的最终关联评分可以通过以下公式获得:
其中 f ∈ { I D , t i t l e , a t t r i b u t e } f \in \{ID, title, attribute\} f∈{ID,title,attribute}, b f b_f bf 是一个偏置超参数,用于平衡各方面之间的强度。根据最终的关联评分,可以获得语料库项目的排名列表,并返回排名最高的项目作为推荐。
4.实验
4.1设置
数据集:
Beauty、Toys和Yelp
基线:
传统推荐系统:MF, LightGCN, SASRec, ACVAE和DCRec
基于LLM的推荐:P5, SID, SemID+IID, CID+IID和TIGER
评估指标:
Recall@𝐾和NDCG@𝐾
实施细节:
采用BART和LLaMA作为TransRec的骨干LLM,并将这两个变体分别表示为"TransRec-B"和"TransRec-L"。
4.2实验结果
结论:
-
在传统推荐系统中,顺序方法(如 SASRec、ACVAE、DCRec)在Beauty和Toys数据集上优于非顺序方法(如 MF 和 LightGCN)。因为对用户交互序列的顺序建模能够捕捉用户兴趣的动态变化和复杂的项目依赖关系。
-
CID+IID的性能始终优于SemID+IID。因为 CID+IID结合了ID与协同信息,SemID+IID仅基于项目的元信息构建ID,可能导致项目标识符与用户行为之间的不一致,从而降低性能。
-
TIGER与大多数传统推荐系统中表现相当,并在Beauty和Toys数据集上超过了 SemID+IID。更好的性能归因于:1)额外利用描述来捕捉语义;2)使用可学习的代码来学习细微的语义。
-
TransRec在三个数据集上表现最好,验证了过渡范式的优越性。TransRec 的优越性归因于:1)利用多方面标识符,同时满足语义性和独特性;2)约束和无位置的生成,确保生成语料库中的项目并减轻对初始标记的过度依赖。
4.3深度分析
4.3.1少样本训练
结论:
-
传统方法在暖启动推荐中表现较好。因为基于ID的方法在捕捉用户-项目交互中的协同信息上是有效的。ACVAE在冷启动上表现更好,因为它放弃了用户嵌入,使冷启动用户能够有效泛化。
-
中型LLM(CID+IID 和 TransRec-B)在少样本训练中表现不佳。表明中型LLM在推荐任务上表现良好需要大量数据。CID+IID相较于TransRec-B的更好性能可能源于其利用了所有项目信息来分配标识符,而TransRec-B则严格依赖于warm项。
-
TransRec-L超越了所有基准,特别是在冷启动集上大幅领先。这突显了LLaMA卓越的泛化能力,使其能够在有限数据下更有效地适应推荐任务。
4.3.2消融实验
结论:
-
删除ID、标题或属性中的任何一个都会降低性能。表明每个方面的有效性。
-
删除ID或标题通常会比去掉属性导致更显著的性能下降。因为去掉ID无法满足标识符的独特性,标题往往具有比属性更复杂的语义,对增强推荐的影响更大。
-
删除FM索引后的表现较差。因为这可能会生成超出语料库的标识符,进一步表明无位置约束生成的必要性。
4.3.3匹配策略实验
将TransRec的聚合grounding模块与三种grounding策略进行比较,结果如表3。
结论:
-
其他grounding策略不能产生令人满意的结果。因为这些策略严重依赖于语义相似性,从而将缺乏有意义语义的生成标记与有效标识符进行grounding。
-
与其他grounding策略相比,TransRec 在时间效率上更具优势。因为这三种策略引入了额外的LLMs前向过程来提取表示,导致了高计算负担。
4.3.4超参数分析
结论:
-
当 𝛾 从1变化到3时,性能逐渐改善。可能的原因是LLMs原始概率的尺度有限(𝛾 = 1),导致标识符之间的差异不足,从而降低了排名的信息量。
-
不能一直增加 𝛾。因为这可能会倾向于推荐代表性项目。
-
应仔细选择 𝑏𝐼𝐷,以平衡各个方面之间的强度。因为小的 𝑏𝐼𝐷 会削弱对显著特征的考虑,而大的 𝑏𝐼𝐷 可能会削弱其他方面,从而影响推荐结果。
5.总结与展望
本文强调了基于LLM的推荐系统的两个基本步骤:项目索引和生成匹配。为了充分利用LLM并增强基于LLM的推荐系统的泛化能力,项目标识符应该追求独特性和语义性。此外,本文考虑了无位置约束的生成方式,以便LLM能够产生准确的推荐。
为了实现这些目标,本文提出了一种新的过渡范式,即TransRec,以桥接语言空间和项目空间。首先利用多方面标识符同时从 ID、标题和属性方面表示一个项目。此外,采用FM索引来确保生成标识符的质量。最后,引入一个聚合匹配模块,将生成的标识符与项目进行匹配。在不同设置下对三个真实世界数据集的结果验证了TransRec在提高推荐准确性和泛化能力方面的优越性。
本工作突出了索引方法和生成策略的关键目标,为未来的探索留下了许多有前景的方向。特别是,1)尽管结合 ID、标题和属性是有效的,但值得自动构建多方面标识符,以减少自然描述中的噪声;2)设计更好的匹配策略是有意义的,以有效结合来自不同方面的排名分数,例如以可学习的方式使用神经网络模型。