商品搜索语义排序系统
传统商品搜索主要判断查询词是否出现在商品标题或属性中。这种方法能够处理明确的品牌和型号,却不容易理解口语表达、近义词和模糊需求。例如,用户搜索“适合通勤的轻便电脑”,真正关心的是使用场景与商品特征,而不是标题中是否完整出现这句话。
这个项目将单一的关键词匹配升级为多阶段排序系统:先从大量商品中找出可能相关的候选,再逐步加入语义、行为和业务信息进行筛选与排序。目标是在不牺牲响应速度的前提下,让结果更符合用户意图,并通过真实业务指标验证效果。
职责与关键工作
我主导排序方案设计与核心实现,搜索团队共同完成工程交付。主要工作包括:
- 设计“召回—粗排—精排”的多阶段链路,避免对全部商品执行成本较高的复杂计算;
- 结合 BM25 的文本相关性与 Embedding/BERT 的语义表示,使系统既能识别准确词项,也能理解相近表达;
- 将用户点击、销量、地理位置、品类偏好和商品内容等 20+ 维特征纳入排序;
- 定义离线评估与线上业务指标,建设 A/B 实验、指标跟踪、灰度发布和回滚能力;
- 控制特征计算、模型调用和网络访问的开销,确保排序改进不会破坏搜索体验。
多阶段排序如何工作
第一阶段强调“不要漏掉”。系统用关键词、类目和语义向量等方式快速形成候选集合。第二阶段使用计算成本适中的特征缩小范围,例如文本匹配程度、商品状态和基础行为信号。最后阶段再综合更丰富的用户与商品特征,确定最终顺序。
这种设计把质量与性能分开控制。高成本方法只处理少量候选,主链路可以保持稳定;每一阶段的输入、输出和耗时也能分别观察,便于判断问题来自召回不足、特征异常还是排序策略偏差。
用实验控制上线风险
排序效果不能只凭少量搜索样例判断。新策略先在小比例流量中运行,与原策略同时观察点击、转化、零结果比例、延迟和异常率。只有整体收益稳定且关键品类没有明显退化,才逐步扩大流量。
实验配置、指标口径和回滚条件被纳入发布流程,使算法调整成为可比较、可审计的工程变更,而不是一次无法解释的模型替换。
项目结果
- 在融合 20+ 维文本、语义、行为与业务特征的同时,核心链路 P99 保持在 150ms 以下;
- 上线后搜索转化率提升约 18%;
- 建立持续 A/B 验证、灰度放量和快速回滚能力,为后续排序迭代提供稳定基础。
项目的关键价值,是把“更懂用户”的算法能力放进了一个能够稳定运行、验证收益并控制风险的生产架构中。