用 LLM(而非 BERT)做电商搜索相关性分类,通过数据筛选精调 → 多步推理引导 → 偏好对齐纠偏,三阶段把 LLM 在相关性任务上的"过于乐观"的毛病治好了,并在京东 A/B 测试中拿到显著正增益。
| 维度 | BERT 方案 | LLM 方案 |
|---|---|---|
| 范式 | 判别式(discriminative) | 生成式 + 推理 |
| 知识容量 | 有限,依赖微调数据 | 预训练知识 + 微调 |
| 推理能力 | 弱,黑盒打分 | 可输出推理链 (CoT) |
| 问题 | 语义理解浅、过拟合标注噪声 | 新问题:乐观偏差 (lenient bias) |
电商标注数据噪声大——同一个 query-product 对,不同标注员打分可能差两档。直接喂 LLM 微调会导致模型学到噪声。
解法:多轮筛选,每轮去掉标注一致性低的样本。只保留"高置信度"标注数据做 SFT。
消融实验:DataSelect 对比随机采样一致提升
相关性判断不是简单分类——需要理解用户意图、商品描述、搜索场景。CoT 让 LLM 先分析再打分。
Multi-CoT:不止一条推理链,而是多角度同时推理(搜索意图匹配度、商品属性匹配度、用户需求覆盖率),综合打分。
消融实验:Multi-CoT 相比单步分类一致提升
LLM 天生"和气"——判断相关性时倾向给高分(反正说"有点相关"比说"完全不相关"安全)。这在电商搜索中是致命的:用户搜"索尼耳机",结果出现"索尼耳机盒",LLM 可能给 Marginal 甚至 Significant 的打分,导致垃圾结果被排到前排。
解法:DPO (Direct Preference Optimization) 直接优化排序偏好——明确告诉模型哪些打分是错的(构造偏好对:正确打分 > 乐观打分),让模型学会严格判断。
消融实验:DPO 后低相关度任务的精确率显著提升
| 等级 | 定义 | 例子 |
|---|---|---|
| Exact | 完全匹配用户需求 | 搜"iPhone 15"→ iPhone 15 |
| Significant | 高度相关,可替代 | 搜"iPhone 15"→ iPhone 15 Pro |
| Marginal | 部分相关,勉强可用 | 搜"iPhone 15"→ 手机壳 for iPhone 15 |
| Trivial | 非常弱的关联 | 搜"iPhone 15"→ 通用手机支架 |
| Irrelevant | 完全不相关 | 搜"iPhone 15"→ 洗衣机 |
在大规模真实数据集(JD 电商搜索日志)上对比多个基线(Cross-Encoder BERT, RankT5 等),LREF 三阶段叠加后全面 SOTA。
关键发现:DPO 去偏对低相关度样本(Marginal/Trivial→Irrelevant 的区分)提升最明显——这正是 BERT 和普通 LLM 最容易翻车的地方。
部署在 JD 搜索系统,通过知识蒸馏将 LLM 判断能力迁移到轻量模型,降低线上延迟。A/B 测试 20% 流量: