在BGE M3-embedding模型中,Dense Retrieval、Lexical Retrieval和Multi-Vec Retrieval是三种不同的检索方法
1. Dense Retrieval(稠密检索)
定义:稠密检索是基于向量相似度的检索方法。它将查询和文档都转换为高维向量,然后通过计算这些向量之间的相似度(通常使用余弦相似度或欧几里得距离)来找到最相关的文档。
示例:
- 假设你有一个查询"我想吃水果",经过BGE M3-embedding模型处理后,得到一个向量
[0.2, 0.3, 0.5]
。 - 同时,你的文档库中的每个文档也被转换为向量,比如文档1的向量是
[0.1, 0.3, 0.4]
,文档2的向量是[0.2, 0.1, 0.6]
。 - 通过计算查询向量与文档向量之间的相似度,你可以找到与查询最相关的文档。
优点:能够捕捉到语义上的相似性,适合处理复杂的查询。
2. Lexical Retrieval(词汇检索)
定义:词汇检索是基于关键词匹配的检索方法。它通过查找查询中的关键词在文档中出现的频率来评估相关性,通常使用倒排索引等技术。
示例:
- 继续使用查询"我想吃水果",词汇检索会检查文档库中哪些文档包含"我"、"想"、"吃"、"水果"等关键词。
- 如果文档1包含"我想吃苹果",而文档2只包含"我想喝水",那么文档1的相关性会更高。
注:很像tfidf,也跟RetroMAE-V2的第二部分特征很相似,这部分特征更在意文本中各个token的信息,重要的token就赋予更高的权重。
优点:简单高效,适合处理结构化的查询和文档。
3. Multi-Vec Retrieval(多向量检索)
定义:多向量检索结合了稠密检索和词汇检索的优点。它不仅使用向量表示来计算相似度,还考虑了关键词的匹配。通过这种方式,可以更全面地评估文档的相关性。
示例:
- 对于查询"我想吃水果",多向量检索会同时计算查询的向量表示和关键词匹配。
- 如果文档1的向量与查询向量相似,并且包含关键词"水果",那么它的相关性会被进一步提升。
优点:综合了语义和词汇匹配的优势,能够提高检索的准确性和鲁棒性。
总结
- Dense Retrieval:基于向量相似度,适合捕捉语义相似性。
- Lexical Retrieval:基于关键词匹配,简单高效。
- Multi-Vec Retrieval:结合了稠密检索和词汇检索的优点,提供更全面的相关性评估。
详细解释:
https://blog.csdn.net/qq_35812205/article/details/136129356