1.内容新:2015年ML兴起后新的搜索引擎进展,例如实时搜索、语义搜索、个性化搜索等。
2.代码示例丰富:大量的代码示例,可帮助读者深入了解搜索引擎的实现细节。
3.真实的行业应用:网页搜索引擎、流媒体平台搜索引擎和大语言模型对搜索引擎的影响。
本书系统介绍了搜索引擎的技术发展历程和前沿趋势,内容分为三大部分:搜索引擎基础、深度信息检索模型与算法以及AI搜索前沿。第一部分涵盖了搜索引擎的核心架构与关键技术,包括基本系统架构、查询理解、索引技术、关键词检索、排序学习等内容,为读者提供了现代搜索系统的技术框架和实践参考。第二部分详细探讨了深度学习技术在信息检索中的应用,包括深度召回模型、k近邻检索算法、深度相关性模型、深度排序模型等,并通过案例展示了如何将这些技术应用于实际问题。第三部分则聚焦于AI搜索前沿技术,介绍了大语言模型基础、AI搜索实践、生成式信息检索,探讨了AI搜索时代的技术特点及未来发展方向。
本书附有丰富的实践案例和代码示例,可以帮助读者将理论知识付诸实践,既适合想了解AI搜索相关内容的初学者学习,也适合AI搜索领域的相关从业者参考。
1.内容新:2015年ML兴起后新的搜索引擎进展,例如实时搜索、语义搜索、个性化搜索等。
2.代码示例丰富:大量的代码示例,可帮助读者深入了解搜索引擎的实现细节。
3.真实的行业应用:网页搜索引擎、流媒体平台搜索引擎和大语言模型对搜索引擎的影响。
第 一部分 搜索引擎基础
第 1章 搜索引擎的基本系统架构 3
1.1 网页抓取 4
1.1.1 网页抓取过程 4
1.1.2 网页抓取系统的组成部分 4
1.1.3 爬虫系统的衡量指标 5
1.2 内容理解 5
1.2.1 页面分析 6
1.2.2 网页分类 6
1.3 索引构建 7
1.3.1 索引的数据源 7
1.3.2 索引结构与压缩算法 7
1.3.3 索引的分片、复本与分级策略 8
1.4 查询理解 9
1.4.1 查询词预处理 10
1.4.2 查询改写 10
1.4.3 查询扩展 10
1.4.4 时效性分析 11
1.4.5 查询分类 11
1.5 召回 11
1.5.1 关键词召回 12
1.5.2 语义召回 12
1.6 排序 12
1.6.1 特征工程 12
1.6.2 排序模型 13
1.6.3 多级排序框架 13
1.7 其他 14
1.8 小结 15
第 2章 查询理解 16
2.1 查询语法与查询解析 16
2.1.1 基本查询语法 16
2.1.2 查询解析 17
2.2 查询词预处理 18
2.3 拼写纠错 19
2.4 词权重计算 22
2.4.1 词权重模型 23
2.4.2 词权重模型训练过程 23
2.4.3 词权重应用 24
2.4.4 其他词权重计算方法 25
2.5 查询分类 25
2.5.1 垃圾查询识别 25
2.5.2 时效性查询识别 26
2.6 查询扩展 29
2.6.1 基于词典的查询扩展 30
2.6.2 基于相关文档的查询扩展 30
2.6.3 基于向量化表示的查询扩展 31
2.6.4 基于大语言模型的查询扩展 31
2.7 查询改写 33
2.7.1 基于机器翻译模型的查询改写 33
2.7.2 基于大语言模型的查询改写 33
2.8 小结 35
第3章 倒排索引技术 36
3.1 倒排索引的基本结构 36
3.1.1 词典 37
3.1.2 倒排列表 40
3.2 索引压缩算法 41
3.2.1 索引块压缩算法 42
3.2.2 字节压缩算法 48
3.2.3 索引结构示例 49
3.3 索引合并 50
3.3.1 倒排列表的基本合并操作 51
3.3.2 基于二分查找的倒排索引合并 52
3.3.3 基于跳表的倒排索引合并 52
3.4 倒排索引的构建 53
3.4.1 关键词分词 54
3.4.2 索引构建 54
3.5 倒排索引的分布式服务 59
3.6 案例一:使用 Lucene 进行搜索 59
3.7 案例二:基于 Elasticsearch 的关键词索引 63
3.8 小结 66
第4章 关键词检索 67
4.1 预备知识与准备工作 67
4.2 文本相关性 69
4.2.1 命中频次特征 69
4.2.2 命中紧密度特征 74
4.2.3 语言模型特征 78
4.2.4 意图匹配特征 79
4.3 权威性计算 79
4.4 文档的时效性计算 80
4.5 点击反馈 81
4.6 特征融合 82
4.6.1 线性组合 82
4.6.2 相关性优先组合 83
4.6.3 机器学习组合 83
4.6.4 混合组合 84
4.7 小结 84
第5章 排序学习 86
5.1 排序效果的评价指标 86
5.1.1 精确率与召回率 86
5.1.2 MRR 87
5.1.3 MAP 88
5.1.4 AUC 89
5.1.5 NDCG 90
5.2 经典相关性模型 91
5.2.1 BM25 91
5.2.2 向量空间模型 92
5.2.3 语言模型 92
5.2.4 经典相关性模型的缺点 93
5.3 经典排序学习方法 94
5.3.1 Pointwise 95
5.3.2 Pairwise 96
5.3.3 Listwise 99
5.4 经典机器学习模型 100
5.4.1 线性函数 100
5.4.2 多项式回归 100
5.4.3 逻辑回归 100
5.4.4 梯度提升决策树 101
5.5 特征工程 103
5.6 时效性排序 104
5.6.1 时效性排序模型构建 104
5.6.2 时效性与相关性的融合 105
5.7 使用 XGBoost 进行搜索排序示例 107
5.8 小结 108
第二部分 深度信息检索模型与算法
第6章 深度召回模型 111
6.1 深度召回模型的基本框架 112
6.2 词的编码与向量化表示 113
6.2.1 独热编码 114
6.2.2 词哈希 115
6.2.3 词嵌入 116
6.3 短句、句子的表示 117
6.3.1 池化 117
6.3.2 卷积神经网络 119
6.3.3 序列建模 120
6.4 案例:基于 BERT 的深度召回框架 121
6.4.1 微调数据准备和采样策略 122
6.4.2 BERT 模型微调和训练过程 123
6.4.3 在线召回 125
6.4.4 其他基于 BERT 改进的召回模型 126
6.5 混合召回 129
6.5.1 混合召回的工作原理 129
6.5.2 混合召回的优势 129
6.6 小结 130
第7章 k近邻检索算法 131
7.1 暴力穷举方法 132
7.2 KD 树 132
7.2.1 KD 树构建过程 132
7.2.2 KD 树搜索过程 133
7.3 局部敏感哈希 133
7.3.1 MinHash 134
7.3.2 SimHash 135
7.3.3 Banding 136
7.4 矢量量化 137
7.5 HNSW 141
7.5.1 NSW 142
7.5.2 层级图结构 144
7.6 使用 FAISS 进行 kNN 近邻检索示例 147
7.7 小结 149
第8章 深度相关性模型 150
8.1 基于交互矩阵的相关性模型 150
8.1.1 交互矩阵的核函数 151
8.1.2 基于交互矩阵的神经网络模型 152
8.2 基于 BERT 的相关性模型 153
8.2.1 用搜索语料做持续预训练 153
8.2.2 用 BERT 模型做微调 153
8.2.3 BERT 模型效果分析 155
8.3 BERT 相关性模型案例实践 156
8.3.1 BERT 模型微调示例 157
8.3.2 在线推理过程 158
8.4 小结 159
第9章 深度排序模型 160
9.1 精排模型演进 160
9.1.1 Wide & Deep 163
9.1.2 DeepFM 164
9.1.3 DIN 165
9.1.4 多目标 166
9.2 多样性 171
9.2.1 MMR 172
9.2.2 DPP 172
9.3 数据消偏 174
位置偏差 174
9.4 小结 178
第三部分 AI搜索前沿
第 10章 大语言模型基础 181
10.1 大语言模型技术背景 181
10.1.1 Transformer 架构 181
10.1.2 Scaling Law 183
10.2 大语言模型训练过程 184
10.2.1 预训练:大语言模型训练的关键步骤 184
10.2.2 监督微调:从通用到特定的任务 185
10.2.3 奖励建模 186
10.3 提示词工程 186
10.3.1 提示词设计原则 186
10.3.2 少样本提示词 187
10.3.3 思维链 188
10.4 模型微调 190
10.4.1 模型微调的概念 190
10.4.2 模型微调的一般过程 191
10.5 小结 193
第 11章 AI搜索实践 195
11.1 基于 RAG 架构的 AI 搜索 195
11.1.1 索引构建 197
11.1.2 查询理解 199
11.1.3 检索 200
11.1.4 生成 202
11.2 AI 搜索的 Agent 实现 202
11.2.1 搜索任务规划 203
11.2.2 搜索任务执行 204
11.2.3 答案满足判定 205
11.2.4 二次规划 206
11.2.5 答案生成 207
11.3 知识蒸馏与模型微调 208
11.3.1 知识蒸馏的数据准备 209
11.3.2 模型微调 209
11.4 评估 210
11.4.1 评估标准 210
11.4.2 评估方法 211
11.5 小结 213
第 12章 生成式信息检索 214
12.1 可微搜索索引 215
12.2 标识符学习方法 217
12.3 多模态生成式信息检索 218
12.3.1 图像的向量表征 218
12.3.2 基于 CLIP 模型的向量检索 220
12.3.3 图像的量化表征 222
12.3.4 图像的量化检索 223
12.4 小结 225
参考文献 227