论文状态:已完成

CoFiRec: Coarse-to-Fine Tokenization for Generative Recommendation

发表:2025/11/28
原文链接PDF 下载
价格:0.100000
价格:0.100000
已有 7 人读过
本分析由 AI 生成,可能不完全准确,请以原文为准。

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):InstrumentsYelpBeauty 等多个公共基准数据集上,CoFiRec 在各种 LLM 骨干网络 (LLM Backbones)(如 T5LLaMA3.2-1BLLaMA3.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) 序列 x1,x2,,xNx_1, x_2, \ldots, x_N 时,模型生成 xtx_t 的概率是基于 x1,,xt1x_1, \ldots, x_{t-1} 的。这种机制使得模型能够捕捉序列中的长期依赖关系。

  • 向量量化 (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): 推荐系统中最常用的一类技术。它的基本思想是:如果用户 AA 和用户 BB 在过去对某些物品有相似的偏好,那么用户 AA 可能会喜欢用户 BB 喜欢但用户 AA 尚未尝试的物品。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)(如 TIGERLETTER)通常将物品的所有异构属性(如 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) 中,我们的目标是预测用户 uUu \in \mathcal{U} 在给定其历史交互序列 Hu=[i1,i2,,iT]\mathcal{H}_u = [i_1, i_2, \ldots, i_T] 后可能交互的下一个物品 iT+1Li_{T+1} \in \mathcal{L}CoFiRec 将这一任务重构为 粗粒度到细粒度 (Coarse-to-Fine)词元序列 (Token Sequence) 预测问题。

重构物品表示: 我们将一个物品 ii 表示为一个结构化的离散 词元 (Token) 序列 Si=[si(1),si(2),,si(K1),si(K)]S_i = [s_i^{(1)}, s_i^{(2)}, \ldots, s_i^{(K-1)}, s_i^{(K)}]。其中:

  • si(1),,si(K1)s_i^{(1)}, \ldots, s_i^{(K-1)} 对应于物品的渐进语义级别(例如,类别、标题、描述)。
  • si(K)s_i^{(K)}协同过滤 (Collaborative Filtering, CF) 词元 (Token)。我们将其放在序列的最后,因为它包含了用户特定的交互信号,这些信号在条件依赖于先前已解码的语义内容时,能够提供最有区分度的信息,帮助模型在粗粒度意图的基础上消除歧义。

生成概率模型: 整体的生成概率被建模为: P(s(K),...,s(1),Hu)=k=0KP(s(k)s(<k),Hu) \mathbb { P } ( \boldsymbol { s } ^ { ( K ) } , . . . , \boldsymbol { s } ^ { ( 1 ) } , \mathcal { H } _ { u } ) = \prod _ { k = 0 } ^ { K } \mathbb { P } ( \boldsymbol { s } ^ { ( k ) } \mid \boldsymbol { s } ^ { ( < k ) } , \mathcal { H } _ { u } ) 符号解释:

  • P()\mathbb{P}(\cdot): 表示概率。
  • s(k)\boldsymbol{s}^{(k)}: 表示物品在第 kk 个语义层级对应的 词元 (Token)
  • s(<k)\boldsymbol{s}^{(<k)}: 表示在第 kk 个语义层级之前所有已生成的更粗粒度层级的 词元 (Token) 序列。
  • Hu\mathcal{H}_u: 表示用户 uu 的历史交互序列。
  • KK: 表示语义层级的总数。 这个公式表明,每个 词元 (Token) s(k)s^{(k)} 都是以 粗粒度到细粒度 (Coarse-to-Fine) 的方式生成的,它条件依赖于所有先前生成的更粗粒度 词元 (Tokens) s(<k)s^{(<k)} 以及用户的交互历史 Hu\mathcal{H}_u。这种 自回归 (Autoregressive) 方式逐步细化了预测物品的语义特异性。

理论证明 (Proposition 1): 我们提供了一个理论依据,解释了为什么 层次化粗粒度到细粒度 (Hierarchical Coarse-to-Fine) 词元化 (Tokenization) 能够降低预期 不相似性 (Dissimilarity),相比于独立的扁平 词元 (Token) 预测。

理论设置: 我们考虑两种生成策略:

  1. 层次解码 (Hierarchical Decoding) 设置: 对应 CoFiRec 的解码策略,词元 (Tokens) 以从粗到细的粒度顺序生成。假设每个层级正确预测的条件概率为 pp。我们假设模型表现优于随机猜测(即 p>1/Vp > 1/V,其中 VV 是每个层级的 词汇表 (Vocabulary) 大小)。 我们可以将 层次解码 (Hierarchical Decoding) 视为在一个深度为 KK 的完整 VV-叉树上的遍历。每个内部节点代表一个前缀(部分 码 (Code)),每条边对应于从大小为 VV词汇表 (Vocabulary) 中选择一个 词元 (Token)。每个物品由从根到叶的唯一路径表示,包含 KK 个顺序 词元 (Token) 选择。 我们定义预测物品 ı^\hat{\imath}真实标注数据 (Ground Truth) 物品 ii 之间的 不相似性 (Dissimilarity) d(i,ı^)d(i, \hat{\imath}) 为它们在树中距离的一半。如果 iiı^\hat{\imath} 在第 kk 层级不同,不相似性 (Dissimilarity)K-k
  2. 独立解码 (Independent Decoding) 设置: 这种模式下,词元 (Tokens) 之间没有层次结构。每个 词元 (Token) 都是从大小为 VV 的扁平 词汇表 (Vocabulary) 中独立预测的,每个 词元 (Token) 的成功概率相同 pp,以便进行公平比较。

命题 1:Ehier[d(i,ı^)]\mathbb { E } _ { \mathrm { h i e r } } [ d ( i , \hat { \boldsymbol { \imath } } ) ]Eindep[d(i,ı^)]\mathbb { E } _ { \mathrm { i n d e p } } [ d ( i , \hat { \boldsymbol { \imath } } ) ] 分别表示在 层次解码 (Hierarchical Decoding)独立解码 (Independent Decoding) 下,预测物品 ı^\hat{\imath}真实标注数据 (Ground Truth) 物品 ii 之间的预期 不相似性 (Dissimilarity)。那么, Ehier[d(i,ı^)]<Eindep[d(i,ı^)]. \mathbb { E } _ { \mathrm { h i e r } } [ d ( i , \hat { \boldsymbol { \imath } } ) ] < \mathbb { E } _ { \mathrm { i n d e p } } [ d ( i , \hat { \boldsymbol { \imath } } ) ] .

证明草图: (完整证明请参阅附录 A)

  • 层次解码 (Hierarchical Decoding) 下的预期不相似性: 解码器逐级预测 词元 (Token)。如果在第 kk 级失败,则 不相似性 (Dissimilarity)K-k。成功预测到第 kk 级的概率是 pkp^k,完全成功的概率是 pKp^K。根据期望的线性性质,预期 不相似性 (Dissimilarity) 为: Ehier[d(i,ι^)]=Kk=1Kpk=Kpp2pK. \mathbb { E } _ { \mathrm { h i e r } } [ d ( i , \hat { \iota } ) ] = K - \sum _ { k = 1 } ^ { K } \boldsymbol { p } ^ { k } = K - \boldsymbol { p } - \boldsymbol { p } ^ { 2 } - \cdot \cdot \cdot \cdot \boldsymbol { - } \boldsymbol { p } ^ { K } . 符号解释:

    • Ehier[d(i,ı^)]\mathbb{E}_{\mathrm{hier}}[d(i, \hat{\imath})]: 层次解码 (Hierarchical Decoding) 下预测物品 ı^\hat{\imath}真实标注数据 (Ground Truth) 物品 ii 之间的预期 不相似性 (Dissimilarity)
    • KK: 语义层级的总数。
    • pp: 在每个层级正确预测的条件概率。
  • 独立解码 (Independent Decoding) 下的预期不相似性: 每个 词元 (Token) 都是独立预测的,不利用层次结构。这相当于从 VKV^K 种可能的叶子节点中随机采样一个 码 (Code),每个叶子节点(即每个物品)具有相等的概率。由此产生的预期 不相似性 (Dissimilarity) 为: Eindep[d(i,ı^)]=(Kk=1K1Vk)1pK11VK. \mathbb { E } _ { \mathrm { i n d e p } } [ d ( i , \hat { \imath } ) ] = \left( K - \sum _ { k = 1 } ^ { K } \frac { 1 } { V ^ { k } } \right) \cdot \frac { 1 - p ^ { K } } { 1 - \frac { 1 } { V ^ { K } } } . 符号解释:

    • Eindep[d(i,ı^)]\mathbb{E}_{\mathrm{indep}}[d(i, \hat{\imath})]: 独立解码 (Independent Decoding) 下预测物品 ı^\hat{\imath}真实标注数据 (Ground Truth) 物品 ii 之间的预期 不相似性 (Dissimilarity)
    • KK: 语义层级的总数。
    • VV: 每个层级的 词汇表 (Vocabulary) 大小。
    • pp: 在每个层级正确预测的条件概率。
  • 证明结论: 利用模型表现优于随机猜测(即 p>1/Vp > 1/V)这一事实,可以证明 Ehier[d(i,ı^)]<Eindep[d(i,ı^)]\mathbb { E } _ { \mathrm { h i e r } } [ d ( i , \hat { \imath } ) ] < \mathbb { E } _ { \mathrm { i n d e p } } [ d ( i , \hat { \imath } ) ]。这确立了 层次化粗粒度到细粒度 (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) 过程从其标题或描述中推断出类似类别的术语。 因此,对于每个物品 ii,构建的 KK 级层次结构表示为 [xi(1),xi(2),,xi(K1),xi(K)][x_i^{(1)}, x_i^{(2)}, \ldots, x_i^{(K-1)}, x_i^{(K)}]。其中:

  • K-1xi(k)x_i^{(k)} 对应于渐进的语义级别(例如,类别、标题、描述)。
  • xi(K)x_i^{(K)} 编码 协同过滤 (CF) 信息,捕捉超越文本内容的、用户-物品交互模式的行为信号。

CoFiRec 语义词元化器 (Semantic Tokenizer): 给定构建的语义层次信息,其中前 K-1 个级别对应于渐进的语义级别。对于每个语义级别 k{1,2,,K1}k \in \{1, 2, \ldots, K-1\},我们首先从 预训练 LLM 编码器 (pretrained LLM encoder)(例如 Grattafiori et al., 2024)中获取 嵌入表示 (Embedding Representation) ei(k)e_i^{(k)},它捕捉了相应文本字段 xi(k)x_i^{(k)} 的上下文语义信息。 我们使用共享的 语义编码器 (Semantic Encoder) fSemf^{\mathrm{Sem}} 独立地编码每个级别。这个 编码器 (Encoder) 通常实现为 多层感知机 (Multi-Layer Perceptron, MLP),将输入特征投影到 码空间 (Code Space)。每个级别都使用 粗粒度到细粒度 (Coarse-to-Fine) 向量量化 (Vector Quantization) 模块 Qk\mathrm{Q}^k 进行 量化 (Quantize),以捕捉不同级别的语义: hi(k)=fSem(ei(k)),si(k)=Qk(hi(k)),for k=1,...,K1. \pmb { h } _ { i } ^ { ( k ) } = f ^ { \mathrm { S e m } } ( \pmb { e } _ { i } ^ { ( k ) } ) , \quad s _ { i } ^ { ( k ) } = \mathrm { Q } ^ { k } ( \pmb { h } _ { i } ^ { ( k ) } ) , \quad \mathrm { f o r } \ k = 1 , . . . , K - 1 . 符号解释:

  • hi(k)\pmb{h}_i^{(k)}: 物品 ii 在第 kk 语义层级经过 语义编码器 (Semantic Encoder) 编码后的特征向量。
  • fSem()f^{\mathrm{Sem}}(\cdot): 共享的 语义编码器 (Semantic Encoder),通常实现为 多层感知机 (MLP),将输入特征投影到 码空间 (Code Space)
  • ei(k)\pmb{e}_i^{(k)}: 物品 ii 在第 kk 语义层级的 嵌入 (Embedding) 表示,从 预训练 LLM 编码器 (pretrained LLM encoder) 提取,捕捉了相应文本字段 xi(k)x_i^{(k)} 的上下文语义信息。
  • si(k)s_i^{(k)}: 物品 ii 在第 kk 语义层级经过 向量量化 (Vector Quantization) 模块 Qk\mathrm{Q}^k 量化 (Quantize) 后的离散 词元 (Token)
  • Qk()\mathrm{Q}^k(\cdot): 第 kk 语义层级的 粗粒度到细粒度 (Coarse-to-Fine) 向量量化 (Vector Quantization) 模块。
  • K-1: 语义层级的总数(不包括 CF 层)。 所有语义层级共享相同的 编码器 (Encoder)解码器 (Decoder),以鼓励跨层级的一致性。

CoFiRec CF 词元化器 (CF Tokenizer): 我们将 协同过滤 (CF) 信息 词元化 (Tokenize) 为最终的第 KK词元 (Token)。对于每个物品 ii,我们从 预训练 CF 模型 (pretrained CF model)(例如 Kang and McAuley, 2018)中检索其 协同嵌入 (Collaborative Embedding) eicfe_i^{\mathrm{cf}}。然后,我们使用一个单独的 CF 特定的 编码器 (Encoder) 对其进行编码,并使用专门的 码本 (Codebook) 进行 量化 (Quantize)hi(K)=fCF(eicf),si(K)=QCF(hi(K))=QK(hi(K)). \pmb { h } _ { i } ^ { ( K ) } = f ^ { \mathrm { C F } } ( \pmb { e } _ { i } ^ { \mathrm { c f } } ) , \quad s _ { i } ^ { ( K ) } = \mathrm { Q } ^ { \mathrm { C F } } ( \pmb { h } _ { i } ^ { ( K ) } ) = \mathrm { Q } ^ { K } ( \pmb { h } _ { i } ^ { ( K ) } ) . 符号解释:

  • hi(K)\pmb{h}_i^{(K)}: 物品 iiCF 层级经过 CF 特定的 编码器 (Encoder) fCFf^{\mathrm{CF}} 编码后的特征向量。
  • fCF()f^{\mathrm{CF}}(\cdot): CF 特定的 编码器 (Encoder)
  • eicf\pmb{e}_i^{\mathrm{cf}}: 物品 ii协同嵌入 (Collaborative Embedding),从 预训练 CF 模型 (pretrained CF model) 检索。
  • si(K)s_i^{(K)}: 物品 iiCF 层级经过 向量量化 (Vector Quantization) 模块 QCF\mathrm{Q}^{\mathrm{CF}}QK\mathrm{Q}^K 量化 (Quantize) 后的离散 词元 (Token)
  • QCF()\mathrm{Q}^{\mathrm{CF}}(\cdot)QK()\mathrm{Q}^K(\cdot): CF 层级的 向量量化 (Vector Quantization) 模块。

向量量化模块 (Vector Quantization Module): 对于每个语义级别 kk,我们维护一个可学习的 码本 (Codebook),其中包含 码字嵌入 (Codeword Embeddings) {cj(k)}j=1Vk\{ \pmb{c}_j^{(k)} \}_{j=1}^{|\mathcal{V}^k|}向量量化 (Vector Quantization) 过程 Qk()\mathrm{Q}^k(\cdot) 将连续特征 hi(k)\pmb{h}_i^{(k)} 分配给 码本 (Codebook) Vk\mathcal{V}^k 中最近的 码字 (Codeword)si(k)Qk(hi(k))=argminjhi(k)cj(k)2, s _ { i } ^ { ( k ) } \gets \mathrm { Q } ^ { k } ( { \pmb h } _ { i } ^ { ( k ) } ) = \arg \operatorname* { m i n } _ { j } \left\| { \pmb h } _ { i } ^ { ( k ) } - { \pmb c } _ { j } ^ { ( k ) } \right\| ^ { 2 } , 符号解释:

  • si(k)s_i^{(k)}: 物品 ii 的第 kk词元 (Token)
  • Qk()\mathrm{Q}^k(\cdot): 第 kk向量量化 (Vector Quantization) 函数。
  • hi(k)\pmb{h}_i^{(k)}: 物品 ii 在第 kk 语义层级的编码特征向量。
  • cj(k)\pmb{c}_j^{(k)}: 第 kk码本 (Codebook) 中第 jj码字 (Codeword)嵌入 (Embedding)
  • 2\|\cdot\|^2: L2 范数的平方,表示向量之间的欧氏距离。
  • argminj\arg\min_j: 找到使 L2 距离最小的 码字 (Codeword) 索引 jj。 这个 量化 (Quantization) 操作通过 直通估计器 (Straight-Through Estimator)承诺损失 (Commitment Loss) 进行优化。

优化目标 (Tokenizer Optimization): 每个 向量量化器 (Vector Quantizer) 都用两个目标进行训练:

  1. 重建损失 (Reconstruction Loss): 确保每个解码的表示近似其原始输入。
  2. 承诺损失 (Commitment Loss): 确保 码本 (Codebook) 的稳定使用。 所有层级的总 语义词元化器 (Semantic Tokenizer) 损失定义为: LTokenizer=LRecon+LCommit, \mathcal { L } _ { \mathrm { T o k e n i z e r } } = \mathcal { L } _ { \mathrm { R e c o n } } + \mathcal { L } _ { \mathrm { C o m m i t } } , 符号解释:
  • LTokenizer\mathcal{L}_{\mathrm{Tokenizer}}: 词元化器 (Tokenizer) 的总损失。
  • LRecon\mathcal{L}_{\mathrm{Recon}}: 重建损失 (Reconstruction Loss)
  • LCommit\mathcal{L}_{\mathrm{Commit}}: 承诺损失 (Commitment Loss)

重建损失 (Reconstruction Loss): LRecon=k=1K1ei(k)gSem(ci(k))2LSem+eicfgCF(ci(K))2LCF. \mathcal { L } _ { \mathrm { R e c o n } } = \sum _ { k = 1 } ^ { K - 1 } \underbrace { \left\| e _ { i } ^ { ( k ) } - g ^ { \mathrm { S e m } } ( \pmb { c } _ { i } ^ { ( k ) } ) \right\| ^ { 2 } } _ { \mathcal { L } _ { \mathrm { S e m } } } + \underbrace { \left\| e _ { i } ^ { c f } - g ^ { \mathrm { C F } } ( \pmb { c } _ { i } ^ { ( K ) } ) \right\| ^ { 2 } } _ { \mathcal { L } _ { \mathrm { C F } } } . 符号解释:

  • ei(k)e_i^{(k)}: 物品 ii 在第 kk 语义层级的原始 嵌入 (Embedding)
  • gSem()g^{\mathrm{Sem}}(\cdot): 共享的 语义解码器 (Semantic Decoder),它从相应的 码字嵌入 (Codeword Embeddings) 重建连续的 语义嵌入 (Semantic Embeddings)
  • ci(k)\pmb{c}_i^{(k)}: 物品 ii 在第 kk 语义层级选择的 码字 (Codeword)嵌入 (Embedding)
  • eicfe_i^{\mathrm{cf}}: 物品 ii 的原始 协同嵌入 (Collaborative Embedding)
  • gCF()g^{\mathrm{CF}}(\cdot): 一个独立的 解码器 (Decoder),用于从 CF 码字 (CF codeword) 重建 CF 嵌入 (CF embeddings),因为它们的表示空间不同。
  • LSem\mathcal{L}_{\mathrm{Sem}}: 语义层的 重建损失 (Reconstruction Loss)
  • LCF\mathcal{L}_{\mathrm{CF}}: CF 层的 重建损失 (Reconstruction Loss)

承诺损失 (Commitment Loss): LCommit=k=1Ksg[hi(k)]ci(k)2+μhi(k)sg[ci(k)]2, \mathcal { L } _ { \mathrm { C o m m i t } } = \sum _ { k = 1 } ^ { K } \left\| \mathrm { s g } [ \pmb { h } _ { i } ^ { ( k ) } ] - \pmb { c } _ { i } ^ { ( k ) } \right\| ^ { 2 } + \mu \left\| \pmb { h } _ { i } ^ { ( k ) } - \mathrm { s g } [ \pmb { c } _ { i } ^ { ( k ) } ] \right\| ^ { 2 } , 符号解释:

  • sg[]\mathrm{sg}[\cdot]: 停止梯度 (stop-gradient) 运算符。在前向传播时,它将输入的值保持不变;但在反向传播时,它将梯度设为零,阻止梯度流经它。
  • hi(k)\pmb{h}_i^{(k)}: 物品 ii 在第 kk 语义层级的编码特征向量。
  • ci(k)\pmb{c}_i^{(k)}: 物品 ii 在第 kk 语义层级选择的 码字 (Codeword)嵌入 (Embedding)
  • μ\mu: 平衡系数,用于调整两个 承诺损失 (Commitment Loss) 项之间的权重。 此优化过程使得 CoFiRec Tokenizer 能够将每个物品 ii 编码为一个由 粗粒度到细粒度 (Coarse-to-Fine) 语义和 协同过滤 (Collaborative Filtering) 信号组成的 词元 (Token) 序列 [si(1),,si(K1),si(K)][s_i^{(1)}, \ldots, s_i^{(K-1)}, s_i^{(K)}]

4.2.3. 粗粒度到细粒度 (Coarse-to-Fine) 自回归生成

词元化 (Tokenization) 阶段生成了结构化的 词元 (Token) 序列后,CoFiRec 进入 自回归生成 (Autoregressive Generation) 阶段,使用 语言模型 (Language Model) 预测下一个物品的 词元 (Token) 序列。

Su=[Si1,,SiT]\boldsymbol{S_u} = [S_{i_1}, \ldots, S_{i_T}] 表示用户 uu词元化 (Tokenized) 历史序列,其中第 tt 个物品 iti_t 表示为 Sit=[sit(1),sit(2),,sit(K)]S_{i_t} = [s_{i_t}^{(1)}, s_{i_t}^{(2)}, \ldots, s_{i_t}^{(K)}]。我们训练一个 自回归语言模型 (Autoregressive Language Model) 来预测下一个物品的 词元 (Token) 序列。

嵌入层 (Embedding Layer): 为了帮助模型区分每个 词元 (Token) 的作用,我们将三种类型的可学习 嵌入 (Embeddings) 组合起来,然后输入到 自回归语言模型 (Autoregressive Language Model)编码器 (Encoder)et(k)=Eid(sit(k))+Elevel(k)+Epos(t), e _ { t } ^ { ( k ) } = E _ { \mathrm { i d } } ( s _ { i _ { t } } ^ { ( k ) } ) + E _ { \mathrm { l e v e l } } ( k ) + E _ { \mathrm { p o s } } ( t ) , 符号解释:

  • et(k)e_t^{(k)}: 用户历史中第 tt 个物品的第 kk词元 (Token) 的最终 嵌入 (Embedding)
  • Eid(sit(k))E_{\mathrm{id}}(s_{i_t}^{(k)}): 第 tt 个物品的第 kk词元 (Token) sit(k)s_{i_t}^{(k)}ID 嵌入 (ID embedding)。这表示 词元 (Token) 本身的含义。
  • Elevel(k)E_{\mathrm{level}}(k): 第 kk 语义层级的可学习 层级嵌入 (Level embedding)。这告诉模型当前 词元 (Token) 属于哪个语义粒度级别(例如,类别、标题、描述或 CF 级别)。
  • Epos(t)E_{\mathrm{pos}}(t): 用户历史中第 tt 个物品的位置的可学习 位置嵌入 (Position embedding)。这表示当前物品在用户历史序列中的相对或绝对位置。 这些 嵌入 (Embeddings) 为模型提供了跨层级和位置的结构化线索,有助于实现更连贯的 粗粒度到细粒度 (Coarse-to-Fine) 生成 (Generation)

下游训练目标 (Downstream Training Objective): 我们采用 排序引导生成损失 (Ranking-guided Generation Loss) 来增强 词元 (Token) 级别的判别能力: LRank=k=1Klogexp(ϕ(siT+1(k))/τ)vVkexp(ϕ(v)/τ), \mathcal { L } _ { \mathrm { R a n k } } = - \sum _ { k = 1 } ^ { K } \log \frac { \exp ( \phi ( s _ { i _ { T + 1 } } ^ { ( k ) } ) / \tau ) } { \sum _ { v \in \mathcal { V } ^ { k } } \exp ( \phi ( v ) / \tau ) } , 符号解释:

  • LRank\mathcal{L}_{\mathrm{Rank}}: 排序引导生成损失 (Ranking-guided Generation Loss)。这是一个 交叉熵损失 (Cross-Entropy Loss) 的变体,鼓励模型将正确的 词元 (Token) 排在更高的位置。
  • KK: 语义层级的总数。
  • siT+1(k)s_{i_{T+1}}^{(k)}: 下一个要预测的物品 iT+1i_{T+1} 在第 kk 语义层级的 真实标注数据 (Ground Truth) 词元 (Token)
  • ϕ()\phi(\cdot): 语言模型 (Language Model) 预测 词元 (Token) 的分数(通常是 logit 值)。
  • τ\tau: 温度参数,用于调整 softmax 分布的平滑度。较高的 τ\tau 会使分布更平滑,较低的 τ\tau 会使分布更尖锐。
  • Vk\mathcal{V}^k: 第 kk 语义层级的 词汇表 (Vocabulary),包含所有可能的 词元 (Token)
  • vv: 词汇表 (Vocabulary) Vk\mathcal{V}^k 中的一个 词元 (Token)。 这个目标鼓励模型在每个语义层级中,将正确的 词元 (Token) 排名高于所有干扰项 词元 (Token),从而提高生成 词元 (Token) 的准确性。

4.3. 整体框架图

以下是 CoFiRec 的整体框架图,展示了多层次的 词元化 (Tokenization)粗粒度到细粒度 (Coarse-to-Fine) 生成 (Generation) 过程。

Figure 3The overal framework of CoFiRec, which models multi-level tokenization or coarse-to-fine generative recommendation. Left: The CoFiRec Tokenizer decomposes item metadata into hierarchical semantic levels (e.g., cateory,ttle, desciption) and encodes eac level usi coarse-to-fneV modules.Collaborativefiterig CF sials aretokenized independently from a pre-trained C embedding viaa dedicated Tokenizer. Right:Durig generation, an autoregressive language model generates tokens fromcoarse tone,conditioned nuser history. We in snevenpsiedngelthemodeent herola tokethe ru 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. 数据集

实验在三个真实世界的公开推荐数据集上进行评估,这些数据集来自不同的领域:

  1. Instruments (Musical Instruments): 该数据集来源于 Amazon 评论数据集 (McAuley et al., 2015),包含了用户与音乐相关产品的交互记录。

  2. Beauty: 同样来自 Amazon 评论数据集,专注于用户与美容产品的交互。

  3. 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@KNDCG@K 的性能,其中 K{5,10}K \in \{5, 10\}。这两个指标都在为每个用户推荐的候选物品排序列表上计算。

  1. Recall@K (召回率@K):

    • 概念定义: Recall@K 衡量的是在前 KK 个推荐物品中,实际用户会与之交互的 真实标注数据 (Ground Truth) 物品所占的比例。它关注的是模型在推荐列表前列能否“命中”用户真正感兴趣的物品。
    • 数学公式: Recall@K=Relevant Items in Top-KRelevant Items \text{Recall@K} = \frac{|\text{Relevant Items in Top-K}|}{|\text{Relevant Items}|}
    • 符号解释:
      • Relevant Items in Top-K|\text{Relevant Items in Top-K}|: 在模型推荐的前 KK 个物品中,与用户实际下一个交互物品相符的物品数量。在 leave-one-out 评估中,这通常为 1(如果命中了)或 0(如果没有命中)。
      • Relevant Items|\text{Relevant Items}|: 用户实际下一个交互物品的数量,在 leave-one-out 设置中通常为 1。
  2. 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 值。
    • 数学公式: NDCG@K=DCG@KIDCG@K \text{NDCG@K} = \frac{\text{DCG@K}}{\text{IDCG@K}} 其中, DCG@K=i=1K2reli1log2(i+1) \text{DCG@K} = \sum_{i=1}^K \frac{2^{\text{rel}_i} - 1}{\log_2(i+1)} IDCG@K=i=1K2reli1log2(i+1) \text{IDCG@K} = \sum_{i=1}^K \frac{2^{\text{rel}'_i} - 1}{\log_2(i+1)}
    • 符号解释:
      • reli\text{rel}_i: 排名第 ii 的推荐物品的相关性得分。在 二元相关性 (binary relevance) 场景(即物品相关与否只有 0 或 1)中,如果该物品是用户下一个实际交互的物品,则为 1,否则为 0。
      • reli\text{rel}'_i: 理想排序中排名第 ii 的物品的相关性得分。在 leave-one-out 评估中,这意味着第一个物品的 rel' 为 1,其余为 0。
      • log2(i+1)\log_2(i+1): 折扣因子,随着物品排名 ii 的增加,其对总 DCG 的贡献会减小。

5.3. 对比基线

我们选择了各种强大的基线方法与 CoFiRec 进行比较,这些方法分为两大类:

  1. 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) 模型,能够捕捉用户行为序列中的长期依赖。
  2. 生成式推荐 (Generative Recommendation) 模型:

    • BigRec (Bao et al., 2025): 直接从物品标题生成推荐。
    • P5-SemIDP5-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. 实现细节

  • 物品表示: 每个物品使用长度为 K=4K=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 优化器,学习率为 1e31\text{e}-3
  • 码本 (Codebook) 配置: 每个 词元位置 (Token Position) 对应一个独立的 码本 (Codebook)码本 (Codebook) 大小在 {256,512,1024}\{256, 512, 1024\} 中进行搜索。
  • 编码器和解码器: 编码器 (Encoder)解码器 (Decoder) 均实现为 多层感知机 (Multi-Layer Perceptrons, MLPs)
  • 第二阶段微调: 第二阶段的微调遵循 TIGER (Rajput et al., 2023) 的设置,使用 T5 (Text-to-Text Transfer Transformer) (Raffel et al., 2020) 作为 生成骨干网络 (generative backbone)
  • 超参数: 温度参数 τ\tau 设置为 1,平衡系数 μ\mu 设置为 0.25。学习率在 {3e4,4e4,5e4,6e4}\{3\text{e}-4, 4\text{e}-4, 5\text{e}-4, 6\text{e}-4\} 中进行搜索。
  • 推理: 在推理时,遵循以往工作 (Rajput et al., 2023),使用 集束搜索 (Beam Search)集束大小 (beam size) 为 20。

6. 实验结果与分析

本节将详细展示 CoFiRec 的实验结果,并进行深入分析,包括整体性能比较、消融研究、码本 (Codebook) 大小影响、ID 分布的定性分析、冷启动 (Cold-Start) 泛化能力以及 骨干网络 (Backbone) 适应性。

6.1. 核心结果分析

我们比较了 CoFiRecID-based生成式推荐 (Generative Recommendation) 模型在 InstrumentsYelpBeauty 三个公共数据集上的性能。评估指标为 Recall@KNDCG@K,其中 K{5,10}K \in \{5, 10\}

以下是原文 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) 模型普遍显著优于 MFBERT4RecLightGCNSASRecID-based 方法。这突出了利用文本和语义信号而非仅仅离散物品 ID 的优势。
  • CoFiRec 的卓越性能: 在所有数据集上,CoFiRec 均取得了最佳性能。相对于性能最好的基线模型(通常是 IDGenRecCID),CoFiRec 平均提升了 6.4%。这证实了其 结构化词元化 (Structured Tokenization) 设计,能够更好地捕捉物品的语义层次结构,从而实现更准确的 生成式推荐 (Generative Recommendation)
  • 语义组织的重要性: IDGenRec 通过将物品语义编码为文本标识符,表现出强大的竞争力,这表明集成基于语言的表示的益处。CoFiRec 在此基础上更进一步,引入了 层次化粗粒度到细粒度 (Hierarchical Coarse-to-Fine)词元化 (Tokenization) 方案,它保留了多级属性信息(例如类别、标题、描述和 协同信号 (Collaborative Signals)),并与用户在真实网络场景中逐步细化偏好的方式对齐。
  • 统计显著性: 论文指出 CoFiRec 的改进在统计上是显著的 (p0.05p \ll 0.05),进一步验证了其方法的有效性。

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) eicfe_i^{\mathrm{cf}} 替换为额外的语义级别 词元 (Token)(从标题和描述中 量化 (Quantize) 得到),导致性能下降。这强调了在最细粒度级别集成 协同信号 (Collaborative Signals) 的重要性,它为语义相似的物品提供了必要的消歧信息,通过捕捉用户-物品共现模式来补充文本语义。

  • 嵌入组件 (Embedding Components) 的效果 (w/o Elevel & Epos): 移除 层级嵌入 (Level Embedding) ElevelE_{\mathrm{level}}位置嵌入 (Position Embedding) EposE_{\mathrm{pos}} 导致性能明显下降。这表明显式编码 词元类型 (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%)。 该图像是一个条形图,展示了 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) 方法如何保留语义结构,我们可视化了 CoFiRecTIGERInstruments 数据集上跨物品类别的 语义 ID (Semantic ID) 分布。

下图(原文 Figure 5)展示了 CoFiRecTIGERInstruments 数据集上的 语义 ID (Semantic ID) 分布:

该图像是一个对比图表,展示了 CoFiRec 和 TIGER 两种生成推荐方法在不同类别下的 SemanticID 前缀分布情况。图中分为两部分,左侧是 CoFiRec 的数据分布,右侧是 TIGER 的数据分布。每个类别的条形图显示了各自 SemanticID 前缀的比例,并标注了最常见的前缀ID以及其对应的比例。通过这些数据,可以直观地比较两种方法在用户偏好建模上的差异。

分析:

  • CoFiRec 的语义一致性:CoFiRec 中,共享相同前缀的物品与特定的高级别类别高度对齐。例如,同一粗粒度类别的物品倾向于共享相同的第一个 词元 (Token)。即使物品共享相同的第一个 词元 (Token)(粗粒度语义),它们在第二级也会进一步区分,捕捉更细粒度的类别差异。这种 层次化组织 (Hierarchical Organization)CoFiRec 中尤其明显。
  • TIGER 的语义一致性: 相比之下,TIGERID 更分散,前缀-类别对齐没有清晰的模式,表明其 词元分配 (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)TIGERCoFiRec 依赖于完整的 元数据 (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 的局限性: 尽管 TIGERT5 骨干网络 (T5 backbone) 下表现良好,但当扩展到 LLaMA-1BLLaMA-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 的几个潜在局限性,并提出了未来的研究方向:

  1. 端到端集成 (End-to-end Integration): 目前,CoFiRec 中的 词元化器 (Tokenizer)生成式推荐 (Generative Recommendation) 模型是分开训练的。尽管这种模块化设计有利于跨任务的可迁移性,但未来的工作可以探索联合优化策略,以实现 词元化 (Tokenization)生成 (Generation) 之间的更强相互适应,从而提高效率和语义一致性。
  2. 多模态推荐 (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) 性能差距: 尽管 CoFiRecLLaMA 骨干网络 (Backbones) 上优于 TIGER,但在 Table 5 中,LLaMA 变体的绝对性能(例如 LLaMA-3BR@5 为 0.0403)低于 T5 骨干网络 (T5 backbone) 的性能(R@5 为 0.0484),这可能表明 CoFiRecLLaMA 家族 解码器专用架构 (Decoder-Only Architectures) 的协同作用还有待进一步优化,或者 LLaMA 在这个特定任务上的表现本身就不如 T5

相似论文推荐

基于向量语义检索推荐的相关论文。

暂时没有找到相似论文。