输入“/”快速插入内容

基于个性化Prompt的推荐:推荐系统和NLP的跨界融合

2024年8月20日修改
今天分享Arxiv一篇最新的期刊工作:Personalized Prompt Learning for Explainable Recommendation[1]。这篇工作主要是研究基于个性化提示学习的可解释推荐,是作者在其发表在ACL2021工作 Personalized Transformer for Explainable Recommendation[2]基础上的延续,引入了提示学习和预训练模型到推荐理由生成任务上,是NLP和推荐系统的又一次"跨界融合"。
我在以前的文章分享过:Recsys'21 | 浅谈推荐系统如何在NLP的肩膀上前进,可以看到NLP研究进展如何深远的影响着推荐系统的研究。可以说很大程度上推荐系统的发展是在NLP的肩膀上前进的。且在文章的结尾留下了1个问题:我们看到的大多是单向影响,即:起步较早的领域深度影响着新兴领域,那么是否存在反哺的现象呢?例如:推荐系统社区是否有反哺NLP社区呢?
那么这篇文章也算是对这一问题的回答之一。虽然文章的主要场景是可解释推荐,但实际是NLG自然语言生成,借鉴了推荐系统的特点。即:推荐系统自己独特的"个性化以及核心思想“协同过滤”在NLP领域的应用。这篇文章算是我们朝着这个目标迈出的一小步,能够很好地推动推荐系统和NLP的跨界融合。
btw, 大模型和NLP/搜索推荐等结合的场景非常火,如果想更深入的学习大模型原理和实践等,推荐深蓝学院的这门课程:
会带你深入了解LLM工作原理,学习如何利用Transformer与GPT从0到1制作自己的mini-ChatGPT,推荐学习下。
1.
研究动机
为了更好地帮助用户理解被推荐的items,推荐系统可通过提供可理解的推荐理由来证明推荐的合理性。一方面体现了推荐系统自身的能力,另一方面还可以提高用户体验。
实现推荐理由的典型方法是自然语言生成。然而,以前的工作大多采用RNN来实现,而对潜在更有效的预训练 Transformer 模型的探索不足。然而,在推荐系统中,用户或物料的唯一标识User ID和Item ID中蕴含着很多信息,与预训练模型已经训练过的单词,本质上是处于不同的语义空间中。如何有效地将 ID 融合到此类预训练模型是核心问题。
受NLP预训练中的Prompt Learning(提示学习)近期进展的启发,本文创新的提出了一种利用user ID和item ID作为prompt来进行推荐理由生成的方法。
个人评价:个人认为是很有意思的想法,User ID和Item ID随机初始化并端到端地训练过程中,实际上融入了很多user-item交互数据中的协同信号,比如user ID表征了用户的兴趣,item ID也表征了item的属性/功能等,如果能够将ID中蕴含的语义或者协同信号作为一种“提示信息”,来指导推荐理由的生成,那么理想情况下,是能将用户兴趣和物品侧的属性功能传达到推荐理由上的,也最能体现推荐理由的价值。
为此,作者提出了两种解决方案,来有效地将User ID或Item ID融入到预训练模型中,来提升推荐系统的推荐理由生成,具体包括离散提示学习和连续提示学习:
找到表征User ID或Item ID的离散Token词,即将ID离散画像化或属性化,将这些离散的词作为prompt进行推荐理由的生成,称为离散提示学习;
将 User ID或Item ID 向量直接融入到预训练模型中,将连续的user/item向量作为prompt进行推荐理由的生成,称为连续提示学习。
本文的核心贡献:
提出了一种面向推荐系统可解释性的个性化提示学习方法PEPLER,将user/item ID作为prompt提示信息,是第一个将NLP中的prompt learning引入到推荐系统上的工作。
提出了两种预训练策略,来弥补基于user/item ID的连续提示学习和预训练模型之间的语义鸿沟。即:序贯微调策略(sequential tuning) 和正则化策略(recommendation as regularization)。从更高的视野来看,这种方式能够启发研究者"预训练模型如何更好地在推荐系统任务中进行微调"。
做了广泛的评估,包括文本质量(比如BLEU或ROUGE)评估;以及推荐的解释性评估(比如Item侧的属性体现度)。实验表明,本文提出的方法远好于SOTA推荐理由模型。
从长远影响来看,本文的工作能够启发nlp应用中哪些方向需要个性化,比如:个性化对话系统、个性化图片标题生成、个性化摘要等。实际上就是能够启发NLP+个性化推荐的融合。
个人评价:个性化NLG可能是个很不错的研究方向,既能够推动NLP中较难的NLG领域的发展,又能够解决推荐系统可解释性这一大难点。当然这个方向很硬核,涉及两个领域的难点。
2.
相关工作
涉及3个方向的相关工作,不做展开,感兴趣的可以参见原文。包括:
可解释推荐;
Transformer和预训练模型
个性化自然语言生成。
3.
PEPLER模型
3.1 问题定义
首先是问题定义:
推荐理由的目标是给定user-item pair (u,i),来生成自然语言语句Eu,i,来解释为什么物品i会推荐给用户u。
在训练和测试阶段,只有用户u和物品i会作为输入,来输出推荐理由。
下面主要按照4个部分来依次展开介绍:
首先简单介绍下背景知识:Transformers、预训练模型和提示学习,前两者不做介绍,重点介绍下NLP中提示学习模板设计。
接着介绍两种提示学习方法:离散提示学习和连续提示学习,以及连续提示学习的训练方法,即:序贯微调和推荐系统正则化。
然后是推断阶段如何生成推荐理由。
最后介绍下实验评估。
3.2 提示学习模板设计
提示学习定位:where different natural language processing tasks are adapted to a pre-trained language model so as to enable direct modeling of text. In this way, the knowledge exhibited in the model could also be made good use of.
对于完型填空类问题,例如情感分类为例。正常情况下,