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

EtapaMétodoFunción
FiltradoFiltros estructuradosAplicar restricciones de tenant, permisos, producto, idioma, tiempo y disponibilidad.
Recuperación léxicaBM25Hacer coincidir términos; conservar IDs y códigos de error con campos o analizadores adecuados.
Recuperación densaEmbeddingsSinónimos, paráfrasis, intención imprecisa y recall semántico.
FusiónReciprocal Rank Fusion o combinación ponderada de recuperadoresCombinar candidatos dispersos y densos sin asumir que sus puntuaciones son comparables.
RerankingCross-encoderLeer la consulta junto con cada candidato para puntuar una lista reducida.
Precisión finalReranker basado en LLM o modelo de respuestaResolver los matices de relevancia solo cuando la lista sea pequeña.
EvaluaciónRecall@k, nDCG, MRR, etiquetas de clics, etiquetas humanasComprobar si cada etapa añadida mejora la referencia.

Puntos de partida según el caso de uso

ProductoEnfoque que probarMotivo
Búsqueda en documentaciónBM25 más embeddings más cross-encoderImportan tanto los nombres exactos de API como las preguntas semánticas.
Recuperación para RAGReferencia BM25; comparar recuperación híbrida y rerankingEvaluar la cobertura de la evidencia, el respaldo de las respuestas y la latencia.
Búsqueda de productosFiltros léxicos más recuperación híbrida más atributos de negocioImportan la disponibilidad, el precio, la popularidad y las facetas exactas.
Búsqueda de soporteRecuperación híbrida más actualidad y metadatos de incidenciasImportan tanto las formulaciones similares como la política vigente.
Base de conocimiento internaReferencia BM25 y, después, recuperación densa a partir de registros de consultasEmpezar con mediciones antes de añadir el coste de los modelos.
Búsqueda jurídica o de cumplimiento normativoReferencia léxica más filtros estrictos y, después, expansión semántica cuidadosaTanto 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

  1. 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.
  2. Mide BM25 por sí solo.
  3. Prueba la recuperación densa cuando BM25 no encuentre pasajes relevantes.
  4. Si los dos conjuntos de resultados se complementan, prueba la fusión con nDCG y Recall@k.
  5. Prueba el reranking con cross-encoder cuando los candidatos relevantes queden demasiado abajo; mide Precision@1 y nDCG.
  6. Añade reranking con LLM solo si mejora la calidad tras incluir el coste y la latencia.
  7. 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

Referencias