营销推荐系统的大模型化——从协同过滤到生成式推荐的架构转型

发布时间:2026/9/21 2:03:30

营销推荐系统的大模型化——从协同过滤到生成式推荐的架构转型 营销推荐系统的大模型化——从协同过滤到生成式推荐的架构转型一、协同过滤在电商推荐中的天花板效应某中型电商平台的推荐系统基于 Item-CF基于物品的协同过滤已经运行了 3 年。算法逻辑是找到与用户最近购买/浏览商品相似的其他商品按相似度排序推荐。这套算法在平台发展初期效果显著推荐点击率一度达到 8.5%。但到 2025 年 Q1推荐点击率逐渐下降到 5.2%。团队做了深入分析后发现三个结构性原因交互稀疏性问题加剧平台 SKU 数量从 12 万增长到 50 万但用户行为仍然集中在 Top 5% 的热门商品上。长尾商品几乎没有行为数据导致 Item-CF 无法为这些商品计算有效的相似度冷启动商品的推荐完全随机。无法感知场景和意图用户搜索年会礼服和日常通勤装协同过滤推荐的是相似的女性服装但它无法区分正式场合和日常场景的差异。推荐列表中出现了一件晚礼服又出现了一件运动T恤用户感觉推荐不搭。推荐理由的黑盒化系统只能告诉用户买了 A 的人也买了 B但无法给出更符合人性的推荐理由如这款风衣和你上周购买的那条围巾很搭配秋季通勤最佳组合。协同过滤的底层假设是相似用户有相似偏好但这个假设在行为稀疏和场景复杂时效果衰减严重。引入大语言模型的目标不是替代协同过滤而是用生成式能力弥补协同过滤的短板。二、生成式推荐的架构设计召回 排序 生成大模型在推荐系统中的角色不是计算相似度这个任务协同过滤做得更好而是理解用户意图、生成推荐理由和做跨品类的组合推荐。这套架构的工作流程分为四个阶段阶段一用户意图提取。将用户最近 30 天的行为数据浏览、搜索、加购、购买、收藏输入 LLM提取用户的购物意图标签。例如用户当前处于换季购置阶段偏好日系简约风格预算在 300~800 元/件对棉麻面料有明确偏好。阶段二多路召回。Item-CF行为相似度 向量检索语义相似度 实时行为最近浏览的同品类三路召回合并去重形成 200 个候选集。阶段三意图加权精排。在特征排序时将 LLM 提取的意图标签作为排序特征之一如风格匹配度、价格带匹配度让排序结果更符合用户的当前意图。阶段四推荐理由生成。将 Top 10 推荐商品和用户画像一起送入 LLM为每件商品生成个性化的推荐理由。三、Prompt 工程让 LLM 成为懂你的导购生成式推荐的核心竞争力在于推荐理由的自然语言描述。一句好的推荐理由能让点击率提升 30% 以上。/** * 推荐理由生成器基于用户画像 商品特征生成个性化推荐文案 */ Service public class RecommendationReasonGenerator { private static final String SYSTEM_PROMPT 你是一位资深电商导购。根据用户的购物偏好、浏览历史和当前场景 为每个推荐商品生成个性化推荐理由。 规则 1. 推荐理由必须具体、有信息量不能是猜你喜欢这类通用口径 2. 如果用户有相关购买/浏览历史在理由中提及如配你上周买的...) 3. 对于搭配推荐说明搭配逻辑如同色系、风格呼应 4. 每个理由 15~30 字简洁有力不浮夸 5. 对于用户已购买的同类商品标注您已拥有类似商品是否考虑升级 ; /** * 批量生成推荐理由 */ public ListRecommendationItem generateReasons( UserProfile userProfile, ListProductCandidate candidates) { try { String prompt buildReasoningPrompt(userProfile, candidates); String llmResponse llmClient.chat(prompt); return parseReasons(llmResponse, candidates); } catch (Exception e) { log.error(推荐理由生成失败, 使用默认理由降级, e); // 降级使用基于商品属性的模板化理由 return generateDefaultReasons(candidates); } } /** * 构建包含用户画像和商品信息的 Prompt */ private String buildReasoningPrompt(UserProfile userProfile, ListProductCandidate candidates) { StringBuilder prompt new StringBuilder(); prompt.append(SYSTEM_PROMPT).append(\n\n); // 用户画像 prompt.append(【用户画像】\n); prompt.append(String.format(- 性别: %s, 年龄段: %s\n, userProfile.getGender(), userProfile.getAgeGroup())); prompt.append(String.format(- 偏好的风格: %s\n, String.join(、, userProfile.getPreferredStyles()))); prompt.append(String.format(- 平均客单价: %.0f 元\n, userProfile.getAvgOrderAmount())); // 最近行为 prompt.append(- 最近浏览: ); prompt.append(userProfile.getRecentBrowses().stream() .limit(5) .map(p - p.getProductName()) .collect(Collectors.joining(、))); prompt.append(\n); prompt.append(- 最近购买: ); prompt.append(userProfile.getRecentPurchases().stream() .limit(3) .map(p - p.getProductName()) .collect(Collectors.joining(、))); prompt.append(\n\n); // 推荐商品列表 prompt.append(【推荐商品】为每件生成推荐理由\n); for (int i 0; i candidates.size(); i) { ProductCandidate p candidates.get(i); prompt.append(String.format( %d. %s | 品类: %s | 风格: %s | 价格: %.0f元 | 卖点: %s\n, i 1, p.getProductName(), p.getCategory(), String.join(/, p.getStyles()), p.getPrice(), String.join(、, p.getHighlights()) )); } prompt.append(\n输出 JSON 数组不要其他文字\n); prompt.append( [ {index: 1, reason: 推荐理由}, {index: 2, reason: 推荐理由} ] ); return prompt.toString(); } /** * 降级方案基于规则生成模板化推荐理由 */ private ListRecommendationItem generateDefaultReasons( ListProductCandidate candidates) { return candidates.stream().map(c - { String reason; if (c.getCategory() ! null c.getPrice() ! null) { reason String.format(%s品类热销 | %s风格 | ¥%.0f, c.getCategory(), String.join(/, c.getStyles()), c.getPrice()); } else { reason 根据您的浏览偏好推荐; } return new RecommendationItem(c, reason); }).collect(Collectors.toList()); } }/** * 用户意图提取器从行为数据中提取购物意图标签 * 离线批量执行结果存入用户画像缓存 */ Service public class UserIntentExtractor { private static final String INTENT_PROMPT 分析以下用户的近期购物行为数据提取其购物意图标签。 输出格式JSON { scenario: 场景描述如换季购置、节日送礼、家居装修, stylePreferences: [风格1, 风格2], priceRange: {min: 100, max: 500}, categoryFocus: [当前关注品类], purchaseUrgency: LOW / MEDIUM / HIGH, brandPreferences: [偏好品牌], materialPreferences: [偏好材质] } ; /** * 批量提取用户意图定时任务每 4 小时执行一次 */ Scheduled(cron 0 0 */4 * * ?) public void batchExtractIntents() { try { // 获取最近有行为的活跃用户 ListLong activeUsers userActivityRepo .findActiveUsers(LocalDateTime.now().minusDays(1)); // 分批处理每批 50 个用户 ListListLong batches partition(activeUsers, 50); for (ListLong batch : batches) { for (Long userId : batch) { try { UserBehaviorData behaviorData collectBehaviorData(userId); String prompt buildIntentPrompt(behaviorData); String llmResponse llmClient.chat(prompt); UserIntent intent parseIntent(llmResponse); userIntentCache.save(userId, intent); } catch (Exception e) { log.error(用户意图提取失败, userId: {}, userId, e); // 单个用户失败不中断批量处理 } } } } catch (Exception e) { log.error(批量意图提取异常, e); } } }四、生成式推荐的 A/B 实验与数据分析在灰度环境做了为期 3 周的 A/B 实验。对照组为纯 Item-CF 推荐实验组为Item-CF 召回 LLM 意图加权 LLM 推荐理由。核心指标变化推荐点击率从 5.2% 提升到 7.1%提升 36%。提升的主要驱动力是推荐理由——用户更倾向于点击那些给出了明确理由的推荐。配你上周买的黑色通勤包秋日通勤满分搭配比猜你喜欢的点击率高出 2.3 倍。推荐转化率从 1.8% 提升到 2.6%提升 44%。意图加权使推荐结果更贴近用户真实需求减少了看过不买的无效曝光。长尾商品曝光占比从 12% 提升到 28%。LLM 的语义理解能力让它可以为数据稀疏的长尾商品生成有意义的推荐理由而不依赖行为数据。用户停留时长推荐模块的浏览时长从平均 38 秒增加到 52 秒。推荐理由的讲故事能力让用户更愿意花时间浏览推荐列表。成本方面单次推荐的 LLM 调用成本约 0.01 元含意图查询 推荐理由生成。日均 120 万次推荐请求其中 30% 触发推荐理由生成36 万次日成本约 3600 元。相对于推荐带来的 GMV 增量ROI 约为 15:1。五、生成式推荐的局限与下一步方向从协同过滤到生成式推荐不是替代而是补充。当前方案仍有两个明显的局限实时性瓶颈LLM 推理延迟300~600ms无法满足推荐系统的 100ms 要求。当前方案将 LLM 调用拆分为离线意图提取和在线理由生成两部分但推荐理由的生成仍然在关键路径上。下一步计划引入边缘推理小型模型部署到 Kubernetes 集群内网将延迟压缩到 100ms 以内。多样性 vs 准确性的博弈LLM 倾向于推荐安全的选择——它从用户画像中提取到偏好日系简约后倾向于推荐大量类似风格的商品导致推荐结果多样性下降。需要在 Prompt 中显式要求避免过度集中建议包含 1~2 个风格拓展推荐。交互式推荐的演进当前推荐是一次性的——用户看到列表后要么点击要么忽略。下一步计划尝试交互式推荐用户可以对推荐结果做出反馈不太喜欢这个风格LLM 实时调整后续推荐。这需要更低的推理延迟和更复杂的多轮对话管理。推荐系统的大模型化本质上是将推荐从数字匹配升级为语义理解。协同过滤告诉你数据上是相似的LLM 告诉你风格上是搭配的。二者组合才能在准确性和可解释性之间找到适合电商场景的平衡点。
延伸阅读

更多相关文章

2026/9/20 15:58:39

支付系统的分布式事务:两阶段提交与 TCC 的落地对比

支付系统的分布式事务:两阶段提交与 TCC 的落地对比 一、一笔支付,背后可能涉及三个服务、两个数据库和一个第三方 在电商支付链路中,一笔典型的支付操作涉及以下步骤:扣减用户账户余额、创建支付订单、调用第三方支付渠道、增加商…

2026/9/20 15:58:41

AI在电商价格策略中的应用:动态定价模型与实时调价的后端引擎

AI在电商价格策略中的应用:动态定价模型与实时调价的后端引擎 一、动态定价的业务背景 电商平台的商品定价已经从"运营手工改价"演进到"算法自动调价"。驱动这一变化的核心原因是定价因素的复杂度爆炸:一个爆款商品的价格受竞品价格…

2026/9/21 2:02:30

3DES源代码全解析:加解密实现、CBC模式与踩坑指南

简介:3DES源代码包面向信息安全与密码学学习者,提供加密与解密的完整实现,可直接用于理解三重DES算法的工作流程。资源共11个文件,核心为main.cpp源程序,并配有可执行exe、C工程配置文件(cbp/layout/depend…

2026/9/21 2:02:30

大模型入门指南:从零开始的技术路线与实战经验

1. 大模型转行指南:从零开始的认知重塑去年夏天,我偶然在GitHub上看到一个用Stable Diffusion生成动漫头像的项目,当时完全看不懂那些术语——transformer、LoRA、prompt engineering...但正是这种"看不懂"激发了我的好奇心。三个月…

2026/9/21 2:02:30

单点、多点、混合接地:PCB地设计完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/21 2:02:30

Ghidra逆向工程实战:从安装配置到脚本化批量分析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/21 2:02:30

UL 1562电热器具安全标准解析:从范围判定到落地测试

简介:这份PDF为美国保险商实验室发布的《UL 1562-2020-08-11》干式配电变压器安全标准,面向额定电压超过600伏的变压器制造商、设计人员及电力行业相关工程与质检从业者。标准基于2013年第四版并于2020年8月11日修订,重点更新了绝缘系统的要求…

2026/9/21 1:57:30

SAP按销售订单结算全解析:从配置到月结实践

简介:按销售订单结算之SAP系统的配置及操作是一份聚焦SAP中按单结算场景的专业操作资料,面向SAP实施顾问、财务成本控制关键用户及制造企业IT人员,重点区分“无差异模式”与“有差异模式”两种业务场景,系统梳理从生产订单结算、销…

2026/9/20 0:04:49

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/20 0:04:49

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/21 0:02:23

OpenResearch:构建可复现的开放式研究工作流

第一次看到“OpenResearch”这个名字,我脑子里冒出的不是某个具体软件,而更像一种研究方式的宣言:开放、可复现、可验证。这三件事放在一起,其实比大多数人想象中难得多。过去几年我一直在折腾自己的研究工作流,从纯纸…

2026/9/20 4:54:47

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/20 5:01:23

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/20 5:09:33

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码