新智元报道
编辑:LRST
EasyRec 利用语言模型的语义理解能力和协同过滤技术,提升了在零样本学习场景下的推荐性能。通过整合用户和物品的文本描述,EasyRec 能够生成高质量的语义嵌入,实现个性化且适应性强的推荐。
在推荐系统的领域中,深度神经网络(DNNs)已经成为一种强大的工具,它们通过学习用户和商品之间的复杂交互,为协同过滤(CF)提供了新的视角。
协同过滤是一种利用用户之间的相似性或商品之间的相似性来推荐未交互过的商品的方法。
深度学习方法,特别是图神经网络,通过捕捉用户-商品交互数据中的高阶特征和模式,极大地提升了推荐质量。
然而,尽管深度协同过滤模型在某些方面取得了显著进展,它们在实际应用中仍面临着一些挑战。
一个主要的问题是现有方法对用户和商品的唯一标识符(ID)的依赖。这种依赖限制了模型在处理新用户或新商品时的性能,因为对于这些新的用户和商品,没有足够的历史数据来训练模型。
此外,当用户或商品发生变化时,如新商品的引入或用户偏好的转移,现有模型可能难以适应这些变化,导致推荐效果下降。这种依赖性也导致了另一个问题,即所谓的「零样本学习」场景,其中模型需要在没有先前交互数据的情况下提供推荐。
在这些情况下,由于缺乏用户或商品的标识符,传统的协同过滤方法往往难以生成准确的推荐。
为了解决这些问题,研究者们开始探索将语言模型(LMs)的泛化能力运用到推荐系统中。
语言模型,已经在自然语言处理领域展现出了强大的语义理解能力,这一类模型通过将文本编码成特征向量的方式,获取了一个具有特定意义的统一特征分布空间,这类文本向量不但有利于下游任务的使用,同时面对新的文本数据也能过有效的编码如该空间。
这一基本思想可以使得在没有用户和商品 ID 的情况下,提供更准确的推荐。
论文地址:http://arxiv.org/abs/2408.08821
开源代码:https://github.com/HKUDS/EasyRec
EasyRec 的提出正是基于这样的背景和动机,旨在通过结合语言模型的语义理解能力和协同过滤的协同信号,来克服现有方法的局限性,训练一个简单易用并且专门用于推荐系统的语言模型,提高其在零样本学习场景下的推荐性能。
通过 EasyRec,作者希望提供一个更加灵活、适应性强的推荐系统,它可以更好地理解和预测用户的偏好,即使在面对新用户或新商品时也能提供准确的推荐。
基本知识
在深入了解模型之前,我们需要掌握推荐系统中的一些基本概念和表示方法。这些基础知识将帮助我们构建对工作原理的理解。
在推荐系统中,定义用户集合U和物品集合I。对于每个用户,定义 Nu 为该用户交互过的物品集合。
类似地,对于每个物品,Ni 表示与该物品交互过的用户集合。
用户-物品的交互可以通过一个交互矩阵A来表示,其中 Au,i为 1 表示用户u与物品i有过交互,否则为0。
Text-based Zero-Shot Recommendation
零样本推荐是解决新用户或新物品缺乏交互数据的问题的关键技术。对于新用户和新物品,由于缺乏足够的交互训练数据,系统很难提供精准的个性化推荐。
那么,如何解决这个问题呢?
这篇文章提出了一种基于文本的创新的方法:通过利用用户和物品的文本画像,借助强大的语言模型来构建语义表示,从而实现基于文本的推荐。通过使用强大的语言模型,这种方法能够在没有任何先验交互数据的情况下,仍然提供高质量的推荐。
具体来说,定义用户u和物品i的文本描述 Pu 和 Pi,它们分别被编码为向量和。
这里,表示语言模型,用于将文本转换为向量表示。
用户u和物品i之间的交互概率p_u,i可以通过它们各自的文本嵌入e_u和e_i之间的余弦相似度来计算,即。
然后,我们可以向用户推荐相似度得分最高的前k个未交互的物品,从而生成个性化推荐集。
Text-enhanced Collaborative Filtering
协同过滤 (CF) 是一种广泛使用的推荐系统方法,它利用用户和物品之间的协同关系。
现有的 CF 范式可以通过整合编码的语义表示来增强。通常,交互概率p_u,i是基于交互数据计算的,即。
基于文本增强的协同过滤在此基础上,通过整合e_u/i由语言模型编码的文本特征作为补充表示来构建。此整合旨在进一步提高传统基于 ID 的协同过滤框架的推荐性能。
EasyRec
什么样的用户/商品文本信息是好的?
在现实世界的推荐系统数据集中,大概率只有与商品相关的原始文本数据可用,例如商品标题和类别。同时由于隐私问题,通常很难收集全面的用户信息。
此外,直接利用这些原始的文本信息可能会忽略对准确用户行为建模和偏好理解至关重要的协作关系。
为了解决这些限制,可以利用大型语言模型来基于协同信息,总结和生成用户/商品的文本画像作为语言模型可以利用文本数据。这样,就可以在统一的文本画像中捕获物品的语义和协作方面。
具体来说,对于商品画像而言,我们希望其能够描述这一商品的基本信息以及它会吸引什么样的用户群体;而对于用户画像而言,我们希望其能够基于该用户的历史交互数据以及它对不同商品的评价来总结出该用户会喜欢什么样类型的商品。
基于此作者利用了协同的画像生成策略,通过采样交互数据结合原始的文本信息构建输入,让大语言模型实现画像的生成。具体的细节欢迎阅读论文和开源代码进行了解。
利用描述用户/商品交互偏好的文本画像作为语言模型编码的输入文本具有以下优势:
(i)有效保留协同信息
协同画像方法不仅限于原始文本内容,还捕捉了用户/物品特征及其交互模式的语义。
通过使用面向推荐的语言模型将这些丰富的画像编码到共享特征空间中,已交互的用户和物品的嵌入被拉近。
这使得推荐系统能够更好地识别相关匹配对象,即使是对「零样本」用户和物品(那些没有先前交互的对象)也适用,而这些情况在实际场景中非常普遍。
系统可以利用文本画像中编码的协同信号来做出更好的推荐,弥合这些冷启动情况的差距。
(ii)快速适应动态场景
基于这类画像训练的语言模型可以使推荐系统能够有效应对用户偏好和交互模式的时间变化。
其主要优势在于,通过简单地更新文本用户画像即可无缝反映用户兴趣和行为的变化。
这种灵活响应能力使得新方法非常适合部署在用户兴趣随时间演变的动态环境中的推荐系统。
模型设计和训练
作者采用多层双向 Transformer 架构,例如 BERT,作为 EasyRec 的核心模型。
这种架构具有两大显著优势:
其一,高效编码,由于它专注于生成有效的文本表示,仅包含编码器的设计使得推荐系统的推理速度得到显著提升;
其二,灵活适应,通过优化学习来调整预训练的 Transformer 模型,以更好地适应特定的推荐任务需求。
具体来说,作者将用户或商品的文本描述视为由多个词汇组成的文本段落。
在处理这些文本时,首先在词序列的起始位置插入一个特殊标记[CLS]。紧接着,分词层会将这段输入文本编码为初始嵌入,并注入位置信息,这些嵌入随后被送入 Transformer 层进行处理。
在此过程中,语言模型会对序列中的每个词汇进行编码,生成其最终的嵌入表示。而这一切的关键在于自注意力机制,它确保每个词汇都能从整个序列中汲取信息,从而获得全面的上下文理解。
最终,选取与[CLS]标记对应的首个嵌入,作为整个用户资料的代表性嵌入。这个嵌入会经过多层感知机的进一步处理,形成最终的编码表示。
通过为用户和商品生成这样的文本嵌入,可以利用余弦相似度来衡量他们之间交互的可能性,并以此为基础进行推荐。
在模型训练方面,作者比较了传统的 BPR Loss 训练方法,因其受限于负样本数量,难以全面优化多个编码特征向量。
相反,作者采用了对比学习方法,这种方法能够更全面地优化整个编码特征空间。
也就是从用户与商品的交互数据中抽样,将有过交互的用户和商品文本特征拉近,同时将同一抽样数据中的其他用户或商品特征作为负样本进行排斥。
此外,作者还引入了文本掩码-重构损失,以提高模型对语义的理解能力及其泛化性能。
文本画像的多样性增强
为了进一步增强模型对于未知用户和物品的泛化能力,作者采用了画像多样化增强的策略。
虽然使用单一的文本画像来描述每个用户和商品具有简便性,但这种方式限制了表示的多样性,可能会对模型的性能和泛化能力造成不利影响。
为了应对这一问题,作者提出了一种创新的方法,通过对现有的用户和商品画像进行增强,让每个实体都能通过多个画像文本来展现其独特的交互偏好。
这些经过增强的画像能够深入捕捉到诸如用户的个性化互动偏好或商品的多样化特征等核心语义。
在实施增强时,作者借鉴了自我指导机制,并借助大型语言模型(LLMs)的力量,在保持原始意义的基础上重新阐述用户/商品的文本描述。这种策略能够从一个输入生成出多个语义相近但措辞各异的画像。
通过反复进行这样的重述过程,作者成功地创建了一系列多样化的增强画像,从而显著扩充了可用的训练数据。
此方法不仅增加了模型的训练数据量,更重要的是确保了数据的丰富多样性。这样,当模型面对未知的用户和物品时,它能够基于更加全面和多样的数据做出更为准确的预测。
通过引入这些结构化且语义丰富的多样化资料,模型将在各类应用场景中展现出更加卓越的性能。
实验验证
数据集
作者利用 Amazon Review Data 中不同类别的数据(例如艺术、体育等等)构建了训练数据集以及部分数据集,同时引入了 Steam 和 Yelp 数据集作为跨平台的测试数据集。
为了有效验证模型在零样本环境下的性能,作者将训练数据集和测试数据集进行划分,使得他们是完全不同的数据,没有任何用户和商品上的交集。
关于数据集的细节欢迎大家通过阅读论文和开源代码进行获取和了解。
零样本文本推荐能力
作者在三个不属于训练数据的数据集(Sports,Steam 和 Yelp)上面,利用全排序的方法测试了模型实现基于文本的零样本推荐能力。
为了有效的比较模型的性能,作者将不同的语言模型作为了 baseline,其中包括了通用的语言模型(BERT,RoBERTa 等),利用与深度检索的语言模型(SimCSE,GTR,BGE 等)以及推荐相关的语言模型(BLaIR),同时也与 OpenAI 提供的两款语言模型(v3-Small 和 v3-Large)进行对比。
从结果中可以看出,EasyRec 有效在零样本推荐能力上超越了上述的所有语言模型,高效地实现了用户画像文本和商品画像文本之间的对齐,从而实现精准的推荐。
同时作者训练了三个版本的模型(从 Small 到 Large),模型的性能体现出了有效的 Scaling Laws,这也侧面说明了将含有用户/商品交互偏好的文本画像作为文本数据,并且基于协同信号进行语言模型训练这一实践路径的有效性。
基于文本增强协同过滤算法
作者同样测试了不同的语言模型对现有的 ID-based 的协同过滤算法增强的效果。
其中,选用了两个广泛使用的模型 GCCF 和 LightGCN 作为 baseline,并且利用了当前先进的文本增强框架 RLMRec 作为统一的框架进行实验。
从实验中可以看出,EasyRec 相较于 baseline 实现了有效的提升,这得益于其能够将文本中体现的协同信息有效的编码入文本特征中,从而获得了高质量的协同文本特征并且有利于下游的文本增强框架使用,从而提高模型的推荐性能。
快速捕获用户的动态偏好
正如前文中提到的,EasyRec 的一个关键优势在于其能够有效适应用户偏好和行为动态随时间的变化。
为了评估这一能力,作者在 Amazon 的体育用品数据集上创建了两个反映偏好变化的用户资料,并检查了 EasyRec 推荐的物品。
如图所示,原始用户资料显示该用户喜欢打篮球。然而,用户的偏好后来转变为对游泳的兴趣。
作者使用t-SNE 方法可视化了所有编码的嵌入,结果显示在特征空间中用户嵌入发生了显著变化。
相应地,推荐的物品也从篮球相关产品转变为游泳装备,反映了用户的偏好变化。
值得注意的是,这一调整仅通过修改用户的资料就完成了,而不需要对模型进行进一步训练。
这突显了新方法在适应用户偏好变化方面的高效性和灵活性。
结语
在瞬息万变的数字时代,用户的偏好和行为往往难以捉摸。
EasyRec 框架通过巧妙地结合语言模型和对比学习,提供了一种高效且灵活的解决方案,能够准确捕捉用户的细微变化。
无论是零样本推荐还是增强协同过滤,EasyRec 都展现了卓越的适应能力和显著的性能提升,体现出了优秀的推荐能力。
参考资料: