WSDM 2024 | LLMs辅助基于内容的推荐系统增强BPR训练数据

本文提出了一种简单而有效的基于LLMs的图数据增强策略,称为LLMRec,以增强基于内容的推荐系统。LLMRec包含三种数据增强策略和两种去噪策略。数据增强策略包括从文本自然语言的角度挖掘潜在的协同信号, 构建用户画像(LLM-based), 并强化item side information(LLM-based)。去噪则是分别针对增强的边和特征来进行drop和masked auto-encoder的操作。实验在真实的基于内容的推荐系统数据集上进行(Netflix, MovieLens),数据集与代码均已开源。目前LLMRec已经被WSDM2024录取接收为oral presentation.

image.png

论文题目:

LLMRec: Large Language Models with Graph Augmentation for Recommendation

论文链接: 

​​​​​​https://arxiv.org/abs/2311.00423

代码链接:GitHub - HKUDS/LLMRec: [WSDM'2024 Oral] "LLMRec: Large Language Models with Graph Augmentation for Recommendation"

01. 背景问题和解决思路

1.1 多模态推荐背景

多模态推荐系统引入多种辅助内容,有助于解决推荐系统中的数据稀疏性问题。当前主流的推荐系统(如亚马逊、Netflix)都采用了多种模态内容,例如文字标题、视觉图片和视频、背景音乐,以吸引用户并提升推荐结果的质量。通过提供吸引人的多模态内容,即使在冷启动和会话推荐场景下,也能够迅速捕捉到用户的真实个性化偏好。

image.png
Amazon多模态推荐系统
image.png
Netflix多模态推荐系统

1.2 基于内容的推荐存在的问题与解决方案

然而,辅助的多模态内容使用时不可避免地引入一些问题,如噪声和低质量内容。受到LLMs在知识储备和自然语言理解能力方面的启发,这篇工作提出了使用LLM来增强多模态内容,以解决上述问题。展开来讲,将大型语言模型(LLMs)应用于推荐系统已成为最近的研究热点,而如何有效地将LLMs应用于推荐系统一直是一个未解决的问题。

一方面,经典的协同过滤(CF)范式经过多年的发展,已经成为学术界和业界共同努力下最有效的范式。另一方面,LLMs存在幻觉问题(Hallucination),因此很难适应需要准确预测用户偏好的推荐系统。本研究提出一种将LLMs用于推荐系统的数据增强方法,即利用LLMs丰富的知识和卓越的自然语言理解能力基于文本模态来进行推荐系统的增强。具体而言,LLMRec利用LLM来增强两个方面的内容:用户与物品之间的交互和文本模态的信息,包括用户画像和物品属性。这种方法既能保证基本推荐系统的准确性,又充分利用数据集中的文本信息和大型语言模型的能力,强调了将LLMs用于增强推荐系统的意义。

image.png

此外,为了确保增强数据的可靠性,LLMRec采取了以下措施针对上述两个方面:i) 设计了用户与物品交互的剪枝策略,以排除不可靠的交互信息;ii) 使用MAE(Masked Auto-Encoder,掩码自编码器)技术对物品特征进行处理,以使编码器更鲁棒能够不敏感于噪声和低质量内容的干扰。通过LLM增强多模态内容,这篇工作能够在约束噪声的情况下有效解决推荐系统中的噪声和低质量问题,提高推荐结果的准确性和个性化程度。这种方法不仅能够改善用户体验,还有助于推动推荐系统在各个应用领域的发展。

1.3 拥有辅助信息推荐系统的数据增强范式

普通的有基础模态信息内容的推荐系统输入:由模态信息编码的特征 F + 历史交互的隐式反馈。

image.png

有数据增强的推荐系统输入:增强的特征 F + 增强的隐式反馈。

image.png

02. 存在的挑战和应对方案

2.1 如何让LLMs进行推荐任务?

大型语言模型具备自然地执行自然语言处理(NLP)任务的能力,然而迄今为止,它们并未专门设计和训练用于推荐系统。值得注意的是,目前主流的公平推荐测试大多采用全项排名(all-item rank),而业界在线的召回、粗排和精排任务所涉及的商品数据量也相当庞大。因此,让受到“max token length”限制的大型语言模型进行推荐和测试似乎是一项具有挑战性的任务。

为了克服这个问题,LLMRec提出了一种创新的方法,即通过基础推荐模型(例如,LightGCN)获取数量有限的商品候选集,供大型语言模型选择。这一策略旨在解决语言模型输入长度受限的问题,为推荐系统引入了一种有效的补充手段。通过借助传统推荐模型的筛选,LLMRec在面对大规模商品数据和语言模型输入限制的情境下提供了一种切实可行的解决方案。这一创新性方法为推荐系统的进一步发展提供了新的思路和可能性。

2.2 如何保证增强的模态内容的可靠性,避免噪声的影响?

基于LLM的数据增强实质上是为推荐系统引入外部知识,尽管这些知识源于真实世界(例如新闻、论坛、维基百科等互联网上的大量文本),但在特定任务和数据集中,噪音是不可避免的。如何最大程度地确保数据增强的可用性和可靠性成为一个关键问题。

为解决这一问题,LLMRec提出了两种不同的方法,分别面向增强了的隐式反馈和特征。对于隐式反馈,LLMRec采用了剪枝机制,剔除不可靠的部分,以确保增强后的数据的准确性和可信度。而对于特征,LLMRec引入了MAE(masked auto-encoder),以减轻编码器对特征的依赖,从而提高整体系统的鲁棒性。这两种方法的结合旨在应对数据增强中的噪音问题,使得系统更加稳健,并在真实应用场景中更具实用性。通过这样的优化,LLMRec致力于为推荐系统的性能提供更加可靠和有效的解决方案。

03. 方法

3.1 利用文本模态内容通过LLM进行隐式反馈的增强

用LLM进行隐式反馈的增强的过程是:

  • step1: 利用用户的历史互动商品以及其文本模态内容与上述候选集构建提示(prompt)。

LLM-based User Profile Augmentation Prompt:

Recommend user with movies based on user history that each movie with title, year, genre. History: [332] Heart and Souls (1993), Comedy|Fantasy [364] Men with Brooms(2002), Comedy|Drama|Romance Candidate: [121]The Vampire Lovers (1970), Horror [155] Billabong Odyssey (2003),Documentary [248]The Invisible Guest 2016, Crime, Drama, Mystery Output index of user's favorite and dislike movie from candidate.Please just give the index in [].

Completion:

248 121

  • step2: 将提示(prompt)输入给LLM,以从候选集中为用户 u 选择一个正样本和一个负样本,形成一个BPR训练三元组。

image.png

  • step3: 使用LLM从文本模态的角度选择样本集,并将其与原始的BPR训练数据合并,从而获得最终的强化BPR训练数据。

image.png

这种基于LLM的数据增强有以下优点:

  • 这种方式充分发挥了数据集中的文本模态信息,巧妙规避了仅依赖基于 ID 的交互而导致的数据集中信息的浪费问题。通过整合文本信息,LLMRec更全面地捕捉了用户与商品之间的关系,为推荐系统提供了更为丰富且深刻的理解。这种多模态的策略不仅提高了模型对数据的充分利用,同时也使其在处理真实世界推荐场景时展现出色。

  • 这种方式基于语义文本信息进行用户-商品交互的预测,能够直观地建模用户的交互偏好。通过利用语义信息,该模型更准确地捕捉用户对商品的偏好,从而提高了交互预测的精度和表现。这种基于语义文本的方法为推荐系统带来了更深层次的理解和更强大的预测能力,为用户提供了更符合其个性化需求的推荐服务。

  • 未经用户互动的商品不一定意味着用户不喜欢,但通常被误认为是负样本;而用户已经互动过的商品也有可能是误选。基于LLM的隐式反馈增强是基于真实知识和用户互动记录进行样本选择,可以在一定程度上纠正这些错误。这一方法借助LLM的自然语言理解能力,更准确地捕捉用户的隐含偏好,为推荐系统提供更可靠的样本集,从而提高模型的性能和推荐质量。

3.2 用LLM进行文本模态内容的增强

用LLM进行文本模态内容的增强的过程是:

  • step1: 利用数据集中的文本信息和交互记录构建prompt。

  • step2: 将prompt输入LLM得到生成的item attribute/user profile。

LLM-based User Profile Augmentation Prompt:

Generate user profile based on the history of user, that each movie with title, year, genre. History: [332] Heart and Souls (1993), Comedy|Fantasy [364] Men with Brooms (2002), Comedy|Drama|Romance Please output the following infomation of user, output format: {age: , gender: , liked genre: , disliked genre: , liked directors: , country: , language: }

Completion:

age: 50, gender: female, liked genre: Comedy|Fantasy, Comedy|Drama|Romance, disliked genre: Thriller, Horror, liked directors: Ron Underwood, country: Canada, United States, language: English


LLM-based Item Attributes Augmentation Prompt:

Provide the inquired information of the given movie. [332] Heart and Souls (1993), Comedy|Fantasy The inquired information is: director, country, language. And please output them in form of: director, country, language

Completion:

Ron Underwood, USA, English

  • step3: 将数据增强得到的item attribute/user profile用有embedding能力的LLM进行编码。

image.png

  • step4: 将编码得到的增强了的特征用作推荐系统的user和item的节点特征,作为除原始多模态特征以外的补充特征。

image.png

3.3 模型优化与去噪

为了保证LLM增强的数据的可靠性,LLMRec针对增强了的隐式反馈和节点特征分别设计了去噪机制。

3.3.1 基于文本模态信息预测的潜在隐式反馈的去噪。

image.png

隐式反馈去噪的具体过程是将负号之前的loss value进行生序排序,取前top-N。这可以避免不可靠的梯度反馈对优化产生较大影响,从而使优化过程更加稳定和有效:

image.png

3.3.2 特征的MAE(masked auto-encoder)

image.png

对文本模态增强的特征进行MAE能让encoder对特征不那么敏感以增强模型对特征中噪声的鲁棒性。

  • step1: Mask掉一定数量的特征, 用mask token替代。

image.png

  • step2: 用回归loss约束还原被mask掉的特征。

image.png

04. 增强的模态和多模态数据集

4.1 制作并公开多模态数据集

(适用多模态推荐代码框架LLMRec/LATTICE/MMSSL/MICRO,无需数据预处理)

该工作制作了Netflix和MovieLens两个多模态推荐数据集,解决了多模态推荐领域一直以来的数据集稀缺问题。

本研究针对多模态推荐领域的数据集稀缺问题采取了积极措施,成功创建了多模态推荐数据集Netflix。这一举措不仅填补了该领域数据资源的空白,而且为研究和实践提供了更具挑战性和现实意义的基础。这两个数据集的引入为广大研究者提供了更多实验和评估的机会,促使更深入地探究多模态推荐系统的性能和创新。这不仅推动了领域内的前沿研究,同时为未来多模态推荐技术社区的发展贡献了一份力量。

Netflix数据集

Netflix数据集是基于Kaggle网站发布的原始Netflix Prize数据集创建的多模态数据集。这个数据集的格式与目前多模态推荐领域的最新方法(如MMSSL、LATTICE、MICRO等)完全兼容。在文本模态方面,基础信息包括了电影的‘title’和‘year’;而在视觉模态方面,电影的海报则是通过网络爬取的。本研究提供了一个经过预处理的Netflix数据集,可直接供LLMRec、MMSSL、LATTICE和MICRO等多模态推荐模型使用,无需进行额外的数据预处理。这包括(1)原始图像和文本,(2)基本的用户-项目交互和多模态信息,以及(3)LLM增强的内容。这一预处理的数据集不仅为研究者提供了便捷的使用资源,同时也确保了数据的一致性和高质量,为多模态推荐研究提供了可靠的基础。

文本模态

image.png
(1)Kaggle网站上描述的有关Netflix的信息,(2)来自原始Netflix Prize数据的文本信息,(3)由LLM增强的文本信息。

视觉模态

视觉信息是通过网络爬虫获取的。下方的图片展示了通过使用Netflix Prize Data中的项目信息进行网络爬虫,成功获取的电影海报。这一过程不仅确保了数据集的多模态性,同时也保证了视觉模态的信息来源真实可信。这些图片的获取是在遵循相关法规和道德准则的前提下进行的,为多模态推荐数据集的建设提供了更为详尽和全面的视觉信息。

image.png
多模态推荐数据集下载

image.png
MovieLens数据集

MovieLens数据集是由明尼苏达大学的GroupLens发布的。这篇工作收集了 'title'、'year' 和 'genre' 作为基本的与项目相关的文本信息,而视觉内容是通过MovieLens上的每个项目的URL获取的。

4.2 原始数据集与文本增强

增强的数据包含了加强的用户-项目交互边以及用户/项目节点的属性和特征。对于用户增强的信息,涵盖了“age, gender, liked genre, disliked genre, liked directors, country, and language”等方面;而对于项目增强的信息,包括“director, country, language”。接着,这些增强信息将被编码成特征,以供推荐模型的编码器使用。在这个过程中,CLIP-ViT和Sentence-BERT分别担任视觉和文本信息的编码器。这一多层次的信息编码过程旨在全面捕捉用户和项目的多样性特征,为推荐系统提供更为准确和个性化的建模。

image.png

05. 实验结果

5.1 主实验

LLMRec与基准模型进行了对比,主要包括通用协同过滤(general CF)和多模态推荐方法。更详细地划分可以涵盖通用协同过滤、包含辅助信息的推荐系统、带有数据增强的推荐系统以及自监督推荐系统。LLMRec通过显式增强用户-物品交互边缘和提升辅助信息的质量,表现优越于基准模型。值得一提的是,该模型基于LATTICE的编码器,包括ID对应编码器和特征编码器。这一改进凸显了框架的有效性,使其在各个方面都超越了传统的推荐方法,为推荐系统的性能提供了有力的支持。

image.png

5.2 消融实验

消融实验主要聚焦在数据增强和去噪两个方面。在w/o-u-i(没有用户-物品交互)的情况下,即消除了LLM增强的隐式反馈,结果显著下降。这表明LLMRec通过引入上下文知识,增强了潜在的监督信号,更好地捕捉用户的偏好。

在w/o-u的情况下,即移除了LLMRec的用户画像增强,性能下降。这表明基于LLM的用户辅助信息能够有效地通过历史交互和物品端知识综合总结出有用的用户偏好概况。

在w/o-u(去除噪声)的情况下,即去除了噪声剪枝,性能也下降。这表明消除嘈杂的隐式反馈信号的过程对性能有帮助。这一系列实验证明了LLMRec在数据增强和去噪方面的关键作用,以及其在提高推荐系统性能方面的显著优势。

image.png

5.3 参数实验

5.3.1 LLM的参数的影响

image.png

5.3.2 Candidates数量的影响

image.png

06. 总结与展望

本研究聚焦于设计LLM增强多模态推荐模型,以有效应对稀疏的隐式反馈信号和低质量附加信息的挑战。通过对用户交互偏好的建模和去偏商品属性,我们提出了一种解决方案。为确保增强数据的质量,我们引入了一个去噪的增强鲁棒机制。尽管目前我们主要集中在使用LLMs对文本信息进行增强,未来的研究方向应该更进一步。

图片来自“Recommender Systems in the Era of Large Language Models (LLMs)”
图片来自“Recommender Systems in the Era of Large Language Models (LLMs)”
在接下来的工作中,我们计划基于现有的多模态LLMs,扩展我们的方法,以对多个模态的内容进行增强。这一步骤将使我们能够更全面地捕捉用户和商品之间更复杂的关系,为推荐系统提供更准确和全面的信息。通过结合多模态数据,我们期望提高模型的性能,使其在真实世界的推荐任务中表现更为出色。

关于TechBeat人工智能社区

TechBeat(www.techbeat.net)隶属于将门创投,是一个荟聚全球华人AI精英的成长社区。

我们希望为AI人才打造更专业的服务和体验,加速并陪伴其学习成长。

期待这里可以成为你学习AI前沿知识的高地,分享自己最新工作的沃土,在AI进阶之路上的升级打怪的根据地!

更多详细介绍>>TechBeat,一个荟聚全球华人AI精英的学习成长社区 

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

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

相关文章

滴滴2023.11.27P0级故障技术复盘回顾(k8s的的错?)

本文从滴滴官方恢复及技术公众号带大家从技术角度复盘这次事故 目录 1. 背景 2. 滴滴官方消息 3. 问题分析及定位 4.网传的k8s及解析 5.k8s引发的思考:举一反三,怎么避免再次出现 6.近段时间其他平台崩溃回顾 1. 背景 11 月 27 晚约 10 点&#xf…

vue 表格虚拟滚动

参考未整理 1.使用vxetable实现 官网 问题&#xff1a; 实现了表格的虚拟滚动&#xff0c;但是单元格数据不自动换行了 &#xff0c;如下显示的... 然后在官网看到是这样的&#xff0c;那我不是白写。。。 解决&#xff1a; 1.包一层div2.再写个换行样式 <vxe-column …

Springboot如何快速生成分页展示以及统计条数

这是表结构&#xff1a; 前置知识&#xff1a; 分页查询公式&#xff08;&#xff09;&#xff1a; -- 推导一个公式 -- select * from emp -- order by empno -- limit 每页显示记录数 * (第几页-1)&#xff0c;每页显示记录数 统计条数公式&#xff1a; select count…

lv11 嵌入式开发 轮询与中断13

1 CPU与硬件的交互方式 轮询 CPU执行程序时不断地询问硬件是否需要其服务&#xff0c;若需要则给予其服务&#xff0c;若不需要一段时间后再次询问&#xff0c;周而复始 中断 CPU执行程序时若硬件需要其服务&#xff0c;对应的硬件给CPU发送中断信号&#xff0c;CPU接收到中…

Python协程技术:从Greenlet到async/await的异步编程探索

协程&#xff1a; ​ 协程&#xff0c;在Python中&#xff0c;协程是一种轻量级的并发编程方式&#xff0c;它允许在单个线程内实现多个独立的执行流。协程可以在不同的执行点之间进行切换&#xff0c;而无需依赖于操作系统的线程切换。这使得协程成为处理高并发和异步任务的有…

Csharp(C#)无标题栏窗体拖动代码

C#&#xff08;C Sharp&#xff09;是一种现代、通用的编程语言&#xff0c;由微软公司在2000年推出。C#是一种对象导向的编程语言&#xff0c;它兼具C语言的高效性和Visual Basic语言的易学性。C#主要应用于Windows桌面应用程序、Windows服务、Web应用程序、游戏开发等领域。C…

Windows系列:windows2003-建立域

windows2003-建立域 Active Directory建立DNS建立域查看日志xp 加入域 Active Directory 活动目录是一个包括文件、打印机、应用程序、服务器、域、用户账户等对象的数据库。 常见概念&#xff1a;对象、属性、容器 域组件&#xff08;Domain Component&#xff0c;DC&#x…

【开源】基于Vue.js的农村物流配送系统的设计和实现

项目编号&#xff1a; S 024 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S024&#xff0c;文末获取源码。} 项目编号&#xff1a;S024&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统登录、注册界面2.2 系统功能2.2…

对抗产品团队中的认知偏误:给产品经理的专家建议

今天的产品经理面临着独特的挑战。他们不仅需要设计和构建创新功能&#xff0c;还必须了解这些功能将如何为客户带来价值并推进关键业务目标。如果不加以控制&#xff0c;认知偏差可能会导致您构建的内容与客户想要的内容或业务需求之间不一致。本文将详细阐述产品经理可以避免…

帮亲戚个忙,闲来有事用php写个58商铺出租转让信息抓取

最近亲戚想做点小超市生意&#xff0c;但是又不懂互联网&#xff0c;信息获取有点闭塞。知道我身在互联网大潮中&#xff0c;想让我帮忙看看网上有没有商铺转让的。心想&#xff0c;这不是小菜一碟&#xff0c;大显身手的时候来了&#xff0c;大概去58瞅了瞅&#xff0c;这玩意…

网狐类源码游戏配置数据库数据(一键配置网狐数据库)

网狐类源码游戏配置数据库数据&#xff08;一键配置网狐数据库&#xff09; 一般拿到网狐的源码或组件&#xff0c;需要先附加或配置数据库&#xff0c;以下为全部需要更改数据的地方&#xff0c;这里以荣耀系列版本数据库为例&#xff1a; 1. 数据库设置 [RYPlatformDB].…