论文信息
标题: On Generative Agents in Recommendation
会议: SIGIR '24 —— CCF-A
作者: An Zhang, Yuxin Chen, Leheng Sheng
文章链接: On Generative Agents in Recommendation
代码链接: On Generative Agents in Recommendation
文章领域: LLM-Agents,LLM4Rec
论文介绍
研究背景
推荐系统中离线指标与线上效果的长期脱节问题制约了行业发展。本文提出基于大语言模型的用户模拟器 Agent4Rec,模拟真实用户行为,弥合离线与在线评估的鸿沟。
主要贡献
-
开发了Agent4Rec,一个电影推荐模拟器,利用LLM授权的生成代理来模拟和推断用户个性化的偏好和行为模式。这些代理,其精心设计的模块量身定制的建议设置,使人类认知机制的仿真。
-
深入到Agent4Rec的能力和局限性进行广泛的评估生成代理为基础的模拟推荐系统。我们采用统计指标和测试的用户对齐评估,并提出了一个双重的并行评估,同时考虑离线性能和模拟反馈。
-
使用Agent4Rec作为数据收集工具,我们复现了一个普遍的问题-过滤器气泡效应( the filter bubble effect)-并揭示了嵌入在推荐系统场景中的潜在因果关系。这些观察结果展示了Agent 4 Rec激发新研究方向的潜力。
方法创新
论文的所有创新都围绕 Agent4Rec 框架。 该框架分为两部分 Generative agents (生成式智能体)和 Recommendation Environment (推荐环境)。下图展示了Agent4Rec框架的概述,该框架是通过修改LangChain开发的,所有代理都由ChatGPT的gpt-3.5-turbo版本提供支持。
【任务定义】 给定用户 u ∈ U u \in \mathcal{U} u∈U 和物品 i ∈ I i \in \mathcal{I} i∈I,令 y u i = 1 y_{ui} = 1 yui=1 表示用户 u u u 与物品 i i i 发生过交互,并为其评分 r u i ∈ { 1 , 2 , 3 , 4 , 5 } r_{ui} \in \{1, 2, 3, 4, 5\} rui∈{1,2,3,4,5};反之, y u i = 0 y_{ui} = 0 yui=0 表示用户未采纳该物品。每个物品 i i i 的质量可通过公式 R i = ˙ 1 ∑ u ∈ U y u i ∑ u ∈ U y u i ⋅ r u i R_i \dot{=} \frac{1}{\sum_{u \in \mathcal{U}} y_{ui}} \sum_{u \in \mathcal{U}} y_{ui} \cdot r_{ui} Ri=˙∑u∈Uyui1∑u∈Uyui⋅rui表示,其流行度记为 P i P_i Pi。此外,物品的类别集合为 G i ⊂ G G_i \subset \mathcal{G} Gi⊂G。模拟器的核心目标是忠实提炼用户 u u u 对未被见过的推荐物品 i i i 的真实偏好,例如 y ^ u i \hat{y}_{ui} y^ui 和 r ^ u i \hat{r}_{ui} r^ui。
生成式智能体的三大核心模块设计
设计忠实地模仿用户个性化偏好和人类认知推理的代理架构。
-
用户画像模块 (User Profile):该模块包含用户的社会特征与独特品味两部分。基于真实数据集(MovieLens-1M, Steam, AmazonBook)初始化用户的社会特征(social traits)与独特品味(unique tastes)。社会特征包含三个特性,活跃度、从众性、多样性 (activity, conformity, and diversity)。
注: 在Agent4Rec中,某些个人标识符,如姓名、性别、年龄和职业,被故意掩盖,以确保广泛的适用性并解决隐私问题。
-
活跃度:活跃度量化了用户与推荐项目互动的频率和广度,区分了广泛观看和评价多个项目的用户和将自己限制在最小范围内的用户。
-
一致性:深入研究了用户的评分与平均项目评分的一致程度,区分了具有独特观点的用户和观点与流行情绪密切相关的用户。
-
多样性:反映了用户对各种项目类型的倾向或对特定类型的倾向。
为了用自然语言对用户的个性化偏好进行编码,我们从每个用户的观看历史中随机选择25个项目。将用户评级为3或以上的项目归类为“喜欢”,而评级低于3的项目则被视为“不喜欢”。然后,我们利用ChatGPT提取和总结用户表现出的独特品味和评分模式。这些个性化的商品口味作为第二个组成部分被纳入用户配置文件。
-
-
记忆系统模块(Memory Module):人类的记忆分为两类
-
事实记忆(Factual Memory):记录用户与推荐系统的交互行为(如浏览、评分)。
-
情感记忆(Emotional Memory):捕捉用户情感状态(如满意度、疲劳度),并设计情感驱动的反思机制。
其中,情感记忆是个人历史的核心,对决策的影响更大。尽管对 agent 中有关于memory的研究,但情感记忆在很大程度上被忽视了。
我们以两种格式存储记忆:自然语言描述和向量表示。前者是为了便于人类理解而设计的。而向量表示则为高效的内存检索和提取做好了准备。
为了帮助代理与推荐环境交互,我们引入了三种内存操作:内存检索、内存写入和内存反射。
-
内存检索 (Memory Retrieval): 此操作有助于代理从其存储模块中提取最相关的信息。
-
内存写入(Memory Writing): 此操作可以将代理模拟的交互和情绪记录到记忆流中。
-
内存反射(Memory Reflection): 鉴于情绪对用户行为的影响,我们引入了一种情绪驱动的自我反思机制。这与传统的智能体记忆设计(如自我总结、自我验证 和 自我修正)形成对比,后者主要关注归纳或推理高级事实知识,往往忽视情感因素。当智能体的行为超过预设次数时,它会触发反思过程。
批注: 就是基于向量存储的种种操作。
-
-
行为模拟模块(Action Module):在Agent4Rec中,我们设计了一个专门为推荐领域量身定制的动作模块,其中包括两大类动作:
-
兴趣驱动行为(Taste-driven Actions):浏览、评分、生成观看后反馈。
-
情感驱动行为(Emotion-driven Actions):退出系统、评价推荐列表、参与访谈。
-
推荐环境设计
构建一个确保其可靠性、可扩展性和适应性的推荐环境。
-
项目简介生成 (Item Profile Generation): 我们通过构建物品档案捕捉关键特征(质量、流行度、类型、摘要)。质量基于历史评分,流行度基于评论数,类型和摘要由大语言模型(LLM)生成。目标包括模拟真实用户推荐场景,并检测LLM对物品的潜在幻觉(如错误分类)。方法上,采用小样本学习,仅通过物品标题要求LLM将其分类至18种预设类型并生成摘要。若LLM分类与真实数据一致,则表明其具备相关知识;分类不一致的物品将被剔除,以减少幻觉风险,确保代理模拟用户行为的可信度。
-
逐页推荐场景 (Page-by-Page Recommendation Scenario): 我们的模拟器反映了 Netflix、YouTube 和豆瓣等真实世界推荐平台的运行情况,以逐页方式运行。用户最初会看到每个页面上的项目推荐列表。根据用户的互动、偏好和反馈,后续页面可设置为进一步定制推荐,以获得更精致的用户体验。
-
推荐算法设计 (Recommendation Algorithm Designs): 在 Agent4Rec 中,推荐算法的结构是一个独立的模块,核心重点是可扩展性。这种设计包含了预先实施的基于协同过滤的策略,包括随机、最流行的矩阵因式分解(MF)、LightGCN 和 MultVAE。此外,它还采用了开放式接口,使研究人员和从业人员能够毫不费力地集成外部推荐算法。这种适应性确保了 Agent4Rec 在未来可以成为一个多功能平台,用于综合评估和收集有价值的用户反馈。
论文实验
采用基于协同过滤的推荐算法,通过分页交互模式开展系统性评估。RQ1:LLM智能体能在多大程度上真实模拟人类在推荐系统中的自主行为?
1. 用户对齐评估(Agent Alignment Evaluation)
1.1 用户口味对齐(User Taste Alignment)
- 目标:验证生成代理是否能准确识别用户偏好的物品。
- 实验设置:
- 使用三个真实数据集(MovieLens-1M、Steam、Amazon-Book),每个代理随机分配20个物品(已交互与未交互的比例为1:m,m∈{1,2,3,9})。
- 评估指标:准确率(Accuracy)、召回率(Recall)、精确率(Precision)、F1分数。
- 结果:
- 代理在准确率(65%)和召回率(75%)上表现稳定,但精确率和F1分数随干扰项增加显著下降。
- 归因:LLM的幻觉导致代理倾向于固定选择一定数量的物品,而非完全遵循真实偏好。
1.2 评分分布对齐(Rating Distribution Alignment)
- 目标:验证代理生成的评分分布是否与真实数据(MovieLens-1M)一致。
- 结果:
- 代理生成的评分分布与真实数据高度一致(评分4占主导,低分1-2较少)。
- 局限性:代理极少给出1-2分,因LLM基于电影先验知识提前过滤低质量内容。
1.3 社交特质对齐(Social Traits Alignment)
- 目标:验证代理的社交特质(活跃度、从众性、多样性)是否影响行为。
- 方法:
- 根据MovieLens统计数据将代理分为高、中、低三个层级。
- 消融实验对比有无社交特质的代理行为差异。
- 结果:
- 社交特质显著影响行为(如活跃度高的代理互动更多)。
- 例外:多样性特质区分度低,可能与MovieLens电影类型重叠有关。
2. 推荐策略评估(Recommendation Strategy Evaluation)
- 目标:比较不同推荐算法在模拟环境中的表现。
- 方法:
- 使用协同过滤算法(随机、热门、MF、LightGCN、MultiVAE)。
- 评估指标:平均观看率(( \overline{P}{view} ))、平均点赞数(( \overline{N}{like} ))、用户满意度(( \overline{S}_{sat} ))。
- 结果:
- LightGCN表现最优(满意度3.85),算法推荐显著优于随机和热门推荐。
- 结论:模拟器能有效区分推荐算法优劣,支持A/B测试替代方案。
3. 逐页推荐增强(Page-by-Page Recommendation Enhancement)
- 目标:模拟实时反馈驱动的推荐改进。
- 方法:
- 将代理观看/未观看的影片加入训练数据,重新训练推荐算法。
- 评估指标:Recall@20、NDCG@20、用户满意度。
- 结果:
- 观看数据增强后,算法性能提升(如MF的Recall@20从0.1506升至0.1570)。
- 未观看数据导致用户体验下降,验证了反馈机制的有效性。
4. 案例研究:感觉访谈(Case Study of Feeling Interview)
- 目标:通过访谈获取人类可理解的代理反馈。
- 结果示例:
- 代理指出推荐系统倾向于推荐热门电影,忽略多样性需求。
- 访谈反馈补充了传统指标,增强了对推荐系统的可解释性。
5. 扩展实验:模拟现实问题
RQ2: Agent4Rec能否就推荐领域中未解决的问题提供一些见解?
5.1 过滤泡沫效应(Filter Bubble Effect)
-
目标:验证模拟器能否复现推荐内容同质化现象。
-
方法:
- 分四轮迭代训练MF推荐算法,评估内容多样性 ( N ‾ g e n r e s 、 P ‾ t o p 1 − g e n r e ) ( \overline{N}_{genres}、 \overline{P}_{top1-genre} ) (Ngenres、Ptop1−genre)。
-
结果:
- 随着迭代次数增加,推荐内容多样性下降 ( N ‾ g e n r e s 减少) (\overline{N}_{genres} 减少) (Ngenres减少),主导类型占比上升 ( P ‾ t o p 1 − g e n r e 增加 ) ( \overline{P}_{top1-genre} 增加) (Ptop1−genre增加)。成功复现了过滤泡沫效应。
5.2 因果发现(Causal Discovery)
- 目标:挖掘推荐系统中的潜在因果关系。
- 方法:
- 收集电影质量、流行度、曝光率、观看次数、评分数据。
- 使用DirectLiNGAM算法构建因果图。
- 结果:
- 电影质量(主因)和流行度(次因)共同影响评分。
- 流行度偏差通过反馈循环放大(高流行度电影获得更多曝光)。
6. 实验总结与意义
- 优势:
- Agent4Rec能高保真模拟用户行为,支持多维度评估(传统指标+模拟反馈)。
- 成功复现现实问题(过滤泡沫效应),并揭示因果机制。
- 局限性:
- LLM幻觉导致低分模拟困难、行为多样性不足。
- 动作空间有限(未考虑社交网络、广告等外部因素)。
- 未来方向:
- 扩展动作空间,优化LLM微调以减少幻觉。
- 结合在线数据提升模拟真实性。
局限性和未来工作
-
数据的限制: Agent4Rec仅利用离线数据集实现,主要受两个关键因素的限制。首先,LLM需要关于推荐项目的先验知识,这使得大多数离线数据集(只有ID或缺乏详细的项目描述)不适合这项任务。此外,虽然在线数据无疑与模拟器更自然地对齐,为评估其有效性提供了一个无偏见的视角,但获取这些数据带来了相当大的挑战。
-
有限的行为空间: Agent4Rec的行动空间目前有限,忽略了影响用户决策的关键因素,如社交网络、广告和口碑营销。虽然这种简化有助于在简单场景下对LLM授权的代理进行可靠的评估,但它也在现实世界的用户决策过程中引入了差距。我们未来工作的一个关键方向是包含更广泛的影响因素,以更好地捕捉用户行为的多面性,确保模拟更普遍地代表推荐场景。
-
LLM的幻觉: 在模拟中偶尔会观察到幻觉,例如LLM未能准确模拟人类用户对采用的项目提供不利评级,制造不存在的项目并对其进行评级,或者不遵守所需的输出格式。这种不一致性可能会导致模拟结果不准确。鉴于这些观察结果,我们未来的目标是微调LLM,专门用于模拟推荐场景中的用户行为,以提高模拟器的稳定性和精度。
模拟实验的费用: 请注意,所有实验均由 ChatGPT-3.5 支持,涉及 1000 个用户的完整模拟将花费约 16 美元(0.016 美元/用户)。