检索技术类型(retrieval techniques)

1. 元数据过滤技术

元数据筛选采用固定的标准,通过文档元数据来缩小检索范围,元数据包括文档标题、作者、创建时间、访问权限等信息(比如表格中的筛选功能)。

1.1 元数据过滤技术的优点:

  • 这种过滤方式很容易理解,系统运作原理清晰,问题排查起来方便。
  • 这是一种成熟且高效的技术。
  • 是唯一让系统按照严格标准筛选文档的方法。

1.2 元数据过滤技术的缺点:

  • 本质上不是搜索技术,而是用来筛选结果的工具,配合其他技术使用,才能发挥其真正作用。
  • 这种方法太过死板、不考虑文档中的内容、无法对筛选后的文档进行排序。
  • 单纯只靠元数据过滤筛选基本没有什么用。

2. 关键词搜索

在检索过程中,关键词搜索的核心思想是通过提示词与文档进行匹配,系统会将提示词和文档转变为稀疏向量,计算关键词在文档中的出现频率。

TF-IDF是关键词搜索算法中的一个经典模型,而大多数检索系统都采用最佳匹配算法------BM25。

BM25用于计算单个关键词在某个文档中的相关性,系统会计算所有关键词的总分来衡量文档的相关度,从而对文档进行排序。

2.1 BM25基本和TF-IDF类似,只是加入了关键改进

  • 词频饱和------当关键词重复出现时,它的权重会逐渐降低(例如当一个词出现的20次时并不代表它比出现10次的文章重要2倍)。
  • 文档长度归一化------和TF-IDF一样,系统会适当的降低长文档的权重,但是BM25采用的是递减权重机制。TF-IDF的处理过于激进,导致长文档的重要性倍过度降低。
  • BM25引进了两个可调超参数(k1和b),可以调节词频饱和度和文档长度归一化。

2.2 BM25的优点

  • 一种简单且有效的方法,单独使用也可以发挥出良好的效果。
  • 它能确保检索结果包含用户输入的关键词,尤其是用户使用专业术语或具体产品名称时。

局限性:

当用户搜索的内容意思相近或但用词不准确时,传统搜索就找不到相关结果。

3. 语义搜索

语义搜索能够将文档与查询内容根据语义关联进行匹配,并且能够识别出关键词搜索无法捕捉的语义差异。语义搜索和关键词搜索的操作流程是一样的,区别在于文档和查询内容生成向量的方式不同。

关键词搜索只需要统计每个词在文本中出现的频率,而语义搜索通过将文档和查询内容输入到特殊的数学模型(即嵌入模型)中来生成向量。

嵌入模型将词语映射到由向量表示的空间位置,在二维空间中,这些向量可以表示为(x,y)坐标系上的点,接下来嵌入模型会将语义相似的词映射到空间中相互接近的位置。

不止在二维空间,在大多数嵌入模型中,这些向量具有数百个甚至数千个维度,这为每个元素的嵌入位置提供了难以想象的灵活性。相似的概念相距较近,不相似的概念相距较远。

嵌入模型可以处理多种类型的输入数据,例如单词、句子、整篇文章的嵌入模型。这些模型处理不同类型的输入,但最终输出的结果都是一个代表空间中某点的向量。在语义搜索中,更常用的距离衡量方式是余弦相似度(Cosine Similarity)。

整体的流程:

  • 嵌入模型会将所有文档映射到向量空间中,基于嵌入模型的设计原理,语义相似的文档会互相靠近,而差异大的文档则会相距更远。
  • 接下来讲提示词也转换为向量表示,然后计算提示词向量和每个文档向量之间的距离,距离最近的文档也恰好是语义最相似的文档。
  • 最后按照文档与提示词的距离进行排序,并返回距离最短的文档。

关键点:

  • 语义向量是抽象且有些随机的。
  • 训练前空间中的位置没有意义,训练后位置具有意义,因为相似文本的聚类已经形成。
  • 仅比较来自同一嵌入模型的向量。

4. 混合搜索策略

以上三种方法通常是如何组合成混合搜索的流程:

  • 首先,检索器会收到一个提示,检索器同时执行关键词搜索并使用提示进行语义搜索,结果是得到两个文档的排序列表(加入限制返回50个文档),其中许多文档同时出现在两个排序结果中,但顺序可能不同。
  • 接下来,这两个文档排序列表会分别通过元数据过滤器过滤,以移除不相关的文档。
  • 最后将过滤后的文档列表组合形成一个单一排名。

4.1 RRF(Reciprocal Rank Fusion)

怎样将多个检索器的结果合并成一个统一的排名?------采用RRF(Reciprocal Rank Fusion)算法,RRF只关注每个列表中文档的排名,而非导致这些排名的分数,即使排名第一的文档得分明显高于第二名(该信息不回被纳入考量)。

  • 当k=0,任何列表中排名第一的文档都会立即跃升至整体排名的顶部。
  • 当k=50,用来平衡k=0时的情况,不会导致在其他任何列表中都会主导排名的情况,此时排名第一是值得的。

4.2 Beta参数

在混合搜索(Hybrid Search)中,它通常用一个 Beta (β) 参数 来调节"语义搜索"和"关键词搜索"在最终结果中的占比。

可以针对你的特定系统调整这个参数看看哪种效果最好,对于需要精确词语匹配的应用场景,但希望有一定的语义相似性,会对关键词搜索结果赋予比语义搜索结果更大的权重。

5. 检索质量评估

如果想要评估检索器的质量,必须知道正确答案,大多数检索器质量指标有几个共同元素:

  • 首先,需要提示词本身,因为检索器可能在某个提示词上表现很好,在另一个上却表现很差。
  • 其次,需要检索器返回的文档排序列表,这些文档来自该提示。
  • 最后,需要一个包含所有相关文档的标准答案列表(即知识库中检索器应该返回的文档)。

5.1 精确率和召回率

最常用的两个检索器质量指标是精确率和召回率,如果要同时达到100%的召回率和精确率的唯一方法就是,把相关文档都排在前面并且只返回这些文档:

  • 精确率=检索出的相关信息数 / 检索出的信息总数

精确率衡量的是**"查得准不准",** 关注的是检索出来的结果中,有多少是真正相关的

  • 召回率=检索出的相关信息数 / 系统中所有的相关信息总数

召回率衡量的是**"查得全不全",** 关注的是所有真正有用的信息中,有多少被成功检索出来了

可以在语义搜索的权重比例或者关键词搜索在混合检索系统中的比重,然后查看这对检索器的召回率和精确率产生什么影响。

5.2 MAP@K(Mean Average Precision at K)

为了更全面的评估检索器性能,使用平均精确率MAP@K指标,在排名前K个结果中,不仅要看找得准不准(精确率),还要看好的结果是不是被排在了前面。MAP值越高,说明效果越好。例如:

5.3 Reciprocal Rank(RR)

**Reciprocal Rank(RR,倒数秩)**是信息检索中用来衡量单次查询(Query)结果好坏的一个指标。它专门用来评估:第一个正确答案到底排在第几名。 核心逻辑是:只要用户能找到第一个想要的结果就行,至于第二个、第三个找没找到,它根本不在乎。

  • Reciprocal Rank = 1 / Rank

5.4 MRR(Mean Reciprocal Rank)

**MRR(Mean Reciprocal Rank)**在实际评估一个搜索系统时,通常会进行很多次查询。这时候就会用到 MRR(平均倒数秩)。MRR 就是所有查询的 RR 值的平均数。

  • MRR = 所有查询的 RR 之和 / 查询总次数
相关推荐
liuliuqiqirr10 小时前
2026最新5款AI编程工具平替实测深度对比
人工智能
m0_4665252910 小时前
WAIC 2026 现场速览 | 聚焦AI+医疗!拆解东软添翼AI 2.0解决三甲医院四大院内难题
人工智能
新知图书10 小时前
工作流编排
人工智能·agent·ai agent·智能体·扣子
mit6.82410 小时前
gpt5.6sol 的删库跑路
人工智能
艾醒10 小时前
2026年第29周(7.13-7.19)AI全复盘:技术突破、行业趣闻翻车、算力服务器商业动态
人工智能·算法
tntxia10 小时前
SwinTransformer
人工智能
weixin_4462608511 小时前
AutoSynthesis:面向全自动元分析的多智能体系统
人工智能
wechatbot88811 小时前
企业微信 AI 自动化运营:RPA 与 API 方案效果实测
人工智能·微信·自动化·企业微信·rpa
tyqtyq2211 小时前
HarmonyOS AI 应用开发实战:考研择校分析系统
人工智能·学习·考研·华为·生活·harmonyos