news 2026/7/2 10:40:20

提升 RAG 准确率最常用的手段-重排序

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
提升 RAG 准确率最常用的手段-重排序

第一阶段: 先用 Naive RAG 进行粗召回。

Naive RAG 在这里召回的不是一整本操作手册,也不是随意的一段话,而是知识库(Knowledge Base)中具体的条目。Naive RAG 的任务是从成百上千条故障日志中,快速筛选出一批“大概率相关”的文档。为了进行筛选,例如,系统通常会先召回相关度最高的前 20 个文档(Top-20)作为候选 。这个列表是基于向量相似度排序的,但可能包含一些不够精准的噪音数据,所以被称为“粗”召回。

粗召回的技术原理:双流编码器 (Two-stream Encoder)

为了得到这个列表,Naive RAG 使用了双流编码器架构

  1. Query 编码:将用户的查询(例如:“TCU2 通信故障,转换器2被隔离,可能是什么故障?”)转化成一个向量。

  2. Document 编码:将上述清洗过的故障日志(现象+部位+类型)也转化成向量。

  3. 匹配计算:计算查询向量与文档向量之间的相似度(通常是余弦相似度)。

  4. 输出:输出相似度分数最高的那些文档(即 Top-K 列表)。

第二阶段: 引入一个重排序模型对检索回来的文档进行精细化的二次排序。

Rerank(重排序)方法随后会接过这个列表,用更精细的模型对这 20 条记录进行二次打分和排序,把真正最相关的几条排到最前面,丢弃不相关的。

Naive RAG (粗召回):Bi-Encoder 架构

在第一阶段(粗召回),系统为了快,使用的是Bi-Encoder

  • 机制:Query 和 Document 是独立进入模型的。模型分别算出 Query 向量和 Document 向量。

  • 计算:最后只计算两个向量的余弦相似度。

  • 缺点:这种方式丢失了 Query 和 Document 之间词与词的精细交互信息。模型在处理 Document 时还没见到 Query,所以只能提取一个泛泛的特征向量。

Ranking Model (精细重排):Cross-Encoder 架构

在第二阶段(重排序),数据量变少了(比如只剩 20 条),系统就可以使用更昂贵但更精准的Cross-Encoder

  • 机制:它将 Query 和 Document拼接在一起(通常用[SEP]分隔),作为一个整体输入到 BERT 等模型中。

  • 深度交互:在模型内部(Transformer 层),Query 中的每一个词都能注意到 Document 中的每一个词(Full Self-Attention)。

  • 输出:模型不输出向量,而是直接通过一个线性层(Linear Layer)输出一个0 到 1 之间的相关性分数(Score)

按照什么“标准”排序?

  • 精细化排序的标准不再是简单的“向量空间距离”,而是**“深层语义匹配度”**。

    具体到这篇论文的故障诊断场景,重排序模型会依据以下更深层的逻辑进行打分:

  • 精确匹配 (Exact Term Matching):

    • 粗召回标准:只要 Query 和 Document 都包含“故障”、“TCU”等词,向量距离就很近。

    • 精细化标准:重排序模型会看具体的修饰关系。例如,Query 问的是“TCU2 通信故障”,粗召回可能会拉回“TCU1 电源故障”(因为词重叠度高),但重排序模型通过全文注意力机制,能识别出“TCU2”和“TCU1”的不匹配,从而给“TCU1”的文档打低分。

  • 逻辑关系 (Logical Consistency):

    • 标准:文档内容是否真的回答了问题?

    • 如果 Query 是“导致转换器隔离的原因是什么?”,粗召回可能拉回包含“转换器隔离”这个词的所有文档(包括描述现象的、描述结果的)。

    • 重排序模型经过训练(通常是在 MS MARCO 等数据集上微调过),能更好地区分“原因”和“现象”的语境差异,将真正解释“原因”的文档排在前面。

实验中的具体流程

  1. 输入(Input):

    • Query:用户的问题。

    • Candidate List:Naive RAG 粗召回的Top-20个文档 3。

  2. 重排序(Reranking Process):

    • 模型将 Query 与这 20 个文档逐一配对:(Query, Doc 1), (Query, Doc 2) ... (Query, Doc 20)。

    • 将这 20 对文本送入 Ranking Model 进行深度推理。

    • 模型输出 20 个新的相关性得分。

  3. 截断(Truncation/Output):

    • 按照新得分从高到低排序。

    • 取前8 个(对应 $k_{hr}=8$)或前10 个(对应 $k_{hr}=10$)作为最终结果,去计算命中率(Hit Rate)4。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 9:04:51

14、Linux 系统脚本操作与用户管理全解析

Linux 系统脚本操作与用户管理全解析 1. 运行脚本 在 Linux 系统中, mkslocatedb 脚本的运行有特殊要求。它不仅必须以 root 用户身份运行,使用 sudo 还不行,需要直接登录为 root 用户或者使用更强大的 su 命令切换到 root 用户后再运行。这是因为 su 会真正切换到…

作者头像 李华
网站建设 2026/7/1 9:04:37

26、OS X 脚本与 Shell 脚本游戏实用指南

OS X 脚本与 Shell 脚本游戏实用指南 1. iTunes 音乐库列表脚本 在 OS X 系统中,有一个实用的脚本 ituneslist ,它可以简洁且美观地列出你的 iTunes 音乐库,适合与他人分享,也可用于同步不同电脑和笔记本上的 iTunes 音乐库。 1.1 脚本代码 #!/bin/bash # ituneslis…

作者头像 李华
网站建设 2026/7/1 15:56:53

珠宝首饰拍摄打光技巧:白底图与模特图的光影艺术

在珠宝摄影中,光线不仅是照亮主体的工具,更是塑造质感、突出细节、传递价值的关键元素。无论是用于电商平台的产品主图(白底图),还是用于品牌宣传的情境展示(模特图),恰当的打光方式…

作者头像 李华
网站建设 2026/7/1 8:55:10

多设备集成中的物联网测试:挑战与解决方案

随着物联网技术的飞速发展,多设备集成已成为智能家居、工业自动化及智慧城市等领域的核心场景。软件测试从业者面临日益复杂的集成验证需求,传统测试方法已难以覆盖设备异构性、通信协议多样性及实时数据处理等挑战。本文旨在系统分析IoT多设备集成验证的…

作者头像 李华