Open-Set Living Need Prediction with Large Language Models¶
会议: ACL 2025
arXiv: 2506.02713
代码: https://github.com/tsinghua-fib-lab/PIGEON
领域: LLM/NLP, 推荐系统
关键词: 开放集分类, 生活需求预测, LLM, 图神经网络, 生活服务推荐
一句话总结¶
提出 PIGEON 系统,将生活服务平台上的用户需求预测从封闭集分类重新定义为开放集生成问题,通过 GNN 行为嵌入检索历史记录辅助 LLM 预测、马斯洛需求层次引导精化、以及微调文本嵌入模型实现灵活需求到服务的召回,在美团真实数据上平均提升 19.37%。
研究背景与动机¶
领域现状:在美团等生活服务平台上,用户的消费行为由其潜在的生活需求驱动(如"想吃快餐"驱动了外卖订单)。准确预测用户需求对个性化推荐至关重要。
现有痛点:传统方法将需求预测视为封闭集分类问题,从预定义的有限需求类别中选择。但这种做法存在三个根本性缺陷:(1) 用户需求高度多样,无法穷举所有类别;(2) 需求可能是模糊的(如"想找个放松的地方"而非具体场所类型);(3) 需求可能是复合的(如"既想吃饱又想健康")。
核心矛盾:固定类别集无法捕捉真实世界中用户需求的多样性、模糊性和复合性。
本文目标 在生活服务平台上实现开放集生活需求预测,生成不受预定义类别约束的自由文本需求描述,并将其应用于下游服务召回。
切入角度:利用 LLM 的生成能力和常识知识来克服封闭集方法的局限,同时结合用户行为数据和心理学理论来增强预测的个性化和合理性。
核心 idea:用 GNN 编码行为偏好辅助 LLM 做个性化开放集需求生成,再用马斯洛需求层次让预测对齐人类需求框架。
方法详解¶
整体框架¶
PIGEON 系统包含四个核心模块:(1) 基于 GNN 的行为记录检索模块,帮助 LLM 理解个体用户偏好;(2) LLM 需求预测模块,根据检索到的历史记录和时空上下文生成灵活的需求描述;(3) 马斯洛需求层次引导的精化模块,将初始预测对齐到结构化的人类需求框架;(4) 基于微调文本嵌入模型的召回模块,将灵活的需求描述映射到平台上的生活服务。
关键设计¶
-
GNN 行为嵌入与记录检索:
- 功能:学习用户、时空上下文和需求的行为嵌入,用于检索最相关的历史消费记录提供给 LLM
- 核心思路:构建三类节点(用户 \(u\)、时空上下文 \(c\)、需求 \(n\))和两类加权边(用户-需求、上下文-需求)的异构图。使用类 LightGCN 的图传播学习嵌入,传播公式为 \(\mathbf{e}_i^{(k+1)} = \sum_{j \in \mathcal{N}(i)} \frac{w_{ij}}{D_i \cdot D_j} \mathbf{e}_j^{(k)}\),最终嵌入通过多层组合并 L2 归一化得到。训练使用 BPR 损失:\(\mathcal{L}_{\text{BPR}} = -\sum \ln \sigma(\mathbf{e}_{uc}^\top \mathbf{e}_n - \mathbf{e}_{uc}^\top \mathbf{e}_{n'})\)
- 设计动机:传统文本嵌入检索只捕捉通用文本相似性,而行为嵌入直接编码了用户偏好和时空效应,能更精准地检索相关记录。同时结合个人记录和相似用户记录,解决用户可能有未探索需求或处于新场景的问题
-
马斯洛需求层次引导精化:
- 功能:用马斯洛需求层次理论构建结构化需求框架,引导 LLM 将初始预测精化为更符合人类真实需求的描述
- 核心思路:先让 LLM 根据平台服务列表和马斯洛理论生成三层需求框架;然后用该框架约束初始预测,使其对齐到合理的需求范围内(约 20 词)。对于超出 token 限制的大规模服务列表,先分类或分批处理
- 设计动机:LLM 自由生成有时会偏离需求——过于具体的行动("吃KFC汉堡")或平台不支持的需求("写邮件"),结构化框架能有效纠正
-
开放集需求自适应服务召回:
- 功能:将灵活的需求描述映射到平台上的具体生活服务,实现高效召回
- 核心思路:微调文本嵌入模型,以需求描述作为查询检索相关服务。训练数据构建:先为历史记录生成灵活需求描述,再用 LLM 基于封闭集 ground-truth 需求进行精化。使用 triplet loss 训练:\(\mathcal{L} = \sum \max(0, \text{sim}(q, s') - \text{sim}(q, s) + \alpha)\)
- 设计动机:封闭集方法用人工规则关联需求和服务,但 LLM 生成的无限种需求类型无法手动建立映射关系,必须通过学习来自动理解需求-服务关系
损失函数 / 训练策略¶
- GNN 编码器:BPR 排序损失训练用户/上下文/需求嵌入
- 召回模型:Triplet loss 微调 bge-base-v1.5 文本嵌入模型
- 领域适配:收集大模型的 prompt-预测对作为指令微调数据,端到端全参数微调小 LLM,使其一步推理即达两步框架效果
- LLM 骨干默认使用 GPT-4o mini(温度=0),单次预测成本约 $1.05/万次
实验关键数据¶
主实验¶
| 方法 | 类别 | 北京 R@10 | 北京 R@20 | 上海 R@10 | 上海 R@20 |
|---|---|---|---|---|---|
| EulerNet | 封闭集CTR | 0.0350 | 0.0687 | 0.0634 | 0.0962 |
| DisenHCN | 封闭集图 | 0.0924 | 0.1335 | 0.0727 | 0.1234 |
| Zero-shot CoT | 开放集 | 0.0345 | 0.0574 | 0.0236 | 0.0471 |
| ReLLa | 开放集 | 0.0588 | 0.1041 | 0.0535 | 0.0961 |
| LLMSREC-Syn | 开放集 | 0.0804 | 0.1271 | 0.0632 | 0.1003 |
| PIGEON | 开放集 | 0.1041 | 0.1662 | 0.1050 | 0.1490 |
PIGEON 在两个城市所有指标上均显著优于最强基线(p<0.05),北京和上海分别提升 15.18% 和 23.55%。
消融实验¶
| 配置 | 北京 R@10 | 北京 R@20 | 说明 |
|---|---|---|---|
| PIGEON 完整 | 0.1041 | 0.1662 | — |
| 去除所有历史记录 | 0.0277 | 0.0574 | 降幅最大,仅靠常识远远不够 |
| 去除个人历史 | 0.0784 | 0.1392 | 个人记录对个性化至关重要 |
| 去除相似用户历史 | 0.0781 | 0.1351 | 贡献与个人记录相当 |
| 去除需求精化 | 0.0932 | 0.1493 | 马斯洛框架精化有效 |
| 去除召回微调 | 0.0710 | 0.1149 | 微调对灵活需求映射关键 |
| 仅用封闭集query | 0.0750 | 0.1203 | 灵活需求描述作为 query 更优 |
关键发现¶
- 去除所有历史记录后性能暴跌至 Zero-shot CoT 水平,证明仅靠 LLM 常识不足以做个性化需求预测
- 人类评估(116名领域专家)显示 PIGEON 在具体性(3.900 vs 3.580, p<0.001)和信息密度(3.737 vs 3.413, p<0.001)上显著优于 LLMSREC-Syn
- 案例分析表明 PIGEON 能处理模糊需求("下班后放松充电")和复合需求("午餐+家庭聚会"),而封闭集方法只能预测单一粗粒度类别
亮点与洞察¶
- 将需求预测从封闭集重新定义为开放集问题是一个有价值的任务创新,从根本上解决了需求多样性、模糊性和复合性的问题
- GNN 行为嵌入巧妙地弥补了 LLM 缺乏个体用户知识的短板,同时比文本嵌入检索效果更好——体现了"领域知识 + LLM 结合"的范式优势
- 马斯洛需求层次作为精化框架是一个有创意的跨学科设计,让 LLM 生成的需求描述更好地对齐人类生活需求的层次结构
- 指令微调小模型的领域适配设计使系统具备在线部署的可能性
局限与展望¶
- 评估依赖下游召回任务的间接评估,缺乏对开放集需求描述质量的直接评估指标
- 数据集仅来自美团两个城市(北京、上海),泛化性需要在更多平台和场景验证
- 马斯洛需求框架的构建依赖 LLM 自动生成,质量和一致性难以保证
- 未考虑用户需求的时序动态变化和长期偏好演变
相关工作与启发¶
- vs 封闭集方法(DisenHCN): PIGEON 的开放集预测能覆盖封闭集无法发现的模糊和复合需求,在下游召回上全面超越
- vs LLM 检索增强方法(ReLLa/LLMSREC-Syn): PIGEON 的 GNN 行为嵌入比文本嵌入检索更有效,证明行为信号比文本相似性更能反映用户偏好
- vs 零射 LLM(Zero-shot CoT): 证明了单纯的 LLM 常识知识不足以做个性化需求预测,历史行为数据不可或缺
评分¶
- 新颖性: ⭐⭐⭐⭐ 开放集需求预测是一个有价值的任务重定义,GNN+LLM+马斯洛的组合设计有创意
- 实验充分度: ⭐⭐⭐⭐ 定量(两个城市)+消融(7配置)+人类评估(116专家)+案例分析,覆盖全面
- 写作质量: ⭐⭐⭐⭐ 问题定义清晰,方法描述详细,整体叙事流畅
- 价值: ⭐⭐⭐ 对生活服务推荐有直接应用价值,但场景较垂直