📚 论文信息
- 标题:Identify Then Recommend: Towards Unsupervised Group Recommendation
- 作者:Yue Liu (Ant Group / NUS), Shihao Zhu, Tianyuan Yang, Jian Ma, Wenliang Zhong (Ant Group)
- 来源:NeurIPS 2024, arXiv:2410.23757v1 [cs.IR]
- 代码:https://github.com/yueliu1999/ITR ↗
一、研究背景与问题动机#
1.1 群体推荐(Group Recommendation)是什么?#
推荐系统可以分为两大类:
| 类型 | 说明 |
|---|---|
| 用户推荐 (UR) | 为单个用户推荐个性化内容 |
| 群体推荐 (GR) | 为用户群体推荐,试图让群体中大多数成员满意 |
GR 的核心挑战是聚合——如何将一群人的偏好整合成一致的推荐结果。
1.2 现有方法的两个关键问题#
论文指出了当前 SOTA 群体推荐方法的两个核心缺陷:
┌─────────────────────────────────────────────────────────┐
│ 现有群体推荐方法的两大缺陷 │
├─────────────────────────────────────────────────────────┤
│ │
│ 问题一:依赖预定义的固定群体数量 │
│ ───────────────────────────────── │
│ • 现有方法需要预先知道群体数量 k │
│ • 但实际工业场景中,群体数量是动态变化的 │
│ • 特别是在新上线应用中,用户行为变化剧烈 │
│ • 例如:130 million 日页面浏览,50 million 日用户浏览 │
│ │
│ 问题二:监督学习需要大量标注信息 │
│ ───────────────────────────────── │
│ • 需要用户-群体分布标注 A │
│ • 需要群体-物品交互标注 Q │
│ • 标注成本高昂,且分布每天都在变化 │
│ │
└─────────────────────────────────────────────────────────┘plaintext核心研究问题:
能否在没有用户群体标注信息的情况下做好群体推荐?
二、方法论:ITR 框架#
2.1 整体架构#
ITR(Identify Then Recommend)提出了一种两阶段的无监督框架:
┌─────────────────────────────────────────────────────────┐
│ ITR: 先识别,后推荐 │
├─────────────────────────────────────────────────────────┤
│ │
│ 【第一阶段】群体识别模块 (GIM) │
│ ───────────────────────────────── │
│ ① 自适应密度估计 │
│ • 计算每个用户点的密度 │
│ • 高密度区域 → 群体中心 │
│ • 低密度区域 → 决策边界 │
│ │
│ ② 启发式合并-分裂策略 │
│ • 探索(Explore):发现新群体 │
│ • 利用(Exploit):合并相似群体,分裂差异群体 │
│ │
│ 【第二阶段】自监督推荐模块 (SGRM) │
│ ───────────────────────────────── │
│ ① Pull-and-Repulsion 预文本任务 │
│ • Pull: 将用户拉向其所属群体 │
│ • Repulsion: 将不同群体相互推开 │
│ │
│ ② 伪群体推荐预文本任务 │
│ • 生成伪群体-物品交互标签 │
│ • 引导无监督的群体推荐学习 │
│ │
└─────────────────────────────────────────────────────────┘plaintext2.2 群体识别模块(GIM)#
2.2.1 自适应密度估计#
将每个用户嵌入初始化为候选群体中心,群体数 k’ 初始设为 n(用户数),然后动态变化。
密度估计公式:
给定用户群体 g'i,首先计算:
• 到其他群体的最小距离 d_min
• 到其他群体的最大距离 d_max
基于分位数 q 计算半径提案:
r_q = d_min + (d_max - d_min) × q
然后估计密度:
μ_i = max_q ( Σ 1_{dis(i,j)≤r_q} ) / (π × r_q²)plaintext核心思想:密度高(用户多但面积小)→ 群体中心;密度低 → 决策边界
2.2.2 启发式合并-分裂策略#
按密度从高到低处理每个候选群体,使用探索-利用规则:
| 策略 | 动作 | 公式 |
|---|---|---|
| 探索 (Explore) | 概率 α 发现新群体候选 | g’new = σ × g’(s) + (1-σ) × g’(s-1) |
| 利用 (Exploit) | 概率 1-α 合并/分裂 | 合并同组,分裂差异组 |
贪婪参数 α 的设计:
α = exp(-s_explore² / (s_all + 1))plaintext- 训练初期:α 大 → 倾向于探索
- 训练后期:α 小 → 倾向于利用
2.3 自监督推荐模块(SGRM)#
2.3.1 Pull-and-Repulsion 预文本任务#
优化目标:
L_PAR = min (1/nk') Σ ||ũi - g̃j'||² + (1/(k'-1)k') Σ ||g̃i' - g̃j'||²
─────────────────────────── ───────────────────────────────
Pull Term Repulsion Termplaintext- Pull 项:将用户拉向其所属群体
- Repulsion 项:将不同群体相互推开
2.3.2 伪群体推荐预文本任务#
步骤1:计算用户-群体距离矩阵 D
步骤2:估计用户-群体分布 A'(基于距离阈值)
步骤3:生成伪群体-物品交互 Q' = (A')ᵀP
步骤4:优化 L_PGR = ||G'ᵀI - Q'||²plaintext三、实验结果与分析#
3.1 主要结果#
| 任务 | 指标 | 提升 |
|---|---|---|
| 用户推荐 | NDCG@5 | +22.22% |
| 群体推荐 | NDCG@5 | +22.95% |
3.2 核心优势#
┌─────────────────────────────────────────────────────────┐
│ ITR vs 现有方法的三大核心优势 │
├─────────────────────────────────────────────────────────┤
│ │
│ ✅ 无需预定义群体数量 │
│ • 自适应发现最优群体数 │
│ • 单次遍历即可确定(vs DBSCAN 需要多次尝试) │
│ │
│ ✅ 无需群体标注信息 │
│ • 纯自监督学习 │
│ • 伪标签引导推荐学习 │
│ │
│ ✅ 工业级效率 │
│ • 单次扫描确定群体数 │
│ • 时间复杂度:O(T) vs 其他聚类方法的 O(T× Trials) │
│ │
└─────────────────────────────────────────────────────────┘plaintext四、对推荐系统研究的启示#
4.1 技术亮点#
- “先识别后推荐”的两阶段范式:解耦了群体发现与推荐任务
- 自适应密度估计:无需预设半径或密度阈值
- 探索-利用平衡:用数学公式优雅地控制搜索策略
- 伪标签思想:从无标注数据中构造监督信号
4.2 实践价值#
| 场景 | ITR 的适用性 |
|---|---|
| 新上线应用(用户行为剧烈变化) | ⭐⭐⭐⭐⭐ 无需预设群体数 |
| 大规模工业推荐系统(日千万级页面浏览) | ⭐⭐⭐⭐⭐ 单次遍历效率高 |
| 标注成本高昂的业务 | ⭐⭐⭐⭐⭐ 纯自监督 |
五、个人学习心得#
5.1 值得借鉴的方法论#
- 用探索-利用框架处理动态聚类问题:将强化学习思想引入聚类
- 伪标签构造的技巧:基于距离阈值软化标签,而非硬分配
- 预文本任务设计:自监督学习中如何设计有效的代理任务
5.2 思考与疑问#
- 探索-利用参数 α 的衰减策略是否有更理论化的支撑?
- 伪群体推荐中的距离阈值 P/k’ 是否在所有数据分布下都有效?
- 在超大规模数据上,k’ 初始化为 n 是否会导致计算瓶颈?
- 能否将此框架扩展到跨平台联合推荐场景?
六、总结#
| 维度 | ITR 的贡献 |
|---|---|
| 问题定位 | 指出工业场景中群体数量动态变化 + 标注成本高昂两大实际问题 |
| 方法创新 | 自适应密度估计 + 启发式合并-分裂策略,实现无需预设 k 的聚类 |
| 自监督设计 | Pull-and-Repulsion + 伪标签,两阶段优雅解决无标注推荐问题 |
| 工业落地 | 单次遍历即可确定群体数,已在 Ant Group 大规模推荐系统部署 |
| 效果提升 | NDCG@5 分别提升 22.22%(用户)和 22.95%(群体) |
📚 参考资料: