TLDR: 本文提出一种新的大语言模型增强的推荐框架LLMRec。具体地,LLMRec提出了三种基于大语言模型的图数据增强策略来强化使用辅助信息的推荐系统。
论文:https://llmrec.files.wordpress.com/2023/10/llmrec-2.pdf 代码:github.com/HKUDS/LLMRec
现代推荐系统(比如:推特, Netflix, 微博)很大程度依赖于平台的内容。即,比起只使用用户-物品交互的通用协同信息,一个有效的推荐系统还依赖于文本,图片,甚至是音频的内容。这些辅助的内容能够缓解稀疏交互导致的用户-物品关系建模不足的问题。但是,辅助信息的引入不可避免地还带来了其他问题,比如:噪声,辅助信息的可得性与完整性, 辅助信息的质量问题。这些问题的存在会损伤用户偏好的建模,恶化推荐的结果。
大语言模型(LLMs)惊人的自然语言理解能力和真实世界的知识为解决上述问题提供了可能性。因此,一个新的推荐框架LLMRec被提出以利用大语言模型有效地协助推荐系统。具体地,LLMRec提出使用三种基于大语言模型的数据增强策略来强化使用辅助信息的推荐系统,这三种数据增强策略是: i) 隐式反馈的增强 ii) 物品属性的增强 iii) 用户画像的增强。
这三种数据增强的方式不仅充份地利用了数据集的文本信息和大语言模型的知识储备,还借助了大语言模型的自然语言理解能力从现实语义(并非数字ID)的角度建模用户偏好。除此之外,LLMRec为了保证被增强数据的可靠性,还设计了增强数据的去燥机制:针对i)的噪声边修剪和针对ii)和iii)的基于掩码自编码器的特征增强策略。
原始的拥有side information的推荐系统的输入包括: i) 由side information编码而成 feature F ii) 隐式反馈:
LLMRec的数据增强同时增强了F和隐式反馈:
首先,LLMs没有在推荐任务和推荐相关的数据集上训练过;其次,LLMs的'max_token_length'受限,这使得LLMs无法像正常的推荐系统一样进行all-item rank或者为包含许多items的数据集进行推荐任务。
为了解决这个问题,我们提出利用基础模型(比如:LightGCN)为每个user提供item candidates, 以解决LLMs的输入受限问题。同时,我们通过让LLMs从item candidates中选出liked item和disliked item来数据增强BPR训练数据,以让LLMs能够参与增强推荐系统。
从外部引入的知识不可避免地存在着噪声,即,不能保证增强得到的数据是对最终任务有效的。为应对这个问题,我们专门针对上述提到的边的增强i)和节点feature的增强ii)iii)进行去燥。具体地,对于i)我们直接刨除了可能存在影响的部分,对于ii)iii)我们引入MAE使得模型不敏感于feature, 并拥有较强的鲁棒性。
对于模型框架的具体设计,我们主要针对解决以下问题:
LLMRec通过直接增强潜在的交互的方式应对推荐系统数据稀疏性的问题。做法是LLMRec将LLMs作为knowledge-aware采样器以增加pair-wise的BPR训练数据。这种方式充份利用了数据集中的文本信息和LLMs的优势,从自然语言的角度建模用户偏好,而不是仅仅只依赖于ID-based的交互。具体地,LLMRec首先为每个user构造prompt, 它是由每个user u的历史交互和candidates组成。这里,我们引入candidates,因为LLMs不能对所有item rank。而使用MMSSL, MICRO替代地先提供有限的有效的candidates可以作为解决方案。
用LLM进行隐式反馈的数据增强可以分为以下步骤:
除此之外,用LLM从语义的角度增强u-i交互能够一定程度地缓解增强隐式反馈中“false positive”和“false negative”的问题。具体来说,user历史交互过的item可能不是真的用户偏好,比如新闻推荐系统中被文本标题或者图片误导进而进行的,而未交互过的item虽然会被作为负样本,但是其实不一定代表用户不喜欢。而用LLMs利用真实已有的信息从自然语言的角度重新选出用户可能偏好或者不偏好的item能够一定程度地缓解上述问题。
在以往的使用side information的推荐系统中,辅助信息往往是以item attributes的形式存在的,他们可能存在着信息不全,低质量和难以获得等问题。并且,user profile往往因为隐私问题难以获得。LLMs拥有着丰富的knowledge base和令人印象深刻的reasoning capabilities, 因此十分适合用来增强side information。对于item, side information可以直接通过item原有的side information直接进行增强;对于user, side information则是可以通过与item的历史交互,通过总结交互过的item的特点进行增强,比如总结出用户喜欢的内容,使用的语言,所在的国家和可能的年龄。
对user和item的side information增强的过程可以总结如下:
得到了增强的数据,我们将它们使用在模型的inference和训练中。但是,增强的数据并不一定都是有效的,噪声甚至可能损害推荐的结果。为此,LLMRec设计了noise pruning和MAE分别用于u-i交互和u/i feature的去燥。
隐式反馈去燥的具体过程是将负号之前的loss value进行生序排序,取前top-N。这样可以避免不可靠的梯度回传有较大影响,进而使优化更加稳定有效:
Feature去燥的具体过程是先用mask token掩码掉一定数量的feature, 然后使用回归loss重构这些被mask掉的feature。这里,mask token可以是可学习的向量,也可以用mean pooling。
Netflix和MovieLens都使用了同样的数据增强策略。
该工作制作并公开了Netflix和MovieLens两个多模态数据集。
以下三幅图片代表了(1)Kaggle网站上描述的有关Netflix的信息,(2)来自原始Netflix Prize数据的文本信息,以及(3)由LLM增强的文本信息。
视觉信息通过网络爬虫得到。以下图片展示了通过使用Netflix Prize Data中的项目信息进行网络爬虫获取的海报。
CLIP-ViT和 Sentence-BERT分别是视觉和文本信息的编码器。
对于每个被增强的user, 0代表正样本,1代表负样本。
对于每个被增强的user, 字典里存储了增强的'age', 'gender', 'liked genre', 'disliked genre', 'liked directors', 'country', and 'language'。
对于每个被增强的item, 字典里存储了增强的'director', 'country', 'language'。
LLMRec对比的baseline主要general CF和多模态推荐的方法。更细致地可以划分为general CF, 有side information的推荐系统,有数据增强的推荐系统,自监督推荐系统。我们的LLMRec通过显式增强用户-物品交互边缘和提升辅助信息的质量,优于基准模型。值得一提的是,我们的模型基于LATTICE的编码器,包括ID对应编码器和特征编码器。这一改进凸显了我们框架的有效性。
消融实验主要针对数据增强和去燥两个部分。w/o-u-i在消去LLM增强的隐式反馈的情况下,结果显著下降。这表明LLMRec通过包含上下文知识增加了潜在的监督信号,从而更好地把握用户的偏好。w/o-u移除我们的用户建模增强器会导致性能下降,这表明我们基于LLM的用户辅助信息能够有效地通过历史交互和物品端知识总结有用的用户偏好概况。w/o-u:去除噪声剪枝会导致性能下降。这表明去除嘈杂的隐式反馈信号的过程有帮助。