ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

AIMLInterviews 电商搜索系统设计实战:基于 9 步公式的多模态检索与两阶段排序全链路

AIMLInterviews 电商搜索系统设计实战:基于 9 步公式的多模态检索与两阶段排序全链路 示例工程教程人工智能【免费下载链接】AIMLInterviewsThis repo is meant to serve as a guide for Machine Learning/AI technical interviews.项目地址https://gitcode.com/gh_mirrors/ma/AIMLInterviews点击查看免费下载本文以开源面试指南仓库 AIMLInterviews 中的 搜索系统设计文档 为主体系统讲解如何在 ML 系统设计面试中从零设计一个电商搜索引擎从问题定义、指标体系、检索与排序架构、特征工程到两阶段 LTR 模型训练与线上重排。读完本文你将掌握一套可直接套用在电商/通用搜索面试题上的完整设计话术并理解倒排索引、相关性打分、Pointwise/Pairwise 学习排序与多任务分类等关键技术的底层取舍。文档定位一篇典型的搜索系统设计面试题解在 ml-system-design.md 的搜索系统retrieval, ranking章节中文本查询搜索Text query search 与图像搜索、多模态搜索并列是最常被考察的 ML 系统设计题型之一。该文档严格遵循仓库推荐的9 步 ML 系统设计公式展开即问题定义Problem Formulation→ 2. 指标Metrics→ 3. 架构组件Architectural Components→ 4. 数据收集与准备 → 5. 特征工程 → 6. 模型开发与离线评估 → 7. 预测服务 → 8. 在线测试与部署 → 9. 扩展、监控与更新。本文按此骨架逐节深入并在关键节点引入仓库中配套的 指标详解、特征工程与文本编码、有害内容检测 等文档交叉印证形成有实操、有原理的完整题解。1. 问题定义Problem Formulation1.1 澄清问题清单面试开场应先通过澄清问题锁定场景原文档给出了 12 个关键提问按维度可归纳为四组搜索类型与业务目标是通用搜索引擎如 Google还是垂直搜索如 Amazon 商品搜索系统的首要商业目标是什么使用场景与需求具体应用在哪些场景系统需求是什么响应时间、准确率、可扩展性、与现有系统/平台集成规模与数据系统在数据量和用户交互上的预期规模是否有可用数据、什么格式是否需要个性化文档明确注明个性化不是必须的内容与行为需要支持多少种语言平台上有哪些类型的商品、关联了哪些属性用户常见搜索行为是怎样的是否频繁使用筛选、排序、高级搜索是否存在电商特有挑战如商品可用性、定价、用户评论1.2 用例与业务目标用例用户向搜索框输入文本查询系统返回最相关的商品条目。业务目标提升 CTR、转化率等核心商业指标。1.3 需求与约束需求响应时间、准确率、可扩展性文档给出的示例规模为50M DAU。约束预算限制、硬件限制、法律与隐私约束。1.4 数据、假设与 ML 表述数据来源与可用性需要向面试官确认数据的来源与可获得性文档留空正是面试中需要主动追问的部分。假设明确你所作的假设例如点击行为可从历史数据中学习、相关性可度量等这是后续构建训练样本的前提。ML 表述ML formulationML 目标检索与文本查询最相关的商品相关性可定义为点击、成功会话、转化等的加权汇总。ML 输入/输出输入为用户文本查询输出为电商平台上最相关商品的排序列表。ML 类别多模态输入的搜索系统 → 检索retrieval 排序ranking其中排序部分可建模为多标签分类点击、成功、转化等进而使用**多任务分类器multi-task classifier**统一学习。2. 指标设计Metrics2.1 离线指标候选离线指标包括Precisionk、Recallk、MRR、mAP、NDCG。原文档给出的决策是选择 NDCG理由是相关性是**非二值分级**的。这一点与 mlsd-metrics.md 中的Ranking小节一致Precisionk 与 Recallk 不考虑排序质量而不适用MRR 只关注第一个相关商品的位置当用户-商品相关性为非二值时NDCG 是最合适的选择。补充记忆点来自 mlsd-metrics.mdDCG 通过位置折扣 分级相关性增益量化排序质量NDCG 是 DCG 与理想排序 IDCG 的比值mAP 适用于二值相关性场景而电商场景中点击→加购→购买天然是分级信号因此 NDCG 更贴合。2.2 在线指标CTR最常用但文档明确指出其缺陷——不追踪相关性、易受点击诱饵click bait影响。成功会话率success session rate会话内停留时间 T 或发生加购作为质量信号。总驻留时间total dwell time。转化率conversion rate。这些指标对应 mlsd-metrics.md 中的在线指标体系CTR、转化率、跳出率、互动率、页面停留时间、ROI并强调应关注**反指标counter metrics**如隐藏、举报等直接负面反馈。3. 架构组件Architectural Components3.1 多层架构总览电商搜索是多模态搜索文本、图片、视频的商品内容输入为文本查询其核心是一条多层处理流水线Query Understanding → Candidate generation → Stage 1 Ranker → Stage 2 Ranker → Blender → Filter各层职责如下均出自原文档组件核心职责查询理解 Query Understanding拼写纠错、查询归一化、查询扩展/放宽、意图/域分类候选生成 Candidate Generation专注召回把百万/十亿级商品缩到万级10Ks排序 Ranking基于 ML多级排序候选超过 1 万或 QPS 1 万时启用多级Blender输出 SERP搜索引擎结果页混合多个来源文本倒排索引、语义检索、视觉检索等的结果Filter过滤不当内容、保证多样性等3.2 查询理解Query Understanding拼写纠错spell checker纠正用户输入的错别字。查询归一化query normalization大小写、空格、全半角等统一。查询扩展/放宽expansion / relaxation扩展如为 black pants 添加同义替代词放宽如删除 good 这类无区分度修饰词。意图/域分类Intent/Domain classification判断查询所属的业务域与意图为后续召回与排序提供先验。3.3 候选生成Candidate Generation核心目标是召回优先把全库百万/十亿级压缩到 10K 级交给排序层精排。文档特别提示当候选超过 10k 个待排序商品或 QPS 10k 时应采用多级排序例如 100k 商品Stage 1线性模型→ Stage 2DNN 模型→ 500 个商品进入最终展示。3.4 检索子系统Retrieval从 100B 到 100k原文档将检索单独列为子节包含以下要点IR 定义检索是比较查询文本与文档文本的信息检索过程。文档类型商品标题、商品描述、商品评论、商品品类。倒排索引inverted index一种索引数据结构将词映射到其在文档集合中出现的位置如 ABC → 文档 1、7这是全文检索如 Elasticsearch的底层结构。检索流程查询扩展后如 black pants 拆成 black 与 pants或扩展出 suit-pants、trousers 等同义词在倒排索引库中搜索并计算相关性分数。相关性分数relevance score原文给出了一个加权线性组合公式是本题的高频考察点词项匹配分如 TF-IDF 分数权重如w 0.5商品流行度评论数或购买数权重如w 0.125意图匹配分权重如0.125/2域匹配分domain match score个性化分数年龄、性别、位置、兴趣TF-IDF 的 TF/IDF 定义与公式可参见 特征工程文档 中的统计编码小节。3.5 Blender 与 SERPBlender 将来自多个检索源的候选如倒排索引的文本检索、语义检索、视觉检索混合输出最终的 SERP。这一步是多源融合的关键节点也衔接后续 Filter 层的业务策略。4. 数据收集与准备Data Collection and Preparation数据来源四大主体——用户Users、查询Queries、商品Items/Products、上下文Context。这也与 mlsd-template.md 中明确大主体big actors的思路一致。标注Labeling使用在线用户行为数据生成正负标签——这是电商搜索区别于人工标注的核心手段成本低、规模大、可持续更新。具体到排序模型的样本构造方式见第 6 节。5. 特征工程Feature Engineering原文档按主体 交叉组织特征六类特征需完整掌握5.1 用户特征UserID、用户名人口统计学属性年龄、性别、位置交互历史点击率、购买率等兴趣如品类。5.2 上下文特征Context设备一天中的时段近期热门结果recent hype results之前的查询previous queries。5.3 查询特征Query查询的历史互动其他用户的点击/转化统计查询意图/域查询嵌入query embeddings。5.4 商品特征Item/Product标题原文文本 嵌入描述原文文本 嵌入评论数据平均评分、评论数、评论文本内容及其嵌入品类PageRank互动半径engagement radius。5.5 用户-商品交叉特征User-Item距离如配送距离该用户对该商品的历史互动如文档类型维度上的偏好。5.6 查询-商品交叉特征Query-Item文本匹配标题、描述、品类一元/二元语法搜索的 TF-IDF 分数历史互动该查询下该商品的点击率等。提示文本类特征的处理链路归一化 → 分词 → token 转 id以及 BoW/TF-IDF/Word2Vec/BERT 等编码方式可进一步参考仓库的 特征预处理文档 与 MLSD 预处理笔记。6. 模型开发与离线评估Model Development and Offline Evaluation6.1 模型选择Pointwise vs Pairwise LTR原文档给出学习排序LTR的两个方向Pointwise LTRuser, item → relevance score近似为二分类问题 p(relevant)。简单直接。Pairwise LTRuser, item1, item2 → item1 分数 item2 分数损失函数取决于预测的次序是否正确。更贴近排序本质但更复杂。6.2 多级排序Multi-Stage Ranking目标链路为100k 商品重召回→ 500 商品重精度→ 500 商品按正确顺序排列Stage 1Pointwise LTR → 二分类器。延迟要求微秒级microseconds建议LR 或小规模 MARTMultiple Additive Regression Trees离线指标用ROC AUC。Stage 2Pairwise LTR 模型两个候选方案依据训练数据可得性与算力选择LambdaMARTMART 的变体目标函数改为优化 pairwise 排序。LambdaRank基于 NN 的模型pairwise 损失最小化最终排序中的逆序数 inversions。离线指标用NDCG。6.3 训练数据集构造Pointwise 方法正样本用户产生互动点击、停留 T、加购、购买。负样本用户无互动的曝光 随机负采样如取第 10 页之后的商品。规模推算原文档给出的示例每天 500 万查询每个查询取一正一负 →每天 1000 万样本。时间覆盖至少使用一整周数据以捕捉日内模式并处理季节性与节假日数据。划分训练/验证/测试 70/30对应 7000 万样本的规模示例。时序影响例如用 3 周数据时前 2/3 周做训练最后一周做验证/测试——避免时序泄漏。Pairwise 方法按相对顺序组织样本更贴近排序本质模型目标是最小化最终排序结果中的逆序数。训练数据的两个来源原文档明确标注为 pointwise 方法生成训练数据的两种选项人工评分human raters每位评分员对 10 万查询各评 10 个结果 × 10 人 1000 万样本。缺点昂贵、不可扩展。在线行为数据分级打分为每种互动类型赋分——行为标签/分数曝光未点击0仅点击1点击后停留 T2加购3购买4该0–4 分级打分思路正是第 2 节选择 NDCG非二值相关性的建模侧呼应多任务分类器点击/成功/转化联合学习则对应问题定义阶段的 ML 表述。7. 预测服务Prediction Service原文档的预测服务聚焦于重排Re-ranking——排序完成后叠加业务级逻辑与策略过滤不当商品filtering inappropriate items。多样性diversity探索/利用 exploration/exploitation等。重排的实现有两种路径基于规则规则型过滤器与聚合器rule based filters and aggregators。ML 模型任务形式二分类 P(inappropriate)。数据来源人工评分员、用户反馈举报、评论。特征与排序器中的商品特征相同。模型LR、MART 或 DNN视数据规模、容量与实验结果而定。更细的讨论可参见仓库的 有害内容分类文档其中覆盖了多模态多标签分类、多任务共享层、自然标注 vs 人工标注、以及模态过拟合的应对gradient blending、focal loss等要点。8. 在线测试与部署Online Testing and Deployment原文档此节留白但按照 ml-system-design.md 的框架应涵盖A/B 实验控制组与测试组、用户分桶比例、零假设、Bandits、影子部署shadow deployment、金丝雀发布canary release。面试中可据此展开说明如何用 A/B 验证 Stage 2 模型相对 Stage 1 的在线收益。9. 扩展、监控与更新Scaling, Monitoring, and Updates同样可复用 ml-system-design.md 第 9 步的内容补齐水平扩展分布式服务、负载均衡、分片、缓存、分布式训练数据并行/模型并行、日志与指标监控软件指标 ML 指标、数据分布漂移检测协变量漂移、标签漂移、概念漂移与修正、持续训练与模型更新频率日/周/月等。10. 其他讨论点Other Talking Points原文档明确列出的加分项是位置偏差Positional bias用户更倾向点击排在前面的结果导致曝光数据本身带有位置先验需要在样本加权、位置特征或反事实矫正中处理。这也是搜索与广告系统面试的常见延伸问题广告场景可参考 Ads Click Prediction 文档 中的校准与数据泄漏讨论。答题要点速览先问清场景通用 vs 垂直搜索、业务目标、规模50M DAU 级、语言与个性化需求决定了后续所有设计取舍。指标分层离线选 NDCG相关性分级在线同时盯 CTR注意点击诱饵陷阱、成功会话率、驻留时间与转化率。架构分层查询理解 → 候选生成倒排索引 加权相关性分→ 两级排序Pointwise 粗排 Pairwise 精排→ Blender → Filter业务重排。样本工程行为数据分级打标签0–4 分、每查询一正一负、至少一周数据、按时间切分。边界条件候选 10k 或 QPS 10k 时才需要多级排序Stage 1 用 LR/MART ROC AUCStage 2 用 LambdaMART/LambdaRank NDCG。上述要点可直接迁移到仓库中同属搜索/排序题型的 图像/视频搜索、多模态搜索 与 信息流排序 等面试题中形成一套完整的搜索/排序系统设计方法论。赞分享示例工程教程人工智能【免费下载链接】AIMLInterviewsThis repo is meant to serve as a guide for Machine Learning/AI technical interviews.项目地址https://gitcode.com/gh_mirrors/ma/AIMLInterviews点击查看免费下载相关推荐AIMLInterviews 电商搜索系统设计从查询理解到多阶段排序的完整 MLSD 实战指南AIMLInterviews 电商搜索系统设计从查询理解到多阶段排序的完整 MLSD 实战指南 本文基于 AIMLInterviews https://lin示例工程教程人工智能RAG 重排序Re-ranking实战基于 all-rag-strategies 的两阶段检索精排方案RAG 重排序Re ranking实战基于 all rag strategies 的两阶段检索精排方案 导读 重排序Re ranking是高级 RA示例工程游戏推荐引擎系统设计实战基于 AIMLInterviews 的三阶段漏斗式架构全流程解析游戏推荐引擎系统设计实战基于 AIMLInterviews 的三阶段漏斗式架构全流程解析 本篇以 AIMLInterviews 仓库中《设计一个游戏推荐引擎》示例工程教程人工智能上一篇深度揭秘virtual-display-rs用Rust编写Windows虚拟显示驱动的技术原理下一篇Poetry 依赖组怎么选可选组与 --with、--without、--only 安装控制创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表