详细内容或原文请订阅后点击阅览
RAG 与混合搜索:关键字搜索如何工作?
了解关键字搜索、TF-IDF 和 BM25带有混合搜索的 RAG 帖子:关键字搜索如何工作?首先出现在《走向数据科学》上。
来源:走向数据科学,我已经谈论了很多关于检索增强生成(RAG)的内容。特别是,我介绍了 RAG 方法的基础知识,以及一系列相关概念,例如分块、嵌入、重新排名和检索评估。
传统的 RAG 方法非常有用,因为它允许根据文本的含义而不是确切的单词在大型知识库中搜索文本的相关部分。通过这种方式,我们可以在自定义文档上利用人工智能的力量。讽刺的是,尽管这种相似性搜索很有用,但它有时无法检索与用户提示完全匹配的文本部分。更具体地说,当在大型知识库中搜索时,特定关键字(例如特定技术术语或名称)可能会丢失,并且即使用户的查询包含确切的单词,也可能无法检索到相关块。
令人高兴的是,这个问题可以通过利用旧的基于关键字的搜索技术(例如 BM25(最佳匹配 25))轻松解决。然后,通过结合相似性搜索和 BM25 搜索的结果,我们基本上可以两全其美,并显着改善 RAG 管道的结果。
。 。 。
在信息检索系统中,BM25 是一种排名函数,用于评估文档与搜索查询的相关程度。与相似性搜索不同,BM25 评估文档与用户查询的相关性,不是基于文档的语义,而是基于其包含的实际单词。更具体地说,BM25 是一个词袋 (BoW) 模型,这意味着它不考虑文档中单词的顺序(语义从中出现),而是考虑每个单词在文档中出现的频率。
包含术语 t 和文档 d 的给定查询 q 的 BM25 分数可以(不那么)容易地计算如下:
😿
由于这个表达可能有点让人不知所措,所以让我们退后一步,一点一点地看它。
