论文笔记-WWW Companion 2024-Large Language Models as Data Augmenters for Cold-Start Item Recommendation
大语言模型作为冷启动项目推荐的数据增强器
论文: Large Language Models as Data Augmenters for Cold-Start Item Recommendation
代码: 无
摘要
传统推荐系统在没有历史交互的情况下难以推荐冷启动项目。为了解决这一问题,本文提出利用 LLM 作为数据增强工具,以弥补训练期间对冷启动项目的知识差距。
首先,使用 LLM 根据用户历史行为的文本描述和新商品描述推断用户对冷启动项目的偏好。然后,通过辅助的成对损失将增强的训练信号纳入下游推荐模型的学习中。在公共 Amazon 数据集上的实验证明了 LLM 能有效增强冷启动项目的训练信号,从而显著改善各种推荐模型对冷启动项目的推荐效果。
1.引言
基于 ID 的嵌入方法在推荐新内容和冷门内容时面临重大挑战,因为这些内容缺乏模型学习准确嵌入所需的交互数据,这就是冷启动问题。为了解决这一长期存在的问题,基于内容的推荐系统利用商品的元特征来辅助商品表示学习,即通过元特征的转换或其组合来替代基于 ID 的商品嵌入。利用 LLM 进行推荐需要对大型预训练模态编码器进行微调以适应推荐任务,这需要巨大的工作量。此外,针对每个用户请求提供 LLMs 或大型基础模型的延迟,通常超过推荐平台所期望的响应时间。
为了将 LLM 的能力转移到解决长期存在的推荐冷启动问题上,本文并不在服务阶段直接使用 LLM,而是探索 LLM 在训练阶段填补数据空白的潜力。通过这种与模型无关的方法,可以避免 LLM 推理的慢速 API 调用,并解决冷启动项目的数据稀疏问题。此外,增强过程作为数据预处理步骤,可以集成到任何工业规模的推荐系统中,为利用 LLM 的泛化能力提供了一种可扩展的方法。
本研究的主要贡献包括:
提出了成对比较的提示方法,利用 LLM 基于用户的历史交互推断用户在商品对之间的偏好。
将 LLM 生成的合成用户偏好与成对损失结合,作为常规推荐任务的补充。
在两个真实世界的数据集上进行了实验,结果表明合成用户偏好可以显著提升冷启动项目的性能。
2.前言
设 U = { u 1 , u 2 , … , u G } U = \{ u_1, u_2, \ldots, u_G \} U={u1,u2,…,uG} 为用户集, I warm = { i 1 , i 2 , … , i P } I_{\text{warm}} = \{ i_1, i_2, \ldots, i_P \} Iwarm={i1,i2,…,iP} 和 I cold = { i P + 1 , i P + 2 , … , i P + N } I_{\text{cold}} = \{ i_{P+1}, i_{P+2}, \ldots, i_{P+N} \} Icold={iP+1,iP+2,…,iP+N} 分别表示平台上的热启动和冷启动项目。每个项目都映射到与其 ID 相关的可训练嵌入。生成个性化推荐主要是预测用户与项目之间的兼容性,从中检索与用户高度兼容的项目,以构成用户的独特推荐列表。
潜在因子模型通过相应的潜在因子向量的点积来近似用户与项目之间的兼容性。设 v u v_u vu 和 v i v_i vi 分别表示用户 u u u 在项目 i i i 上的潜在因子向量,潜在因子模型通过 y ^ u , i = v u T v i \hat{y}_{u,i} = v_u^T v_i y^u,i=vuTvi 计算它们的兼容性。然而,冷启动项目没有训练信号来获取 v i v_i vi。为了解决这一知识差距,本文提出生成合成数据以模拟用户对冷启动项目的交互。
3.LLMs作为数据增强
3.1增强数据生成
本文直接使用 PaLM 系列模型的生成能力,而不进行微调。遵循相关研究,将用户交互的项目描述放入提示中。具体而言,给定训练集中的用户查询 U i U_i Ui,采用描述性项目标题来表示每个历史交互。为了从这个描述性的用户查询中推断用户的偏好,可以选择询问用户是否希望获取特定的冷启动项目(逐点方式),或者询问他们更喜欢冷启动项目 A 还是 B(成对方式)。
研究表明,大模型在校准的逐点相关性估计上表现不佳,但在成对比较任务中展现了更好的能力。因此,本文探讨利用 LLM 生成冷启动项目之间的成对偏好,给定用户查询。具体来说,在冷启动项目中随机抽取一对项目( A , B A, B A,B),并构建提示以检索用户对 A A A 和 B B B 的偏好,如图1。
提示中的成对比较确保从 LLM 调用中获取训练信号,以指示用户对两个冷启动项目的偏好。相比之下,针对用户随机冷启动项目的逐点推断更可能导致负标签(不感兴趣),而正标签则较为稀少。
3.2成对比较损失
为了在训练过程中结合这一增强信号,将冷启动项目对的成对偏好预测作为辅助任务,补充常规推荐任务。LLM 返回的答案被视为正项( pos \text{pos} pos),而另一个项目则为负项( neg \text{neg} neg)。假设用户 u u u 更喜欢冷启动项目 pos \text{pos} pos 而非冷启动项目 neg \text{neg} neg,可以得到以下基于贝叶斯个性化排序(BPR)损失的成对损失:
其中 σ \sigma σ 是 Sigmoid 激活函数。然后,将这一成对 BPR 损失加到通常用于训练推荐模型的损失中。成对损失将梯度反向传播到正负冷启动项目的嵌入。
4.实验
4.1实验设置
数据集:Amazon的Beauty and Sports
Backbones:NeuMF和 SASRec
三个变体:
w/o aug:不带增强的方法,使用原始训练数据训练推荐系统。
content-based:基于内容的方法,采用词袋表示项目,结合其类别和标题,这是一种处理冷启动项目的常见方法。
w/ aug:带增强的方法,结合了 LLM 生成的增强,并在训练过程中补充了成对比较损失。
4.2结果和分析
结论:
通过成对损失学习到的冷启动项目的增强训练信号,可以促进 NeuMF 和 SASRec 的表示学习,并显著提升冷启动推荐的性能。
增强信号和成对比较损失在较高 K 值时提高了召回率,因为它们使模型能够对更广泛的冷启动项目进行排序,包括一些相关性较低的项目。
4.3超参数实验
结论:
图 2 (a) 表示模型规模影响增强的性能。众所周知,较大的模型能够更好地推理用户的历史行为,并更准确地推断用户偏好。
图 2 (b) 表示通过生成更多用户查询的增强训练信号,可以进一步提升冷启动推荐的性能。尽管在某个点(40%)之后,添加更多的合成数据并未带来进一步的改善。
5.总结
解决用户与冷启动项目之间缺乏交互的问题对提升推荐效果至关重要。本文提出使用 LLM 来为推荐系统中的冷启动项目生成增强训练信号,使用成对比较提示,利用 LLM 推断用户对一对冷启动项目的偏好。这种与模型无关的设计为冷启动项目提供了有用的训练信号,而不会在服务时引入额外的计算开销。对公共数据集的实验表明,该方法生成了有效的增强训练信号,并改善了冷启动项目的推荐效果。