真实面经题目 · 原创解析

关键词不在库里但商品对应另一个关键词,怎么解决?

这是电商搜索中的 query 覆盖与语义召回问题。可通过同义词和别名词库、query rewrite、拼写纠错、类目和属性归一、向量召回、用户行为挖掘等方式,把未入库关键词映射到可召回商品的标准词或相关词,同时通过相关性排序和人工审核控制误召回。

出现于:京东 · 算法

60 秒回答模板

先判断问题类型:关键词未入库不等于商品不存在,而是 query 到商品索引的连接断了。再给方案:离线构建同义词、别名、品牌型号、属性词映射,在线做 query rewrite 和多路召回。最后讲质量控制:用点击、转化、人工标注评估召回率、相关性和误召回风险。

考点 映射缺失
难度 真实面经题
回答目标 讲清原理、实现和边界

深入解析

01

诊断层

先判断关键词无法召回的根因:分词没有切出该词、词库缺少别名、品牌或型号被缩写、属性值与类目不一致、query 有错别字,还是商品索引只挂了另一个标准词。不同原因对应的修复路径不同,不能只把词硬塞进库。

02

词表层

离线可从商品标题、属性、类目、站内搜索日志、改搜链路、共同点击商品和共同转化商品中挖掘候选同义词、别名词、上下位词和热词。候选词要带置信度、适用类目和生效状态,方便审核、回滚和持续维护。

03

改写层

在线改写应生成一个或多个标准关键词候选,并保留原 query 的精确召回通道。对品牌、型号、规格这类强约束词要更保守;对泛化类目词可以放宽。改写结果最好带置信度,用于决定扩召回、降权还是不改写。

04

召回层

召回层应多路互补:倒排索引负责词面和属性精确匹配,类目或属性召回补齐结构化信息,语义向量召回覆盖长尾表达和同义说法。多路结果合并后需要去重、打来源标记,并为排序提供改写词、原词和召回原因。

05

排序层

排序不能只因为改写命中就提前排高,还要结合文本相关性、属性一致性、用户行为、商品质量、价格库存等特征。尤其要惩罚品牌型号错配、类目漂移和低置信度改写,避免把“能召回”变成“召回了不相关商品”。

06

治理层

治理上对高频 query 和高影响改写做人工审核、灰度发布和回滚;对长尾 query 用日志闭环自动更新候选。核心指标包括无结果率、改写覆盖率、人工相关性、二次搜索率、点击转化和误召回投诉,按类目切片监控。

易错点

  • 只说把新关键词加进数据库,没有考虑自动发现和持续维护。
  • 只做语义向量召回,忽略电商搜索对精确属性和品牌的要求。
  • 把所有改写都强制替换,导致原 query 的精确召回丢失。
  • 只优化点击率,不监控误召回和转化损失。

面试官追问

如何从搜索日志中挖掘同义词候选?

可以看同一用户短时间改搜、query 共同点击商品、共同转化商品、标题属性共现和人工标注结果,生成候选后再做置信度过滤。

query rewrite 错误会带来什么线上风险?

错误改写会召回不相关商品,降低搜索信任和转化,严重时会把品牌、型号、规格等强约束改错。

向量召回和倒排召回应如何融合?

倒排负责精确词面和属性匹配,向量负责语义长尾召回;多路候选合并后用相关性模型、规则和重排控制质量。

如何评估新增同义词词库是否有效?

离线看无结果率、召回率和人工相关性,线上看点击、转化、二次搜索率、误召回投诉和分 query 切片。