论文阅读: MGDSPR, 淘宝向量召回方案
Embedding-based Product Retrieval in Taobao Search背景在大型电商平台比如淘宝中产品搜索已经成为用户购物的核心入口。搜索引擎通常分成多个阶段Match召回从海量商品中快速找出候选集合Pre-Rank / Rank / Rerank逐级提升候选商品的质量与排序召回阶段候选商品的质量直接决定了后续整个搜索流程的效果。传统倒排索引基于词匹配在短 query 和商品 title 之间很难理解语义关系。电商搜索的 query 通常极短仅几词难以仅靠词匹配充分表达用户意图。个性化需求不同用户即使问相同 query真正感兴趣的商品也不同。例如有人更偏好鞋子的品牌或风格另一人则更关注价格。传统检索方法难以满足这种个性化需求。在淘宝的长期实践中传统 EBREmbedding-based Retrieval系统具有两个明显问题召回结果与 query 的相关性不足尽管向量检索能捕捉语义相似性但在实际工业场景中难以精确匹配查询关键词相关性可控性低导致用户投诉增多以及难以修复的 Bad Case。训练目标与线上推理逻辑不一致许多 embedding 检索模型在训练时采用对比损失如 hinge loss、pairwise loss 等而推理时基于近邻相似度排序目标不匹配导致模型难以有效优化。模型框架MGDSPRMulti-Grained Deep Semantic Product Retrieval是一个 双塔two-tower嵌入模型用于向量检索召回用户塔User Tower• 输入query 及用户行为包括实时、短期和长期行为序列• 输出用户语义向量代表查询意图个性化商品塔Item Tower• 输入商品标题Item title 商品 ID 表征。• 输出商品语义向量检索时采用近似最近邻Approximate Nearest Neighbor, ANN算法查找与用户向量最接近的一组商品向量。用户塔多粒度语义表示由于电商 query 很短切分后平均长度不超过 3因此对每个 query 采用多粒度语义表示。单粒度1-gram将 query 拆分为多个单字表示。双粒度2-gram将 query 中相邻的两个字组合成词元进行表示。词粒度对 query 分词后得到的多个 term 进行向量表示。分词序列建模捕捉顺序关系将词粒度序列输入 Transformer取最后一层的输出向量。历史序列建模使用当前 query 的分词结果q_seg与历史 query 序列进行点积计算。混合表示将前五个表示相加得到一个稳健化表示最终多粒度矩阵: Concat所有的向量表示\begin{align} q_{1\text{-gram}} \operatorname{mean\_pooling}(c_1, \ldots, c_m), \\ q_{2\text{-gram}} \operatorname{mean\_pooling}(c_1c_2, \ldots, c_{m-1}c_m), \\ q_{\mathrm{seg}} \operatorname{mean\_pooling}(w_1, \ldots, w_n), \\ q_{\mathrm{seg\_seq}} \operatorname{mean\_pooling}(\mathrm{Trm}(w_1, \ldots, w_n)), \\ q_{\mathrm{his\_seq}} \operatorname{softmax}\!\left(q_{\mathrm{seg}} q_{\mathrm{his}}^{\top}\right) q_{\mathrm{his}}, \\ q_{\mathrm{mix}} q_{1\text{-gram}} q_{2\text{-gram}} q_{\mathrm{seg}} q_{\mathrm{seg\_seq}} q_{\mathrm{his\_seq}}, \\ Q_{\mathrm{mgs}} \operatorname{concat}\!\left(q_{1\text{-gram}}, q_{2\text{-gram}}, q_{\mathrm{seg}}, q_{\mathrm{seg\_seq}}, q_{\mathrm{his\_seq}}, q_{\mathrm{mix}}\right). \end{align}每个向量表示均需经过 Pooling 操作将其统一映射至固定维度使所有 Token 对最终表示的贡献趋于均衡。历史行为序列表示核心目标基于当前 query 的语义对用户历史行为进行筛选或聚合生成个性化表示同时允许模型在历史行为与当前 query 无关时自动关闭个性化。论文首先将用户在当前时刻之前的历史行为按时间窗口划分为三段。Real-time 序列 R_u紧贴当前时刻 t 的行为论文表述为 “before the current time step”对于实时用户行为序列其演化性较强因此采用 LSTM 建模行为随时间的动态变化获得全部隐藏状态。R^{u}_{lstm}\{h_1^u,\dots,h_T^u\}Short-term 序列10 天内、早于 R 的行为‘before R and within ten days’。短期序列更长但演化性不如实时序列充分因此直接输入 Multi-head Self-attention 以捕获多个潜在兴趣点。Long-term 序列1 个月内、早于 S 的行为‘before S and within one month’。长期行为序列仅包含四个维度Item、shop、leaf category 和 brand每个维度进一步细分为 click、buy、collect 三种行为类型。将各 embedding 直接接后经线性变换得到一个动作向量以降低线上计算开销。论文强调需在每个行为序列向量前插入一个全零向量。降噪赋予模型处理‘历史行为与当前 query 不相关’情况的能力模型可将注意力分配至零向量从而忽略历史行为用户历史往往杂乱而 query 通常简短且意图明确。物品塔该方法将每个商品编码为一个适用于近似最近邻ANN召回的向量 H_{\text{item}}仅利用商品 ID 和标题文本两类信息构建表征。对商品 ID通过查表获取其嵌入向量 e_i对商品标题文本先分词得到词序列再对各词向量进行 Mean-Pooling然后经线性变换和激活函数处理最后与 [其他向量] 相加得到商品表征向量。H_{\text{item}} e_i \tanh!\left( W_t \cdot \frac{1}{N} \sum_{j1}^{N} w_j \right)作者指出商品标题更接近“关键词堆叠”而非自然语言句子因此相比 LSTM 或 Transformer 等上下文建模方法Mean-Pooling 在效果和效率上更为简洁有效。在线服务阶段所有商品向量预先离线计算并构建 ANN 索引召回时以用户塔输出的向量与 H_{\text{item}} 进行内积打分实现高效候选生成。训练目标训练采用 Softmax Cross-entropy交叉熵并且在工程上用 Sampled Softmax 来近似全量 Softmax同时在 Softmax 里加入了 温度 \tau并把生成的 I_{mix}​先挑选出一些难度大的负样本 I_{hard}​, 再将正样本向量和负样本向量I_{hard}​做线性插值, 得到I_{mix}​加入分母。1) 概率\hat y(i^|q_u) \frac{\exp(F(q_u,i^)/\tau)} {\sum_{i\in I\cup I_{mix}}\exp(F(q_u,i)/\tau)}其中 F(\cdot) 是用户向量与商品向量的点积, I\cup I_{mix}其作用是让模型学会区分正样本和“正样本附近的相似向量”。2) loss交叉熵L -\sum_{i\in I} y_i \log(\hat y_i)在单正样本one-hot情况下基本就是这样-\log \hat y(i^|q_u)。

相关新闻

如何监控多个进程的存活和CPU、内存占用

如何监控多个进程的存活和CPU、内存占用

窃迂该鄙二次封装组件需要考虑的3个重要的问题 1,props 如何进行传递 2,插槽如何穿透 3,暴露实例以及实例中的方法 在vue3中的$attrs的变化 vue3中$listeners已被删除合并到$attrs中。 vue3的$attrs现在包括class和style属性。 vue2中不包含c…

2026/7/6 7:29:31 阅读更多 →
刚刚,GPT- 炸裂登场!可免费使用

刚刚,GPT- 炸裂登场!可免费使用

彰甭妥缚基础原理 对于?个企业专属的智能客服,AI ?模型是必不可少,例如 deepseek、chatGPT 等。 可模型本身并不知道公司的各种产品信息,所以需要我们在给模型发送问题的时候,将产品?册?同发送给模型。 可如果产品?册的内容?…

2026/5/17 8:32:54 阅读更多 →
Flutter 三方库 jenny 的鸿蒙化适配指南 - 掌控 Yarn Spinner 剧情分支、互动脚本实战、鸿蒙级精密叙事专家

Flutter 三方库 jenny 的鸿蒙化适配指南 - 掌控 Yarn Spinner 剧情分支、互动脚本实战、鸿蒙级精密叙事专家

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net Flutter 三方库 jenny 的鸿蒙化适配指南 - 掌控 Yarn Spinner 剧情分支、互动脚本实战、鸿蒙级精密叙事专家 在鸿蒙跨平台应用开发重度叙事类游戏、复杂的互动式教学工作流(如智…

2026/7/5 11:24:26 阅读更多 →

最新新闻

STM32与AD74413R实现高精度同步数据采集与输出方案

STM32与AD74413R实现高精度同步数据采集与输出方案

1. 项目背景与核心需求在工业自动化、测试测量和音频处理等领域,经常需要同时实现高精度模拟信号采集(ADC)和输出(DAC)的功能。传统方案通常需要分别使用独立的ADC和DAC芯片,这不仅增加了系统复杂度&#x…

2026/7/6 7:29:11 阅读更多 →
PCF8591与PIC18LF45K42信号转换系统设计

PCF8591与PIC18LF45K42信号转换系统设计

1. 项目背景与核心器件选型在工业控制和嵌入式系统设计中,信号转换是连接模拟世界与数字系统的关键桥梁。PCF8591作为一款集成了ADC和DAC功能的混合信号转换芯片,配合PIC18LF45K42这款高性能8位MCU,能够构建出高性价比的多通道信号处理系统。…

2026/7/6 7:29:10 阅读更多 →
智能体内存架构设计与实现:从短期记忆到长期记忆的完整工程方案

智能体内存架构设计与实现:从短期记忆到长期记忆的完整工程方案

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 在构建复杂AI应用时,你是否遇到过这样的困境:智能体(Agent)在处理长对话或多步骤任务时…

2026/7/6 7:29:10 阅读更多 →
13DOF传感器与TM4C123的嵌入式定位导航系统设计

13DOF传感器与TM4C123的嵌入式定位导航系统设计

1. 项目背景与核心需求在智能硬件和机器人领域,精准的定位导航能力一直是技术突破的关键瓶颈。传统方案往往面临两个主要痛点:一是单一传感器(如GPS或IMU)在复杂环境中可靠性不足;二是低功耗微控制器难以承载多传感器数…

2026/7/6 7:27:09 阅读更多 →
如何用深蓝词库转换工具实现跨平台词库自由:完整新手指南

如何用深蓝词库转换工具实现跨平台词库自由:完整新手指南

如何用深蓝词库转换工具实现跨平台词库自由:完整新手指南 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 你是否曾经因为更换输入法而不得不放弃多年积累…

2026/7/6 7:27:09 阅读更多 →
BERT 与 3 种传统方法对比:情感多分类任务下的精度、速度与数据需求分析

BERT 与 3 种传统方法对比:情感多分类任务下的精度、速度与数据需求分析

BERT与传统方法在情感多分类任务中的全面对比:精度、效率与数据需求的深度解析情感分析作为自然语言处理(NLP)领域的核心任务之一,其技术演进直接反映了NLP方法论的发展轨迹。本文将聚焦情感多分类这一典型场景,系统对…

2026/7/6 7:25:09 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻