查看原文
其他

一文速览大语言模型在推荐系统中的应用

张君杰 RUC AI Box 2023-08-04

© 作者|张君杰

  机构|中国人民大学

研究方向 | 推荐系统与自然语言处理


传统的推荐模型依赖显式的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

本文指出传统的推荐模型的交互和解释能力较差,阻碍了将他们部署在真实的系统中。为此,本文尝试利用LLM来构建对话式推荐系统,其中用户画像和历史交互等信息被转化为提示信息。本文提出, LLM可以基于in-context learning较好的理解用户偏好以及构建用户和物品之间的联系。因此,LLM在向用户推荐合适物品的同时,也可以向用户提供个性化的解释结果。特别的,基于LLM的通用知识,chat-rec可以灵活的迁移到不同的推荐场景,处理物品冷启动的问题。


Rethinking the Evaluation for Conversational Recommendation in the Era of Large Language Models

本文同样尝试利用ChatGPT来构建对话式推荐系统,并为此进行了系统性的评测。本文首先在已有的benchmark数据集上评测了ChatGPT的对话推荐能力。然而,结论是反直觉的:“ChatGPT并没有展示较好的效果”。为此,本文作者检查了ChatGPT失败的案例,并发现失败的原因在于:已有的评测方式依赖于对齐人类手工标注的推荐和对话,并过分强调了基于对话上下文来对ground-truth物品的拟合。因此,传统的评测指标,如BLEU和GOUGE等无法反映LLM在文本生成任务上的真实能力。

为了解决上述的问题,本文旨在改善评测的方式,使其更加关注于对话推荐系统的交互能力。理想来说,这样的评测应该由人类标注,然而由于高昂的成本,本文尝试使用基于LLM的用户模拟器来测试LLM的对话推荐能力。在这样的评测方式下,ChatGPT取得了出色的表现。特别的,ChatGPT具有突出的解释能力,这是目前的对话推荐系统难以做到的。


Zero-Shot Next-Item Recommendation using Large Pretrained Language Models

本文评测了零样本设定下,LLM在下一个物品预测任务下的能力。本文提出了两个挑战:1. 对于LLM来说,推荐的候选空间非常大,2. LLM不清楚用户的历史交互和偏好。为此,本文提出了一种提示策略:“Zero-Shot Next-Item Recommendation (NIR)”, 使得LLM可以处理预测下一个物品的任务。具体来说,本文首先利用外部模块(传统的协同过滤模型)生成候选物品,然后分别提示LLM:1. 提取用户偏好,2. 选择代表性的历史交互物品, 3. 推荐并排序包含十个物品的列表。本文结果表明GPT-3在MovieLens 100K数据集上具有较强的零样本能力,甚至可以优于在该数据集上完整训练的传统推荐模型。


Is ChatGPT a Good Recommender? A Preliminary Study

本文探索了将ChatGPT作为通用推荐模型的能力。具体来说,本文分别在评分预测,序列推荐,直接推荐,解释生成和评论摘要等五个任务下测试了ChatGPT的能力。除此以外,本文探索了使用少量样本的提示信息,来向LLM注入用户的交互信息,使得语言模型可以更好的理解用户偏好和需求。实验表明,LLM在序列推荐任务和直接推荐任务上的效果较差,而在评分预测,解释生成和评论摘要任务具有较好的表现。特别的,本文还基于人类评测了解释生成和评论摘要任务。尽管LLM生成的结果可能不受传统评测指标的青睐,但是从人类角度来看,LLM生成的解释和摘要更加清晰且符合逻辑。


Uncovering ChatGPT’s Capabilities in Recommender Systems

本文从信息检索的视角,对ChatGPT的在point-wise,pair-wise,和list-wise的排序能力做了分析。如上图所示,本文将以上的三个推荐策略描述为不同的提示格式。通过在来自不同领域的四个数据集上进行的大量的实验,本文证明ChatGPT在所有的排序策略上都优于其他的LLM。由于使用ChatGPT做推荐任务也会带来高昂的费用,本文特别分析了不同排序策略下的费用,并指出list-wise排序具有最高的性价比。除此以外,ChatGPT在缓解冷启动问题以及可解释推荐上也取得了出色的效果。


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

本文旨在评测达模型的推荐结果是否公平。实际上,由于在大量的无标注语料上预训练,LLM存在一定的社会偏见,可能导致LLM产生不公平的推荐结果。为此,本文提出了一个新的公平性benchmark:"Fairness of Recommendation via LLM (FaiRLLM)."

具体来说,FaiRLLM通过比较LLM在"neutral instructions" (没有包含用户的敏感属性)和"sensitive isntructions" (包含敏感属性)下的推荐结果,来评估LLM的公平性。结果表明,LLM 可能产生不公平的推荐,而且LLM的公平性随着不同的敏感属性而变化。

生成相关:

Generative Recommendation: Towards Next-generation Recommender Paradigm

本文作者认为传统的推荐模型往往从物品集合中检索合适的物品来实现个性化推荐。然而,这样的范式可能存在一些问题:1. 已有的人类生成的物品集合并不一定能符合用户多样化的需求, 2. 用户往往通过被动的,低效的反馈(如点击),来调节推荐。基于AIGC的蓬勃发展,作者构想的下一代的推荐范式应该具有以下两个目标:1. 通过生成式AI来生成个性化的内容,2. 融入用户指令来指导内容的生成。

为了实现这个目标,作者提出了一个新的生成式推荐范式:GeneRec. 具体来说,作者首先预处理用户的指令和传统的反馈作为生成的依赖。然后,作者基于AI editor和AI creator来实例化AI generator,使得GeneRec可以基于用户的需求重新定制已有的物品和创建新的物品。


GPT4Rec: A Generative Framework for Personalized Recommendation and User Interests Interpretation

本文认为传统的推荐模型用ID来表征物品,并且使用判别式方法建模,可能会导致以下几个限制:1. 无法利用物品的内容信息和NLP模型的语言建模能力。2. 无法解释用户兴趣来提升推荐的相关性的多样性。3. 无法适配更实际的应用场景,例如不断增加新的商品。

为此,本文提出GPT4Rec,利用灵活的生成框架来处理推荐任务。具体来说,基于用户历史交互的物品,和它们对应的标题 ,GPT4Rec首先要求GPT2来生成假设的"搜索查询",然后引入搜索引擎(BM25),来基于这个查询检索相关的物品。实验证明通过beam search,GPT2可以生成多样化的召回商品以及覆盖用户的多样化的兴趣。


A First Look at LLM-Powered Generative News Recommendation

本文指出传统的新闻推荐可能存在以下几个挑战:1. 冷启动。对于长尾或新用户,模型无法较好的建模和理解他们的兴趣。2. 用户画像建模。出于隐私保护的考量,现有的数据集可能无法包含详细的用户画像信息。3. 新闻内容理解。由于新闻数据中标题和内容存在不一致的问题,导致难以识别新闻中的关键概念和主题。

为了解决这些问题,本文提出GENRE,一个基于LLM的生成式新闻推荐框架。具体来说,GENRE利用可获得的新闻数据,如标题,摘要,和新闻类别,来构建提示,从而激发LLM基于其通用知识来产生相关的信息 ,如新闻摘要,用户画像,个性化新闻等。这些生成的新闻信息将被加入到数据库中,并迭代的优化LLM生成。在此之后,这些生成出来的新的数据将被用来训练新闻推荐模型。

指令微调相关:

Recommendation as Instruction Following: A Large Language Model Empowered Recommendation Approach

本文作者指出传统的推荐模型依赖ID来表征用户和物品。尽管这些方法可以较好的建模系统中的协同信息,它们难以泛化到新的推荐场景中(如新物品,新任务)。除此以外,在传统的推荐算法中,用户和系统的交互方式是固定且不灵活的。系统通过分析用户的历史交互来捕捉他们的隐式偏好,而用户被动的参与到推荐算法当中,无法主动的表达他们的真实需求。实际上,用户的需求是多样化且灵活的,可能十分模糊,也可能十分具体;可能是隐式的,也可能是显式的表达。因此,传统的推荐算法可能导致不合适的推荐和较低的用户使用体验。

最近,越来越多的证据表明,指令微调可以赋予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

本文作者指出即使LLM能够基于其丰富的世界知识和强大的泛化能力来处理推荐任务,LLM在推荐任务中的表现仍然是次优的。作者认为这主要是由LLM的训练任务和推荐任务的不一致所造成的。为此,本文提出一种高效的微调框架,来将LLM对齐到推荐系统中,即TALLRec.  具体来说,TALLRec包含两个微调阶段:指令微调和推荐微调。在指令微调阶段,TALLRec基于Alpaca的指令数据来微调LLM。在推荐微调阶段,TALLRec将推荐数据形式化为指令微调的格式。在推荐微调的数据中, TALLRec首先声明任务的格式:是否喜欢目标商品,然后将用户的历史交互基于其喜好程度(评分)分成喜欢和不喜欢两类。TALLRec将这两类数据以及目标商品组合起来,得到任务的输入:"User Preference:  . User Unpreference:  . Whether the user will enjoy the target movie/book:  ". 最后,TALLRec将用户对目标商品的反馈转换为自然语言的"Yes. / No." 来得到任务输出。除此以外,TALLRec引入了LoRA来实现轻量化微调。通过两阶段的高效微调,LLM可以较好的适配到推荐系统,并展现了鲁棒的跨域泛化能力。

本文简单整理了近期大语言模型在推荐系统的相关应用,更多关于大语言模型的综合性介绍可以参考综述:A Survey of Large Language Models.
论文链接:https://arxiv.org/abs/2303.18223

多推荐


“自己动手,丰衣足食”——大模型的自我“进化”探索


SIGIR 2023 | EulerNet: 复数向量空间下的特征交互建模


训练你的大模型!低资源下的模型轻量化


点击下方“阅读原文”前往知乎专栏
↓↓↓

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存