查看原文
其他

刨根问底——大模型时代对话式推荐系统的新型评测方式

汤昕宇 RUC AI Box 2023-08-04

© 作者|汤昕宇

机构|中国人民大学

研究方向|自然语言处理

引言:本文要介绍的是我们小组挂在Arxiv上的一篇文章,在大语言模型时代重新思考对话式推荐的评测方式。在本文中,我们对利用ChatGPT进行对话式推荐进行了调研,揭示了现有评测方式的不足之处:该评测方式过于强调与人工标注数据的匹配,而忽视了对话式推荐系统(CRS)本身的交互特性。因此,我们提出了一种基于大语言模型(LLMs)的交互式评测方法——iEvaLM,利用LLM为基础的用户模拟器,模拟各种系统与用户的交互场景。通过在两个CRS数据集上的实验,我们证明了新型对话式推荐系统的评测方式能够很好地激发出LLMs的能力。文章也同步发布在 AI Box 知乎专栏(知乎搜索 AI Box 专栏),欢迎大家在知乎专栏的文章下方评论留言,交流探讨!

论文链接:https://arxiv.org/abs/2305.13112

开源项目:https://github.com/RUCAIBox/iEvaLM-CRS

CRSLab链接:https://github.com/RUCAIBox/CRSLab

一、引言

对话式推荐系统(CRSs)旨在通过多轮的自然语言对话提供高质量的推荐服务。通常,在CRSs中,推荐模块根据对话上下文中的用户偏好提供推荐,对话模块根据对话上下文和物品推荐生成回复。由于ChatGPT在预训练过程中获得了丰富的知识,并且针对对话进行了优化,因此它可能成为一种出色的对话式推荐模型。

为了研究大语言模型(LLMs)在CRSs中的能力,我们在现有对话式推荐的数据集上对ChatGPT的性能进行了研究。我们遵循现有的评测标准,并将ChatGPT与最先进的CRS方法进行了比较。令人惊讶的是,我们的发现相当反直觉:ChatGPT在这种评测标准中表现得不尽如人意。

我们检查了推荐失败的样例,发现现有的这种评测标准是推荐失败的主要原因。这种评测标准依赖于人工注释的推荐和对话之间的匹配,并过于强调基于对话上下文的物品标签的匹配程度。由于大多数CRS数据集是以闲聊方式创建的,这些对话通常对用户偏好模糊不清,即使对于人工标注者来说,也很难精确匹配物品。此外,当前的评测标准是基于固定对话的,没有考虑到对话推荐的交互特性。

考虑到这个问题,我们的目标是改进评测方法,使其更加关注CRSs的交互能力。因此,本文提出了一种基于LLMs的交互式评测方法——iEvaLM,通过精心设计的指令,LLMs可以与用户进行交互对话。因此,我们设计了基于LLMs的用户模拟器,可以灵活适应不同的CRSs。我们的评测方法使CRSs摆脱了僵化的、由人类编写的对话文本的限制,使它们能够以更加自然的方式与用户进行交互,接近真实用户的体验。

二、对话式推荐系统与ChatGPT结合的方法、实验与分析

方法

由于ChatGPT针对对话进行了优化,它具有显著的潜力用于对话式推荐。如图1所示,我们提出了两种激发这种能力的方法:


图1:将ChatGPT应用于CRS的方法
  • 零样本提示

我们首先通过零样本提示调研ChatGPT的对话式推荐能力。这个提示由两部分组成:任务介绍(描述任务)和格式说明(指定输出格式)。

  • 与推荐模型结合

尽管ChatGPT可以直接生成推荐的物品,但它并没有针对推荐进行优化,倾向于生成不在评测数据集中的物品,这使得直接评测其预测结果变得困难。为此,我们采用外部推荐模型限制输出空间。具体来说,我们先让LLMs基于对话上下文生成回复,然后将对话历史和LLMs生成的回复连接起来,作为这些模型的输入,直接预测目标项或计算与候选项的相似度以进行物品推荐。

评测结果

表1:现有CRS和ChatGPT的性能

我们首先按照现有的研究方法,将ChatGPT与多个CRS基线模型进行了推荐准确性的对比,结果如表1所示。令人惊讶的是,ChatGPT的表现并不如我们所期望的那样好。在使用零样本提示的情况下,ChatGPT在这些基线方法中只能达到平均水平,并且远远落后于表现最好的方法。当整合外部推荐模型时,它的性能可以得到有效提升。特别是在OpenDialKG数据集上,性能差距显著缩小。这表明ChatGPT生成的回复可以帮助外部模型理解用户的偏好。然而,在ReDial数据集上仍然存在明显的差距。

表2:ChatGPT生成的解释与对话上下文的相关程度

为了更好地了解ChatGPT进行推荐的过程,我们要求其生成解释来检查其内部工作原理。我们雇用了两个标注者对100个随机选择的失败案例中的解释与对话上下文之间的相关程度进行评判(无关、部分相关或高度相关),结果如表2所示。在大多数情况下,ChatGPT可以理解用户的偏好并给出合理的解释,这证明了它能够成为一个好的CRS。然而,这与它的低准确性相矛盾,激发了我们对失败原因进行探究。

实验分析

  • 缺乏显示的用户偏好

这一类样例通常对话轮次很短。在这种情况下,CRS可能无法收集足够的证据来准确地推断用户意图。此外,这些对话主要以闲聊形式收集,很难明确反映真实的用户偏好。如下面例子所示,用户并没有提供关于自己喜欢物品的明确信息。

对话历史: 🧑‍💻: Hello, I am looking for movies for a night with friends that I have coming up. Any suggestions?

标签: Black Panther (2018)

ChatGPT的预测: The Hangover (2009), Bridesmaids (2011), Superbad (2007), Mean Girls (2004),……

  • 缺乏主动引导

对话式推荐系统的评测中的一个主要的局限是必须严格遵循当前的对话流程。然而,在实际场景中,CRS在需要时会提出主动引导,这在现有的评测方法中并没有得到支持。如下面例子所示,数据集中的回复直接给出了推荐物品,而ChatGPT则询问更详细的用户偏好信息。由于有很多符合当前用户需求的物品,所以在推荐之前进行询问是合理的。然而,因为在这个过程中没有更多的用户回复信息可用,这种情况在现有的评测方法中无法很好地处理。

对话历史:🤖️: What genre of movie do you like? 👩‍💻: I like comedies.

数据集中的回复: Have you seen Talladega Nights:The Ballad of Ricky Bobby (2006) or The Hangover (2009)?

ChatGPT的回复: That’s great! Comedies are a fun and lighthearted genre that can make you laugh and feel good. Do you have a favorite comedy movie or actor?

三、对话式推荐系统的新型评测方法iEvaLM

考虑到现有评测方法存在的问题,我们提出了一种新的评测方法——iEvaLM(如图2所示),它采用了基于LLM的用户模拟的交互式评测。我们的评测方法与现有的CRS数据集无缝集成,系统与用户的交互都扩展到每一个人工标注的对话中。我们方法的关键思想是基于LLMs出色的“角色扮演“能力模拟真实用户。我们将标签物品视为用户偏好,并通过指令设置的方式让LLM模拟用户的角色。通过交互,我们不仅可以将预测的物品与标签进行比较来评测推荐的准确性,还能通过基于LLM的评分器来评测生成解释的可解释性。

为了进行更加全面地评测,我们考虑两种类型的交互:基于属性的问答和自由形式的闲聊。

图2:iEvaLM评测方式
  • 基于属性的问答

系统的行为受限于选择k个预定义属性之一来向用户提问或进行推荐。在每一轮中,我们首先让系统选择这k+1个选项中的一个,然后用户以基于模板的回复进行回答:用目标物品的属性回答问题或对系统的推荐提供反馈。一个交互轮次的例子可能是这样的:

🤖:Which genre do you like?

👨‍💻:Sci-fi and action.

  • 自由形式的闲聊

这种类型对交互没有任何限制,系统和用户都可以自由主动发起。一个交互轮次的例子可能是这样的:

🤖:Do you have any specific genre in mind?

👩‍💻:I'm looking for something action-packed with a lot of special effects.

为了支持与系统的交互,我们使用LLMs进行用户模拟。模拟的用户可以采用以下三种行为之一:

  • 谈论偏好。当系统对用户的偏好进行阐明或询问时,模拟的用户会回答关于目标物品的信息。

  • 提供反馈。当系统推荐一个物品列表时,模拟的用户会检查每个物品,如果找到目标物品则提供积极反馈,否则提供消极反馈。

  • 完成对话。如果系统正好推荐了一个目标物品,或者交互达到一定轮次,模拟的用户会结束对话。


具体来说,我们利用text-davinci-003模型以及手工构造的指令来构建逼真的用户形象。在这些指令中,我们首先将真实物品填入模板,然后使用一组手工构造的规则定义他们的行为。

我们考虑主观和客观指标来衡量推荐性能和用户体验。对于客观指标,我们使用召回率来评测交互过程中的推荐的准确率。对于主观指标,我们使用说服力来评测交互过程中最后一次推荐的解释质量,目的是评测用户是否能够被说服接受推荐。为了减少对人工评测的需求,我们提出了一种基于LLM的评分器,可以通过提示自动给出评分。

四、实验

在这部分中,我们使用不同的评测方法比较现有的CRS和ChatGPT的性能。

表3:在不同的评测方法下,传统CRS模型和ChatGPT的性能表现

表4:解释的说服力

如表3、表4所示,总体而言,与传统方法相比,大多数模型在准确性和可解释性方面都有所提高。在现有的CRS中,性能排序结果为UniCRS > BARCOR > KBRD。UniCRS和BARCOR都利用预训练语言模型来增强对话能力。此外,UniCRS还将知识图谱融入提示中,丰富实体语义以更好地理解用户偏好。这表明现有的CRS具有与用户进行交互来提供更好推荐和用户体验的能力,这是传统评测中被忽视的重要部分。

对于ChatGPT,在准确性和说服力方面都有显著的性能提升,甚至在ReDial和OpenDialKG这两个数据集上,Recall@10的值超过了大多数CRS的Recall@25或Recall@50的值。这表明与现有的CRS相比,ChatGPT具有更强的交互能力,并能够在获得足够用户偏好的信息时提供高质量和有说服力的推荐。

比较这两种交互设置,ChatGPT作为通用的CRS展现出更大的潜力。现有的CRS在基于属性的问答类型上表现较差,在OpenDialKG数据集上远远低于在传统设置上的表现。可能的原因是它们在自然语言对话数据集上训练的,与基于属性的问答设置不一致。相比之下,ChatGPT在两种设置上表现更好,因为它是专门在对话数据上训练的。这些结果表明了传统评测方法具有局限性,因为他们只关注单一对话场景。而我们的评测方法能够对CRS进行更全面的评测,通过不同交互类型的评测反应模型的优缺点。

五、总结

本文系统地考察了ChatGPT在现有基准数据集上进行对话式推荐的能力,并提出了一种新的评测方法——iEvaLM。首先,我们说明了在现有评测方法上,ChatGPT的性能不能令人满意。通过对失败案例的分析,我们发现问题的根本原因是现有的评测方式过于强调对话上下文与标签物品的匹配。为了解决这个问题,我们提出了一种基于LLM的用户模拟器的交互式评测方法。通过对这种新评测方法的实验,我们得出以下结论:

  1. ChatGPT在准确性和可解释性方面比目前最好的CRS表现得更好。

  2. 现有的CRSs也从交互中得到了提升,这是传统评测方法中所忽视的重要方面。

  3. ChatGPT在不同的设置和数据集下展现出了作为通用CRS的巨大潜力。


总的来说,我们的工作对于理解和评测像ChatGPT这样的LLMs在对话式推荐中的应用做出了贡献,在LLMs时代为这一领域的进一步研究铺平了道路。未来,我们将把iEvaLM这一新的评测方式集成到CRSLab工具包中,请大家持续关注!

多推荐


LLM in Medical Domain: 一文速览大语言模型在医学领域的应用




一文纵览多样化推荐的现状与发展


大模型如何使用工具?一文速览最新进展

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

↓↓↓

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

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