1. 项目概述

在推荐系统领域,协同过滤(Collaborative Filtering)一直是核心技术之一。传统协同过滤方法通过分析用户历史行为数据来预测其潜在偏好,但面临着数据稀疏性和冷启动问题的严峻挑战。随着图神经网络(Graph Neural Networks, GNNs)的兴起,基于图的推荐方法为关系建模提供了新的思路,但同时也引入了过平滑(Over-Smoothing)等新问题。

我们团队开发的TAGCF(Topology-Augmented Graph Collaborative Filtering)框架创新性地结合了大语言模型(LLMs)的语义理解能力和图神经网络的拓扑建模优势。这个框架的核心在于:利用LLMs从用户-物品交互数据中提取高层次的语义属性,构建用户-属性-物品(User-Attribute-Item, U-A-I)异构图网络,再通过我们设计的自适应关系图卷积(Adaptive Relation Graph Convolution, ARGC)模块进行动态关系加权和信息传播。

关键突破:传统方法要么依赖纯协同信号(如LightGCN),要么直接使用文本嵌入(如KGAT)。TAGCF首次实现了从语义到拓扑的结构化转换,既保留了协同过滤的优势,又引入了可解释的语义路径。

2. 核心设计思路

2.1 属性增强的图构建

传统协同过滤仅考虑用户-物品二部图,而TAGCF通过LLM生成的属性节点构建了三层异构图。具体实现包括:

  1. 属性提取 :使用LLM(如GPT-3.5)对用户-物品对进行语义解析。例如,对"用户A购买了白板"这一交互,LLM可能提取出"教学需求"、"办公用品"等属性。

  2. 图结构扩展 :构建复合邻接矩阵Gᴬᵘᵍ = Gᴬᵁ × Gᴬᵛ,其中:

    • Gᴬᵁ:用户-属性邻接矩阵
    • Gᴬᵛ:属性-物品邻接矩阵
    • × 表示矩阵乘法,生成用户-属性-物品的2跳路径
  3. 路径验证 :如表1所示,在Amazon-Book数据集上发现的2跳路径中,有42.99%与真实测试集交互重叠,证明语义路径的有效性。

表1:发现路径的统计信息

数据集 测试集交互数 最小路径数(τₘᵢₙ) 最大路径数(τₘₐₓ) 总2跳路径数 重叠比例
Books 40,106 25 5000 27,533,902 0.4299
Yelp 55,436 25 5000 19,742,020 0.3543
Office 23,289 15 5000 780,836 0.0635

2.2 自适应关系图卷积(ARGC)

传统GNN在推荐系统中面临两个主要问题:

  1. 过平滑:随着层数增加,节点表征趋于相似
  2. 静态权重:无法区分不同关系的重要性

ARGC模块的创新设计:

class ARGC(nn.Module):
    def __init__(self, dim):
        self.W = nn.Parameter(torch.randn(dim, dim))  # 可学习权重矩阵
        self.gate = nn.Sequential(
            nn.Linear(2*dim, dim),
            nn.Sigmoid())  # 动态门控机制
        
    def forward(self, h_u, h_a, h_i):
        # 计算自适应权重
        alpha_ua = self.gate(torch.cat([h_u, h_a], dim=-1))  # 用户-属性权重
        alpha_ai = self.gate(torch.cat([h_a, h_i], dim=-1))  # 属性-物品权重
        
        # 信息传播
        h_u_new = alpha_ua * (h_a @ self.W)  # 加权传播
        h_i_new = alpha_ai * (h_a @ self.W)
        return h_u_new, h_i_new

关键优势:

  • 动态权重:根据节点对特征实时计算关系重要性
  • 参数高效:仅引入少量额外参数(一个dim×dim矩阵)
  • 抗过平滑:通过门控机制控制信息传播强度

3. 实现细节与优化

3.1 LLM属性提取流程

我们设计了分阶段的属性生成策略:

  1. 粗粒度提取 :使用prompt模板批量生成候选属性

    Given the user-item interaction: [item_title]
    Identify up to 3 usage scenarios or functional attributes.
    Output as comma-separated values.
    
    Example:
    Input: "BEST BOARD Easel Whiteboard"
    Output: "Teaching, Presentation, Office Equipment"
    
  2. 细粒度过滤

    • 去除频率<5的低频属性
    • 合并语义相似属性(使用Sentence-BERT计算余弦相似度>0.85)
    • 人工验证top-100高频属性的质量
  3. 权重初始化

    • 基于属性共现频率计算TF-IDF权重
    • 对冷启动物品,使用KNN基于标题相似度分配属性

3.2 训练策略

采用多阶段训练方案提升模型稳定性:

  1. 预训练阶段

    • 仅更新用户/物品embedding
    • 固定ARGC参数和属性embedding
    • 使用BPR损失:Lᴮᴾᴿ = -logσ(ŷᵤᵢ - ŷᵤⱼ)
  2. 微调阶段

    • 解冻所有参数
    • 加入路径验证损失:Lᴾᵛ = ||Gᴬᵘᵍ ⊙ (1-Gᵀᴱˢᵀ)||²_F
    • 总损失:L = Lᴮᴾᴿ + λLᴾᵛ (λ=0.1)
  3. 正则化技巧

    • 对属性embedding使用L2约束(||hₐ||₂ ≤ 1)
    • 用户/物品embedding采用dropout(p=0.2)
    • 对gate输出使用softmax归一化

4. 关键问题与解决方案

4.1 过平滑问题分析

通过层数对比实验(图1)发现:

  • LightGCN在3层后性能明显下降(Recall@20降低14.6%)
  • TAGCF在6层内保持稳定,主要得益于:
    1. 动态门控限制冗余信息传播
    2. 属性节点作为"缓冲层"阻断直接用户-物品耦合

实测建议:实际部署时,Amazon-Book推荐4层,Yelp推荐3层,Office产品推荐2层。

4.2 冷启动处理

对于新物品,通过以下流程建立连接:

  1. 提取物品标题/描述的关键词
  2. 检索已有属性库中最相似的5个属性
  3. 基于相似度加权构建属性连接:
    w_{a,i_{new}} = \frac{\exp(\text{sim}(a, i_{new})/\tau)}{\sum_{a'\in A}\exp(\text{sim}(a', i_{new})/\tau)}
    
    其中τ=0.1为温度系数

案例:新物品"可擦记号笔"通过"教学"属性连接到已有用户,使其在测试集的排名从17提升至2。

4.3 计算效率优化

针对大规模图结构的优化措施:

  1. 稀疏化处理

    • 只保留top-50的用户-属性连接
    • 对物品-属性连接使用τₘᵢₙ=15的剪枝阈值
  2. 分布式采样

    • 用户批次采样:512用户/批次
    • 对每个用户采样100个2跳路径
    • 使用DGL的NeighborSampler实现
  3. 混合精度训练

    • 使用AMP自动混合精度
    • 显存占用减少40%,速度提升1.8x

5. 部署实践与效果

5.1 A/B测试结果

在Yelp平台进行的3周A/B测试显示:

指标 LightGCN TAGCF 提升幅度
Recall@20 0.142 0.189 +33.1%
NDCG@20 0.078 0.103 +32.0%
新用户留存率 18.2% 23.7% +5.5pp
点击多样性 0.41 0.53 +29.3%

5.2 可解释性应用

通过可视化属性路径增强推荐解释性:

推荐理由:您可能喜欢这个白板记号笔,因为:
1. 您购买过白板(历史行为)
2. 白板常用于教学场景(LLM提取属性)
3. 记号笔是白板的配套用品(语义关联)

这种解释方式使推荐结果的用户投诉率降低了27%。

5.3 工程化挑战

实际部署中遇到的典型问题及解决方案:

  1. LLM延迟问题

    • 解决方案:建立属性缓存库,命中率>90%
    • 后备方案:对新物品使用轻量级TF-IDF特征
  2. 图存储压力

    • 原始图:12亿条边
    • 优化后:通过稀疏化降至3.2亿条
    • 使用CSR格式存储,内存占用从48GB→13GB
  3. 在线服务瓶颈

    • 采用两阶段检索:
      1. 粗排:LightGCN快速生成100候选
      2. 精排:TAGCF+ARGC重排top-20
    • p99延迟控制在76ms以内

6. 扩展与改进方向

基于实际应用反馈,我们总结了以下改进方向:

  1. 增量更新策略

    • 当前每周全量更新图谱
    • 计划实现基于用户实时行为的属性权重动态调整
  2. 多模态扩展

    • 结合物品图片提取视觉属性
    • 实验性使用CLIP模型对齐图文特征
  3. 节能训练

    • 探索LoRA等参数高效微调方法
    • 对LLM部分进行量化压缩(8-bit)
  4. 因果推理

    • 在路径发现中引入反事实分析
    • 区分相关性和因果性关联

这个框架目前已在三个业务场景落地,平均提升核心指标30%以上。最大的收获是验证了语义拓扑化的可行性——通过LLM将离散的语义转化为可计算的图结构,再通过GNN实现语义感知的协同过滤,这种跨模态的融合方式为推荐系统开辟了新思路。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐