推荐系统迎来范式革新:G2Rec如何用图结构和语义分词重构用户兴趣建模
TL;DR
推荐系统正在从传统的"排序打分"模式转向"生成式推荐"——像生成语言一样生成推荐结果。但这条路上有两个核心难题:怎么把用户复杂的兴趣图谱有效地组织起来,以及怎么把商品的语义信息精准地编码成模型能理解的"词元"。G2Rec框架提出了一种统一方案:用全局图建模捕捉用户之间的共行为模式,同时用语义分词把商品的含义压缩成离散的词元。这套方案已经在工业级推荐系统上部署验证,在公开数据集和线上A/B测试中都取得了显著提升。简单来说,它让推荐系统既能"看懂"商品是什么,又能"理解"用户之间微妙的兴趣关联。
论文信息
- 论文标题:Structuring and Tokenizing Distributed User Interest Context for Generative Recommendation
- 作者:Ruizhong Qiu, Yinglong Xia, Dongqi Fu
- 机构:工业界推荐系统团队(推测为大型互联网公司)
- 分类:cs.IR(信息检索)、cs.AI(人工智能)
- arXiv ID:2606.20554v1
研究背景与动机:为什么推荐系统需要"生成式"革命
推荐系统是互联网商业的基石。从电商购物到短视频刷屏,从新闻资讯到音乐歌单,几乎每一次"猜你喜欢"的背后都有一套复杂的算法在运转。过去十多年,主流推荐系统的范式基本可以用一个词概括:排序。系统从海量候选商品中,对每个商品打一个分数,然后按分数高低排序,把最可能被点击的推到最前面。这种方法在实践中非常成功,但它天然有一个限制——它把推荐问题当成了一个"评分回归"问题,而不是一个"序列生成"问题。
近年来,随着大语言模型(LLM)的爆发式发展,一种全新的思路浮出水面:生成式推荐(Generative Recommendation)。这个想法的核心是,既然语言模型可以通过生成下一个词来续写文本,那推荐系统也可以通过生成下一个商品来预测用户的下一步行为。具体来说,就是把用户的历史行为序列看成一段"语言",每个商品看成一个"词",然后用自回归模型来"写"出用户接下来最可能互动的商品。
这个范式转换听起来优雅,但落地时有两个绕不开的技术瓶颈。
第一个瓶颈:商品分词(Item Tokenization)。 在语言模型中,分词是现成的——英文有BPE、中文有字词切分,但推荐系统面对的"商品"不是一个天然有语法结构的序列。一件连衣裙、一首摇滚乐、一条新闻——它们之间没有统一的"语法"。怎么把一个商品压缩成一组离散的、有语义的词元(token),让推荐模型能像理解语言一样理解商品,这是第一个核心难题。现有的语义分词方法大多依赖启发式规则,比如简单地用聚类中心来代表商品类别,或者用预训练的文本编码器提取特征后再量化。这些方法的问题在于,它们缺乏对推荐任务的显式监督信号,导致生成的词元可能无法精准捕捉与推荐相关的语义信息。
第二个瓶颈:用户兴趣上下文建模(User Interest Context Modeling)。 用户的行为不是孤立发生的。一个用户看了某件商品,可能是因为朋友圈里有人推荐,也可能是因为最近的热点事件。用户的兴趣分布在整个交互图谱中——包括用户之间的社交关系、商品之间的共现关系、以及用户-商品之间的交互关系。怎么把这些分布式的兴趣信号有效地注入推荐模型,是第二个核心难题。
现有的图信息整合方法主要有两种路线。第一种是图序列化,比如把用户的历史交互商品按时间排序,然后在每个商品旁边附上它在图中的邻居信息。这种方法简单直接,但会遇到可扩展性问题——当图的规模达到工业级别(数十亿节点和边),序列化的开销会变得不可接受。第二种是图神经网络(GNN),比如GraphSAGE、GAT等,它们能有效地聚合邻居信息,但有一个根本性的局限:GNN的消息传递机制是局部的,每一层只能看到一跳邻居。虽然可以通过堆叠多层来扩大感受野,但实践中过深的GNN会导致过平滑问题——所有节点的表示趋同,失去区分性。
这两个瓶颈是相互关联的。如果商品分词不够精准,那即使用户兴趣建模做得再好,推荐模型也无法准确理解它在"说什么"。反过来,如果用户兴趣上下文建模不到位,那商品分词再精细也用不上——模型不知道用户到底对什么感兴趣。
G2Rec的贡献就在于,它提出了一个统一框架,同时解决这两个问题。它用全局图建模(而不是局部GNN)来捕捉用户之间的共行为模式,生成用户兴趣原型(User Interest Prototypes);同时用语义分词把商品编码成离散词元,并且通过推荐任务的梯度来反向指导分词过程,让分词结果天然适配推荐场景。这两个模块通过一个精心设计的训练流程整合在一起,形成了一个端到端的生成式推荐系统。
核心发现:全局视角和语义基础缺一不可
G2Rec论文的核心发现可以归纳为三个层面。
发现一:局部图信息不足以支撑高质量推荐
过去几年,很多工作试图把图神经网络(GNN)嵌入推荐系统,用它来聚合用户和商品的邻居特征。但G2Rec的实验表明,这种局部聚合策略在生成式推荐的场景下效果有限。原因很直观:生成式推荐需要模型理解用户的"兴趣原型"——即用户可能感兴趣的某类商品的抽象描述。这种兴趣原型往往分布在整个交互图谱中,而不是局限于一跳或两跳邻居。
举个例子,假设一个用户最近买了登山鞋、帐篷和睡袋。局部GNN只能看到这些商品的直接邻居(比如登山杖是登山鞋的共现商品),但无法捕捉到"户外运动爱好者"这个更高层的兴趣概念。而这个概念需要从整个用户群体中挖掘——成千上万个类似行为模式的用户共同构成了这个兴趣原型。
G2Rec通过全局图建模解决了这个问题。它不是在每个节点的邻域内做消息传递,而是在整个图上学习用户兴趣原型的分布。这种全局视角使得模型能够捕捉到分布式的行为模式,而不仅仅是局部的共现关系。
发现二:语义分词需要推荐任务的显式监督
现有的商品分词方法大多采用两阶段流程:先用某种无监督或自监督方法把商品编码成词元,再用这些词元训练推荐模型。这种分离式的设计有一个根本问题——分词过程不知道推荐任务需要什么信息。一个商品可能有非常丰富的文本描述和视觉特征,但只有其中一部分与推荐相关。无监督分词可能会把不相关的细节也编码进词元,浪费了宝贵的表示容量。
G2Rec的语义分词模块通过推荐任务的梯度来指导分词过程。这意味着,分词器在学习如何压缩商品信息时,会自动关注那些对预测用户行为最有用的语义维度。实验表明,这种有监督的分词策略生成的词元,在推荐准确性上显著优于无监督分词。
发现三:兴趣原型和商品词元的统一表示空间是关键
G2Rec最巧妙的设计在于,它把用户兴趣原型和商品词元放在同一个表示空间中。这样一来,推荐模型可以直接在同一个空间里比较用户的兴趣和候选商品的语义,实现自然的匹配。这种设计避免了传统方法中"用户侧特征"和"商品侧特征"需要额外交互层来对齐的问题,让推荐过程更加流畅和高效。
从实验结果来看,这种统一表示空间带来了两个优势。首先,它提升了推荐的准确性,因为用户兴趣和商品语义之间的距离可以直接衡量匹配程度。其次,它提升了推荐的多样性,因为兴趣原型是通过全局建模学到的,天然覆盖了更广泛的兴趣维度。
技术方法详解:G2Rec的架构拆解
理解G2Rec的技术细节,最好的方式是把它想象成一个"推荐工厂",这个工厂有两条生产线和一个组装车间。
第一条生产线:全局图建模——从"蛛网"中提炼兴趣原型
想象一张巨大的蛛网,每个节点是一个用户或商品,每条边是一次交互行为。传统的GNN方法就像一只蜘蛛,从某个节点出发,沿着丝线爬一两步,看看周围的邻居有什么信息。这种方法在小图上效果不错,但工业级推荐系统的"蛛网"有数十亿个节点,局部视角根本看不到全貌。
G2Rec的做法更像是在蛛网上方架设一台无人机,从高空俯瞰整张网,识别出哪些区域形成了密集的兴趣集群。具体来说,它使用了一种全局图学习技术,通过图上的特征传播和聚类操作,把分布式在不同用户行为中的兴趣信号汇聚成若干个"兴趣原型"。
这些兴趣原型可以理解为用户群体的"兴趣画像"。比如,"户外运动爱好者"是一个原型,"科技数码极客"是另一个原型,"时尚美妆达人"又是一个原型。每个原型不是由某个具体用户代表的,而是由整个用户群体的行为模式聚合而成的——这是一种分布式的、数据驱动的画像方法。
技术上,全局图建模的核心操作是图上的特征传播。不同于GNN的逐层传播(每层只传播一跳),G2Rec使用了一种更高效的传播策略,可以在少量迭代内实现全局信息的聚合。这种策略借鉴了图信号处理中的思想:通过图拉普拉斯矩阵的幂运算,让信号在图上快速扩散到全局。
同时,为了控制计算复杂度,G2Rec没有对整个图做密集运算,而是采用了稀疏化的策略。它只在那些"有意义"的边上传播信号——即那些具有统计显著性的共行为关系。这种稀疏化不仅降低了计算开销,还起到了去噪的作用,过滤掉了随机噪声带来的虚假关联。
最终输出是一组用户兴趣原型向量,每个用户被表示为这些原型的加权组合。这就像用"调色板"来描述一个人的审美——红色代表热情奔放,蓝色代表冷静理性,绿色代表自然清新,每个人都是这些颜色按不同比例混合的结果。
第二条生产线:语义分词——给商品"编码"
如果说全局图建模是在理解"用户想什么",那语义分词就是在回答"商品是什么"。
在语言模型中,分词器(Tokenizer)把一段文本切成词元序列。比如"我喜欢吃苹果"会被切成["我","喜欢","吃","苹果"]。每个词元都有一个对应的嵌入向量,模型通过这些向量来理解文本的含义。
商品分词的思路类似,但对象从文本变成了商品。一个商品的"内容"包括:它的标题和描述(文本模态)、它的图片(视觉模态)、它的类目和标签(结构化信息)、以及它在用户交互图中的位置(行为信息)。分词器的任务就是把这些多模态信息压缩成一组离散的词元。
G2Rec的语义分词器采用了**残差量化(Residual Quantization)**的技术。这个概念可以用"逐步逼近"来类比:假设你要用一组数字来精确描述一个点的位置。先用一个粗略的坐标(比如整数坐标)来近似,得到一个残差;然后用另一个更精细的坐标来逼近这个残差,再得到一个新的残差;如此反复,直到精度满足要求。
在G2Rec中,商品首先被编码成一个连续的嵌入向量(通过预训练的文本/视觉编码器)。然后,这个向量被送入一个多层的残差量化器。每一层有一个码本(Codebook),包含若干个聚类中心。商品向量先在第一层码本中找到最近的聚类中心,记录下这个中心的索引(这就是第一个词元),然后计算残差;残差被送入第二层码本,再找到最近的中心,记录索引(第二个词元),再计算残差……如此循环,直到最后一层。
最终,一个商品被表示为一个词元序列,比如[3, 7, 2, 15]。这个序列的长度是固定的(等于码本层数),每个词元的取值范围是该层码本的大小。这种表示方式有两个优势:第一,它是离散的,可以直接用自回归模型来生成(就像语言模型生成词序列一样);第二,它是分层的,前面的词元捕捉粗粒度的语义(比如"这是电子产品"),后面的词元捕捉细粒度的语义(比如"这是一款降噪耳机")。
组装车间:统一训练与推理
两条生产线的产出——用户兴趣原型和商品词元——在组装车间合流。G2Rec的推荐模型是一个标准的自回归Transformer,输入是用户历史交互商品的词元序列,输出是下一个商品的词元预测。
关键的设计在于,兴趣原型被注入到Transformer的注意力机制中。具体来说,在每一层注意力计算中,查询(Query)来自用户的历史行为序列,而键(Key)和值(Value)同时包含商品词元和兴趣原型。这样,模型在预测下一个商品时,既能看到用户过去交互了什么商品(通过词元序列),又能理解用户的深层兴趣分布(通过兴趣原型)。
训练过程是端到端的。推荐损失的梯度会同时回传到全局图建模模块和语义分词模块,让它们自动调整自己的输出,使得兴趣原型和商品词元都朝着有利于推荐预测的方向优化。这种端到端的训练方式避免了两阶段方法中分词器和推荐模型之间的目标不对齐问题。
推理阶段的流程很清晰:给定一个用户的历史行为序列,系统先通过全局图建模获取该用户的兴趣原型,再通过语义分词器把历史商品编码成词元序列,最后用自回归模型逐步生成下一个商品的词元。生成的词元序列通过码本反查,映射回具体的商品ID,完成推荐。
工程优化:如何在工业规模下运行
理论设计再优雅,如果跑不动也是白搭。G2Rec在工程层面做了几个关键优化。
第一,全局图建模模块采用了离线预计算的策略。用户兴趣原型不需要每次推理时实时计算,而是定期(比如每天或每小时)离线更新。这样,在线推理的延迟几乎不受图建模模块的影响。
第二,语义分词器的码本大小经过精心设计,在表示精度和计算效率之间取得平衡。码本太大会导致词元空间爆炸,自回归模型的输出层参数激增;码本太小会导致量化误差过大,丢失重要的语义信息。论文通过消融实验确定了最优的码本配置。
第三,自回归推荐模型采用了因果注意力掩码,确保在生成第t个词元时只能看到前t-1个词元,符合自回归的生成逻辑。同时,为了加速推理,使用了KV缓存等标准优化技术。
实验结果分析:数据说话
G2Rec的实验分为两部分:公开数据集上的离线评估和工业系统上的在线A/B测试。
离线实验
论文在多个公开推荐数据集上进行了评估,包括电子商务和内容推荐场景。评估指标主要包括命中率(Hit Rate)和归一化折损累计增益(NDCG)。
实验结果表明,G2Rec在所有数据集和所有指标上都超越了现有的基线方法。与传统的序列推荐模型(如SASRec、BERT4Rec)相比,G2Rec的提升幅度在5%到15%之间,这在推荐系统领域已经是相当显著的改进。与现有的生成式推荐方法相比,G2Rec的优势同样明显,尤其是在长尾商品的推荐上——这得益于全局图建模对分布式兴趣信号的捕捉能力。
消融实验进一步验证了各个模块的贡献。去掉全局图建模模块(只保留语义分词),性能下降约8%;去掉语义分词的推荐监督信号(改用无监督分词),性能下降约5%。这两个数字说明,两个模块都是不可或缺的,且全局图建模的贡献更大。
在线A/B测试
论文还报告了工业级推荐系统上的在线部署结果。在多个产品界面上(推测包括商品推荐、内容推荐等场景),G2Rec带来了显著的业务指标提升。虽然论文没有披露具体的业务数字(出于商业保密考虑),但从描述来看,在线效果与离线实验的趋势一致。
特别值得注意的是,G2Rec在冷启动场景下的表现。对于新用户或新商品,传统方法往往因为缺乏足够的交互数据而表现不佳。但G2Rec通过全局图建模,可以利用类似用户群体的行为模式来"借力",为冷启动用户提供合理的推荐。同时,语义分词器可以基于商品的文本和视觉特征生成有意义的词元,即使该商品还没有任何交互数据。
与现有工作对比:G2Rec的独特定位
在推荐系统的研究谱系中,G2Rec占据了一个独特的位置。为了更好地理解它的贡献,有必要把它与几类相关工作进行对比。
与传统序列推荐模型的对比
传统序列推荐模型(如SASRec、BERT4Rec、GRU4Rec等)直接在用户的历史交互序列上建模,用RNN或Transformer来捕捉行为模式。这些方法的优势是简单高效,但它们只利用了用户-商品的交互信息,忽略了更丰富的图结构和语义信息。G2Rec通过引入全局图建模和语义分词,在不增加过多复杂度的前提下,显著扩展了模型的信息来源。
与图神经网络推荐方法的对比
图神经网络推荐方法(如LightGCN、PinSage等)通过图上的消息传递来聚合邻居信息。这些方法在捕捉用户和商品之间的高阶关联方面表现出色,但它们的消息传递是局部的,难以捕捉全局的分布式兴趣模式。G2Rec通过全局图建模超越了这种局部视角,同时避免了深层GNN的过平滑问题。
与现有生成式推荐方法的对比
现有的生成式推荐方法(如TIGER、EAGER等)已经开始探索商品分词和自回归生成的范式,但它们大多采用两阶段的分词策略,分词过程与推荐任务脱节。G2Rec的端到端设计通过推荐梯度直接指导分词过程,实现了更精准的语义编码。
与大语言模型推荐方法的对比
另一类相关工作尝试直接用大语言模型(LLM)来做推荐,把推荐问题转化为文本生成问题。这些方法的优势是可以利用LLM的庞大知识库,但它们通常需要大量的计算资源,且在工业级实时推荐场景下延迟难以接受。G2Rec的设计更轻量,更适合工业部署,同时通过专门的图建模和分词模块,在推荐任务上的表现超越了通用LLM。
潜在应用与影响:远不止"猜你喜欢"
G2Rec的技术贡献虽然以推荐系统为切入点,但它的影响范围远不止于此。
推荐系统的范式转换
G2Rec代表了推荐系统从"排序"范式向"生成"范式转换的重要一步。这种范式转换带来的最大变化是,推荐系统不再是简单地从候选集中选择,而是可以"创造"出用户可能感兴趣但从未见过的组合。比如,在音乐推荐中,生成式模型可以推荐一首融合了用户偏好的多种风格的新歌,即使这首歌从未被其他类似用户播放过。
冷启动问题的新解法
冷启动是推荐系统的经典难题。G2Rec的全局图建模为冷启动问题提供了新思路:即使一个新用户只有很少的交互记录,系统也可以通过全局兴趣原型的分布来推断其潜在兴趣。这种方法不需要等待用户积累足够的行为数据,可以在用户第一次使用系统时就提供有意义的推荐。
多模态融合的标准化
G2Rec的语义分词框架天然支持多模态信息的融合。文本、图像、结构化属性等不同模态的信息可以通过统一的分词流程编码成同一空间的词元。这为推荐系统处理越来越丰富的商品信息提供了标准化的框架。
用户隐私保护的新角度
从隐私保护的角度来看,G2Rec的兴趣原型建模提供了一种新的匿名化思路。与其存储每个用户的详细行为记录,不如只存储其兴趣原型的分布——这是一种更高层次的抽象,既保留了推荐所需的关键信息,又降低了个人行为数据被逆向工程的风险。
跨域推荐的可能性
G2Rec的统一表示空间为跨域推荐打开了大门。如果两个不同领域的商品(比如服装和家居)都被编码在同一词元空间中,那用户在一个领域的兴趣可以直接迁移到另一个领域,实现无缝的跨域推荐。
局限性与未来方向:没有完美的方法
任何技术方案都有其边界条件和局限性,G2Rec也不例外。
计算开销
虽然论文通过工程优化控制了在线推理的延迟,但全局图建模的离线预计算仍然需要可观的计算资源。对于超大规模的推荐系统(数十亿用户和商品),图上的特征传播和聚类操作可能需要分布式计算集群来支撑。这意味着G2Rec的部署门槛相对较高,可能不适合资源有限的小型团队。
动态兴趣的建模
用户的兴趣不是静态的。一个用户可能这周对户外运动感兴趣,下周又迷上了烘焙。G2Rec的兴趣原型是通过全局图建模生成的,更新频率取决于离线预计算的周期。如果用户的兴趣变化速度超过了更新频率,推荐系统可能会出现"滞后"现象——推荐的内容反映的是用户过去而不是当前的兴趣。
词元序列长度的限制
语义分词生成的词元序列长度是固定的(由码本层数决定)。这意味着每个商品被压缩成相同长度的表示,无法自适应地根据商品的复杂度调整表示粒度。对于信息量丰富的商品(比如一本有复杂主题的书籍),固定长度的词元可能不够用;对于信息量简单的商品(比如一支铅笔),固定长度的词元可能浪费了表示容量。
对数据质量的依赖
G2Rec的全局图建模严重依赖用户交互数据的质量。如果交互数据中存在大量的噪声(比如误点击、刷量行为),全局图建模可能会学到错误的兴趣模式。虽然论文中的稀疏化策略可以一定程度上去噪,但对于严重的数据质量问题,可能需要更鲁棒的图建模方法。
未来研究方向
基于以上局限性,未来的研究可以在以下几个方向展开:
增量式图建模:开发支持增量更新的全局图建模算法,避免每次都需要重新计算整个图,从而提升兴趣原型的更新频率。
自适应词元长度:探索变长的商品分词策略,让模型可以根据商品的信息复杂度自动决定词元的数量和粒度。
多目标优化:在推荐准确性之外,将多样性、公平性、新颖性等指标纳入训练目标,让G2Rec在实际部署中满足更全面的业务需求。
跨模态对齐:进一步探索不同模态(文本、图像、行为)信息在统一词元空间中的对齐机制,提升多模态推荐的效果。
可解释性增强:利用兴趣原型和商品词元的离散特性,开发更直观的推荐解释工具,让用户理解"为什么推荐这个给我"。
总结
G2Rec论文在生成式推荐这一新兴方向上做出了扎实的贡献。它的核心创新在于用统一框架同时解决了两个关键问题:全局用户兴趣建模和语义商品分词。通过把兴趣原型和商品词元放在同一个表示空间中,G2Rec实现了更精准、更全面的推荐预测。
从更宏观的视角来看,G2Rec代表了推荐系统研究的一个重要趋势:从孤立地优化单个模块,转向端到端地优化整个推荐流程。这种系统性的思维方式,对于推动推荐系统从"工程堆砌"走向"科学设计"具有重要意义。
当然,正如论文所坦诚讨论的,G2Rec并非银弹。计算开销、动态兴趣建模、数据质量等问题仍然是实际部署中的挑战。但这些局限性也为未来的研究指明了方向——它们不是G2Rec的缺陷,而是整个生成式推荐领域需要共同攻克的课题。
对于推荐系统从业者来说,G2Rec提供了几个值得借鉴的设计原则:第一,全局视角比局部视角更适合捕捉分布式兴趣信号;第二,分词过程应该与下游任务端到端训练,而不是独立进行;第三,用户侧和商品侧的表示应该放在同一个空间中,以便自然匹配。这些原则不仅适用于生成式推荐,对传统推荐方法的改进同样有启发意义。
评论