随着大语言模型(LLM)与自然语言处理技术的发展,我们正在进入一个“从关键词匹配到语义理解”的新时代。在传统的信息检索系统中,TF-IDF、BM25 等基于词频和倒排索引的算法长期扮演主角,但它们往往无法理解语义上的相似性,也容易遗漏那些表达方式不同但含义相近的内容。
为了弥补这一缺陷,近年来两类基于深度学习的检索模型体系逐渐成为主流:
-
Embedding 模型(向量检索):利用预训练语言模型将文本编码为稠密向量,实现“语义级别”的高效初筛;
-
Rerank 模型(重排序):基于交叉编码器结构,对初筛结果进行细致语义打分,提升最终排序的精度。
这套“粗排 + 精排”的双阶段架构已经广泛应用于搜索引擎、问答系统、智能客服、法律检索、推荐系统等领域,成为构建高性能语义检索系统的核心基础。
本节将分别介绍这两类模型的工作机制、代表模型、应用场景、优劣对比及组合方式,帮助你全面理解它们在现代信息检索中的角色与价值。
1. Embedding模型(向量检索模型)
定义:
Embedding 模型通过将自然语言文本(如句子、段落、文档)编码为稠密的向量表示,使得语义相似的文本在高维向量空间中距离更近。常采用“双塔结构(dual encoder)”,分别对查询(Query)和文档(Document)进行独立编码,然后通过向量相似度(如点积、余弦相似度)计算它们的匹配程度。
应用场景:
-
检索阶段(Retrieval Stage): 用于从海量文档中快速筛选出与用户查询相关的Top-K候选文档,常作为多阶段检索系统的第一步。
-
向量数据库搜索: 搭配如 FAISS、Milvus、Weaviate、Qdrant、Elasticsearch(dense vector plugin) 等工具进行高效近似最近邻(ANN)搜索。
-
多模态检索: 通过对文本、图片、音频等进行统一向量编码,实现跨模态检索(如 CLIP / GIT)。
代表模型:
-
Sentence-BERT / SBERT: 经典句向量模型,基于BERT微调,提升语义相似度任务性能。
-
BGE(BAAI General Embedding): 智源研究院开源的中文向量模型,在语义检索、排序任务上表现优秀。
-
E5 / E5-mistral: 多语言语义检索模型,训练目标为文本对齐、问答、分类等统一场景。
-
OpenAI Embedding(text-embedding-ada-002): 商业化API接口广泛用于语义索引。
-
Cohere、文心一言 Embedding、ChatGLM Embedding: 各大厂商/机构提供的定制化文本向量服务。
-
ColBERT(轻量双塔模式): 可用于兼顾向量召回与局部匹配的模型。
优点:
-
召回效率高: 可实现毫秒级大规模向量检索,适用于百万到亿级规模的文档库。
-
支持ANN(Approximate Nearest Neighbor): 利用向量索引技术(如HNSW、IVF-PQ等)大幅加速检索速度。
-
易于部署: 模型前向计算速度快,编码后可缓存文档向量,实现离线或增量更新。
缺点:
-
缺乏交互: Query 与文档独立编码,无法建模二者之间的上下文细节、语法关系等。
-
易被词面相近但语义偏差的文本误召回: 如“2024年GDP预测” ≠ “2024年GDP数据”。
2. Rerank模型(重排序模型)
定义:
Rerank 模型用于对初步召回的 Top-K 候选文档与查询逐对计算相关性打分(Query-Document Pairwise Scoring),再依据得分进行精确排序。通常基于“交叉编码器(Cross-Encoder)”结构,将 Query 与每条候选文档拼接后整体送入模型处理,从而建模细粒度交互。
应用场景:
-
重排序阶段(Reranking Stage): 提升召回结果的相关性精度,过滤掉语义模糊但无关的候选项。
-
问答系统、智能客服、法律检索、学术搜索 等对匹配质量要求极高的任务中被广泛使用。
-
用户侧展示优化: 将最相关或最有价值的文档排到前面,提高用户点击率和满意度。
代表模型:
-
BERT + MLP: 经典交叉编码结构,输入为 [CLS] Query [SEP] Doc [SEP],输出 [CLS] 向量接 MLP 得分。
-
MonoT5: 基于T5模型的单向重排序器,通过生成“Relevant”/“Not Relevant”或打分文本评估相关性。
-
RocketQA / RocketQA-v2: 百度提出的多阶段训练+数据增强策略提升BERT检索表现。
-
bge-reranker: BGE系列中的高性能交叉重排模型,适合中文任务。
-
ColBERT(late interaction模式): 模糊嵌入交互设计,兼顾效率与语义交互。
优点:
-
精度高: 能够捕捉词级别、句法级别的精细匹配,效果接近人工标注。
-
更贴近人类判断逻辑: 特别适合那些依赖事实准确性与语义推理的检索任务。
-
支持定制打分策略: 可融合多种特征(位置、TF-IDF、元信息)进行学习。
缺点:
-
计算成本高: 每条 Query-Doc 对都需一次前向计算,不适合大规模初检阶段。
-
扩展性差: 仅能处理少量候选(如Top-50/Top-100),否则效率严重下降。
常见组合方式(Two-Stage 检索架构)
在实际应用中,Embedding 模型和 Rerank 模型常被组合使用,形成“两阶段检索系统”,兼顾效率与精度:
Query → Embedding 模型编码 → 向量数据库召回 Top-K → Rerank 模型精排 → 最终排序 Top-N 结果
例如:
-
用户查询:“2024年中国GDP是多少?”
-
Embedding 模型 召回包含关键词“中国、GDP、2024”等相关但未必准确的多个候选文档。
-
Rerank 模型 对这些文档与原始Query进行逐对匹配,识别出真正包含“最新GDP统计数据”的那一条,并将其排在首位。
总结对比表:
特性 | Embedding模型 | Rerank模型 |
---|---|---|
模型结构 | 双塔(Dual Encoder) | 交叉编码器(Cross Encoder) |
匹配方式 | 向量相似度 | 语义交互打分 |
优点 | 快速、高效、易扩展 | 精准、细粒度语义判断 |
缺点 | 缺乏交互、误召回率高 | 慢、计算开销大 |
典型用途 | 初筛召回 | 精排排序 |
可扩展性 | 支持百万级文档库 | 仅适合少量候选精排 |