目录
RecAgent:推荐系统沙盒模拟环境RecAgent
论文源码:
https://github.com/RUC-GSAI/YuLan-Rec
论文链接:
https://arxiv.org/pdf/2306.02552.pdf
本论文的研究背景是关于推荐系统的模拟研究。传统的推荐系统研究主要依赖于真实世界的数据,但这种方法存在资源消耗大、不可持续等问题。同时,真实世界中用户行为数据的丰富性也难以全面捕捉。因此,本论文提出了基于大型语言模型的推荐系统模拟研究方法,通过模拟用户行为和偏好,来深入理解和模拟用户的主观信息。这一方法有望在推荐系统领域产生重要影响。
上图是一个推荐系统模拟器。模拟器由两个主要组件组成:用户模块和推荐模块。用户模块允许用户以各种方式与推荐系统交互。用户可以浏览推荐网站,与其他用户聊天,或在社交媒体上播放消息。这些动作由界面中的不同用户化身表示。推荐器模块负责为用户生成搜索或推荐结果。它考虑了用户的行为和偏好,以提供相关的建议。该界面还包括模拟器日志和不同用户之间的关系。它提供了控制模拟器运行过程的按钮,如启动、停止或重置模拟。
上图中不同的颜色代表不同的模块,如右下角的图例所示,用户的交互可以有三种行为:
访问推荐网站。用户登陆推荐网站的原因有两种,一是有明确想要观看的电影,二是通过浏览网站找到自己想看的电影。对于第一种原因,用户会主动搜索该电影,并进行观看。对于第二种原因,推荐系统会给用户展示他可能感兴趣的电影供其选择。在访问推荐网站的过程中,如果用户对当前系统返回结果不满意,可以提出访问下一页,并可在任意时刻选择离开网站。
和他人交流。用户可以选择和他的朋友进行聊天,分享最近观看电影的感受,心得或向他的朋友推荐电影等。交流的内容由大语言模型决定。
在社交媒体广播发帖。除了和朋友聊天以外,用户还可以在社交媒体发帖子。如果我们认为和他人聊天是一种一对一的消息传递方式,那么在社交媒体发帖则是一种一对多的消息传播方式。该用户在社交媒体的好友看到消息后,可能会发起聊天,继续深入讨论发帖内容。
每个用户维护了一个可更新的记忆模块,并在以下情况下触发更新:(1)观看电影后,用户产生观影感受。(2)和朋友交谈后,获取新的信息。(3)在社交媒体收到朋友的广播消息。(4)基于近期记忆进行自主反思。
其具体的演示视频可参考: YuLan-RecAgent:推荐系统中的《西部世界》 (qq.com)
该模拟器的环境使用了LangChain和Gradio,LangChain是由Harrison Chase开发的Python和JavaScript库,用于与OpenAI的GPT API(后来扩展到更多模型)进行接口交互,用于AI文本生成。 Gradio能自动化生成交互式web页面,并支持多种输入输出格式。
1、可以缓解冷启动推荐:RecAgent可以调整现实世界和虚拟世界中冷启动用户的档案,增强真实世界的数据,以获得更准确的推荐模型。
2、基于社交关系推荐:即使在亲密的朋友之间,RecAgent也可以观察用户的偏好,从而更好地了解社交关系的影响。
3、基于RL(强化学习)的推荐:RecAgent可以作为基于强化学习的推荐模型的模拟器,能够设计提示来查询用户反馈并提供更准确的奖励。
4、可解释推荐:RecAgent可用于直接向语言学习模型(LLM)询问用户对解释的感受,提高对解释质量的评估。