论文笔记-WWWCompanion2024-LLM as Data Augmenters for Cold-Start Item Recommendation

论文笔记-WWW Companion 2024-Large Language Models as Data Augmenters for Cold-Start Item Recommendation

  • 大语言模型作为冷启动项目推荐的数据增强器
  • 摘要
  • 1.引言
  • 2.前言
  • 3.LLMs作为数据增强
    • 3.1增强数据生成
    • 3.2成对比较损失
  • 4.实验
    • 4.1实验设置
    • 4.2结果和分析
    • 4.3超参数实验
  • 5.总结

大语言模型作为冷启动项目推荐的数据增强器

论文: 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

三个变体:

  1. w/o aug:不带增强的方法,使用原始训练数据训练推荐系统。

  2. content-based:基于内容的方法,采用词袋表示项目,结合其类别和标题,这是一种处理冷启动项目的常见方法。

  3. w/ aug:带增强的方法,结合了 LLM 生成的增强,并在训练过程中补充了成对比较损失。

4.2结果和分析

在这里插入图片描述

结论:

  1. 通过成对损失学习到的冷启动项目的增强训练信号,可以促进 NeuMF 和 SASRec 的表示学习,并显著提升冷启动推荐的性能。

  2. 增强信号和成对比较损失在较高 K 值时提高了召回率,因为它们使模型能够对更广泛的冷启动项目进行排序,包括一些相关性较低的项目。

4.3超参数实验

在这里插入图片描述

结论:

  1. 图 2 (a) 表示模型规模影响增强的性能。众所周知,较大的模型能够更好地推理用户的历史行为,并更准确地推断用户偏好。

  2. 图 2 (b) 表示通过生成更多用户查询的增强训练信号,可以进一步提升冷启动推荐的性能。尽管在某个点(40%)之后,添加更多的合成数据并未带来进一步的改善。

5.总结

解决用户与冷启动项目之间缺乏交互的问题对提升推荐效果至关重要。本文提出使用 LLM 来为推荐系统中的冷启动项目生成增强训练信号,使用成对比较提示,利用 LLM 推断用户对一对冷启动项目的偏好。这种与模型无关的设计为冷启动项目提供了有用的训练信号,而不会在服务时引入额外的计算开销。对公共数据集的实验表明,该方法生成了有效的增强训练信号,并改善了冷启动项目的推荐效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/22407.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

antv G6绘制流程图

效果图&#xff08;优点&#xff1a;可以自定义每一条折线的颜色&#xff0c;可以自定义节点的颜色&#xff0c;以及折线的计算样式等&#xff09;&#xff1a; 代码&#xff1a; <!-- 流程图组件 --> <template><div id"container"></div>…

(三)趣学设计模式 之 抽象工厂模式!

目录 一、 啥是抽象工厂模式&#xff1f;二、 为什么要用抽象工厂模式&#xff1f;三、 抽象工厂模式怎么实现&#xff1f;四、 抽象工厂模式的应用场景五、 抽象工厂模式的优点和缺点六、 抽象工厂模式与工厂方法模式的区别七、 总结 &#x1f31f;我的其他文章也讲解的比较有…

【GPU驱动】OpenGLES图形管线渲染机制

OpenGLES图形管线渲染机制 OpenGL/ES 的渲染管线也是一个典型的图形流水线&#xff08;Graphics Pipeline&#xff09;&#xff0c;包括多个阶段&#xff0c;每个阶段都负责对图形数据进行处理。管线的核心目标是将图形数据转换为最终的图像&#xff0c;这些图像可以显示在屏幕…

vscode软件中引入vant组件

一、vant简介 Vant 是一个轻量、可靠的移动端组件库&#xff0c;于 2017 年开源。 目前 Vant 官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本&#xff0c;并由社区团队维护 React 版本和支付宝小程序版本。 官网&#xff1a;介绍 - Vant Weapp 里面的快速上手的教程&a…

Meterpreter之getsystem命令提权原理详解

在 Windows 渗透测试过程中&#xff0c;获取系统的最高权限是攻击者的最终目标。getsystem 是 Metasploit 中用于提权的命令&#xff0c;旨在将当前的 Meterpreter 会话 提升至 NT AUTHORITY\SYSTEM 权限。需要特别注意的是&#xff0c;getsystem 并不是 Metasploit 框架&#…

深入理解HttpSecurity的设计

一、HttpSecurity的应用 在前章节的介绍中我们讲解了基于配置文件的使用方式,也就是如下的使用。 也就是在配置文件中通过 security:http 等标签来定义了认证需要的相关信息,但是在SpringBoot项目中,我们慢慢脱离了xml配置文件的方式,在SpringSecurity中提供了HttpSecurity…

软件集成测试的技术要求

文章目录 一、软件集成测试的概念二、测试对象三、测试目的四、进入条件五、测试内容六、测试环境七、测试实施方一、软件集成测试的概念 软件集成测试(Software Integration Testing),也称部件测试,一种旨在暴露接口以及集成组件间交互时存在的缺陷的测试。集成测试是灰盒…

STM32-有关内存堆栈、map文件

STM32堆栈空间大小设置_stm32堆栈分配大小-CSDN博客 STM32堆栈的大小及内存四&#xff08;五&#xff09;区的分析 - 天街小雨润地狠 - 博客园 .map文件的位置

java方法学习

java 方法 在Java中&#xff0c;方法是类&#xff08;或对象&#xff09;的行为或功能的实现。&#xff08;一起实现一个功能&#xff09;java的方法类似于其他语言的函数&#xff0c;是一段用来完成特定功能的代码片段。 方法是解决一类问题步骤的有序结合。 方法包含于类或…

编程小白冲Kaggle每日打卡(12)--kaggle学堂:<机器学习简介>模型如何工作

Kaggle官方课程链接&#xff1a;How Models Work 本专栏旨在Kaggle官方课程的汉化&#xff0c;让大家更方便地看懂。 How Models Work 第一步&#xff0c;如果你是机器学习的新手。 Introduction 我们将从概述机器学习模型的工作原理和使用方法开始。如果你以前做过统计建模…

企业知识库构建智慧协作平台

内容概要 现代企业知识库作为智慧协作平台的核心载体&#xff0c;其架构设计需兼顾知识资产的系统性沉淀与敏捷化应用。通过集中化管理机制&#xff0c;企业可将分散于各部门的文档、流程指南及项目经验转化为结构化数字资产&#xff0c;形成具备智能检索能力的知识图谱。在技…

Swiper插件的运用和学习

Swiper中文网-轮播图幻灯片js插件,H5页面前端开发 Swiper 是目前最流行的免费开源轮播组件之一&#xff0c;它功能强大、高度可定制且兼容性好&#xff0c;支持移动端手势操作和丰富的交互动画。 下载Swiper压缩包 轮播图演示页面。可以看见各种不同切换效果的轮播图 然后解压…

Git 合并冲突解决与状态分析笔记

前言 在使用 Git 进行代码管理时&#xff0c;合并分支是常见的操作之一。然而&#xff0c;在合并过程中可能会遇到冲突问题&#xff0c;尤其是在多人协作开发的场景下。本文将详细介绍如何解决 Git 合并冲突&#xff0c;并结合实际案例分析 git status 的输出含义。 背景 在…

ChromeDriver版本不匹配问题的解决

今天运行一个以前写的爬虫程序&#xff0c;遇到如下错误&#xff1a; selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 121 Current browser version is 133.0.6943.98 w…

支持向量机(SVM):算法讲解与原理推导

1 SVM介绍 SVM是一个二类分类器&#xff0c;它的全称是Support Vector Machine&#xff0c;即支持向量机。 SVM的目标是找到一个超平面&#xff0c;使用两类数据离这个超平面越远越好&#xff0c;从而对新的数据分类更准确&#xff0c;即使分类器更加健壮。比如上面的图中&am…

华为云deepseek大模型平台:deepseek满血版

华为云硅基流动使用Chatbox接入DeepSeek-R1满血版671B 1、注册&#xff1a; 华为云deepseek大模型平台注册&#xff1a;https://cloud.siliconflow.cn/i/aDmz6aVN 说明&#xff1a;填写邀请码的话邀请和被邀请的账号都会获得2000 万 Tokens&#xff1b;2个帐号间不会与其他关联…

保姆级! 本地部署DeepSeek-R1大模型 安装Ollama Api 后,Postman本地调用 deepseek

要在Postman中访问Ollama API并调用DeepSeek模型&#xff0c;你需要遵循以下步骤。首先&#xff0c;确保你有一个有效的Ollama服务器实例运行中&#xff0c;并且DeepSeek模型已经被加载。 可以参考我的这篇博客 保姆级&#xff01;使用Ollama本地部署DeepSeek-R1大模型 并java…

ESP32-S3 实战指南:BOOT-KEY 按键驱动开发全解析

一、基础知识 本篇我们使用 BOOT 按键来学习一下 GPIO 功能&#xff0c;首先补充一下相关术语介绍。 1、GPIO&#xff08;General Purpose Input/Output&#xff09; GPIO 是微控制器上的通用引脚&#xff0c;既可以作为输入&#xff08;读取外部信号&#xff09;&#xff0…

Win11 24h2 不能正常使用ensp的问题(已解决)

因为Win11 24h2的内核大小更改&#xff0c;目前virtualbox在7.1.4中更新解决了。所以Win11 24H2系统版本无法使用 5.x.xx的virtualbox版本&#xff0c;virtualbox对于这个5.x.xx版本早已停止维护&#xff0c;所以这个以后不会有调整。 对应的报错代码是 virtualbox错误代码&…

常用电脑,护眼软件推荐 f.lux 3400K | 撰写论文 paper

常用电脑&#xff1f;平均每天用 5 个小时&#xff1f;你就要考虑用一个护眼软件了&#xff0c;对皮肤也好。因为电脑屏幕有辐射&#xff0c;比如蓝光。 f.lux 作为一款专业护眼软件&#xff0c;值得使用。之前用了三年的 Iris Pro&#xff0c;现在 f.lux 做的更好了。 使用…