大语言模型LLMs(ChatGPT实现)应用于推荐系统

308 阅读3分钟

大语言模型(LLMs)应用于推荐系统

论文题目:LLMRec: Large Language Models with Graph Augmentation for Recommendation

论文链接:arxiv.org/pdf/2311.00…

代码链接:github.com/HKUDS/LLMRe…

概述

  • 本文介绍了LLMRec框架,该框架尝试将大语言模型(LLMs)应用于推荐系统,通过基于LLMs的数据增强来优化基于GNNs的协同过滤框架。

  • 该框架包括三种简单而有效的图数据增强策略,包括:i)user-item潜在交互增强; ii)用户画像的增强; iii)item属性的增强。

  • 该框架调用OpenAI的ChatGPT的API接口(platform.openai.com/docs/api-re…

  • 该框架在all-item ranking的设置下测试了推荐的结果,实验在真实的数据集上进行,包括Netflix和MovieLens。

重要问题探讨

  • 如何使用LLMs应对推荐系统中长久以来非常棘手的数据稀疏性问题?

使用LLMs和推荐系统数据集中原本包含的文本内容(比如:用户画像,商品属性)来从自然语言的角度进行user-item交互的增强。这样的做法直接增加了ranking任务中经典的BPR loss的训练数据。比起之前受到很多关注的应对数据稀疏性的自监督方法,使用LLMs直接从自然语言的角度增强了推荐任务相关的监督信号,比任务无关的自监督信号更有意义。

  • 如何使用LLMs应对基于内容推荐的低质量side information的问题?

使用LLMs直接增强user/item节点的节点内容以编码成辅助特征能够一定程度地增加side information的数量,提高side information的质量。对于用户画像,原始的数据集往往因为隐私问题而不包含相关的内容。而基于LLMs的用户画像增强可以自然而然地利用item端的信息和user-item的历史交互总结出有意义的用户画像。对于item attribute, 原始的数据集中所包含的信息往往可能不足或者不完整,用LLMs进行information retrival能够一定程度地补充原有不足的信息。

  • 如何将LLMs应用于ranking任务的范式?

LLMs没有在推荐相关的数据集上预训练过,所以很难直接适配推荐任务。此外,大多数现有的推荐系统采用all-item-rank的采样方式,并且item的数量量级很大,所以max_token_length受限的LLMs很难直接适应这样的任务。为了解决这个问题,LLMRec提出先用baseline准备candidate以解决LLMs输入受限的问题。然后,通过让LLMs基于文本信息直接选出一个偏好的item和一个不偏好的item作为BPR的三元组训练数据。通过这样的方式,LLMs则能够很有效地进行ranking任务。

  • 如何确保基于LLMs增强数据的可靠性?

额外增强的数据不可避免地会存在着噪声。为此,LLMRec分别针对增强了的user-item交互, 和user/item特征进行去噪操作。针对user-item交互边,LLMRec选择通过排序后掩码掉不可信的交互。针对user/item特征,LLMRec使用masked auto-encoder使得编码器更鲁棒于被增强的特征。

  • 如何将增强的数据并入推荐系统?

被增强的数据分别包含user-item交互边和user/item特征,因此,两种数据增强分别以BPR训练数据的方式并入和通过GNNs的节点特征并入。即,分别参与到训练与编码的过程中。