CoFiRec: Coarse-to-Fine Tokenization for Generative Recommendation
TL;DR 精炼摘要
本论文提出了生成式推荐框架CoFiRec,结合物品语义的粗粒度到细粒度特性,改进了用户历史的词元化过程。CoFiRec通过分层处理物品信息,从类别到详细描述,增强了用户意图的捕捉,实验证明其在多项基准测评中优于现有方法。
摘要
In web environments, user preferences are often refined progressively as users move from browsing broad categories to exploring specific items. However, existing generative recommenders overlook this natural refinement process. Generative recommendation formulates next-item prediction as autoregressive generation over tokenized user histories, where each item is represented as a sequence of discrete tokens. Prior models typically fuse heterogeneous attributes such as ID, category, title, and description into a single embedding before quantization, which flattens the inherent semantic hierarchy of items and fails to capture the gradual evolution of user intent during web interactions. To address this limitation, we propose CoFiRec, a novel generative recommendation framework that explicitly incorporates the Coarse-to-Fine nature of item semantics into the tokenization process. Instead of compressing all attributes into a single latent space, CoFiRec decomposes item information into multiple semantic levels, ranging from high-level categories to detailed descriptions and collaborative filtering signals. Based on this design, we introduce the CoFiRec Tokenizer, which tokenizes each level independently while preserving structural order. During autoregressive decoding, the language model is instructed to generate item tokens from coarse to fine, progressively modeling user intent from general interests to specific item-level interests. Experiments across multiple public benchmarks and backbones demonstrate that CoFiRec outperforms existing methods, offering a new perspective for generative recommendation. Theoretically, we prove that structured tokenization leads to lower dissimilarity between generated and ground truth items, supporting its effectiveness in generative recommendation. Our code is available at https://github.com/YennNing/CoFiRec.
思维导图
论文精读
中文精读
1. 论文基本信息
1.1. 标题
CoFiRec: Coarse-to-Fine Tokenization for Generative Recommendation
1.2. 作者
Tianxin Wei, Xuying Ning, Xuxing Chen, on XiSh Zhigang Hua, Jingrui He 主要贡献机构包括伊利诺伊大学厄巴纳-香槟分校 (University of Illinois Urbana-Champaign) 和 Meta。
1.3. 发表期刊/会议
该论文目前作为预印本 (preprint) 发布于 arXiv。
1.4. 发表年份
2025
1.5. 摘要
在网络环境中,用户的偏好通常是渐进式地细化的,即从浏览广泛的类别到探索具体的物品。然而,现有的 生成式推荐器 (Generative Recommenders) 忽略了这种自然的细化过程。生成式推荐 (Generative Recommendation) 将下一物品预测建模为 词元化 (Tokenized) 用户历史的 自回归生成 (Autoregressive Generation),其中每个物品都表示为离散 词元 (Token) 序列。以往的模型通常将 ID、类别、标题和描述等异构属性融合到单个 嵌入 (Embedding) 中,然后在进行 量化 (Quantization),这扁平化了物品固有的语义层次结构,未能捕捉到用户意图在网络交互过程中的渐进演变。为了解决这一限制,我们提出了 CoFiRec,一个新颖的 生成式推荐 (Generative Recommendation) 框架,它将物品语义的 粗粒度到细粒度 (Coarse-to-Fine) 特性明确地融入到 词元化 (Tokenization) 过程中。CoFiRec 没有将所有属性压缩到单个潜在空间,而是将物品信息分解为多个语义级别,从高层类别到详细描述和 协同过滤 (Collaborative Filtering) 信号。基于这种设计,我们引入了 CoFiRec Tokenizer,它独立 词元化 (Tokenize) 每个级别,同时保留结构顺序。在 自回归解码 (Autoregressive Decoding) 过程中,语言模型 (Language Model) 被指示从粗到细生成物品 词元 (Token),逐步建模用户意图,从一般兴趣到具体的物品级别兴趣。在多个公共基准测试和 骨干网络 (Backbones) 上的实验表明,CoFiRec 优于现有方法,为 生成式推荐 (Generative Recommendation) 提供了新的视角。从理论上讲,我们证明了 结构化词元化 (Structured Tokenization) 导致生成物品与 真实标注数据 (Ground Truth) 物品之间的 不相似性 (Dissimilarity) 更低,支持其在 生成式推荐 (Generative Recommendation) 中的有效性。我们的代码可在 https://github.com/YennNing/CoFiRec 获取。
1.6. 原文链接
原文链接: https://arxiv.org/abs/2511.22707v1 PDF 链接: https://arxiv.org/pdf/2511.22707v1.pdf 发布状态:预印本 (arXiv preprint)。
2. 整体概括
2.1. 研究背景与动机
传统的 序列推荐 (Sequential Recommendation) 系统通常依赖于大型物品 嵌入表 (Embedding Tables),这带来了可扩展性和内存方面的挑战。近年来,生成式推荐 (Generative Recommendation, GR) 作为一种有前景的新范式出现,它将物品 词元化 (Tokenized) 为离散序列,并通过 自回归模型 (Autoregressive Model) 预测下一个物品。这种方法利用了 Transformer 等强大的序列建模架构,并通过紧凑的 词汇表 (Vocabulary) 提高了对新物品的泛化能力和推理效率。
然而,现有的 生成式推荐 (Generative Recommendation) 方法存在一个关键局限:它们通常忽略了现实世界推荐系统中物品 元数据 (Metadata) 中固有的丰富、多尺度语义结构。具体来说,当前方法在进行 量化 (Quantization) 之前,将所有异构物品属性(如 ID、类别、标题、描述)扁平化为单个 嵌入 (Embedding)。这种处理方式丢失了物品的内在语义层次,未能捕捉到用户在网络互动中从广泛类别到特定物品的渐进式偏好细化过程。例如,用户可能先对“乐器”感兴趣,再细化到“电吉他”,最后关注“Yamaha F310”。现有方法难以有效地建模这种 粗粒度到细粒度 (Coarse-to-Fine) 的用户意图演变。
2.2. 核心贡献/主要发现
为了解决上述限制,本文提出了 CoFiRec 框架,其核心贡献和主要发现如下:
- 理论动机与重构 (Theory-motivated Reformulation):
CoFiRec将物品推荐任务重构为粗粒度到细粒度 (Coarse-to-Fine)的词元序列 (Token Sequence)预测问题。理论上证明了层次解码 (Hierarchical Decoding)能够降低生成物品与真实标注数据 (Ground Truth)物品之间的预期不相似性 (Dissimilarity),从而为结构化词元化 (Structured Tokenization)提供了坚实的理论基础。 粗粒度到细粒度 (Coarse-to-Fine)词元化器 (Tokenizer)设计: 提出了CoFiRec Tokenizer,它将物品元数据 (Metadata)分解为多个语义级别(例如,类别、标题、描述),并独立词元化 (Tokenize)每个级别。此外,它还将协同过滤 (Collaborative Filtering, CF)信号作为最细粒度的词元 (Token)集成,形成统一的粗粒度到细粒度 (Coarse-to-Fine)词元序列 (Token Sequence),支持结构化和可解释的生成。层次化自回归生成 (Hierarchical Autoregressive Generation): 在自回归解码 (Autoregressive Decoding)过程中,语言模型 (Language Model)被训练为按照从粗到细的顺序生成词元 (Token),从而逐步建模用户从一般兴趣到具体物品级别的偏好细化过程。为了增强生成保真度和结构对齐,引入了编码物品ID和词元 (Token)语义角色的可学习嵌入 (Embeddings)。- 卓越的实证性能 (Strong Empirical Performance): 在
Instruments、Yelp和Beauty等多个公共基准数据集上,CoFiRec在各种LLM 骨干网络 (LLM Backbones)(如T5、LLaMA3.2-1B、LLaMA3.2-3B)上显著优于现有ID-based和生成式推荐 (Generative Recommendation)方法,平均性能提升 7.27%。 - 泛化能力和可解释性 (Generalization and Interpretability):
CoFiRec在冷启动 (Cold-Start)场景下表现出更强的泛化能力(提升 10.0%)。对ID分布的定性分析表明,其词元化 (Tokenization)能够更好地保留语义层次结构。
3. 预备知识与相关工作
3.1. 基础概念
为了帮助初学者更好地理解 CoFiRec 及其背后的原理,这里解释一些关键的基础概念:
-
生成式推荐 (Generative Recommendation, GR): 一种推荐系统范式,它将推荐任务(例如,预测用户下一个可能交互的物品)转化为一个序列生成任务。不同于传统的通过计算物品相似度或对物品进行排序来生成推荐列表的方法,
生成式推荐 (Generative Recommendation)使用语言模型 (Language Models)或类似的序列模型,将用户历史交互序列视为输入,然后自回归地 (Autoregressively)生成下一个物品的词元 (Token)序列。这使得推荐系统能够处理开放词汇,并具有更好的泛化能力。 -
词元化 (Tokenization): 在自然语言处理 (NLP) 领域,
词元化 (Tokenization)是将文本分解成更小的单元(词元 (Tokens))的过程,这些单元可以是单词、子词或字符。在生成式推荐 (Generative Recommendation)中,词元化 (Tokenization)指的是将复杂的物品信息(如物品ID、标题、描述、类别等)转化为离散的、可被语言模型 (Language Model)处理的词元序列 (Token Sequences)。 -
自回归生成 (Autoregressive Generation): 指的是在生成序列中的下一个元素时,模型的预测是条件依赖于所有先前已生成的元素的。例如,在生成一个
词元 (Token)序列 时,模型生成 的概率是基于 的。这种机制使得模型能够捕捉序列中的长期依赖关系。 -
向量量化 (Vector Quantization, VQ): 是一种数据压缩技术,它将连续的
输入向量 (Input Vectors)映射到有限的离散码本 (Codebook)中的一个码字 (Codeword)。每个码字 (Codeword)是码本 (Codebook)中的一个代表性向量。VQ的目的是用有限的离散表示来近似连续数据,从而实现数据压缩和离散化。在推荐系统中,VQ可以将高维的物品嵌入 (Embedding)转换为离散词元 (Token),便于语言模型 (Language Model)处理。 -
残差量化 (Residual Quantization, RQ): 是
向量量化 (Vector Quantization)的一种变体。它不是一次性量化 (Quantize)整个向量,而是逐步量化 (Quantize)原始向量与上一步量化 (Quantization)结果之间的残差(误差)。通过多步量化 (Quantization),残差量化 (Residual Quantization)可以在不显著增加码本 (Codebook)大小的情况下,实现更精细的近似。它在潜在空间中引入了一种隐式的层次结构,但这种层次结构往往缺乏语义可解释性。 -
协同过滤 (Collaborative Filtering, CF): 推荐系统中最常用的一类技术。它的基本思想是:如果用户 和用户 在过去对某些物品有相似的偏好,那么用户 可能会喜欢用户 喜欢但用户 尚未尝试的物品。
CF依赖于用户-物品交互数据来发现模式,不依赖于物品的元数据 (Metadata)。 -
嵌入 (Embedding): 在机器学习中,
嵌入 (Embedding)是一种将高维、离散的数据(如单词、物品ID)映射到低维、连续向量空间的技术。在这个向量空间中,语义上相似的实体(如相似的物品)会被映射到彼此接近的位置。
3.2. 前人工作
-
ID-based 推荐系统: 这类方法通过为每个用户和物品学习一个独立的
ID 嵌入 (ID Embedding)来进行推荐。它们在处理大规模ID时面临挑战,尤其是在新物品的冷启动 (Cold-Start)问题上。MF (Matrix Factorization)(Rendle, 2010): 通过对用户-物品交互矩阵进行矩阵分解 (Matrix Factorization)来学习用户和物品的潜在嵌入 (Embeddings)。BERT4Rec(Sun et al., 2019): 使用BERT风格的双向Transformer架构,将序列推荐 (Sequential Recommendation)建模为掩码物品预测 (Masked Item Prediction)任务。LightGCN(He et al., 2020): 简化了基于图的协同过滤 (Collaborative Filtering),只保留了必要的消息传递层 (Message-Passing Layers)。SASRec(Kang and McAuley, 2018): 应用自注意力 (Self-Attention)机制来捕捉用户行为序列中的短期和长期依赖关系。
-
生成式推荐 (Generative Recommendation) 模型: 这些模型试图将推荐任务重新框架为文本生成任务,利用
语言模型 (Language Models)的能力。P5(Geng et al., 2022): 将推荐任务表述为语言生成 (Language Generation)任务,使用指令模板 (Instruction Templates)和文本物品标识符 (Item Identifiers)来提示预训练语言模型 (Pretrained Language Models)。TIGER(Rajput et al., 2023): 通过残差向量量化 (Residual Vector Quantization, RQ-VAE)将物品表示为离散码序列 (Code Sequences),然后使用Transformer 解码器 (Transformer Decoder)生成它们。IDGenRec(Tan et al., 2024): 从物品元数据 (Metadata)中学习简洁、可解释的文本ID序列。LETTER(Wang et al., 2024): 结合残差量化 (Residual Quantization)和多样性约束 (Diversity Constraint),鼓励生成信息更丰富的表示。P5-SemID(Hua et al., 2023): 引入了基于元数据 (Metadata)层次结构和协同树 (Collaborative Trees)的结构化标识符。
3.3. 技术演进
推荐系统的发展经历了从早期的 协同过滤 (Collaborative Filtering)、矩阵分解 (Matrix Factorization) 到基于 深度学习 (Deep Learning) 的 序列推荐 (Sequential Recommendation) 模型。随着 大语言模型 (Large Language Models, LLMs) 在 自然语言处理 (Natural Language Processing) 领域的巨大成功,研究人员开始探索将 LLM 的强大生成能力引入推荐系统,催生了 生成式推荐 (Generative Recommendation) 范式。
生成式推荐 (Generative Recommendation) 的核心挑战之一是如何有效地将物品转化为 语言模型 (Language Model) 可以处理的离散 词元 (Tokens)。早期方法可能直接使用物品 ID,但 ID 缺乏语义信息。为了引入语义,一些工作尝试使用物品的文本描述,但直接使用原始文本通常会导致 词汇量 (Vocabulary Size) 过大和生成效率问题。
向量量化 (Vector Quantization) 方法(如 TIGER 中的 RQ-VAE)提供了一种将连续物品 嵌入 (Embeddings) 离散化的有效途径,生成紧凑的 码序列 (Code Sequences) 作为 词元 (Tokens)。然而,这些方法通常将物品的所有特征扁平化为一个单一的表示,丢失了物品属性中固有的语义层次结构。例如,一个物品可能同时具有类别、品牌、型号、描述等多个层面的信息,这些信息具有从粗到细的语义粒度。
CoFiRec 正是在此背景下提出的,它认识到现有 生成式推荐 (Generative Recommendation) 在 词元化 (Tokenization) 阶段对物品语义层次结构的忽视。它旨在通过显式地将物品的 粗粒度到细粒度 (Coarse-to-Fine) 语义结构融入 词元化 (Tokenization) 和 生成 (Generation) 过程,来弥补这一空白,从而更自然地模拟用户偏好细化的过程。
3.4. 差异化分析
CoFiRec 与现有方法的区别和创新点主要体现在 词元化 (Tokenization) 和 生成 (Generation) 两个方面:
-
对语义层次结构的处理:
- 现有方法: 大多数
生成式推荐器 (Generative Recommenders)(如TIGER、LETTER)通常将物品的所有异构属性(如ID、类别、标题、描述)融合到一个单一的嵌入 (Embedding)中,然后进行量化 (Quantization)。这种“扁平化”处理方式忽略了物品语义的内在层次结构。即使是残差量化 (Residual Quantization),虽然引入了隐式层次,但其语义可解释性较差。P5-SemID虽使用基于分类的层次化标识符,但其设计是手动定义且不可学习的,限制了适应性和判别力。 - CoFiRec: 明确地将物品信息分解为多个语义级别(例如,类别、标题、描述),并为每个级别独立进行
词元化 (Tokenization)。这种粗粒度到细粒度 (Coarse-to-Fine)的设计保留了物品的语义层次,使其更符合用户逐步细化偏好的认知过程。
- 现有方法: 大多数
-
协同过滤 (CF)信号的集成方式:- 现有方法: 很多
生成式推荐 (Generative Recommendation)方法主要侧重于文本语义,对协同过滤 (Collaborative Filtering, CF)信号的集成通常不足或处理不佳。一些尝试集成CF信息的方法(如Wang et al., 2024)可能忽略了位置结构和粗粒度到细粒度 (Coarse-to-Fine)的条件依赖。 - CoFiRec: 将
CF信号作为最细粒度的词元 (Token)放置在序列的末尾。这种设计是经过深思熟虑的:CF信号捕捉的是用户-物品的交互模式,它在条件依赖于所有先前解码的语义内容时,能够提供最具体和最有区分度的行为语义,帮助模型在粗粒度兴趣基础上进一步细化用户意图。
- 现有方法: 很多
-
生成 (Generation)过程的结构化:- 现有方法: 倾向于将生成的
词元 (Token)序列视为一个无内部结构的整体,或者只关注词元 (Token)间的自回归 (Autoregressive)依赖。 - CoFiRec: 在
自回归解码 (Autoregressive Decoding)期间,语言模型 (Language Model)被指示从粗到细的顺序生成词元 (Token),这反映了用户偏好的自然细化过程。此外,通过引入可学习的层级嵌入 (Level Embeddings)和位置嵌入 (Position Embeddings),模型能够更好地区分不同语义层级和位置的词元 (Token)角色,促进更连贯和结构化的生成。
- 现有方法: 倾向于将生成的
-
理论支撑:
-
CoFiRec: 提供了理论证明,表明
层次化解码 (Hierarchical Decoding)比独立解码 (Independent Decoding)能够实现更低的预期不相似性 (Dissimilarity),从而为结构化词元化 (Structured Tokenization)的有效性提供了坚实的理论依据。总而言之,
CoFiRec的创新在于它显式地将物品的粗粒度到细粒度 (Coarse-to-Fine)语义层次融入到词元化 (Tokenization)和生成 (Generation)过程中,并巧妙地集成了协同过滤 (CF)信号,使其推荐不仅更准确,也更具结构化和可解释性。
-
4. 方法论
本节将详细阐述 CoFiRec 框架的核心方法,包括其理论动机、CoFiRec Tokenizer 的设计以及 粗粒度到细粒度 (Coarse-to-Fine) 自回归生成 (Autoregressive Generation) 过程。
4.1. 方法原理
CoFiRec 的核心思想源于对用户在网络环境中逐步细化其偏好这一自然行为的观察。用户通常从一个宽泛的兴趣类别开始(例如“乐器”),然后逐渐缩小范围到更具体的类型(例如“吉他”),最终选择一个特定的产品(例如“某品牌某型号的电吉他”)。现有的 生成式推荐 (Generative Recommendation) 方法往往将物品的所有属性扁平化,无法有效模拟这种 粗粒度到细粒度 (Coarse-to-Fine) 的偏好演化。
CoFiRec 旨在通过在 词元化 (Tokenization) 和 生成 (Generation) 过程中显式地建模物品的语义层次结构来解决这一限制。它将物品的各种 元数据 (Metadata)(如类别、标题、描述)以及 协同过滤 (Collaborative Filtering) 信号,分解为具有不同粒度的多个语义级别。每个级别独立进行 词元化 (Tokenization),形成一个结构化的 词元 (Token) 序列。在 生成 (Generation) 阶段,语言模型 (Language Model) 按照从粗到细的顺序 自回归地 (Autoregressively) 生成这些 词元 (Tokens),从而逐步细化对用户意图的建模,从一般兴趣到具体物品级别的偏好。这种设计不仅提高了推荐的准确性,也增强了模型的可解释性和对用户偏好演变的捕捉能力。
4.2. 核心方法详解
4.2.1. 问题设置与理论动机
在 生成式推荐 (Generative Recommendation) 中,我们的目标是预测用户 在给定其历史交互序列 后可能交互的下一个物品 。CoFiRec 将这一任务重构为 粗粒度到细粒度 (Coarse-to-Fine) 的 词元序列 (Token Sequence) 预测问题。
重构物品表示:
我们将一个物品 表示为一个结构化的离散 词元 (Token) 序列 。其中:
- 对应于物品的渐进语义级别(例如,类别、标题、描述)。
- 是
协同过滤 (Collaborative Filtering, CF)词元 (Token)。我们将其放在序列的最后,因为它包含了用户特定的交互信号,这些信号在条件依赖于先前已解码的语义内容时,能够提供最有区分度的信息,帮助模型在粗粒度意图的基础上消除歧义。
生成概率模型: 整体的生成概率被建模为: 符号解释:
- : 表示概率。
- : 表示物品在第 个语义层级对应的
词元 (Token)。 - : 表示在第 个语义层级之前所有已生成的更粗粒度层级的
词元 (Token)序列。 - : 表示用户 的历史交互序列。
- : 表示语义层级的总数。
这个公式表明,每个
词元 (Token)都是以粗粒度到细粒度 (Coarse-to-Fine)的方式生成的,它条件依赖于所有先前生成的更粗粒度词元 (Tokens)以及用户的交互历史 。这种自回归 (Autoregressive)方式逐步细化了预测物品的语义特异性。
理论证明 (Proposition 1):
我们提供了一个理论依据,解释了为什么 层次化粗粒度到细粒度 (Hierarchical Coarse-to-Fine) 词元化 (Tokenization) 能够降低预期 不相似性 (Dissimilarity),相比于独立的扁平 词元 (Token) 预测。
理论设置: 我们考虑两种生成策略:
- 层次解码 (Hierarchical Decoding) 设置: 对应
CoFiRec的解码策略,词元 (Tokens)以从粗到细的粒度顺序生成。假设每个层级正确预测的条件概率为 。我们假设模型表现优于随机猜测(即 ,其中 是每个层级的词汇表 (Vocabulary)大小)。 我们可以将层次解码 (Hierarchical Decoding)视为在一个深度为 的完整 -叉树上的遍历。每个内部节点代表一个前缀(部分码 (Code)),每条边对应于从大小为 的词汇表 (Vocabulary)中选择一个词元 (Token)。每个物品由从根到叶的唯一路径表示,包含 个顺序词元 (Token)选择。 我们定义预测物品 与真实标注数据 (Ground Truth)物品 之间的不相似性 (Dissimilarity)为它们在树中距离的一半。如果 和 在第 层级不同,不相似性 (Dissimilarity)为K-k。 - 独立解码 (Independent Decoding) 设置: 这种模式下,
词元 (Tokens)之间没有层次结构。每个词元 (Token)都是从大小为 的扁平词汇表 (Vocabulary)中独立预测的,每个词元 (Token)的成功概率相同 ,以便进行公平比较。
命题 1:
设 和 分别表示在 层次解码 (Hierarchical Decoding) 和 独立解码 (Independent Decoding) 下,预测物品 与 真实标注数据 (Ground Truth) 物品 之间的预期 不相似性 (Dissimilarity)。那么,
证明草图: (完整证明请参阅附录 A)
-
层次解码 (Hierarchical Decoding) 下的预期不相似性: 解码器逐级预测
词元 (Token)。如果在第 级失败,则不相似性 (Dissimilarity)为K-k。成功预测到第 级的概率是 ,完全成功的概率是 。根据期望的线性性质,预期不相似性 (Dissimilarity)为: 符号解释:- :
层次解码 (Hierarchical Decoding)下预测物品 与真实标注数据 (Ground Truth)物品 之间的预期不相似性 (Dissimilarity)。 - : 语义层级的总数。
- : 在每个层级正确预测的条件概率。
- :
-
独立解码 (Independent Decoding) 下的预期不相似性: 每个
词元 (Token)都是独立预测的,不利用层次结构。这相当于从 种可能的叶子节点中随机采样一个码 (Code),每个叶子节点(即每个物品)具有相等的概率。由此产生的预期不相似性 (Dissimilarity)为: 符号解释:- :
独立解码 (Independent Decoding)下预测物品 与真实标注数据 (Ground Truth)物品 之间的预期不相似性 (Dissimilarity)。 - : 语义层级的总数。
- : 每个层级的
词汇表 (Vocabulary)大小。 - : 在每个层级正确预测的条件概率。
- :
-
证明结论: 利用模型表现优于随机猜测(即 )这一事实,可以证明 。这确立了
层次化粗粒度到细粒度 (Hierarchical Coarse-to-Fine)解码在减少预测物品与真实标注数据 (Ground Truth)物品之间预期不相似性 (Dissimilarity)方面的理论优势。
4.2.2. CoFiRec 词元化器 (Tokenizer)
CoFiRec Tokenizer 负责将物品的 元数据 (Metadata) 和 协同过滤 (Collaborative Filtering) 信号转化为结构化的 粗粒度到细粒度 (Coarse-to-Fine) 词元 (Token) 序列。
层次结构构建 (Hierarchy Construction):
我们基于商品推荐系统中最常用的 元数据 (Metadata) 字段来构建多级语义层次,这些字段通常包括类别 (category)、标题 (title) 和描述 (description)。这些属性在大多数电商和内容推荐平台中广泛存在,并天然地反映了不同级别的语义粒度。在我们的实验中,我们使用这三个级别作为物品语义的层次结构。对于少量类别字段缺失的物品,我们采用简单的 信息提取 (Information Extraction, IE) 过程从其标题或描述中推断出类似类别的术语。
因此,对于每个物品 ,构建的 级层次结构表示为 。其中:
- 前
K-1个 对应于渐进的语义级别(例如,类别、标题、描述)。 - 编码
协同过滤 (CF)信息,捕捉超越文本内容的、用户-物品交互模式的行为信号。
CoFiRec 语义词元化器 (Semantic Tokenizer):
给定构建的语义层次信息,其中前 K-1 个级别对应于渐进的语义级别。对于每个语义级别 ,我们首先从 预训练 LLM 编码器 (pretrained LLM encoder)(例如 Grattafiori et al., 2024)中获取 嵌入表示 (Embedding Representation) ,它捕捉了相应文本字段 的上下文语义信息。
我们使用共享的 语义编码器 (Semantic Encoder) 独立地编码每个级别。这个 编码器 (Encoder) 通常实现为 多层感知机 (Multi-Layer Perceptron, MLP),将输入特征投影到 码空间 (Code Space)。每个级别都使用 粗粒度到细粒度 (Coarse-to-Fine) 向量量化 (Vector Quantization) 模块 进行 量化 (Quantize),以捕捉不同级别的语义:
符号解释:
- : 物品 在第 语义层级经过
语义编码器 (Semantic Encoder)编码后的特征向量。 - : 共享的
语义编码器 (Semantic Encoder),通常实现为多层感知机 (MLP),将输入特征投影到码空间 (Code Space)。 - : 物品 在第 语义层级的
嵌入 (Embedding)表示,从预训练 LLM 编码器 (pretrained LLM encoder)提取,捕捉了相应文本字段 的上下文语义信息。 - : 物品 在第 语义层级经过
向量量化 (Vector Quantization)模块量化 (Quantize)后的离散词元 (Token)。 - : 第 语义层级的
粗粒度到细粒度 (Coarse-to-Fine)向量量化 (Vector Quantization)模块。 K-1: 语义层级的总数(不包括CF层)。 所有语义层级共享相同的编码器 (Encoder)和解码器 (Decoder),以鼓励跨层级的一致性。
CoFiRec CF 词元化器 (CF Tokenizer):
我们将 协同过滤 (CF) 信息 词元化 (Tokenize) 为最终的第 个 词元 (Token)。对于每个物品 ,我们从 预训练 CF 模型 (pretrained CF model)(例如 Kang and McAuley, 2018)中检索其 协同嵌入 (Collaborative Embedding) 。然后,我们使用一个单独的 CF 特定的 编码器 (Encoder) 对其进行编码,并使用专门的 码本 (Codebook) 进行 量化 (Quantize):
符号解释:
- : 物品 在
CF层级经过CF特定的编码器 (Encoder)编码后的特征向量。 - :
CF特定的编码器 (Encoder)。 - : 物品 的
协同嵌入 (Collaborative Embedding),从预训练 CF 模型 (pretrained CF model)检索。 - : 物品 在
CF层级经过向量量化 (Vector Quantization)模块 或量化 (Quantize)后的离散词元 (Token)。 - 或 :
CF层级的向量量化 (Vector Quantization)模块。
向量量化模块 (Vector Quantization Module):
对于每个语义级别 ,我们维护一个可学习的 码本 (Codebook),其中包含 码字嵌入 (Codeword Embeddings) 。向量量化 (Vector Quantization) 过程 将连续特征 分配给 码本 (Codebook) 中最近的 码字 (Codeword):
符号解释:
- : 物品 的第 个
词元 (Token)。 - : 第 个
向量量化 (Vector Quantization)函数。 - : 物品 在第 语义层级的编码特征向量。
- : 第 个
码本 (Codebook)中第 个码字 (Codeword)的嵌入 (Embedding)。 - : L2 范数的平方,表示向量之间的欧氏距离。
- : 找到使 L2 距离最小的
码字 (Codeword)索引 。 这个量化 (Quantization)操作通过直通估计器 (Straight-Through Estimator)和承诺损失 (Commitment Loss)进行优化。
优化目标 (Tokenizer Optimization):
每个 向量量化器 (Vector Quantizer) 都用两个目标进行训练:
- 重建损失 (Reconstruction Loss): 确保每个解码的表示近似其原始输入。
- 承诺损失 (Commitment Loss): 确保
码本 (Codebook)的稳定使用。 所有层级的总语义词元化器 (Semantic Tokenizer)损失定义为: 符号解释:
- :
词元化器 (Tokenizer)的总损失。 - :
重建损失 (Reconstruction Loss)。 - :
承诺损失 (Commitment Loss)。
重建损失 (Reconstruction Loss): 符号解释:
- : 物品 在第 语义层级的原始
嵌入 (Embedding)。 - : 共享的
语义解码器 (Semantic Decoder),它从相应的码字嵌入 (Codeword Embeddings)重建连续的语义嵌入 (Semantic Embeddings)。 - : 物品 在第 语义层级选择的
码字 (Codeword)的嵌入 (Embedding)。 - : 物品 的原始
协同嵌入 (Collaborative Embedding)。 - : 一个独立的
解码器 (Decoder),用于从CF 码字 (CF codeword)重建CF 嵌入 (CF embeddings),因为它们的表示空间不同。 - : 语义层的
重建损失 (Reconstruction Loss)。 - :
CF层的重建损失 (Reconstruction Loss)。
承诺损失 (Commitment Loss): 符号解释:
- :
停止梯度 (stop-gradient)运算符。在前向传播时,它将输入的值保持不变;但在反向传播时,它将梯度设为零,阻止梯度流经它。 - : 物品 在第 语义层级的编码特征向量。
- : 物品 在第 语义层级选择的
码字 (Codeword)的嵌入 (Embedding)。 - : 平衡系数,用于调整两个
承诺损失 (Commitment Loss)项之间的权重。 此优化过程使得CoFiRec Tokenizer能够将每个物品 编码为一个由粗粒度到细粒度 (Coarse-to-Fine)语义和协同过滤 (Collaborative Filtering)信号组成的词元 (Token)序列 。
4.2.3. 粗粒度到细粒度 (Coarse-to-Fine) 自回归生成
在 词元化 (Tokenization) 阶段生成了结构化的 词元 (Token) 序列后,CoFiRec 进入 自回归生成 (Autoregressive Generation) 阶段,使用 语言模型 (Language Model) 预测下一个物品的 词元 (Token) 序列。
设 表示用户 的 词元化 (Tokenized) 历史序列,其中第 个物品 表示为 。我们训练一个 自回归语言模型 (Autoregressive Language Model) 来预测下一个物品的 词元 (Token) 序列。
嵌入层 (Embedding Layer):
为了帮助模型区分每个 词元 (Token) 的作用,我们将三种类型的可学习 嵌入 (Embeddings) 组合起来,然后输入到 自回归语言模型 (Autoregressive Language Model) 的 编码器 (Encoder):
符号解释:
- : 用户历史中第 个物品的第 个
词元 (Token)的最终嵌入 (Embedding)。 - : 第 个物品的第 个
词元 (Token)的ID 嵌入 (ID embedding)。这表示词元 (Token)本身的含义。 - : 第 语义层级的可学习
层级嵌入 (Level embedding)。这告诉模型当前词元 (Token)属于哪个语义粒度级别(例如,类别、标题、描述或CF级别)。 - : 用户历史中第 个物品的位置的可学习
位置嵌入 (Position embedding)。这表示当前物品在用户历史序列中的相对或绝对位置。 这些嵌入 (Embeddings)为模型提供了跨层级和位置的结构化线索,有助于实现更连贯的粗粒度到细粒度 (Coarse-to-Fine)生成 (Generation)。
下游训练目标 (Downstream Training Objective):
我们采用 排序引导生成损失 (Ranking-guided Generation Loss) 来增强 词元 (Token) 级别的判别能力:
符号解释:
- :
排序引导生成损失 (Ranking-guided Generation Loss)。这是一个交叉熵损失 (Cross-Entropy Loss)的变体,鼓励模型将正确的词元 (Token)排在更高的位置。 - : 语义层级的总数。
- : 下一个要预测的物品 在第 语义层级的
真实标注数据 (Ground Truth)词元 (Token)。 - :
语言模型 (Language Model)预测词元 (Token)的分数(通常是logit值)。 - : 温度参数,用于调整
softmax分布的平滑度。较高的 会使分布更平滑,较低的 会使分布更尖锐。 - : 第 语义层级的
词汇表 (Vocabulary),包含所有可能的词元 (Token)。 - :
词汇表 (Vocabulary)中的一个词元 (Token)。 这个目标鼓励模型在每个语义层级中,将正确的词元 (Token)排名高于所有干扰项词元 (Token),从而提高生成词元 (Token)的准确性。
4.3. 整体框架图
以下是 CoFiRec 的整体框架图,展示了多层次的 词元化 (Tokenization) 和 粗粒度到细粒度 (Coarse-to-Fine) 生成 (Generation) 过程。
该图像是CoFiRec的框架示意图,展示了多层次的tokenization和生成过程。左侧为CoFiRec Tokenizer,分解项目元数据至不同语义层次,包括类别、标题和描述,并进行编码。右侧展示自回归推荐器的生成机制,基于用户历史生成项目tokens,逐步建模用户意图。
Figure 3: CoFiRec 的整体框架,它为 生成式推荐 (Generative Recommendation) 建模多级 词元化 (Tokenization) 或 粗粒度到细粒度 (Coarse-to-Fine) 生成。左侧:CoFiRec Tokenizer 将物品 元数据 (Metadata) 分解为层次语义级别(例如,类别、标题、描述),并使用 粗粒度到细粒度 (Coarse-to-Fine) 向量量化 (Vector Quantization) 模块编码每个级别。协同过滤 (Collaborative Filtering, CF) 信号作为最细粒度的 词元 (Token),通过专门的 CF Tokenizer 从 预训练 CF 嵌入 (pre-trained CF embedding) 独立 词元化 (Tokenize)。右侧:在 生成 (Generation) 过程中,自回归语言模型 (autoregressive language model) 从粗到细生成 词元 (Tokens),条件依赖于用户历史。
5. 实验设置
本节详细介绍 CoFiRec 实验的设置,包括所使用的数据集、评估指标、对比基线模型以及具体的实现细节。
5.1. 数据集
实验在三个真实世界的公开推荐数据集上进行评估,这些数据集来自不同的领域:
-
Instruments (Musical Instruments): 该数据集来源于
Amazon评论数据集 (McAuley et al., 2015),包含了用户与音乐相关产品的交互记录。 -
Beauty: 同样来自
Amazon评论数据集,专注于用户与美容产品的交互。 -
Yelp: 一个流行的基准数据集,包含用户对本地商家的评论 (Yelp, 2023)。
这些数据集在
序列推荐 (Sequential Recommendation)研究中被广泛采用。为了进行用户行为的序列建模,我们遵循序列推荐 (Sequential Recommendation)的标准设置 (Quadrana et al., 2017) 和数据预处理程序 (Kang and McAuley, 2018; Li et al., 2020)。具体预处理步骤包括:
-
移除交互次数少于 5 次的用户和物品。
-
对于构建语义层次结构,移除完全缺失
元数据 (Metadata)的物品。 -
采用
leave-one-out策略将数据划分为训练集、验证集和测试集 (Kang and McAuley, 2018; Sun et al., 2019)。即每个用户的最近一次交互用于测试,倒数第二次交互用于验证,其余用于训练。 -
在训练时,每个用户的交互历史被限制为最近的 20 个物品 (Chen et al., 2021; Sun et al., 2019)。
以下是数据集的统计信息:
Dataset # Users # Items # Interactions Avg. Seq. Length Instruments 24,772 9,922 206,153 8.32 Yelp 30,431 20,033 316,354 10.40 Beauty 22,363 12,101 198,502 8.88
以下是原文 Table 9 的结果:
| Dataset | # Users | # Items | # Interactions | Avg. Seq. Length |
|---|---|---|---|---|
| Instruments | 24,772 | 9,922 | 206,153 | 8.32 |
| Yelp | 30,431 | 20,033 | 316,354 | 10.40 |
| Beauty | 22,363 | 12,101 | 198,502 | 8.88 |
5.2. 评估指标
我们遵循 TIGER (Rajput et al., 2023) 的评估协议,并报告 Recall@K 和 NDCG@K 的性能,其中 。这两个指标都在为每个用户推荐的候选物品排序列表上计算。
-
Recall@K (召回率@K):
- 概念定义:
Recall@K衡量的是在前 个推荐物品中,实际用户会与之交互的真实标注数据 (Ground Truth)物品所占的比例。它关注的是模型在推荐列表前列能否“命中”用户真正感兴趣的物品。 - 数学公式:
- 符号解释:
- : 在模型推荐的前 个物品中,与用户实际下一个交互物品相符的物品数量。在
leave-one-out评估中,这通常为 1(如果命中了)或 0(如果没有命中)。 - : 用户实际下一个交互物品的数量,在
leave-one-out设置中通常为 1。
- : 在模型推荐的前 个物品中,与用户实际下一个交互物品相符的物品数量。在
- 概念定义:
-
NDCG@K (Normalized Discounted Cumulative Gain at K, 归一化折损累计增益@K):
- 概念定义:
NDCG@K是一个评估推荐列表质量的指标,它不仅考虑了推荐物品的相关性,还考虑了相关物品在列表中的位置。排名越靠前的相关物品对NDCG的贡献越大。它首先计算DCG@K (Discounted Cumulative Gain at K),然后将其除以IDCG@K (Ideal Discounted Cumulative Gain at K)进行归一化,IDCG@K是在理想排序(所有相关物品按相关性降序排列)下的DCG值。 - 数学公式: 其中,
- 符号解释:
- : 排名第 的推荐物品的相关性得分。在
二元相关性 (binary relevance)场景(即物品相关与否只有 0 或 1)中,如果该物品是用户下一个实际交互的物品,则为 1,否则为 0。 - : 理想排序中排名第 的物品的相关性得分。在
leave-one-out评估中,这意味着第一个物品的rel'为 1,其余为 0。 - : 折扣因子,随着物品排名 的增加,其对总
DCG的贡献会减小。
- : 排名第 的推荐物品的相关性得分。在
- 概念定义:
5.3. 对比基线
我们选择了各种强大的基线方法与 CoFiRec 进行比较,这些方法分为两大类:
-
ID-based 推荐模型:
- MF (Matrix Factorization) (Rendle, 2010): 经典的
矩阵分解 (Matrix Factorization)方法,通过对用户-物品交互矩阵进行分解来学习潜在嵌入 (Embeddings)。 - BERT4Rec (Sun et al., 2019): 使用
Transformer架构进行序列推荐 (Sequential Recommendation),采用掩码语言模型 (Masked Language Model)的训练方式。 - LightGCN (He et al., 2020): 简化了
图卷积网络 (Graph Convolutional Network),用于协同过滤 (Collaborative Filtering)。 - SASRec (Self-Attentive Sequential Recommendation) (Kang and McAuley, 2018): 基于
自注意力 (Self-Attention)机制的序列推荐 (Sequential Recommendation)模型,能够捕捉用户行为序列中的长期依赖。
- MF (Matrix Factorization) (Rendle, 2010): 经典的
-
生成式推荐 (Generative Recommendation) 模型:
- BigRec (Bao et al., 2025): 直接从物品标题生成推荐。
- P5-SemID 和 P5-CID (Hua et al., 2023): 这两种方法引入了基于
元数据 (Metadata)层次结构和协同树 (Collaborative Trees)的结构化标识符。 - LETTER (Wang et al., 2024): 结合
残差量化 (Residual Quantization)和多样性约束 (Diversity Constraint),以生成更具信息量的表示。 - TIGER (Tokenized Item Generation for Recommendation) (Rajput et al., 2023): 通过
残差向量量化 (RQ-VAE)将物品表示为量化代码序列 (Quantized Code Sequences),从而实现词元 (Token)生成。 - IDGenRec (Tan et al., 2024): 学习从人类
词汇表 (Vocabulary)中生成简洁的文本ID。
5.4. 实现细节
- 物品表示: 每个物品使用长度为 的
词元序列 (Token Sequence)表示。其中,前三个词元 (Token)来自语义词元化器 (Semantic Tokenizer),最后一个词元 (Token)来自CF 词元化器 (CF Tokenizer)。 - 语义编码: 对于
语义编码 (Semantic Encoding),我们使用预训练 LLAMA-7B 模型 (pre-trained LLAMA-7B model)(Grattafiori et al., 2024) 从物品元数据 (Metadata)中提取嵌入 (Embeddings)。 - 协同信号编码: 对于
协同信号 (Collaborative Signals),我们采用一个预训练 SASRec 模型 (pre-trained SASRec model)作为CF 编码器 (CF encoder),其嵌入维度 (embedding dimension)为 768。 词元化器 (Tokenizer)训练: 第一阶段的词元化器 (Tokenizer)训练进行 10,000迭代 (epochs),使用AdamW优化器,学习率为 。码本 (Codebook)配置: 每个词元位置 (Token Position)对应一个独立的码本 (Codebook)。码本 (Codebook)大小在 中进行搜索。- 编码器和解码器:
编码器 (Encoder)和解码器 (Decoder)均实现为多层感知机 (Multi-Layer Perceptrons, MLPs)。 - 第二阶段微调: 第二阶段的微调遵循
TIGER(Rajput et al., 2023) 的设置,使用T5 (Text-to-Text Transfer Transformer)(Raffel et al., 2020) 作为生成骨干网络 (generative backbone)。 - 超参数: 温度参数 设置为 1,平衡系数 设置为 0.25。学习率在 中进行搜索。
- 推理: 在推理时,遵循以往工作 (Rajput et al., 2023),使用
集束搜索 (Beam Search),集束大小 (beam size)为 20。
6. 实验结果与分析
本节将详细展示 CoFiRec 的实验结果,并进行深入分析,包括整体性能比较、消融研究、码本 (Codebook) 大小影响、ID 分布的定性分析、冷启动 (Cold-Start) 泛化能力以及 骨干网络 (Backbone) 适应性。
6.1. 核心结果分析
我们比较了 CoFiRec 与 ID-based 和 生成式推荐 (Generative Recommendation) 模型在 Instruments、Yelp 和 Beauty 三个公共数据集上的性能。评估指标为 Recall@K 和 NDCG@K,其中 。
以下是原文 Table 1 的结果:
| Dataset | Metric | ID-based Recommendation | Generative Recommendation | |||||||||
| MF | BERT4R. | LGCN | SASRec | BigRec | SemID | CID | LETTER | TIGER | IDGenR. | CoFiRec | ||
| Instruments | R@5 | 0.0479 | 0.0671 | 0.0794 | 0.0751 | 0.0513 | 0.0775 | 0.0809 | 0.0807 | 0.0842 | 0.0843 | 0.0897 |
| R@10 | 0.0735 | 0.0822 | 0.0100 | 0.0947 | 0.0576 | 0.0964 | 0.0987 | 0.0982 | 0.1035 | 0.0999 | 0.1118 | |
| N@5 | 0.0330 | 0.0560 | 0.0662 | 0.0627 | 0.0470 | 0.0669 | 0.0695 | 0.0704 | 0.0720 | 0.0735 | 0.0752 | |
| N@10 | 0.0412 | 0.0608 | 0.0728 | 0.0690 | 0.0491 | 0.0730 | 0.0751 | 0.0760 | 0.0782 | 0.0785 | 0.0820 | |
| Yelp | R@5 | 0.0220 | 0.0186 | 0.0234 | 0.0183 | 0.0154 | 0.0202 | 0.0219 | 0.0164 | 0.0203 | 0.0230 | 0.0252 |
| R@10 | 0.0381 | 0.0291 | 0.0383 | 0.0296 | 0.0169 | 0.0324 | 0.0338 | 0.0259 | 0.0270 | 0.0323 | 0.0395 | |
| N@5 | 0.0138 | 0.0115 | 0.0146 | 0.0116 | 0.0137 | 0.0131 | 0.0140 | 0.0116 | 0.0130 | 0.0165 | 0.0162 | |
| N@10 | 0.0190 | 0.0159 | 0.0193 | 0.0152 | 0.0142 | 0.0170 | 0.0181 | 0.0147 | 0.0173 | 0.0195 | 0.0208 | |
| Beauty | R@5 | 0.0294 | 0.0203 | 0.0305 | 0.0380 | 0.0243 | 0.0393 | 0.0404 | 0.0263 | 0.0349 | 0.0369 | 0.0444 |
| R@10 | 0.0474 | 0.0347 | 0.0511 | 0.0588 | 0.0299 | 0.0584 | 0.0597 | 0.0427 | 0.0353 | 0.0550 | 0.0679 | |
| N@5 | 0.0145 | 0.0124 | 0.0194 | 0.0246 | 0.0181 | 0.0273 | 0.0284 | 0.0161 | 0.0224 | 0.0252 | 0.0295 | |
| N@10 | 0.0191 | 0.0170 | 0.0260 | 0.0313 | 0.0198 | 0.0335 | 0.0347 | 0.0213 | 0.0283 | 0.0311 | 0.0370 | |
分析:
- 生成式推荐的优势: 从表格中可以明显看出,
生成式推荐 (Generative Recommendation)模型普遍显著优于MF、BERT4Rec、LightGCN和SASRec等ID-based方法。这突出了利用文本和语义信号而非仅仅离散物品ID的优势。 - CoFiRec 的卓越性能: 在所有数据集上,
CoFiRec均取得了最佳性能。相对于性能最好的基线模型(通常是IDGenRec或CID),CoFiRec平均提升了 6.4%。这证实了其结构化词元化 (Structured Tokenization)设计,能够更好地捕捉物品的语义层次结构,从而实现更准确的生成式推荐 (Generative Recommendation)。 - 语义组织的重要性:
IDGenRec通过将物品语义编码为文本标识符,表现出强大的竞争力,这表明集成基于语言的表示的益处。CoFiRec在此基础上更进一步,引入了层次化粗粒度到细粒度 (Hierarchical Coarse-to-Fine)的词元化 (Tokenization)方案,它保留了多级属性信息(例如类别、标题、描述和协同信号 (Collaborative Signals)),并与用户在真实网络场景中逐步细化偏好的方式对齐。 - 统计显著性: 论文指出
CoFiRec的改进在统计上是显著的 (),进一步验证了其方法的有效性。
6.2. 消融实验/参数分析
我们进行了详细的消融实验来评估 CoFiRec 各个组件的贡献。
以下是原文 Table 2a 的结果:
| Method | R@5 | R@10 | N@5 | N@10 |
| Reverse Indices | 0.0859 | 0.1047 | 0.0724 | 0.078 |
| Random Indices | 0.0834 | 0.0991 | 0.0725 | 0.077 |
| w/o Elevel & Epos | 0.0885 | 0.1072 | 0.0753 | 0.081 |
| w/o cf | 0.0870 | 0.1082 | 0.0740 | 0.080 |
| VAR w/ Text | 0.0675 | 0.0798 | 0.0599 | 0.063 |
| CoFiRec | 0.0897 | 0.1118 | 0.0752 | 0.082 |
分析:
-
词元结构 (Token Structure)的影响:Reverse Indices(反向索引): 将词元 (Token)序列的顺序反转。Random Indices(随机索引): 随机打乱词元 (Token)序列的顺序。 这两种变体都导致了显著的性能下降,其中Random Indices表现最差。这表明CoFiRec中保留语义结构(即从粗到细的顺序)对于自回归模型 (Autoregressive Model)进行准确生成 (Generation)至关重要。
-
协同过滤 (CF)集成的效果 (w/o cf): 将最终的CF 词元 (CF Token)替换为额外的语义级别词元 (Token)(从标题和描述中量化 (Quantize)得到),导致性能下降。这强调了在最细粒度级别集成协同信号 (Collaborative Signals)的重要性,它为语义相似的物品提供了必要的消歧信息,通过捕捉用户-物品共现模式来补充文本语义。 -
嵌入组件 (Embedding Components)的效果 (w/o Elevel & Epos): 移除层级嵌入 (Level Embedding)和位置嵌入 (Position Embedding)导致性能明显下降。这表明显式编码词元类型 (Token Type)(通过层级嵌入 (Level Embedding))和位置信息 (Position Information)(通过位置嵌入 (Position Embedding))有助于模型更有效地识别和利用语义角色,从而实现更连贯的粗粒度到细粒度 (Coarse-to-Fine)生成 (Generation)。 -
与替代层次结构构建方法的比较 (VAR w/ Text): 我们还修改了
VAR(Tian et al., 2024) 方法,通过对文本嵌入 (Embeddings)进行多尺度池化 (Pooling)来构建层次结构。这种方法产生了劣于CoFiRec的结果,这可能是因为在一维嵌入空间 (one-dimensional embedding space)中进行池化 (Pooling)会引入语义损失,不如CoFiRec的显式语义分解方法有效。
6.2.1. 码本 (Codebook) 大小的影响
CoFiRec 在每个语义级别使用独立的 码本 (Codebook)。我们分析了 码本 (Codebook) 大小对性能的影响。
以下是原文 Table 3 的结果:
| Size | Level Size | R@5 | R@10 | N@5 | N@10 |
| Small | [256,256,256,256] | 0.0860 | 0.1078 | 0.0725 | 0.0795 |
| Medium | [256,256,512,512] | 0.0893 | 0.1111 | 0.0751 | 0.0822 |
| Large | [256,256,512,1024] | 0.0867 | 0.1065 | 0.0740 | 0.0804 |
分析:
码本利用率 (Code Utilization):图 4展示了CoFiRec的码本利用率 (Codebook Utilization Rate),该利用率从粗粒度到细粒度级别逐渐增加。这表明更深层次的词元 (Token)编码了更详细的物品语义,因此需要更大的码本容量 (Code Capacity)来进行区分。这一观察与直觉一致:高层类别代表更广泛的语义集群,而深层级别编码更精细和独特的物品语义。- 最佳配置: 中等配置(
[256, 256, 512, 512])实现了最佳整体性能。这表明细粒度级别从适度较大的码本 (Codebook)中受益,以区分相似物品。 - 过大
码本 (Codebook)的影响: 过大的码本 (Codebook)(例如[256, 256, 512, 1024])可能过度划分潜在空间,导致语义碎片化,略微降低性能。 这些结果强调了在不同语义级别之间平衡码本容量 (Code Capacity)的重要性,以在生成式推荐 (Generative Recommendation)中实现表达能力和稳定性的平衡。
下图(原文 Figure 4)展示了 CoFiRec 的 码本利用率 (Codebook Utilization Rate):
该图像是一个条形图,展示了 CoFiRec 的代码本利用率,分为四个层级。层级 4 的利用率为 510 / 512 (99.61%),层级 3 为 386 / 512 (75.39%),层级 2 为 226 / 256 (88.28%),层级 1 为 203 / 256 (79.30%)。
6.2.2. ID 分布的定性分析
为了更好地理解不同 词元化 (Tokenization) 方法如何保留语义结构,我们可视化了 CoFiRec 和 TIGER 在 Instruments 数据集上跨物品类别的 语义 ID (Semantic ID) 分布。
下图(原文 Figure 5)展示了 CoFiRec 和 TIGER 在 Instruments 数据集上的 语义 ID (Semantic ID) 分布:

分析:
- CoFiRec 的语义一致性: 在
CoFiRec中,共享相同前缀的物品与特定的高级别类别高度对齐。例如,同一粗粒度类别的物品倾向于共享相同的第一个词元 (Token)。即使物品共享相同的第一个词元 (Token)(粗粒度语义),它们在第二级也会进一步区分,捕捉更细粒度的类别差异。这种层次化组织 (Hierarchical Organization)在CoFiRec中尤其明显。 - TIGER 的语义一致性: 相比之下,
TIGER的ID更分散,前缀-类别对齐没有清晰的模式,表明其词元分配 (Token Assignments)中的语义一致性较弱。 这些结果证实了CoFiRec的词元化器 (Tokenizer)通过粗粒度到细粒度 (Coarse-to-Fine)的结构保留了语义层次,将相似物品分组在共享前缀下,同时在更深层次的词元 (Token)中捕捉到更精细的区分,从而增强了语义连贯性和可解释性。
6.2.3. 冷启动 (Cold-Start) 泛化案例研究
为了评估模型在 冷启动 (Cold-Start) 场景下的泛化能力,我们构建了一个包含不在训练数据中的物品的测试集。冷物品 (Cold Items) 被定义为物品频率最低的 2% 的物品,通过它们在用户交互序列中作为最后一个物品的出现次数来衡量。词元化器 (Tokenizer) 仅在训练物品上训练,然后用于推断这些未见的 冷启动 (Cold-Start) 物品的 语义 ID (Semantic IDs)。
以下是原文 Table 4 的结果:
| Scenario | Method | R@5 | R@10 | N@5 | N@10 |
| Warm | TIGER | 0.0845 | 0.1038 | 0.0723 | 0.0784 |
| CoFiRec (+4.7%) | 0.0889 | 0.1101 | 0.0747 | 0.0816 | |
| Cold | TIGER | 0.0654 | 0.0801 | 0.0673 | 0.0688 |
| CoFiRec (+10.0%) | 0.0707 | 0.0943 | 0.0690 | 0.0767 |
分析:
- CoFiRec 的优势:
CoFiRec在热启动 (Warm-Start)和冷启动 (Cold-Start)子集上始终优于TIGER。在热启动 (Warm-Start)情况下,CoFiRec获得了 4.7% 的提升;而在冷启动 (Cold-Start)设置下,其提升幅度更大,达到 10.0%。 - 泛化能力的体现: 这清楚地表明,
CoFiRec不仅在有足够用户-物品交互时保持强大性能,而且在面对未见或不频繁物品时,也能更有效地泛化。 - 原因: 这种优势归因于其
粗粒度到细粒度 (Coarse-to-Fine)词元化 (Tokenization)设计,它捕捉了物品属性之间结构化语义依赖 (Structured Semantic Dependencies)。通过利用这种层次化组织 (Hierarchical Organization),CoFiRec有效地将语义模式从已知物品迁移到未见物品,即使在具有挑战性的冷启动 (Cold-Start)条件下也能实现稳健的性能。
6.2.4. 自动层次结构构建 (AHC)
尽管物品的层次化 元数据 (Metadata) 在大多数推荐数据集中广泛可用,但在某些实际场景中可能缺乏此类结构化信息。为了探索在这种情况下是否仍能自动推导出有意义的层次结构,我们研究了仅从少量物品 元数据 (Metadata) 生成层次化语义的能力。
由于预算限制,我们从 Instruments 数据集中随机选择了 1% 的用户及其对应的 2,258 个交互物品。使用 GPT-4o,我们仅基于每个物品的标题和描述构建了 4 级语义层次结构,而无需访问类别或品牌等结构化 元数据 (Metadata)。这种变体被称为 AHC (Automatic Hierarchy Construction)。TIGER 和 CoFiRec 依赖于完整的 元数据 (Metadata) 字段,而 AHC 仅利用 GPT 生成的层次结构来形成其 词元化 (Tokenization) 结构。
以下是原文 Table 8 的结果:
| Method | R@5 | R@10 | N@5 | N@10 |
| TIGER | 0.0444 | 0.0484 | 0.0293 | 0.0307 |
| CoFiRec w/ AHC | 0.0444 | 0.0484 | 0.0313 | 0.0327 |
| CoFiRec | 0.0484 | 0.0605 | 0.0288 | 0.0327 |
分析:
- AHC 的竞争力: 如
Table 8所示,AHC仍然取得了有竞争力的性能,接近完整元数据 (Metadata)CoFiRec的结果。 LLM的潜力: 这表明大语言模型 (Large Language Models, LLMs)能够有效地从非结构化文本中推断出粗粒度到细粒度 (Coarse-to-Fine)的语义关系,这在缺乏显式元数据 (Metadata)的情况下提供了一个可行的替代方案。这些发现突显了将LLM基于推理的能力与生成式推荐 (Generative Recommendation)相结合,以实现自动语义丰富化的更广泛潜力。
6.2.5. 骨干网络 (Backbone) 适应性
我们进一步评估了 CoFiRec 的 语义词元化器 (Semantic Tokenizer) 的适应性,方法是将 CoFiRec 生成的物品 ID 应用于微调不同的 LLM 骨干网络 (LLM Backbones),用于 序列推荐 (Sequential Recommendation)。
以下是原文 Table 5 的结果:
| Backbone | Method | R@5 | R@10 | N@5 | N@10 |
| T5 | TIGER | 0.0444 | 0.0484 | 0.0293 | 0.0307 |
| CoFiRec | 0.0484 | 0.0605 | 0.0288 | 0.0327 | |
| LLaMA-1B | TIGER | 0.0202 | 0.0282 | 0.0202 | 0.0226 |
| CoFiRec | 0.0403 | 0.0444 | 0.0330 | 0.0342 | |
| LLaMA-3B | TIGER | 0.0242 | 0.0282 | 0.0192 | 0.0205 |
| CoFiRec | 0.0403 | 0.0403 | 0.0373 | 0.0373 |
分析:
- CoFiRec 的一致优势: 在所有
骨干网络 (Backbones)上,CoFiRec始终优于TIGER。这表明其结构化词元化 (Structured Tokenization)为下游模型提供了更具信息量和可迁移的表示。 - TIGER 的局限性: 尽管
TIGER在T5 骨干网络 (T5 backbone)下表现良好,但当扩展到LLaMA-1B和LLaMA-3B等更大的解码器专用架构 (Decoder-Only Architectures)时,其有效性显著下降。 - CoFiRec 的稳健性: 相比之下,
CoFiRec在所有骨干网络 (Backbones)上都保持了稳定且具有竞争力的结果,这表明其粗粒度到细粒度 (Coarse-to-Fine)词元化 (Tokenization)提供了更一致和可迁移的表示。
6.2.6. 运行时和可扩展性分析
以下是原文 Table 10 的结果:
| Method | Stage | Training Time | Testing Time |
| TIGER | Tokenization | 0.3488s/step | 0.3113s/step |
| CoFiRec | Tokenization | 0.3584s/step | 0.3256s/step |
| TIGER | Generation | 400.6869s/epoch | 0.0998s/step |
| CoFiRec | Generation | 402.3185s/epoch | 0.0943s/step |
分析:
CoFiRec在词元化 (Tokenization)阶段引入的额外层次化模块仅导致计算时间的轻微增加,而生成 (Generation)阶段的效率几乎相同。这表明CoFiRec相比TIGER仅引入了最小的额外开销。- 在内存使用方面,
CoFiRec也保持高效,词元化 (Tokenization)阶段不到 1.8 GB GPU 内存,生成 (Generation)阶段不到 4 GB(使用相同T5 骨干网络 (T5 backbone)微调时),与TIGER相当。 - 主要的计算成本仍然在于
大语言模型 (Large Language Models)的下游微调,这是所有生成式推荐系统 (Generative Recommender Systems)的共同特点。
6.3. 码本 (Codebook) 冲突分析
我们分析了 层次化词元化 (Hierarchical Tokenization) 对 码本冲突 (Code Collisions) 的影响。码本冲突 (Code Collisions) 指的是不同的物品被 量化 (Quantize) 到相同的 码字 (Codeword)。
以下是原文 Table 6 和 Table 7 的结果:
| Model | Instruments | Yelp | Beauty |
| RQ-VAE Tokenizer | 0.0027 | 0.0410 | 0.0009 |
| CoFiRec Tokenizer | 0.0001 | 0.0002 | 0.0002 |
| Codebook Size | Level Size | Collision Rate |
| Small | [256, 256, 256, 256] | 0.0001 |
| Medium | [256, 256, 512, 512] | 0.0000 |
| Large | [256, 256, 512, 1024] | 0.0000 |
分析:
CoFiRec显著降低了码本冲突 (Code Collisions)率,比RQ-VAE Tokenizer(在TIGER中使用)低一个数量级以上。这表明将物品语义分解为多个层次,并将协同信号 (Collaborative Signals)作为最细粒度的词元 (Token)集成,能够更有效地利用码空间 (Code Space),避免在单一潜在空间中过度压缩。- 扩大深层语义级别的
码本 (Codebook)容量可以进一步抑制码本冲突 (Code Collisions)。在中等和大型配置下,冲突率接近零。这证实了粒度感知容量分配 (granularity-aware capacity allocation)可以有效地减少词元空间 (Token Space)中的冗余。
7. 总结与思考
7.1. 结论总结
本研究提出了 CoFiRec,一个创新的 生成式推荐 (Generative Recommendation) 框架。CoFiRec 的核心在于通过 结构化词元化 (Structured Tokenization) 和 层次化生成 (Hierarchical Generation),以 粗粒度到细粒度 (Coarse-to-Fine) 的方式建模物品语义。该框架通过分解物品 元数据 (Metadata) 为多个语义级别,并将其与 协同过滤 (Collaborative Filtering) 信号集成,有效地捕捉了用户偏好从一般兴趣到具体物品的渐进细化过程。
理论分析证明,层次解码 (Hierarchical Decoding) 能够降低预测物品与 真实标注数据 (Ground Truth) 物品之间的预期 不相似性 (Dissimilarity)。广泛的实验结果,在多个公共基准数据集和不同 LLM 骨干网络 (LLM Backbones) 上,一致表明 CoFiRec 显著优于现有方法。此外,消融实验验证了 CoFiRec 各组件(如结构化 词元顺序 (Token Order)、CF 信号、层级嵌入 (Level Embeddings) 和 位置嵌入 (Position Embeddings))的有效性。在 冷启动 (Cold-Start) 场景下的优异表现以及对 码本冲突 (Code Collisions) 的有效缓解,进一步突出了其泛化能力和表示学习的质量。
总的来说,CoFiRec 提供了一个新的视角,强调了 结构化词元设计 (Structured Token Design) 在 生成式推荐 (Generative Recommendation) 中的关键作用,不仅提升了推荐性能,也增强了模型对用户意图演变的捕捉能力和可解释性。
7.2. 局限性与未来工作
论文作者指出了 CoFiRec 的几个潜在局限性,并提出了未来的研究方向:
- 端到端集成 (End-to-end Integration): 目前,
CoFiRec中的词元化器 (Tokenizer)和生成式推荐 (Generative Recommendation)模型是分开训练的。尽管这种模块化设计有利于跨任务的可迁移性,但未来的工作可以探索联合优化策略,以实现词元化 (Tokenization)和生成 (Generation)之间的更强相互适应,从而提高效率和语义一致性。 - 多模态推荐 (Multimodal Recommendation): 当前框架主要处理文本
元数据 (Metadata)。然而,许多现实世界的平台涉及丰富的多模态信号 (Multimodal Signals),如产品图片、视频或用户交互。将CoFiRec的粗粒度到细粒度 (Coarse-to-Fine)词元化 (Tokenization)扩展以整合视觉和其他模态 (Modalities)是一个自然的下一步,这将进一步增强语义基础,并可能带来更全面的生成式推荐系统 (Generative Recommendation Systems)。
7.3. 个人启发与批判
7.3.1. 个人启发
CoFiRec 的研究为 生成式推荐 (Generative Recommendation) 领域带来了几点重要启发:
- 对齐用户认知过程的重要性: 论文的核心创新在于模仿用户从粗略到精细的偏好细化过程。这提醒我们,在设计
推荐系统 (Recommender Systems)时,将模型机制与人类的认知和行为模式对齐,往往能带来更自然、更有效的解决方案。这种粗粒度到细粒度 (Coarse-to-Fine)的思维方式不仅适用于词元化 (Tokenization),也可能推广到其他序列建模 (Sequential Modeling)任务中。 - 结构化表示的价值:
CoFiRec强调了物品元数据 (Metadata)中语义层次的内在价值。通过显式地保留和利用这种结构,模型能够学习到更丰富、更具判别力的物品表示,这对于提高推荐的准确性和泛化能力至关重要,尤其是在冷启动 (Cold-Start)场景下。这对于未来在生成式推荐 (Generative Recommendation)中处理复杂物品信息提供了新的思路。 CF信号的巧妙集成: 将协同过滤 (Collaborative Filtering)信号作为最细粒度的词元 (Token)集成,是一种非常巧妙的做法。它平衡了文本语义和行为信息,使得模型在有了粗粒度语义上下文后,能够利用CF信号进行最终的、精细化的用户意图消歧。这表明在生成式推荐 (Generative Recommendation)中,不同类型的信息可以以结构化的方式互补。- 可解释性和控制性: 结构化的
词元 (Token)序列也可能带来更好的可解释性。例如,通过观察生成的不同层级词元 (Tokens),我们或许能更清晰地理解模型推荐某个物品的具体原因(是类别匹配、标题描述吸引,还是CF模式驱动)。这为未来构建更透明、更可控的生成式推荐系统 (Generative Recommendation Systems)提供了可能性。
7.3.2. 批判
尽管 CoFiRec 取得了令人印象深刻的成果,但在以下几个方面仍存在潜在的问题或可以改进的空间:
层次结构构建 (Hierarchy Construction)的依赖与泛化:- 依赖性: 论文中
层次结构构建 (Hierarchy Construction)依赖于元数据 (Metadata)字段(类别、标题、描述)。虽然在许多电商平台这些信息是可用的,但在一些领域或平台,元数据 (Metadata)可能不完整、不一致,甚至完全缺失。 AHC的局限性: 虽然AHC实验表明LLM可以辅助构建层次结构,但其质量和成本(特别是对于大规模数据)仍是一个实际挑战。GPT-4o级别的LLM调用成本不菲,且其生成层次结构的稳定性、一致性和质量是否能与人工定义或高质量元数据 (Metadata)相媲美,值得进一步探讨。
- 依赖性: 论文中
- 理论证明的简化性: 理论证明中对
不相似性 (Dissimilarity)的定义 (K-k) 可能过于简化。在实际的语义空间中,不同语义层级之间的距离贡献可能不是线性的,例如,高层类别错误可能比低层描述错误导致更大的语义偏差。更复杂的不相似性 (Dissimilarity)度量可能需要考虑不同层级词元 (Token)的语义重要性。 码本 (Codebook)大小的优化: 实验结果表明码本 (Codebook)大小对性能有影响,但如何为每个语义层级动态或自适应地确定最佳码本 (Codebook)大小,仍是一个开放问题。目前可能需要手动调参,这在复杂场景下不够灵活。- 模型复杂度和训练效率: 虽然论文指出
CoFiRec的运行时开销与TIGER相当,但CoFiRec Tokenizer引入了额外的编码器 (Encoders)和码本 (Codebooks),以及两阶段训练过程。在极端大规模的推荐场景下,这些额外组件的维护和训练成本仍需仔细评估。 LLaMA 骨干网络 (LLaMA Backbone)性能差距: 尽管CoFiRec在LLaMA骨干网络 (Backbones)上优于TIGER,但在Table 5中,LLaMA变体的绝对性能(例如LLaMA-3B的R@5为 0.0403)低于T5 骨干网络 (T5 backbone)的性能(R@5为 0.0484),这可能表明CoFiRec与LLaMA家族解码器专用架构 (Decoder-Only Architectures)的协同作用还有待进一步优化,或者LLaMA在这个特定任务上的表现本身就不如T5。
相似论文推荐
基于向量语义检索推荐的相关论文。