赞
踩
论文名称:Recommender AI Agent: Integrating Large Language Models for Interactive Recommendations
论文地址:https://arxiv.org/pdf/2308.16505
Github:https://github.com/microsoft/RecAI
推荐模型以利用大量用户行为数据为基础,擅长提供特定领域的物品推荐。尽管它们可以作为轻量级领域专家,但在提供解释和参与对话等多样化任务方面仍然面临困难。另一方面,大型语言模型(LLMs)代表了人工通用智能的重要进展,在指导理解、常识推理和人类交互方面展示了显著的能力。然而,LLMs缺乏领域特定物品目录和行为模式的知识,特别是在与在线电子商务等与一般世界知识有所偏差的领域。为每个领域微调LLMs既不经济又不高效。在本文中,我们将推荐模型和LLMs联系起来,结合它们各自的优势,创建了一个多功能的交互式推荐系统。我们介绍了一个名为InteRecAgent的高效框架,它以LLMs为大脑,以推荐模型为工具。我们首先概述了将LLMs转化为InteRecAgent所需的最小工具集。然后,我们提出了InteRecAgent内的有效工作流程,其中包括内存组件、动态演示增强任务规划和反思等关键组件。InteRecAgent通过集成LLMs,使传统的推荐系统,如基于ID的矩阵分解模型,成为具有自然语言界面的交互式系统。在几个公共数据集上的实验结果表明,InteRecAgent作为对话式推荐系统取得了令人满意的性能,优于通用LLMs。InteRecAgent的源代码已在https://aka.ms/recagent发布。
推荐系统(RSs)已成为数字景观的重要组成部分,在帮助用户在诸如电子商务和娱乐等各个领域的广泛选择中发挥着重要作用。通过分析用户偏好、历史数据和环境信息,这些系统可以提供个性化的推荐,满足个人口味。多年来,推荐系统已经从简单的协同过滤算法发展到集成深度学习技术的更先进的混合方法。
然而,随着用户越来越多地依赖于会话界面来发现和探索产品,开发更复杂和交互式的推荐系统的需求日益增长。这些系统需要能够理解和有效地回应各种用户查询和意图的复杂推荐系统,并以对话方式进行交互。
大型语言模型(LLMs),如GPT-3(Brown等人,2020)和PaLM(Chowdhery等人,2022),近年来取得了显著进展,展示了在人工通用智能方面的显著能力,并彻底改变了自然语言处理领域。用户可以与AI代理进行会话,完成各种实际任务,例如ChatGPT 1和Claude 2。LLMs能够理解上下文,生成类似人类的文本,并执行复杂的推理任务,从而可以促进用户和RSs之间更有吸引力和直观的交互,为下一代RSs带来有希望的前景。通过将LLMs整合到RSs中,可以提供更自然和流畅的用户体验,超越传统的推荐技术,促进对用户偏好的及时理解,并提供更全面和有说服力的建议。
尽管具有潜力,但利用LLMs进行推荐系统仍然面临着挑战和限制。首先,尽管LLMs是在互联网上大量文本数据的预训练基础上进行预训练的,涵盖了各种领域,并展示了令人印象深刻的一般世界知识,但它们可能无法捕捉到细粒度的、领域特定的行为模式,尤其是在具有庞大训练数据的领域。其次,如果领域数据是私有的,并且在互联网上不太容易获取,LLMs可能会难以理解领域。第三,LLMs缺乏对在预训练数据收集之后发布的新项目的知识,使用最新数据进行微调成本过高。相比之下,领域内模型可以自然地解决这些挑战。克服这些限制的常见范式是将LLMs与领域内模型结合起来,从而填补差距,产生更强大的智能。值得注意的例子包括AutoGPT 3,HuggingGPT(Sheet al. 2023)和Visual ChatGPT(Wu等人,2023)。其核心思想是利用LLMs作为“大脑”,将领域内模型作为“工具”,扩展LLMs在处理领域特定任务时的能力。
在本文中,我们将LLMs与传统推荐模型连接起来,用于交互式推荐系统。我们提出了InteRecAgent(InteRec
现有关于对话式推荐系统(CRS)的研究主要可分为两个主要领域(Gao等,2021):基于属性的问答(Zou和Kanoulas,2019;Zou,Chen和Kanoulas,2020;Xu等,2021)和开放式对话(Li等,2018;Wang等,2022b,2021)。在基于属性的问答CRS中,系统旨在在尽可能少的轮次内向用户推荐合适的物品。系统与用户之间的互动主要围绕着关于所需物品属性的问答展开,迭代地细化用户兴趣。该领域的关键研究挑战包括开发选择查询属性策略(Mirzadeh,Ricci和Bansal,2005;Zhang等,2018)和解决探索利用权衡(Christakopoulou,Radlinski和Hofmann,2016;Xie等,2021)的策略。在开放式对话CRS中,系统管理自由格式的对话数据。该领域最初的研究工作集中在利用预训练语言模型进行对话理解和响应生成(Li等,2018;Penha和Hauff,2020)。随后的研究结合外部知识以增强开放式CRS的性能(Chen等,2019;Wang,Su和Chen,2022;Wang等,2022b)。然而,这些方法在处理复杂用户查询和与用户保持无缝沟通方面存在困难。大型语言模型的出现为改变对话式推荐系统的构建提供了机会,潜在地解决了现有方法的局限并增强了整体用户体验。
参数和数据的扩展使LLMs的能力取得了显著进展,包括上下文学习(Brown等,2020;Liu等,2021;Rubin,Herzig和Berant,2021)、遵循指令(Ouyang等,2022;Touvron等,2023a;OpenAI,2023)、规划和推理(Wei等,2022;Wang等,2022a;Yao等,2022;Yang等,2023;Wang等,2023b)。在推荐系统中,LLMs的应用正成为一个快速增长的趋势(Liu等,2023a;Dai等,2023;Kang等,2023;Wang和Lim,2023)。
随着模型展现出的新兴智能,研究人员开始探索利用LLMs作为自主代理的潜力(Wang等,2023a;Zhao,Jin和Cheng,2023),增加了记忆模块、规划能力和工具使用能力。例如,(Wang等,2023c;Zhong等,2023;Liu等,2023b)为LLMs配备了外部记忆,赋予LLMs增长潜力。关于规划,CoT(Wei等,2022;Kojima等,2022)和ReAct(Yao等,2022)提出通过逐步推理增强规划;ToT(Yao等,2023)和GoT(Besta等,2023)引入多路径推理以确保一致性和正确性;SelfRefine(Madaan等,2023)和Reflexion(Shinn等,2023)引导LLMs反思错误,最终目标是提高其后续问题解决成功率。为了具备领域特定技能,一些研究(Qin等,2023a)研究引导LLMs使用外部工具,如网络搜索引擎(Nakano等,2021;Shuster等,2022)、数学工具(Schick等,2023;Thoppilan等,2022)、代码解释器(Gao等,2023a;Chen等,2022)和视觉模型(Wu等,2023;Shen等,2023)。据我们所知,本文是第一篇探讨在推荐系统领域中LLM + 工具范式的论文。
InteRecAgent的综合框架如图1所示。基本上,LLMs充当大脑,而推荐模型则充当提供领域特定知识的工具。用户使用自然语言与LLMs互动。LLMs解释用户意图,并确定当前对话是否需要工具的帮助。例如,在随意闲聊中,LLMs将根据自身知识做出回应;而对于领域内的推荐,LLMs会启动一系列工具调用,随后通过观察工具执行结果生成回应。因此,推荐的质量在很大程度上取决于工具,使工具的组成成为整体性能的关键因素。为了确保用户与InteRecAgent之间的无缝沟通,涵盖随意对话和物品推荐,我们提出了一个涵盖以下方面的最小工具集:
信息查询。 在对话过程中,InteRecAgent不仅处理物品推荐任务,还经常回答用户的查询。例如,在游戏平台上,用户可能会问诸如“这款游戏的发布日期是什么时候,价格是多少?”之类的问题。为了适应这类查询,我们包括一个物品信息查询模块。该模块可以使用结构化查询语言(SQL)表达式从后端数据库检索详细的物品信息。
物品检索。 检索工具旨在从整个物品池中提出满足用户需求的物品候选列表。这些工具可以与推荐系统的检索阶段相比拟,后者将大规模服务的相关候选物品缩小到较小的列表。在InteRecAgent中,我们考虑用户可能在意图中表达的两种类型需求:硬条件和软条件。硬条件指的是对物品的明确需求,例如“我想要一些受欢迎的体育游戏”或“推荐我一些价格低于100美元的角色扮演游戏”。软条件涉及不能用离散属性明确表达的需求,需要使用语义匹配模型,例如“我想要一些类似于《使命召唤》和《堡垒之夜》的游戏”。为了应对这两种条件,我们使用SQL工具处理硬条件,从物品数据库中找到候选物品。对于软条件,我们使用物品对物品工具,根据潜在嵌入匹配相似物品。
物品排序。 排序工具通过利用用户资料对所选候选物品的用户偏好进行更复杂的预测。类似于传统推荐系统中的排序器,这些工具通常采用单塔架构。候选物品的选择可能来自物品检索工具的输出,也可能直接由用户提供,如“对我来说哪个更合适,物品A还是物品B?”排序工具确保推荐的物品不仅与用户的即时意图相关,而且与他们更广泛的偏好一致。
LLMs在辅以这些多样化工具时有潜力处理各种用户查询。例如,用户可能会问:“我以前玩过《堡垒之夜》和《使命召唤》。现在,我想玩一些发布日期晚于《堡垒之夜》的益智游戏。你有什么推荐吗?”在这种情况下,工具执行顺序将是“SQL查询工具→SQL检索工具→排序工具”。首先,查询《堡垒之夜》的发布日期,然后将发布日期和益智类型解释为SQL检索的硬条件。最后,将《堡垒之夜》和《使命召唤》视为用户偏好的排名模型。
通常,工具增强是通过ReAct(Yao等,2022)实现的,LLMs以交错方式生成推理跟踪、动作和观察。我们将这种执行风格称为“逐步”。我们最初的实现也采用了逐步方法。然而,我们很快发现由于各种挑战,存在一些限制。首先,检索工具可能返回大量物品,导致LLMs的观察提示过长。此外,在提示中包含大量实体名称可能会降低LLMs的性能。其次,尽管LLMs具有强大的智能,但可能会错误地使用工具完成任务,例如选择错误的工具调用或省略关键执行步骤。为了解决这些挑战,我们增强了典型基于LLMs的代理的三个关键组件,即记忆(第3.2节)、任务规划(第3.3和3.4节)和工具学习能力(第3.5节)。
候选总线 大量物品可能会在试图将工具生成的物品包含在LLMs的提示中时带来挑战,因为输入上下文长度有限。同时,后续工具的输入通常取决于先前工具的输出,需要工具之间有效的通信。因此,我们提出了候选总线,这是一个单独的记忆,用于存储当前的物品候选,无需将其附加到提示输入中。候选总线可供所有工具访问,包括两部分:用于存储候选物品的数据总线和用于记录每个工具输出的跟踪器。
图 1: InteRecAgent 框架。 (a) InteRecAgent 的整体流程; (b) 存储模块,包括候选记忆总线、长期和短期用户资料; © 工具模块,包括各种工具、先规划执行策略和 RecLlama 的微调; (d) 规划模块,涉及动态演示和反思策略; (e) RecLlama 微调数据的来源。
数据总线中的候选项默认包含每次对话轮开始时的所有项。在每次工具执行开始时,候选项从数据总线中读取,然后在每次工具执行结束时,数据总线会被筛选后的项刷新。这种机制允许候选项以流式方式依次通过各种工具。值得注意的是,用户可以明确在对话中指定一组候选项,例如“你认为这些电影中哪部最适合我:[电影列表]?”在这种情况下,LLM将调用一个特殊工具——内存初始化工具,将用户指定的项设置为初始候选项。
内存中的追踪器用于记录工具执行。每次工具调用记录表示为三元组(fk, ik, ok),其中fk表示第k个工具的名称,ik, ok是工具执行的输入和输出,例如剩余候选项数量、运行时错误等。追踪器的主要功能是帮助评论者在反思机制中做出判断,充当反思(·)中的ot,如第3.4节所述。
借助候选项总线组件,项可以以流式方式在各种工具之间传输,并根据条件持续进行筛选,呈现出推荐的漏斗状结构。追踪器的记录可以被视为进一步反思的短期记忆。我们在图3的上部描述了内存总线的示例。
用户配置文件 为了便于调用工具,我们在内存中明确维护一个用户配置文件。该配置文件被构建为一个字典,包含用户偏好的三个方面:“喜欢”、“不喜欢”和“期望”。 “喜欢”和“不喜欢”反映用户的好恶,而“期望”监控用户在当前对话中的即时请求,例如进行搜索,这不一定代表用户固有的偏好。每个方面可能包含包括项目名称或类别在内的内容。
用户配置文件是由LLM根据对话历史综合而成。为了解决对话历史变得过长的情况,例如在终身学习场景中,可能会存储来自所有天的对话以进行持续交互,我们设计了两个不同的用户配置文件:一个代表长期记忆,另一个代表短期记忆。如果当前对话超出了LLM的输入窗口大小,我们将对话进行分段,从前一段中检索用户配置文件,并将其与现有的长期记忆合并以更新内存状态。短期记忆始终源自当前提示中最近的对话。在工具调用时,综合用户配置文件由长期记忆和短期记忆的结合形成。
与逐步方法不同,我们采用两阶段方法。在第一阶段,我们提示LLM根据对话中提取的用户意图生成完整的工具执行计划。在第二阶段,LLM严格遵循计划,按顺序调用工具,同时允许它们通过候选项总线进行通信。具体来说,先规划执行包括以下两个阶段。
规划: LLM接受用户当前输入 x t x^t xt,对话上下文 C t − 1 C^{t-1} Ct−1,各种工具的描述 F \mathcal{F} F,以及用于上下文学习的演示 D x t \mathcal{D}_{x^t} Dxt。LLM根据用户意图和偏好制定工具使用计划,为每个工具提供输入,即 p t = { p 1 t , ⋯ , p n t } = \boldsymbol{p}^t=\left\{p_1^t, \cdots, p_n^t\right\}= pt={p1t,⋯,pnt}= plan ( x t , C t − 1 , F , D x t ) \left(x^t, C^{t-1}, \mathcal{F}, \mathcal{D}_{x^t}\right) (xt,Ct−1,F,Dxt),其中 p k t = ( f k , i k ) p_k^t=\left(f_k, i_k\right) pkt=(fk,ik)包括工具 f k f_k fk和其输入 i k i_k ik。
执行: 工具执行器根据计划 p t \boldsymbol{p}_t pt逐步调用工具,并从每个工具获取输出,即 o t = { o 1 t , ⋯ , o n t } = exec ( p t , F ) \boldsymbol{o}^t=\left\{o_1^t, \cdots, o_n^t\right\}=\operatorname{exec}\left(\boldsymbol{p}^t, \mathcal{F}\right) ot={o1t,⋯,ont}=exec(pt,F)。每个工具 f k f_k fk的输出反馈定义为 o k t o_k^t okt,其中仅来自最后一个工具输出的项信息 o n t o_n^t ont作为LLM生成响应 y t y^t yt的观察。其余信息由候选项内存总线跟踪以供进一步反思(见第3.4节)。
我们总结了我们的先规划执行策略与逐步策略在表1中的六个方面的差异。从根本上说,逐步策略交替执行推理和动作执行,而我们的先规划执行是一个两阶段策略,先进行一系列执行,然后进行一次规划。在逐步策略中,LLM负责在每一步进行思考和推理。这项任务涉及对个别观察进行推理,由于难以制定包含动态观察的演示,导致上下文学习具有挑战性。与此不同,在我们的先规划执行中,LLM的主要任务是制定工具使用计划,这可以很容易地通过*⟨查询,计划⟩*对进行引导。我们先规划执行的最主要优势在于减少API调用次数。在使用N步来解决任务时,我们的策略仅需要2次API调用,而ReAct中需要N+1次调用。这导致延迟减少,这在对话设置中尤为重要。
表1:ReAct和先规划执行之间的属性比较。ICL是上下文学习的缩写。
为了提高LLM的规划能力,在规划阶段将演示Dxt注入提示进行上下文学习。每个演示包括用户意图x和工具执行路径p。然而,演示数量受LLM能够处理的上下文长度严格限制,这使得演示的质量至关重要。为了解决这一挑战,我们引入了动态演示策略,仅将与当前用户意图最相似的少数演示合并到提示中。例如,如果当前用户输入是“我的游戏历史是《使命召唤》和《堡垒之夜》,请给我一些建议”,那么具有用户意图“我过去喜欢 ITEM1 , ITEM2 ,给我一些建议”的演示可能会使LLM为这些意图制定计划。输出优先方法包括三个阶段:首先,我们为LLM提供一个计划p,生成相应的用户意图x。然后,我们使用LLM为意图制定计划p**˜,最后,我们验证生成的计划p**˜是否与给定的计划p一致。不一致表示生成的意图质量不够高,我们仅保留那些一致的演示。输出优先方法使我们能够获得与所有可用计划对应的演示,为演示提供多样性。输入优先和输出优先生成的示例如图2所示。
尽管LLM具有较强的智能,但在推理和工具利用方面仍偶尔出现错误(Madaan等,2023年;Shinn等,2023年)。例如,它可能通过选择不存在的工具违反提示中的指令,省略或过度使用某些工具,或未能以正确格式准备工具输入,导致工具执行中的错误。
为了减少此类错误的发生,一些研究采用了自我反思(Shinn等,2023年)机制,使LLM在决策过程中具有一定的纠错能力。在InteRecAgent中,我们利用了一个演员-评论家反思机制来增强代理的稳健性和纠错能力。在接下来的部分,我们将形式化这种自我反思机制。
假设在第t轮中,对话上下文为Ct−1,当前用户输入为xt。演员是一个配备工具并受到动态演示增强的先规划执行机制启发的LLM。对于用户输入,演员会制定一个计划pt*,获取工具的输出ot并生成响应yt。评论家评估演员的行为决策。反思机制的执行步骤如下:
步骤1:评论家在当前对话上下文下评估演员的输出pt*、ot和yt,并获得判断γ = reflect(xt, Ct−1*,* pt, ot, yt)。
步骤2:当判断γ为正时,表示演员的执行和响应是合理的,响应yt直接提供给用户,结束反思阶段。当判断γ为负时,表示演员的执行或响应是不合理的。反馈γ被用作指示演员重新规划的信号,作为计划(·)的输入。
在演员-评论家反思机制中,演员负责复杂的计划制定任务,而评论家负责相对简单的评估任务。这两个代理在两种不同类型的任务上合作,并通过上下文交互相互加强。这赋予了InteRecAgent对错误的增强鲁棒性和改进纠错能力,最终实现了更精确的工具利用和推荐。反思的示例如图3的下部所示。
图2:游戏领域生成示例。
图3:内存总线示例(上)和反思(下)。
默认的LLM作为大脑是GPT-4,选择它是因为相比其他LLM,它在遵循指令方面具有出色的能力。我们对将GPT-4在遵循指令方面的熟练性提炼到小型语言模型(SLMs)如7B参数的Llama感到好奇,旨在降低与大规模在线服务相关的成本,并将我们的InteRecAgent框架民主化到中小型企业客户。为实现这一目标,我们利用GPT-4创建了一个专门的数据集,包括[指令,工具执行计划]对。 “指令”元素包括系统提示和用户代理对话历史,作为从LLM中引出工具执行计划的输入;“工具执行计划”是由GPT-4制作的输出,用作对Llama-7B进行微调的目标。我们将这个模型的微调版本称为RecLlama。
为确保RecLlama数据集的高质量,我们采用两种方法生成数据样本。第一种方法从用户模拟器和由GPT4驱动的推荐代理之间的对话中收集样本。请注意,在一次对话中,用户代理的每次交流产生一个数据样本,捕捉了GPT-4对话演变上下文的完整响应范围。然而,由于我们能够处理的训练样本数量有限,这种方法可能无法涵盖足够多样化的工具执行场景。因此,我们补充了第二种方法,其中我们最初设计了30个不同的对话,旨在涵盖各种工具执行组合。然后,对于每次迭代,我们随机选择其中三个对话,并提示GPT-4生成对话历史和适当的工具执行计划。这种方法显著增强了RecLlama数据集的多样性。
为评估RecLlama在领域泛化方面的能力,我们将训练数据的生成限制在Steam和MovieLens数据集上,排除Beauty数据集(数据集的详细信息将在第4.1节详细介绍)。最终的RecLlama数据集包括16,183个样本,其中13,525个来自第一种方法,2,658个来自第二种方法。
评估策略。 评估会话型推荐系统存在挑战,因为寻求者通过自然、开放式的对话传达他们的偏好,而推荐代理则通过对话提供建议。为了量化评估InteRecAgent,我们设计了以下两种评估策略:
默认配置为“session-wise”的用户模拟器。这意味着代理将仅访问当前对话会话中的内容,并且一旦用户成功找到所需内容或未能找到,其记忆将被清除。在“session-wise”设置中,对话轮次通常受限,因此InteRecAgent中的长期记忆模块不会被激活。为了评估处理“终身记忆”(参见第3.2节)时的性能,我们为模拟扩展对话制定了两种策略。第一种策略称为LONG-CHAT,要求用户和推荐代理之间进行扩展对话。通过在用户模拟器中交替引入三种类型的聊天意图来实现:分享历史、详细目标项目和参与随意对话。模拟器在每五轮交替提供信息(历史或与目标相关),并进行随意聊天。在此过程中,如果代理提到目标项目,则对话可以终止并标记为成功。第二种策略称为LONGCONTEXT,最初利用用户历史合成多天对话。随后,基于这些扩展对话,用户模拟器以类似于“session-wise”设置的方式与代理互动。对于我们的方法,长对话历史加载到长期记忆模块中。然而,对于基准方法,如果扩展对话历史超过LLM的最大窗口大小,将被截断。
图4:用户模拟器提示。
数据集。 为了跨不同领域比较方法,我们使用三个数据集进行实验:Steam4、MovieLens5和Amazon Beauty6。每个数据集包括用户-项目交互历史数据和项目元数据。我们采用留一法将交互数据分为训练、验证和测试集。所有工具的训练均在训练和验证集上进行。由于预算限制,我们从测试集中随机抽取1000个实例用于用户模拟器,500个实例用于一轮基准测试。对于终身模拟器,由于长对话成本高昂,我们在评估中使用100个实例。
基线。 作为对话推荐代理,我们将我们的方法与以下基线进行比较:
表2:与用户模拟器策略(会话级)的性能比较。H@5是Hit@5的缩写。
表3:与用户模拟器策略(LONG-CHAT)的性能比较。“+LT Mem.”表示在我们的InteRecAgent中激活长期记忆模块。Hit@50越高,AT@50越低,性能越好。
实现细节。 我们将GPT-4作为InteRecAgent的大脑,用于用户意图解析和工具规划。关于工具,我们使用SQL作为信息查询工具,SQL和ItemCF(Linden, Smith, and York 2003)分别作为硬条件和软条件项目检索工具,以及不带位置嵌入的SASRec(Kang and McAuley 2018)作为排名工具。SQL是在集成了pandasql的SQLite中实现的,检索和排名模型是用PyTorch实现的。InteRecAgent的框架是用Python和LangChain实现的。对于动态演示选择,我们使用sentence-transformers将演示编码为向量,并使用ChromaDB存储它们,这在运行时便于进行ANN搜索。关于超参数设置,我们将动态演示数量设置为3,硬条件检索的最大候选数设置为1000,软条件检索的阈值削减到前5%。
会话级设置。 表2呈现了使用用户模拟器策略进行的评估结果。我们的方法在三个数据集中的命中率和平均轮数方面均超过其他LLMs。这些结果表明,与一般的LLMs相比,我们的InteRecAgent能够在对话中提供更准确和高效的推荐。总体而言,参数规模较大的LLMs表现更好。参数规模超过100B的GPT-3.5和GPT-4明显优于同一系列的13B模型LlaMA2和Vicuna-v1.5,几乎总是优于7B模型,除了LlaMA2-7B和LlaMA213B在Beauty数据集上表现极差。
另一个有趣的观察是在相对私密领域(如亚马逊美容)中改进更为显著。与游戏和电影领域相比,美容产品领域更私密,具有更多常规世界知识未涵盖或全新的项目。表2显示,GPT-3.5和GPT-4在游戏和电影领域表现竞争力十足。然而,在亚马逊美容领域,大多数LLMs由于专业、长、复杂的项目名称而遭遇严重的幻觉问题,导致性能显著下降。这一现象突显了私密领域中推荐代理的必要性。利用文本嵌入检索工具,Chat-Rec在性能上优于GPT-3.5和GPT-4,但仍然不及InteRecAgent的表现。Chat-Rec可以看作是InteRecAgent的简化版本,只在代理的框架中整合了一个工具。因此,Chat-Rec缺乏处理多方面查询的能力,例如获取关于项目的详细信息或根据复杂标准搜索项目。
表4:与终身用户模拟器策略(LONG-CONTEXT)的性能比较。“+LT Mem.”表示在我们的InteRecAgent中激活长期记忆模块。
终身对话设置。 表3和表4展示了两种终身记忆配置(LONG-CHAT和LONG-CONTEXT)的性能。对于LONG-CHAT,推荐代理与用户模拟器最多进行50轮对话。在两种配置中,没有长期记忆模块的InteRecAgent(在表中标记为“Ours”)在所有数据集上始终优于GPT-4,这验证了我们增强工具的推荐代理框架的稳健性。在激活长期记忆模块后,性能在LONG-CHAT和LONG-CONTEXT配置下进一步提升。这证实了在用户和AI代理之间的终身互动中捕捉用户偏好的记忆的必要性和有效性。
表5:一轮推荐的性能比较(%)。R@5和N@20分别是Recall@5和NDCG@20的缩写。
表6:使用不同LLMs作为大脑的InteRecAgent的性能,通过会话级用户模拟器评估。(×10−1)
在这部分中,我们评估检索和排名推荐任务。对于检索任务,我们将推荐预算k设置为5,Recall@5是评估指标。对于排名任务,我们随机抽样19个负面项目,再加上一个正面项目,它们组成用户主动提供的候选列表。该任务的评估指标是NDCG@20。对于Chat-Rec,我们省略了排名任务的结果,因为Chat-Rec在去除基于嵌入的候选人检索阶段后会退化为GPTs。
结果如表5所示。根据结果,我们可以得出与第4.2节类似的结论。首先,我们的方法优于所有基线,表明我们增强工具的框架的有效性。其次,几乎所有LLMs在亚马逊美容数据集上遭遇严重挫折,但我们的方法仍然实现了高准确性,进一步证明了我们在私密领域的方法的优越性。值得注意的是,一些LLMs在排名任务中表现不佳,尤其是在亚马逊数据集中,甚至不如随机和流行度方法。这主要归因于LLMs不遵循排名指令,这是由于LLMs的不确定性产生了超出范围的项目,尤其是对于较小的LLMs。
在之前的实验中,我们将GPT-4作为InteRecAgent框架的LLM。本节对比分析了在InteRecAgent中使用不同LLMs时的性能。请注意,RecLlama是我们在第3.5节介绍的微调的7B模型。ToolLlaMA2-7B(Qin等,2023b)是另一个经过微调的模型,旨在响应人类指令与外部API进行交互。由于ToolLlaMA和RecLlama使用了不同的数据格式,我们通过评估ToolLlaMA2-7B使用我们原始指令和重新对齐到其格式的指令(分别表示为T-LlaMA(O)和T-LlaMA(A))来确保公平比较。结果列在表6中。
令人惊讶的是,LlaMA-2-7B和ToolLlaMA-2-7B在生成结构化计划方面表现不佳。尽管ToolLlaMA在工具利用样本上进行了训练,但它似乎主要擅长API调用,在识别用户意图和制定准确的推荐计划方面表现不佳,导致性能显著下降。另一个有趣的发现是,尽管GPT-3.5在广泛的一般能力方面优于Text-davinci-003,但在我们的特定任务中表现不佳。RecLlama在为InteRecAgent制定计划方面表现出色,甚至超过了Textdavinci-003的能力。值得注意的是,尽管RecLlama是使用电影和游戏样本训练的,但它在亚马逊美容产品这一新领域展现出卓越的性能,展示了其令人印象深刻的泛化能力。由于RecLlama是GPT-4的精简版本,预期其性能略低于GPT-4,并在预期范围内。
图5:用户模拟器评估下的消融研究。P、D、R分别表示计划优先、动态演示和反思机制。请注意,动态演示也在w/o P中使用。
本文介绍了几个关键机制,以增强LLM更好地利用工具的能力。为了调查它们的重要性,我们进行了消融研究,结果见图5。我们考虑分别移除计划优先机制(P)、动态演示机制(D)和反思机制(R)。实验是在用户模拟器设置下进行的,因为它提供了更全面的评估,涵盖了准确性(命中率)和效率(平均轮数)指标。
结果表明,去除任何一种机制都会导致性能下降。在这些机制中,去除反思机制对性能影响最为显著,因为它可以纠正工具输入格式错误和工具误用。消除先规划机制和动态演示机制都会导致性能略微下降,但结果仍然超过大多数基准线。然而,去除先规划机制会导致 API 调用次数大幅增加,例如在 Steam 数据集中,平均每轮从 2.78 增加到 4.51 次,导致延迟增加约 10-20 秒。
图 6:(a) 闲聊、(b) Steam 游戏领域和 © 亚马逊美妆电子商务产品领域的案例研究。
为了有效展示 InteRecAgent 的性能,我们在闲聊以及游戏和美妆产品两个领域展示了案例研究,如图 6 所示。我们比较了给定用户输入时 GPT-4 和 InteRecAgent 的输出。
在闲聊场景中 (图 6a),InteRecAgent 保留了 GPT-4 的功能,同时还具有查询领域特定数据(如产品数量)的能力,提供更准确的信息。
在游戏领域 (图 6b),用户输入条件复杂,涵盖用户历史和各种需求。GPT-4 的推荐大多符合条件,只是将 3D 游戏 Northgard 误认为是 2D。InteRecAgent 的响应符合用户条件,并显著地包括了用户历史序列中的下一个游戏 RimWorld,这归功于其优越的排名表现。
在电子商务领域 (图 6c),GPT-4 的幻觉现象加剧,导致推荐了亚马逊平台上不存在的产品。相比之下,利用领域内工具的 InteRecAgent 更准确地响应用户需求。
本文介绍了 InteRecAgent,这是一个紧凑的框架,通过利用 LLMs 的力量,将传统的推荐模型转化为交互式系统。我们确定了一系列基本工具,分为信息查询工具、检索工具和排名工具,这些工具在任务执行框架内动态相互连接,以完成复杂的用户查询。为了增强 InteRecAgent 在推荐场景中的表现,我们全面增强了基于 LLM 的代理的关键组件,涵盖了记忆机制、任务规划和工具学习能力。实验结果表明,与通用的 LLM 相比,InteRecAgent 的性能更优秀。通过结合推荐模型和 LLM 的优势,InteRecAgent 为先进且用户友好的对话式推荐系统的发展铺平了道路,能够在各个领域提供个性化和交互式推荐。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。