九支-听课笔记(9-12节)

张开发
2026/4/16 10:10:37 15 分钟阅读

分享文章

九支-听课笔记(9-12节)
第9节课(召回模块)搜索系统核心架构从“海选”到“决赛”一个实用的搜索引擎之所以分两步走是因为性能与精度的平衡。如果直接用复杂的 Transformer 去匹配语料库里的几百万条数据速度会慢到用户无法忍受。1. 第一阶段召回模块 (Recall) —— “海选”这是系统的第一个漏斗目标是快。输入用户输入的原始问题Query例如“机器学习是什么”。资源库底部有一个巨大的离线语料库存储了成千上万条可能的答案或文档。动作从海量数据中快速“捞”出前32 个最相关的候选。特点粗略相关计算方式比较简单比如通过关键词匹配或简单的向量检索能保证“相关的都在这 32 个里”但顺序不一定完全准确。高效率必须在毫秒级完成海量数据的筛选。2. 中间产物32 个相关文本候选集召回模块输出的是一个子集。形式通常是文本段落作为接下来深度加工的输入。3. 第二阶段排序模块 (Rank) —— “精选/决赛”这是系统的第二个漏斗目标是准。输入用户 Query 召回出来的 32 个候选文本。动作对这 32 个文本进行精细打分。原理计算 Query 与每一个回答之间深度语义的相似度。这里通常就会用到你之前学的Transformer/BERT结构利用其强大的自注意力机制捕捉语义细节。区别于召回更准确它的分数反映了真实的语义匹配程度。计算量大因为候选集已经减小到 32 个模型可以放心地使用复杂的数学运算来保证准确性。4. 最终输出重排结果 (Re-ranking)系统根据排序模块算出的“更准确的分数”对这 32 个文本进行重新排序。返回给用户分数最高最准确的内容排在第 ① 位依次排到第 32 位。Python源代码文件主要有.py和.ipynb两种格式,.py是标准格式,可用多种编辑器运行;.ipynb是Jupyter Notebook专用格式,支持多语言交互,可转换为.py文件。第10节课(排序模块)第11节课排序模块第12节课search_system

更多文章