免费POC, 零成本试错
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


关于相似度计算和rerank重排序的区别和作用

发布日期:2025-09-18 11:34:40 浏览次数: 1520
作者:AI探索时代

微信搜一搜,关注“AI探索时代”

推荐语

深入解析相似度计算与重排序在RAG系统中的关键作用,优化召回与排序的平衡点。

核心内容:
1. 相似度召回与重排序的核心区别与协作机制
2. 实际开发中遇到的召回率问题与解决方案
3. Embedding模型与Reranker模型的定位差异与应用场景

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

 相似度召回的作用是快速从海量文档中召回相关文档,而rerank重排序的作用是在这些相关文档中找到相关性最高的文档。



这段时间在完成基于RAG的聊天对话系统之后,开始优化各个环节的功能;这时才真正发现,RAG做出来不难,想做好真的不容易。


这次在优化上下文结构时发现了一个问题,那就是相似度计算和重排序;在刚开始对相似度计算和重排序的理解就是,通过相似度进行数据召回,然以后再通过重排序找到其中最相关的内容。


这样理解虽然不能说有错,但理解的却不够透彻;在系统开发的过程中曾经遇到过一个问题,那就是召回率不足;很多相关的数据无法召回,至于原因么有很多,但主要原因是处理的文档质量不高,导致相似度召回时,其阈值特别低。


因此,为了解决这个问题,暂时就通过降低阈值,并去掉重排序的方式来提高召回率;因为,很多时候即使通过相似度或其它方式召回数据,但最终在重排序时会被过滤掉。也就是说召回的相似度高的数据,和问题关联度并不一定高。





相似度召回和重排序




之所以注意到相似度召回和重排序的原因是,在多个向量库中进行相似度召回的时候发现,明明在这个向量库中并没有与问题相关的数据,但事实上却召回了一部分数据,并且这部分数据的相似度值比原文档所在的向量库中的值更高。


也就是说,在本应该有问题相关文档的库中召回的数据,还没有其它库中无关数据的相似度高;这就是一个很奇怪的问题,到底是因为文档处理的质量太低,还是因为嵌入的时候有问题。


因此,面对这种情况肯定需要对召回的文档进行重排序,以筛掉无关的数据;因此,在使用rerank模型进行排序时发现,那些其它库中相似度高的数据都被筛掉了,而原本库中相似度低的数据反而留了下来;当然这样才属于正常。


但这个无关数据的相似度更高的问题还是没有被解决;而在相似度召回中,有好几种相识度计算的方式,比如说余弦相似度,内积,欧式距离等多种计算方式。


因此面对不同的业务场景和数据类型,选择合适的相似度计算方式,也能间接增强召回的准确度。


Reranker与embedding模型的区别


尽管Reranker和Embedding模型都用于信息检索系统,它们的定位和功能却是不同的。


Embedding模型主要用于初步筛选文档。它将文本转换为向量表示,并计算这些向量之间的相似度,从而筛选出一组可能相关的候选文档。Embedding模型的优势在于它的计算效率高,适合处理大规模数据集。


Reranker则用于对Embedding模型筛选出的候选文档进行精细排序。Reranker通常基于复杂的深度神经网络,能够更好地理解文本的上下文和细微差异,从而提供更高的排序精度。


简单来说,Embedding模型负责“找出一批可能相关的候选文档”,而Reranker负责“在这些候选文档中找出最相关的,并将它们按相关性排序”。


Reranker能否直接用于检索?


理论上,Reranker可以直接用于检索,但在实际应用中并不常见。这是因为Reranker的计算复杂度较高,直接使用它对整个数据集进行排序会导致极高的计算成本,难以满足实时性要求。因此,通常我们会先用Embedding模型进行初步筛选,将文档集合缩小到一个合理的范围,然后再使用Reranker进行精细排序。


总结


结合Embedding模型和Reranker的优势,实现了效率和准确性的平衡。Embedding模型负责快速筛选候选文档,而Reranker则通过更细致的分析对这些文档进行精准排序,虽然其计算开销较高,但它在提升排序准确性方面的作用不可忽视。






53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询