GPT4Rec: A Generative Framework for Personalized Recommendation and User Interests Interpretation
地址:https://arxiv.53yu.com/pdf/2304.03879.pdf
公司:亚马逊
1. 导读
现有的基于NLP的推荐模型主要存在以下不足:
(1)未能充分利用item的内容信息和NLP模型的语言建模能力;
(2)无法解释用户兴趣,从而提高相关性和多样性;
(3)在实际使用时会有所限制,例如新item的冷启动等。
本文提出了GPT4Rec,受搜索引擎启发的新颖而灵活的生成框架。
首先基于给定用户历史记录中的item标题生成假设的“搜索查询”,
然后通过搜索这些查询来检索要推荐的item。
为了捕捉不同方面和粒度的用户兴趣,以提高相关性和多样性,本文提出了一种结合beam search的多查询生成技术。生成的查询自然充当用户兴趣的可解释表示,并且可以被搜索以推荐冷启动商品。
2. 方法
GPT4Rec如图1所示。首先,给定用户的商品交互序列,GPT4Rec通过提示(prompt)格式化商品标题(item title),并使用生成语言模型来学习语言空间中的商品和用户的embedding。然后,该模型生成表示用户兴趣的多个查询,这些查询将被提供给搜索引擎,以检索要推荐的商品。本文使用的语言模型为GPT-2,搜索引擎为BM25搜索引擎。
GPT4Rec的第一个组件是生成语言模型,其目标是从商品交互序列中学习语言空间中的用户表征,然后生成表示用户兴趣的多个查询。对所选的GPT-2模型进行微调,该模型具有117M个参数,在大量语言语料上进行预训练,有助于捕捉用户兴趣和商品内容信息。通过实验,使用以下提示来格式化模型输入:提示中包含了商品标题中的语义信息,每个用户u的格式化输入表示为,GPT-2从中学习用户表征,然后能够基于条件分布生成查询序列。
为了更好地表征用户的不同兴趣并增加推荐结果的多样性,本文提出采用beam search生成多个查询。给定beam size为m,生成打分函数为,beam search简单解释就是基于打分函数S()会有很多打分,不是只选分数最优的,而是选取最优的m个,然后基于这m个生成的查询,使用打分函数得到m个查询对应的后选打分,然后继续选取最优的m个打分。
第二个组成部分是一个充当“判别器”的搜索引擎。它将生成的每个查询作为输入,并基于匹配程度检索库存中最相关的商品作为输出。匹配分数函数测量语言空间上的相似性,在向量嵌入方法中发挥类似的内积相似性作用。本文采用BM25匹配分数函数计算相似性。
令K表示推荐商品的总数,m表示生成的查询的数量,本文提出了一种基于排序的策略来组合每个查询的搜索结果。首先检索从具有最高生成分数的查询的搜索结果中选择top-K/m个商品,然后按照它们的得分排名顺序逐个添加来自其他查询的K/m个不重复商品。所提出的策略能够平衡检索商品的相关性和多样性。
采用两步训练的方式,分别优化语言模型和搜索引擎。给定每个用户u的商品交互序列,基于前文的prompt取前T-1个商品及其标题,然后将其与最后一个商品的标题连接起来形成训练语料库,对预训练的 GPT-2 模型进行微调。在训练语言模型之后,通过grid search来优化 BM25 的参数。
3. 结果