ChatGPT:推荐系统的颠覆者?阿里团队的研究带你揭开神秘面纱

欢迎来到魔法宝库,传递AIGC的前沿知识,做有格调的分享❗

喜欢的话记得点个关注吧!


   当ChatGPT在自然语言处理领域大显神威之后,你有没有想过,暂时岁月静好的推荐系统是否也在紧张地等待,来自那些强大AI模型的压力会不会让它们瞬间黯然失色?这是一个值得我们深思的问题,让我们跟随这篇论文一起来揭开这个谜团吧。

  • 论文题目:Is ChatGPT a Good Recommender? A Preliminary Study

  • 论文链接:https://arxiv.org/pdf/2304.10149.pdf

摘要

  研究者们精心设计了一系列实验,全面评估了ChatGPT在五个不同推荐场景中的表现,包括评分预测、序列推荐、直接推荐、解释生成和评论总结。结果显示,ChatGPT在某些任务中已经展现出不错的效果,而在某些任务中则低于基线水平,但人类评估显示,ChatGPT不仅能够真正理解提供的信息,还能生成更清晰、更有说服力的结果。这项研究的成果揭示了CatGPT在推荐系统领域的巨大潜力,为未来的研究提供了新的方向和灵感。

背景介绍

  在推荐系统领域,传统的方法往往被束缚在任务特定的框架内,缺乏灵活性和泛化能力。然而,ChatGPT这样的大规模语言模型,其在推荐任务中的潜力却尚未被充分挖掘。
  受P5项目启发,作者将ChatGPT视为一个独立的推荐系统,并全面评估了其在各类推荐任务中的性能。虽然ChatGPT在准确性上的表现并不理想,但在解释生成和评论总结等任务中,其人工评估的性能却超越了现有方法。这引发了我们对评价方法是否能准确反映ChatGPT真实推荐能力的思考。
  值得一提的是,ChatGPT并未接受任何特定的推荐数据训练,这意味着通过引入更多相关的训练数据和技术,其性能有巨大的提升空间

核心工作介绍

  使用ChatGPT完成推荐任务的工作流程如下图所示,主要包括三个步骤:

  1. 根据推荐任务的特定特性构建不同的prompts。

  2. 这些prompts被用作ChatGPT的输入,ChatGPT根据prompts中指定的要求生成推荐结果。

  3.  由ChatGPT输出的结果被Refinement Module检查和修正,符合要求的结果被返回给用户作为最终的推荐结果。

图片

特定任务的prompt生成

  每个prompt由三部分组成:任务描述、行为注入和格式指示任务描述将推荐任务转化为自然语言处理任务,行为注入包含用户与item的交互信息,帮助ChatGPT更有效地捕获用户的偏好和需求,格式指示则约束输出格式,使推荐结果更易于理解和评估。
  针对五种不同的推荐任务,论文给出了对应的prompt示例,黑色文本代表任务描述,红色文本表示格式要求,蓝色文本代表用户历史行为信息,灰色文本则表示CatGPT的输入。

  • 评分预估: 预估用户对特定item的评分。

    图片

  • 序列推荐: 基于用户的历史行为序列来预测用户可能感兴趣的下一个item。

    图片

  • 直接推荐: 基于用户提供的明确反馈,直接向用户推荐他们可能感兴趣的项目。

    图片

  •  解释生成: 是一种为用户或系统设计者提供解释的过程,阐明推荐理由,以提升推荐系统的透明度、可信度,并帮助优化推荐算法。

    图片

  •  评论总结: 通过分析用户评论,自动生成反映核心观点的简洁摘要,以帮助用户或系统快速理解原始评论的主要信息。

    图片

Output Refinement

  ChatGPT在生成响应时融入了随机性,这可能导致对同一输入产生不同的响应,给推荐项目的评估带来困难。为解决这个问题,作者设计了一个Refinement Module来检查和修正ChatGPT的输出格式。如果输出未通过格式检查,将根据预定义的规则进行修改,或者重新进行推荐,直到满足格式要求。
  对于序列推荐和直接推荐,ChatGPT输出的结果可能不在item候选池中。针对此问题,作者引入了一种基于相似性的文本匹配方法,将ChatGPT的预测映射回原始数据集,尽管这种方法可能无法完美反映ChatGPT的能力,但它仍然可以间接展示其在序列推荐和直接推荐中的潜力。

实验评估

  为了评估ChatGPT,作者在 Amazon数据集的Beauty类目上进行了实验,并与其他方法进行了比较,旨在回答以下研究问题:

  • RQ1: 与最先进的基线模型相比,ChatGPT的表现如何?

  • RQ2: 少量提示(few-shot prompting)对性能的影响是什么?

  • RQ3: 如何设计人类评估来评估解释生成和评论总结任务的性能?

评估指标

  • 评分预测: RMSE (Root Mean Square Error)、MAE (Mean Absolute Error)

  • 序列推荐和直接推荐: HR@k (top-k Hit Ratio)、NDCG@k (top-k Normalized Discounted Cumulative Gain)

  • 解释生成和评论总结: BLEU-n (n-gram Bilingual Evaluation Understudy)、ROUGE-n(n-gram Recall-Roiented Understudy for Gising Evaluation)、人工评估

实验细节

  作者使用gpt-3.5-turbo,通过收集用户已经交互过的n个item和k条历史记录(受4096 tokens的限制,n=10,k=3),让其隐式地学习用户的兴趣。item的标题被用作元信息输入到ChatGPT中
  在序列推荐中,我们按时间顺序输入用户历史交互过的item,让ChatGPT预测用户可能会交互的下一个item的标题。然后使用BERT计算预测标题的向量,并计算预测标题向量和候选池中所有item的标题向量之间的相似性,选择相似性最高item作为预测的item
  对于解释生成和评论总结的人类评估,我们抽取不同方法的产出结果,每个结果将由3个人类评估者进行评分和排名。在获得人工评估的结果后,我们将计算不同方法的平均top1比率和平均排名位置,以衡量对比各种方法的生成性能。

图片

  如Table 1所示,使用ChatGPT进行评分预估是可行的,在某些情况下,其性能甚至优于传统的评分预估方法。

图片

  如Table 2所示,ChatGPT在序列推荐任务中的性能不佳。究其原因,首先是其过于关注语义相似性而忽视了item间的转换关系;另外,由于prompt长度限制,无法将所有item候选列表输入给ChatGPT,导致预测结果可能并不存在。因此,仅使用ChatGPT进行序列推荐并不理想,需要进一步改进和研究。

图片

  如Table 3所示,ChatGPT在直接推荐任务上的表现不佳。主要表现在两个方面:一是无法准确捕捉用户兴趣,尽管尝试通过提供用户历史偏好来提升性能,但其表现仍无法超越基线。二是对候选列表中item的位置存在偏见,候选列表的构建方式,如是否打乱,对推荐性能有显著影响。这些因素使得使用ChatGPT进行直接推荐具有一定的挑战性。

图片

图片

  如Table 4和Table 5所示,在解释生成和评论总结任务的客观指标评估中,ChatGPT性能表现不佳。
  为了更全面地评估不同模型在生成内容方面的性能,作者引入了人类评估作为衡量标准。

图片

图片

  如Table 6和Figure 4所示,在解释生成任务中,尽管存在主观性,但评分者普遍认为ChatGPT生成的解释更清晰、更合理,甚至超越了基准真实值

图片

图片

  如Table 7和Figure 5所示,在评论总结任务中,ChatGPT能真正深入理解评论内容,并提供准确的摘要,而非仅仅提取评论中的关键词。所有评分者一致认为,ChatGPT在这方面的表现甚至优于基准真实值
  这些结果充分展示了ChatGPT在理解和生成语言方面的强大能力。


如果对AIGC感兴趣,请关注我们的微信公众号“我有魔法WYMF”,我们会定期分享AIGC最新资讯和经典论文精读分享,让我们一起交流学习!!

  • 17
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java EE开发的颠覆者在线看是指在Java Enterprise Edition(Java EE)开发领域中一种新兴的技术或工具,能够颠覆传统的开发方式,使开发人员能够更加方便、高效地进行应用程序的开发和部署。 传统的Java EE开发方式通常需要在本地搭建开发环境、安装并配置各种开发工具和中间件,并且需要手动编译、打包和部署应用程序。这种方式费时费力,不利于快速迭代和开发效率的提升。 而Java EE开发的颠覆者在线看则提供了一种更加现代化和便捷的开发方式。开发者可以通过在线平台进行开发,无需在本地进行环境搭建和工具配置。在线平台提供了各种功能模块和工具,如代码编辑器、调试器、数据库管理器等,开发者可以直接在浏览器中进行开发和调试。 Java EE开发的颠覆者在线看还提供了自动化部署和持续集成功能。开发者可以将应用程序直接部署到云端服务器,并通过集成的CI/CD工具进行自动化构建和测试。这大大加快了开发和发布过程,提高了开发效率。 此外,Java EE开发的颠覆者在线看还支持容器化部署。开发者可以将应用程序通过容器技术(如Docker)打包,并部署到云平台上的容器集群中。这种方式可以提供更好的水平扩展性和高可用性,同时也简化了应用程序的部署和管理。 总的来说,Java EE开发的颠覆者在线看通过提供现代化的开发工具、自动化部署和持续集成、容器化部署等功能,使Java EE开发更加高效、便捷和可靠。这种技术将成为未来Java EE开发的趋势,为开发者来更好的开发体验和效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值