作者:李硕凯 单位:中科院计算所 研究方向:对话推荐
本文介绍被CCF A类会议SIGIR2022接收的以用户为中心的对话推荐系统的论文。该论文从推荐系统的角度重新审视了现有的对话推荐工作,发现现有方法关注于当前会话的自然语言理解,而忽略了推荐任务中最核心的目标:用户。现有方法本质上当前会话的建模,而忽略了用户建模。而本文发现用户历史会话和相似用户信息也可以很好地辅助用户兴趣建模,特别是在用户当前会话信息较少(冷启动)的场景下效果更佳。
本文所提出的UCCR模型创新性地考虑了融合用户历史会话和相似用户信息,在CRS中更全面地理解用户。鉴于对话推荐中当前会话信息至关重要,UCCR在不损害用户当前兴趣的前提下,从用户历史会话和相似用户信息中提取有益于用户当前兴趣的信息,更准确地建模用户兴趣。具体地,在历史会话建模部分,UCCR同时考虑了用户的实体偏好、语义偏好和消费偏好,从这三种偏好中提取有益于用户当前兴趣建模的信息;之后UCCR基于对比学习,学习不同用户当前/历史兴趣偏好之间的内在联系;在查找相似用户部分,UCCR考虑了用户兴趣的动态变化过程,基于用户历史兴趣查找相似用户;最终将多维度的用户信息融合在一起。
论文的信息为:
题目:User-Centric Conversational Recommendation with Multi-Aspect User Modeling 作者:李硕凯*、谢若冰*、朱勇椿、敖翔、庄福振、何清 会议:ACM SIGIR 2022 预印版:https://arxiv.org/pdf/2204.09263 代码:https://github.com/lisk123/UCCR
对话推荐系统(Conversational Recommender System (CRS))旨在通过对话为用户提供高质量的商品推荐。生成式对话推荐一般包含两个模块:对话模块使用自然语言和用户交流,推荐模块基于对话内容学习用户兴趣偏好,提供高质量商品推荐。不同于传统推荐任务,对话推荐需要兼顾自然语言理解和用户兴趣建模。对话推荐在实际生活中也有着广泛应用,如语音助手(Siri、Cortana)、电商平台客服等。
目前已有一些生成式对话推荐相关的工作,而它们都侧重于更好地建模当前对话。这些工作可以分为如下几类:
不难看出,以上方法均是利用自然语言理解技术,更好地建模当前对话信息。而作为推荐系统的一种,对话推荐的核心问题也应当是理解用户,建模用户行为。尽管当前对话信息在CRS中至关重要,我们发现用户的多方面(multi-aspect)信息,如用户历史对话、相似用户信息等,可以很好地辅助用户兴趣建模,更全面地理解用户。如下图所示,之前的CRS方法仅基于当前对话捕捉用户兴趣,只能捕捉到用户的基础兴趣偏好:奇幻电影,而无法建模用户隐式兴趣偏好:爱情电影。而这时历史对话信息、相似用户信息则提供了很好地补充。
因此,我们从推荐系统的角度重新审视了对话推荐任务,提出了以用户为中心的对话推荐系统UCCR。具体地,UCCR包含以下几部分:
本文在中文、英文公开的对话推荐数据集上进行实验验证UCCR的有效性,实验表明UCCR在推荐和对话任务上相较于SOTA方法均有所提升。同时,UCCR可以很好地应对冷启动场景(即用户当前会话信息缺失时),历史会话和相似用户信息成为了很好地补充。
在介绍UCCR之前,我们先介绍本文的符号体系:
可以看出,不同于前人的CRS方法,我们考虑历史会话信息和相似用户信息,更系统、全面地理解CRS中的用户。
整体框架如上图所示。我们接下来详细介绍每个模块的设计思路与实现细节。
之后我们将所有实体的表示拼在一起,组成矩阵,再利用self-attention对这些实体进行加权平均,得到最终的当前实体表示:
其核心逻辑是:我们应更多地选择和当前实体偏好相似的历史实体,以防止不相关的信息干扰当前兴趣。
其中是每个单词经过GCN得到的表示,表示单词基于其出现轮数得到的重要性。之后,最终的历史单词表示也是基于近因效应加权:。
其中和有三种选择,组成了三个不同的任务:(1). ; (2). ; (3). 。其中计算方法同。
其中为截断函数,避免引入多余噪声,为的所有历史交互记录,为余弦相似度。 在实际训练中,对于每个epoch,我们会重新计算用户历史单词表示和实体表示,用以学习相似用户。同时为了避免训练负担,我们在这里进行梯度截断。
推荐:
对话生成:
我们在两个公开对话推荐数据集上做了实验,其中ReDial是英文数据集,TG-ReDial是中文数据集。而为了用上历史对话信息,且避免数据穿越的问题,我们利用对话时间(chronological order)对于数据集进行重排,因此得到的效果与其他方法汇报的结果略有差异(之前的方法均是随机划分数据集,而我们为了避免数据穿越,要以对话的时间顺序对其进行划分)。其推荐和对话的实验效果如下,可以看到我们的方法在不同数据集上,多个评测指标上都取得了最优效果:
同时我们对于multi-aspect information进行了消融实验,证明每一部分的有效性:
此外我们还测试了在两种冷启动场景下,我们模型的效果。
当用户当前信息较少时(用户当前实体数量小于等于3),我们方法效果如下图:
当用户历史信息较少时,我们的方法依然有效。具体地,我们将没有历史对话的用户称为new users,有历史对话的用户称为old users,其在ReDial数据集上表现如下图:
本文从推荐系统的角度,重新审视了对话推荐任务。不同于前人的方法集中于自然语言理解,主要建模用户的当前对话,本文从多角度建模multi-aspect用户信息,更全面地理解用户。尽管在CRS中当前对话很重要,本文也发现用户历史对话信息、相似用户信息也可以提供很好地辅助作用。实验证明我们的模型在不同对话推荐数据集上均取得了最优效果。
[1]. Chen Q et al. Towards Knowledge-Based Recommender Dialog System. EMNLP. 2019. [2]. Zhou K et al. Improving conversational recommender systems via knowledge graph based semantic fusion. SIGKDD. 2020. [3]. Liu Z et al. Towards Conversational Recommendation over Multi-Type Dialogs. ACL. 2020. [4]. Zhou K et al. Towards Topic-Guided Conversational Recommender System. COLING. 2020. [5]. Lu Y et al. RevCore: Review-Augmented Conversational Recommendation. ACL Findings. 2021. [6]. Zhou Y et al. C2-CRS: Coarse-to-Fine Contrastive Learning for Conversational Recommender System. arXiv preprint arXiv:2201.02732, 2022. [7]. Liang Z et al. Learning Neural Templates for Recommender Dialogue System. EMNLP. 2021.