BM25, embeddings y rerankers: cómo elegir las etapas de búsqueda
Traducción automática
Este artículo se tradujo automáticamente a partir de la versión original en inglés.
BM25 ordena el texto según la coincidencia con los términos de la consulta. Los embeddings encuentran candidatos con un significado similar. Un reranker vuelve a puntuar los candidatos recuperados para mejorar su orden. Para los ingenieros que construyen sistemas de búsqueda o RAG, estas etapas resuelven fallos distintos y deben probarse por separado.
Empieza con BM25 y aplica los permisos de los documentos. Añade embeddings cuando falten pasajes relevantes porque la consulta utiliza otras palabras. Añade un reranker cuando se recuperen los pasajes correctos, pero aparezcan demasiado abajo en la lista. Conserva cada etapa solo si mejora los resultados etiquetados dentro del presupuesto de tiempo y coste.
Por ejemplo, una consulta sobre ERR-42 necesita un tratamiento correcto de los identificadores. Una pregunta sobre un fallo al salir de la suspensión puede necesitar una coincidencia semántica si el manual dice «fallo de reanudación». El reranking solo ayuda una vez que el pasaje necesario entra en el conjunto de candidatos.
Qué hace cada etapa
| Etapa | Método | Función |
|---|---|---|
| Filtrado | Filtros estructurados | Aplicar restricciones de tenant, permisos, producto, idioma, tiempo y disponibilidad. |
| Recuperación léxica | BM25 | Hacer coincidir términos; conservar IDs y códigos de error con campos o analizadores adecuados. |
| Recuperación densa | Embeddings | Sinónimos, paráfrasis, intención imprecisa y recall semántico. |
| Fusión | Reciprocal Rank Fusion o combinación ponderada de recuperadores | Combinar candidatos dispersos y densos sin asumir que sus puntuaciones son comparables. |
| Reranking | Cross-encoder | Leer la consulta junto con cada candidato para puntuar una lista reducida. |
| Precisión final | Reranker basado en LLM o modelo de respuesta | Resolver los matices de relevancia solo cuando la lista sea pequeña. |
| Evaluación | Recall@k, nDCG, MRR, etiquetas de clics, etiquetas humanas | Comprobar si cada etapa añadida mejora la referencia. |
Puntos de partida según el caso de uso
| Producto | Enfoque que probar | Motivo |
|---|---|---|
| Búsqueda en documentación | BM25 más embeddings más cross-encoder | Importan tanto los nombres exactos de API como las preguntas semánticas. |
| Recuperación para RAG | Referencia BM25; comparar recuperación híbrida y reranking | Evaluar la cobertura de la evidencia, el respaldo de las respuestas y la latencia. |
| Búsqueda de productos | Filtros léxicos más recuperación híbrida más atributos de negocio | Importan la disponibilidad, el precio, la popularidad y las facetas exactas. |
| Búsqueda de soporte | Recuperación híbrida más actualidad y metadatos de incidencias | Importan tanto las formulaciones similares como la política vigente. |
| Base de conocimiento interna | Referencia BM25 y, después, recuperación densa a partir de registros de consultas | Empezar con mediciones antes de añadir el coste de los modelos. |
| Búsqueda jurídica o de cumplimiento normativo | Referencia léxica más filtros estrictos y, después, expansión semántica cuidadosa | Tanto los falsos positivos como los falsos negativos tienen un coste elevado. |
Por qué BM25 sigue formando parte del sistema
Los embeddings encuentran texto con un significado similar, pero no sustituyen de forma fiable a la coincidencia exacta. Los códigos de error, nombres de funciones, SKU de productos, expresiones jurídicas y nombres de personas suelen transmitir la intención mediante su escritura exacta. BM25 es una referencia útil porque favorece la coincidencia de términos. El análisis de texto puede modificar esos términos: el analizador estándar de Elasticsearch divide el texto y lo convierte a minúsculas. Conserva los IDs sensibles a la puntuación, como ERR-42, mediante un analizador adecuado o un campo de valor exacto. El ranking de BM25 no garantiza la igualdad exacta de cadenas.
La recuperación densa puede añadir resultados relevantes cuando los usuarios no conocen el vocabulario del documento. Pruébala junto con BM25. Si los dos recuperadores encuentran resultados útiles y complementarios, RRF puede combinar sus listas ordenadas. Utiliza las posiciones de los resultados en lugar de comparar las puntuaciones léxicas y de embeddings sin procesar.
Cuándo añadir un reranker
Añade un cross-encoder cuando los documentos relevantes entren en el conjunto de candidatos, pero queden demasiado abajo en el ranking. Un cross-encoder lee la consulta junto con cada documento candidato. Esto requiere una pasada del modelo por cada pareja, así que aplícalo a una lista reducida. Elige el número de candidatos a partir del recall y la latencia medidos; los primeros 50 son un experimento útil, no un umbral universal.
Prueba un reranker basado en LLM cuando un cross-encoder no detecte distinciones que tu aplicación necesita, como qué versión de una política se aplica. Añade trabajo del modelo cuyo coste depende del número de candidatos y de la longitud de entrada. Compara calidad, latencia y coste sobre la misma lista reducida antes de conservarlo.
Recall@k mide cuánto material relevante etiquetado aparece entre los primeros k resultados. MRR favorece una posición alta para el primer resultado relevante; nDCG mide el orden cuando las etiquetas tienen distintos niveles de relevancia. Precision@1 comprueba si el primer resultado es relevante.
Secuencia de evaluación
- Etiqueta consultas reales que cubran intenciones importantes, idiomas, permisos y costes de fallo. Empieza con un conjunto pequeño y amplíalo hasta que los segmentos y la incertidumbre permitan respaldar la decisión.
- Mide BM25 por sí solo.
- Prueba la recuperación densa cuando BM25 no encuentre pasajes relevantes.
- Si los dos conjuntos de resultados se complementan, prueba la fusión con nDCG y Recall@k.
- Prueba el reranking con cross-encoder cuando los candidatos relevantes queden demasiado abajo; mide Precision@1 y nDCG.
- Añade reranking con LLM solo si mejora la calidad tras incluir el coste y la latencia.
- Supervisa las métricas de producción: tasa de consultas sin resultados, tasa de reformulación, tasa de clics, correcciones de respuestas, latencia p95 y coste.
Lecturas recomendadas
- El artículo Etapas del ranking de búsqueda ofrece un recorrido completo por la implementación.
- El artículo Métricas de evaluación de RAG explica la evaluación de la recuperación y de las citas.