当前位置: 首页 > news >正文

论文笔记-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 推断用户对一对冷启动项目的偏好。这种与模型无关的设计为冷启动项目提供了有用的训练信号,而不会在服务时引入额外的计算开销。对公共数据集的实验表明,该方法生成了有效的增强训练信号,并改善了冷启动项目的推荐效果。

相关文章:

论文笔记-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.总…...

Java 语法新特性(Records、Pattern Matching、Sealed Classes)深度解析(11/17/21)✨

一、Records(Java 16) 📝 核心价值:简化不可变数据载体的定义 // 传统POJO vs Record public record User(String name, int age) {} // 自动生成:构造方法/equals()/hashCode()/toString() User user new User(&qu…...

QUdpSocket的readyRead信号只触发一次

问题 QUdpSocket的readyRead信号只触发一次。 原因 on_readyRead槽函数里必须读出现有数据后&#xff0c;才能触发新的事件。 解决办法 在on_readyRead槽函数里取出数据。 void MainWindow::on_readyRead() {qDebug() << "on_readyRead in";while (m_udp…...

jsherp importItemExcel接口存在SQL注入

一、漏洞简介 很多人说管伊佳ERP&#xff08;原名&#xff1a;华夏ERP&#xff0c;英文名&#xff1a;jshERP&#xff09;是目前人气领先的国产ERP系统虽然目前只有进销存财务生产的功能&#xff0c;但后面将会推出ERP的全部功能&#xff0c;有兴趣请帮点一下 二、漏洞影响 …...

测试data_management函数

测试data_management函数 这是我最近正在开发的AI工具信息平台的部门功能模块测试&#xff0c;基于streamlit架构。整理出来与大家分享&#xff0c;也为我以后自己回溯找到资源。 为了测试 data_management 函数并结合 Excel 文件中的 “Tools” 表单内容&#xff0c;我们需要…...

微信小程序---计划时钟设计与实现

微信小程序-计划时钟已上线,欢迎各位小伙伴的测试和使用~(微信小程序搜计划时钟即可使用) 在这篇博客中,我们将探讨如何在微信小程序中设计和实现一个任务管理功能,该功能允许用户添加、删除和查看任务。任务管理系统的核心是基于日期和时间的任务管理,可以设置任务的开…...

深度学习之图像回归(二)

前言 这篇文章主要是在图像回归&#xff08;一&#xff09;的基础上对该项目进行的优化。&#xff08;一&#xff09;主要是帮助迅速入门 理清一个深度学习项目的逻辑 这篇文章则主要注重在此基础上对于数据预处理和模型训练进行优化前者会通过涉及PCA主成分分析 特征选择 后…...

深入理解HttpSecurity的设计

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

15增减字符串匹配(贪心)思路解析+源码

文章目录 题目[](https://leetcode.cn/problems/di-string-match/)算法原理贪心证明源码总结题目 假设s="I D I D"也就是增降增降,在0-4中,每两个数存在这种方式数组为【1, 3,2, 4,0】;(如下图) 算法原理 解法:贪心 1.当遇到“I”:选择当前最小的那个数 2…...

Java NIO与传统IO性能对比分析

Java NIO与传统IO性能对比分析 在Java中&#xff0c;I/O&#xff08;输入输出&#xff09;操作是开发中最常见的任务之一。传统的I/O方式基于阻塞模型&#xff0c;而Java NIO&#xff08;New I/O&#xff09;引入了非阻塞和基于通道&#xff08;Channel&#xff09;和缓冲区&a…...

14.7 LangChain Experimental 模块解析:解锁 Auto-GPT 开发新范式

LangChain Experimental 模块解析:解锁 Auto-GPT 开发新范式 关键词:LangChain Experimental、Auto-GPT 实现、自主智能体开发、Agent 架构设计、实验性功能实践 1. LangChain Experimental 模块的定位与核心能力 模块定位解析: #mermaid-svg-4xz2OlZBUFjkBmqw {font-fami…...

wps中的js开发

严格区分大小写 /*** learn_js Macro*/ function test() {Range(D7).Value2Selection.Value2; // Selection.formula "100" }function Workbook_SheetSelectionChange(Sh, Target) {if(Sh.Name Sheet1) {test();}}function test2() {// 把I4单元格及其周边有数的单…...

day16_推荐系统和总结

文章目录 day16_推荐系统和总结一、推荐实现1、基于流行度推荐&#xff08;掌握&#xff09;1.1 近期热门商品推荐1.2 个人热门商品推荐 2、基于隐语义模型的协同过滤推荐&#xff08;了解&#xff09;2.1 ALS算法介绍2.2 推荐代码 3、基于物品的协同过滤推荐&#xff08;了解&…...

一文说清楚编码、摘要、加密、公钥、私钥、解密、签名、验签

编码 对信息进行编码&#xff0c;没有信息损失&#xff0c;任何人都能通过编码方式对信息进行解码。例如 ASCII 码&#xff0c;base64 编码。 例如下面是 ASCII 编码表&#xff1a; ​ 摘要 对信息计算摘要值&#xff0c;有信息损失&#xff0c;例如 md5 摘要&#xff0c;sh…...

Repeated Sequence

记suma[1]a[2]a[3]...a[n]。 该序列以a[1]&#xff0c;a[2]&#xff0c;a[3]....a[n]为循环节&#xff0c;明显的&#xff0c;问题可转化为:s%sum是否为该序列的某个连续子序列和。 断环为链。将a复制一份。 枚举a[i]为左端点的所有区间的和。再查找s是否存在。二分O&#x…...

CT dicom 去除床板 去除床位,检查床去除

1. 前言 医院拍摄患者CT与MRI 图像&#xff0c; 但是CT图像中就会出现检查床的区域&#xff0c;来看CT扫描设备是什么样子的&#xff0c;红色标出区域 可以在图中看到&#xff0c;在头部位置安装有固定头部的类似支架的东西&#xff0c;这个东西拍摄出来时什么样子呢&#xff…...

react 踩坑记 too many re-renders.

报错信息&#xff1a; too many re-renders. React limits the number of randers to prevent an infinite loop. 需求 tabs只有特定标签页才展示某些按钮 button要用 传递函数引用方式 ()>{} *还有要注意子组件内loading触发 导致的重复渲染...

YOLOv8与BiFormer注意力机制的融合:提升多场景目标检测性能的研究

文章目录 1. YOLOv8的改进背景2. BiFormer注意力机制的核心原理2.1 Bi-level Attention结构2.2 路由策略与加权融合 3. YOLOv8与BiFormer的结合3.1 YOLOv8架构概述3.2 BiFormer与YOLOv8的融合策略 4. 实现代码示例5. 结果分析与实验5.1 数据集与实验设置5.2 实验结果 6. 进一步…...

Ubuntu24.04LTS的下载安装超细图文教程(VMware虚拟机及正常安装)

&#x1f638;个人主页&#x1f449;&#xff1a;神兽汤姆猫 &#x1f4d6;系列专栏&#xff1a;开发语言环境配置 、 Java学习 、Java面试 、Markdown等 学习上的每一次进步&#xff0c;均来自于平时的努力与坚持。 &#x1f495;如果此篇文章对您有帮助的话&#xff0c;请点…...

c++贪心系列

各位小伙伴们新年好呀&#xff0c;这是年后的第一篇文章&#xff0c;那么还是一样&#xff0c;我们继续学习这个贪心算法。 第一题 题目链接 2418. 按身高排序 - 力扣&#xff08;LeetCode&#xff09; 题目解析 代码原理 方法一 1.先创建一个下标数组&#xff0c;将两个数…...

手把手教你配置TMS320F28xx的SCI模块:从波特率到多机通信的完整流程

手把手教你配置TMS320F28xx的SCI模块&#xff1a;从波特率到多机通信的完整流程 在嵌入式系统开发中&#xff0c;串行通信接口(SCI)作为DSP与外部设备交互的重要通道&#xff0c;其稳定性和效率直接影响整个系统的性能。TMS320F28xx系列DSP凭借其强大的实时处理能力和丰富的外设…...

别再傻傻定义结构体了!用Qt的QPair轻松搞定函数多返回值(附排序与容器实战)

告别冗余代码&#xff1a;Qt开发者必备的QPair高效使用指南 在Qt开发中&#xff0c;我们经常遇到需要从函数返回多个值的场景。传统做法是定义一个临时结构体&#xff0c;但这往往导致代码臃肿、项目文件堆积。实际上&#xff0c;Qt提供了一个轻量级解决方案——QPair&#xff…...

别再只会用`uvm_info了!UVM打印系统实战:从日志分级到文件输出,让你的Debug效率翻倍

UVM调试艺术&#xff1a;从日志分级到智能断点的工程实践 在芯片验证领域&#xff0c;UVM打印系统远不止是简单的信息输出工具——它是一个完整的调试生态系统。当验证工程师面对数百万行代码的复杂验证环境时&#xff0c;如何精准控制信息洪流、快速定位问题根源&#xff0c;直…...

【会议征稿通知 | 上海海事大学主办 | IET出版 | EI 、Scopus稳定检索】第六届大数据、人工智能与风险管理国际学术会议(ICBAR 2026)

第六届大数据、人工智能与风险管理国际学术会议&#xff08;ICBAR 2026&#xff09; 2026 6th International Conference on Big Data, Artificial Intelligence and Risk Management 2026年5月15-17日 | 中国-上海 大会官网&#xff1a;https://2026.icbar.net/ 截稿时间&a…...

Zotero插件市场:5分钟打造你的专属学术工具箱终极指南

Zotero插件市场&#xff1a;5分钟打造你的专属学术工具箱终极指南 【免费下载链接】zotero-addons Zotero Add-on Market | Zotero插件市场 | Browsing, installing, and reviewing plugins within Zotero 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-addons 还…...

深度解析DLSS Swapper:如何轻松管理游戏DLSS版本并提升性能体验

深度解析DLSS Swapper&#xff1a;如何轻松管理游戏DLSS版本并提升性能体验 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper DLSS Swapper是一款专为游戏玩家设计的开源工具&#xff0c;它允许用户方便地下载、管理和切…...

免费解锁《鸣潮》120帧:鸣潮工具箱WaveTools完整使用指南

免费解锁《鸣潮》120帧&#xff1a;鸣潮工具箱WaveTools完整使用指南 【免费下载链接】WaveTools &#x1f9f0;鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 想让《鸣潮》在电脑上运行得更加流畅丝滑吗&#xff1f;鸣潮工具箱WaveTools是专为《鸣…...

SCI投稿别再卡在Data Availability Statement!手把手教你套用5种期刊模板(含避坑点)

SCI投稿Data Availability Statement终极指南&#xff1a;5种场景模板与高阶避坑策略 凌晨三点的实验室&#xff0c;屏幕荧光映着李博士疲惫的脸——距离投稿截止只剩6小时&#xff0c;却被期刊系统里那个红色星号的"Data Availability Statement"字段卡住了。这不是…...

终极指南:3步免费解锁网易云音乐NCM加密,快速转换通用MP3格式

终极指南&#xff1a;3步免费解锁网易云音乐NCM加密&#xff0c;快速转换通用MP3格式 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否下载了心爱的网易云音乐&#xff0c;却发现在其他播放器上无法聆听&#xff1f;&#x1f3…...

如何高效限制ACE-Guard进程资源占用:sguard_limit完整使用指南

如何高效限制ACE-Guard进程资源占用&#xff1a;sguard_limit完整使用指南 【免费下载链接】sguard_limit 限制ACE-Guard Client EXE占用系统资源&#xff0c;支持各种腾讯游戏 项目地址: https://gitcode.com/gh_mirrors/sg/sguard_limit 想要在玩腾讯游戏时获得更流畅…...