真实面经题目 · 原创解析

在商品库中如何快速找出相似商品描述,倒排索引、向量召回和 ANN 检索各适合什么场景?

这道题考商品文本检索的工程设计。好答案要先定义“相似”是近重复、同款、替代品还是语义相关,再比较倒排索引、向量召回和 ANN 的机制、成本、召回质量、实时更新和线上评估。

出现于:Cider · 算法

60 秒回答模板

我会先明确相似商品描述的业务定义和 SLA,比如是找重复铺货、同款归并、相似推荐,还是客服/运营检索。倒排索引适合品牌、型号、规格、关键词高度匹配的场景,优点是可解释、更新快、过滤能力强,缺点是对同义改写、语义相近但词不重合的描述不敏感。向量召回是把商品标题、描述、属性编码成 embedding,用距离度量找语义相近商品,适合改写、长文本和跨表达方式匹配,但依赖模型质量、训练数据和向量漂移治理。商品规模变大后,精确向量最近邻代价高,ANN 用 HNSW、IVF、PQ 等索引牺牲少量召回换延迟和内存,适合百万到亿级商品库。生产里通常不是三选一,而是类目、品牌、价格等结构化过滤加倒排和向量多路召回,再用轻量模型或交叉编码器重排。验收要看 Recall@K、Precision@K、NDCG、重复识别准确率、P95/P99 延迟、QPS、索引更新时延和分场景 badcase。

考点 相似先分层
难度 真实面经题
回答目标 比较倒排、向量召回和 ANN 的机制边界,并落到混合检索、重排、性能和评估闭环。

深入解析

01

先定义相似和数据口径

商品描述相似不是单一概念。重复铺货关注几乎同一商品,要求高精度和强去重;同款归并要看品牌、型号、容量、颜色、规格等关键属性;相似推荐可以容忍不同品牌或不同价格区间,但要保证用户意图相关。上线前要做文本清洗、中文分词、品牌别名归一、单位换算、SKU 属性抽取、类目过滤和脏数据处理。

02

倒排、向量和 ANN 的边界不同

倒排索引把词项映射到商品列表,常用 BM25、字段权重、短语匹配和布尔过滤,适合精确词、型号、品牌、类目强约束检索。向量召回把文本映射到稠密向量,用余弦或点积衡量语义距离,能处理“无线蓝牙耳机”和“降噪入耳式耳机”这类词面不完全重合的情况。ANN 不是新的语义模型,而是大规模向量检索加速方案;HNSW 偏低延迟高召回但内存较大,IVF/PQ 更省内存但要调聚类数、probe 数和量化误差。

03

工程上通常做混合检索

稳妥架构是先用类目、上下架状态、地域、价格带、品牌等结构化条件缩小候选,再并行跑倒排召回和向量召回,合并去重后做重排。重排可以使用字段规则、学习排序模型或 cross-encoder,对标题、描述、图片、属性一致性和业务规则加权。这样能兼顾倒排的可解释与实时性、向量的语义覆盖、ANN 的性能。

04

失败模式和验证指标要提前设计

常见失败包括类目串扰、型号数字误匹配、促销词污染、同义词缺失、embedding 把功能相似但不可替代的商品拉近、ANN 参数过激导致召回损失、索引延迟造成新商品查不到。离线看 Recall@K、Precision@K、MRR/NDCG、同款 pair F1、难负例误召回率;在线看点击率、转化率、运营去重效率、人工审核通过率、P95/P99 延迟、索引新鲜度、内存和重建耗时。

易错点

  • 不定义“相似”的业务含义,直接说用向量库查最近邻。
  • 把 ANN 当成语义能力来源,忽略它本质是向量检索加速索引。
  • 只比较算法准确率,不讨论 P95/P99 延迟、内存、QPS 和索引更新时延。
  • 忽略品牌、型号、规格、类目等结构化字段,导致语义近但业务错的商品被召回。
  • 没有 hard negative 和 badcase 回放,只用随机样本验证效果。

面试官追问

什么时候只用倒排索引就够?

如果商品描述高度结构化,用户关心品牌、型号、规格、类目等精确字段,并且同义改写不多,倒排加字段权重和规则过滤就很强。它可解释、更新快、成本低,适合运营检索、后台查重初筛、强关键词匹配。

ANN 会损失召回,怎么控制?

先用小规模精确最近邻做基准,再调 HNSW 的 efSearch、IVF 的 nprobe、候选池大小和量化参数,比较 Recall@K 与延迟曲线。对高价值场景可以扩大候选池、做二阶段精排,或对关键类目保留精确/倒排兜底。

商品属性和文本向量怎么结合?

不建议把所有问题都交给 embedding。品牌、类目、价格、尺寸、颜色、库存、地域这些强结构化字段应先作为过滤或重排特征。文本向量负责补足语义表达差异,属性一致性负责防止明显错配。

如何构造评估集?

用历史点击、人工标注、运营查重记录和线上 badcase 形成正负样本,并加入难负例,比如同品牌不同型号、同类目不同规格、标题相似但功能不同的商品。评估时按类目、文本长度、热度、新旧商品、属性缺失程度切片。