一文速览大语言模型在推荐系统中的应用
© 作者|张君杰
机构|中国人民大学
研究方向 | 推荐系统与自然语言处理
传统的推荐模型依赖显式的ID来建模用户或物品。由于不同域的ID不能共享语义,已经训练好的推荐模型可能无法直接迁移到新的推荐领域。最近,自然语言处理领域正在经历一场范式的革新:通过增加模型的参数,以及在大量语料上预训练,模型可以学习到通用的语义,并可以被迁移到不同的下游场景。特别的,大语言模型(LLM)庞大的参数中存储了通用的世界知识,在各种任务上取得了突出的表现,引起了研究人员的广泛关注。一个自然的想法是:能否利用大语言模型的通用知识辅助推荐?本文简单整理了近期大语言模型在推荐系统的相关应用,旨在与读者分享并相互交流。文章也同步发布在 AI Box 知乎专栏(知乎搜索 AI Box 专栏),欢迎大家在知乎专栏的文章下方评论留言,交流探讨!
评测相关:
Large Language Models are Zero-Shot Rankers for Recommender Systems
本文评测了LLM在推荐系统中的零样本排序能力。具体来说,本文将推荐问题形式化为给定条件的排序任务,其中用户的历史交互作为条件,召回得到的物品作为候选。本文通过设计合适的prompt模版,结合条件、候选、排序指令,使得LLM可以执行推荐中的排序任务。本文在两个公开数据集上进行了详细的实验,并得到以下发现:
LLM可以基于用户的历史交互实现个性化的排序,但是LLM很难感知到用户历史交互的序列关系。
基于特别设计的提示,例如“recency-focused prompting”, “in-context learning”, LLM可以被激发出感知历史交互序列性的能力,从而提升排序能力。
LLM优于其他的零样本推荐模型,展示了较好的零样本排序能力。特别当采用多路召回生成候选时,LLM具有更好的判别能力。
LLM在排序时有position bias和popularity bias,但可以被适当的提示或bootstrapping等策略所缓解。
Chat-REC: Towards Interactive and Explainable LLMs-Augmented Recommender System
Rethinking the Evaluation for Conversational Recommendation in the Era of Large Language Models
为了解决上述的问题,本文旨在改善评测的方式,使其更加关注于对话推荐系统的交互能力。理想来说,这样的评测应该由人类标注,然而由于高昂的成本,本文尝试使用基于LLM的用户模拟器来测试LLM的对话推荐能力。在这样的评测方式下,ChatGPT取得了出色的表现。特别的,ChatGPT具有突出的解释能力,这是目前的对话推荐系统难以做到的。
Zero-Shot Next-Item Recommendation using Large Pretrained Language Models
Is ChatGPT a Good Recommender? A Preliminary Study
Uncovering ChatGPT’s Capabilities in Recommender Systems
Do LLMs Understand User Preferences? Evaluating LLMs On User Rating Prediction
本文专门评测了LLM在评分预测任务上的表现。本文的评测从两个维度展开:1. model scale:从250M到540B, 2. setting:zero-shot,few-shot,和fine-tuning. 具体来说,本文得到了如下的实验结论:
在冷启动的场景下,模型参数的增加可以带来更好的推荐,最终取得类似于启发式算法的效果。 在零样本设定下,LLM的效果远差于在完整数据上训练的传统模型,这表明了用户交互数据的重要性。 LLM具有更好的data efficiency:通过在适量数据上微调,LLM可以取得可比甚至优于传统模型的结果。
Is ChatGPT Fair for Recommendation? Evaluating Fairness in Large Language Model Recommendation
具体来说,FaiRLLM通过比较LLM在"neutral instructions" (没有包含用户的敏感属性)和"sensitive isntructions" (包含敏感属性)下的推荐结果,来评估LLM的公平性。结果表明,LLM 可能产生不公平的推荐,而且LLM的公平性随着不同的敏感属性而变化。
生成相关:
Generative Recommendation: Towards Next-generation Recommender Paradigm
为了实现这个目标,作者提出了一个新的生成式推荐范式:GeneRec. 具体来说,作者首先预处理用户的指令和传统的反馈作为生成的依赖。然后,作者基于AI editor和AI creator来实例化AI generator,使得GeneRec可以基于用户的需求重新定制已有的物品和创建新的物品。
GPT4Rec: A Generative Framework for Personalized Recommendation and User Interests Interpretation
为此,本文提出GPT4Rec,利用灵活的生成框架来处理推荐任务。具体来说,基于用户历史交互的物品,和它们对应的标题 ,GPT4Rec首先要求GPT2来生成假设的"搜索查询",然后引入搜索引擎(BM25),来基于这个查询检索相关的物品。实验证明通过beam search,GPT2可以生成多样化的召回商品以及覆盖用户的多样化的兴趣。
A First Look at LLM-Powered Generative News Recommendation
为了解决这些问题,本文提出GENRE,一个基于LLM的生成式新闻推荐框架。具体来说,GENRE利用可获得的新闻数据,如标题,摘要,和新闻类别,来构建提示,从而激发LLM基于其通用知识来产生相关的信息 ,如新闻摘要,用户画像,个性化新闻等。这些生成的新闻信息将被加入到数据库中,并迭代的优化LLM生成。在此之后,这些生成出来的新的数据将被用来训练新闻推荐模型。
指令微调相关:
Recommendation as Instruction Following: A Large Language Model Empowered Recommendation Approach
最近,越来越多的证据表明,指令微调可以赋予LLM理解用户意图的能力,使得用户可以自然灵活的与LLM交流。为此,本文期望发展一种新的推荐范式:用户可以灵活的使用自然语言指令来表达自身的需求,而系统通过分析这些指令来实现个性化的推荐,即InstructRec. 为此,本文首先形式化了推荐指令的三个关键因素:偏好,意图和任务形式。并基于这些因素的组合实例化了不同的交互场景。本文通过self-instruct的方式,利用一个指令微调过的模型(teacher-LLM)来基于用户的历史行为,评论等数据,生成大量能反映用户意图和偏好的指令数据。利用这些指令数据,本文指令微调了3B Flan-T5-XL。实验结果表明,InstructRec可以准确理解用户的需求,在不同的交互场景中均取得较好的效果。
TALLRec: An Effective and Efficient Tuning Framework to Align Large Language Model with Recommendation
更多推荐
训练你的大模型!低资源下的模型轻量化
�