15. 传统AI¶
15.1. 检索&推荐¶
在推荐或搜索系统中,通过结合 Lucene 关键词检索 与 Embedding 向量检索(Hybrid Search),可以更好地实现 多种类型的召回方式,如基于商品(item)、用户(user)、搜索词(query)等角度,扩大召回范围,提高召回质量。
15.1.1. 多路召回¶
item2item:基于用户当前或历史浏览/点击的商品,召回相似商品(类似“看了又看”)。
- query2item:基于用户搜索词召回商品,属于传统的搜索逻辑。
用户输入 搜索词(Query),系统根据该 Query 召回一批 相关的商品(Item)
比如用户搜索 “蓝牙耳机”,系统召回相关的耳机商品
user2item:基于用户的整体兴趣画像、历史行为召回感兴趣的商品(协同过滤或画像匹配)。
15.1.2. 检索¶
Term-based 检索(关键词检索)
使用如 Lucene / BM25 / Elasticsearch 的技术
基于 倒排索引,依赖词面匹配(如 Query 包含 “蓝牙”,Item 文本也得包含这个词)
精确、快速,但语义理解弱
- 示例:
“蓝牙耳机” → 匹配商品标题中有 “蓝牙” 和 “耳机” 的商品
- Embedding-based 检索(语义向量检索)
使用深度模型(如 BERT)将 Query 和 Item 编码成向量
通过 向量相似度(如余弦距离) 检索语义相似的内容
能处理同义词、上下文含义、语义近似等
- 示例:
“无线耳机” → 可召回含“蓝牙耳机”的商品(虽然词不一样)
- Term-Embedding 混合模型(Hybrid)
- Hybrid 模型结合两种方式的优点:
Term 检索 保证精确性、覆盖经典用户意图
Embedding 检索 提高语义理解能力,扩展召回范围
- 结合方式可能包括:
双塔融合召回
多路召回合并
Lucene 先筛选 + 向量 rerank
FAISS/ANN 向量召回 + BM25 rerank
15.2. 机器学习¶
15.2.1. XGBoost¶
XGBoost(Extreme Gradient Boosting) 是一种高效的、可扩展的 梯度提升树(Gradient Boosted Trees) 实现,是目前机器学习中最常用的集成学习方法之一,广泛应用于分类、回归、排序等任务。
核心思想:通过不断叠加“弱分类器”(如决策树),每一步训练一个新的树模型来修正上一步模型的错误预测。
模型类型:一种 Boosting 框架,以梯度下降思想优化损失函数。
- 应用场景
Kaggle / 天池 竞赛获奖常客
推荐系统
广告点击率预测
信用评分 / 风控模型
疾病预测 / 医疗建模
搜索排序
与其他方法的对比
方法 |
说明 |
GBDT |
基础版本,XGBoost 是其优化实现 |
LightGBM |
更快更省内存,适合超大规模数据 |
CatBoost |
处理类别特征更好(免 one-hot) |
随机森林 |
并行训练多个树(Bagging),而 XGBoost 是串行 Boosting |
15.2.2. LR(Logistic Regression)模型¶
- 在很多工业级推荐系统、广告系统、风控系统中,会采用 多模型融合 架构,常见组合之一就是:
XGBoost:用于挖掘复杂非线性关系、高阶交叉特征
Logistic Regression(LR):用于建模线性关系、解释性强、部署轻量
常见应用形式:
场景 |
描述 |
|---|---|
串联推理 |
先用 XGBoost 召回候选项,再用 LR 进行排序或打分(或者反过来) |
特征融合 |
用 XGBoost 输出的结果作为特征,喂给 LR |
集成预测 |
将 XGBoost 和 LR 的输出加权平均作为最终预测 |
AB 测试系统支持两者模型 |
系统支持用不同模型部署做实验对比 |
线上推理系统支持双模型 |
统一框架中既可调用 XGBoost,也能快速上线/热切换为 LR |
为什么要同时支持 XGBoost 和 LR?
模型 |
优点 |
缺点 |
|---|---|---|
XGBoost |
精度高、适合处理复杂特征 |
模型大,推理速度慢 |
LR |
简单、高效、易部署 |
表达能力有限,只建模线性关系 |





