WSDM’2024|: ID+Modality. 大模型(LLMs)辅助基于内容的多模态推荐系统

LLMRec: Large Language Models with Graph Augmentation for Recommendation

Paper: https://arxiv.org/pdf/2311.00423.pdf
Code: https://github.com/HKUDS/LLMRec

一. 背景问题和解决思路

1.1 多模态推荐背景

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

[Amazon多模态推荐系统]
在这里插入图片描述

[Netflix多模态推荐系统]

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

然而,辅助的多模态内容使用时不可避免地引入一些问题,如噪声和低质量内容。受到LLMs在知识储备和自然语言理解能力方面的启发,这篇工作提出了使用LLM来增强多模态内容,以解决上述问题。展开来讲,将大型语言模型(LLMs)应用于推荐系统已成为最近的研究热点,而如何有效地将LLMs应用于推荐系统一直是一个未解决的问题。一方面,经典的协同过滤(CF)范式经过多年的发展,已经成为学术界和业界共同努力下最有效的范式。另一方面,LLMs存在幻觉问题(Hallucination),因此很难适应需要准确预测用户偏好的推荐系统。本研究提出一种将LLMs用于推荐系统的数据增强方法,即利用LLMs丰富的知识和卓越的自然语言理解能力基于文本模态来进行推荐系统的增强。具体而言,LLMRec利用LLM来增强两个方面的内容:用户与物品之间的交互和文本模态的信息,包括用户画像和物品属性。这种方法既能保证基本推荐系统的准确性,又充分利用数据集中的文本信息和大型语言模型的能力,强调了将LLMs用于增强推荐系统的意义。
在这里插入图片描述

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

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

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

在这里插入图片描述

有数据增强的推荐系统输入:增强的特征 F + 增强的隐式反馈。
在这里插入图片描述

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

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

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

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

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

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

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

三. 方法

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训练三元组。
    在这里插入图片描述

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

这种基于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进行编码。

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

3.3 模型优化与去噪

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

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

在这里插入图片描述

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

在这里插入图片描述

3.3.2 特征的MAE(masked auto-encoder)

在这里插入图片描述

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

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

在这里插入图片描述

  • step2: 用回归loss约束还原被mask掉的特征。
    在这里插入图片描述

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

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 1
Image 2
Image 2

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

视觉模态

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

Image 1
多模态推荐数据集下载

在这里插入图片描述

[https://github.com/HKUDS/LLMRec]

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分别担任视觉和文本信息的编码器。这一多层次的信息编码过程旨在全面捕捉用户和项目的多样性特征,为推荐系统提供更为准确和个性化的建模。
在这里插入图片描述

五. 实验结果

5.1 主实验

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

5.2 消融实验

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

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

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

5.3 参数实验
5.3.1 LLM的参数的影响

温度参数 τ \tau τ 影响文本生成的随机性,较高的值(>1.0)增加多样性和创造性,而较低的值(<0.1)导致更加聚焦。在LLMRec中,LLMRec从集合 0 , 0.6 , 0.8 , 1 {0, 0.6, 0.8, 1} 0,0.6,0.8,1 中选择 τ \tau τ。实验结果显示,增加 τ \tau τ 起初提高了大多数指标,但随后出现下降的趋势。

Top-p抽样通过由顶部参数 p p p 确定的阈值选择标记。较低的 p p p 值优先选择可能的标记,而较高的值则鼓励多样性。在LLMRec中,LLMRec使用来自集合 0 , 0.1 , 0.4 , 1 {0, 0.1, 0.4, 1} 0,0.1,0.4,1 p p p 值,实验证明较小的 p p p 值通常会产生更好的结果。
在这里插入图片描述

5.3.2 Candidates数量的影响

另一方面,LLMRec使用 C \mathcal{C} C 来限制基于LLM的推荐系统中的物品候选项。由于成本的限制,LLMRec在实验中尝试了 3 , 10 , 30 {3, 10, 30} 3,10,30,而表明 C = 10 \mathcal{C}=10 C=10 产生了最佳结果。较小的值限制了选择,而较大的值增加了推荐的难度。这种对 τ \tau τ p p p C \mathcal{C} C 参数的巧妙选择进一步突显了LLMRec在调整模型性能方面的灵活性。
在这里插入图片描述

总结与展望

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

在这里插入图片描述

[图片来自“Recommender Systems in the Era of Large Language Models (LLMs)”]

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

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐