¿Qué es BM25?

Centro de aprendizaje5 min de lectura

BM25 es una función de ranking que puntúa qué tan bien coincide un documento con una consulta de palabras clave. Tiene en cuenta cuántas veces aparece cada palabra de la consulta en el documento, qué tan rara es esa palabra en toda la colección y qué longitud tiene el documento. Los motores de búsqueda, las herramientas de búsqueda interna de sitios y muchos sistemas de recuperación con IA lo usan para generar una primera lista de páginas o pasajes candidatos.

El nombre significa Best Matching 25. Proviene de una línea de investigación sobre recuperación de información probabilística y se popularizó gracias al sistema de búsqueda Okapi, por eso a veces se le llama Okapi BM25. Durante años ha sido el método de ranking por palabras clave predeterminado en software de búsqueda de código abierto muy utilizado, como Lucene, Elasticsearch y OpenSearch.

¿Cómo puntúa BM25 un documento?

BM25 trata una consulta como un conjunto de palabras, llamadas términos, y asigna a cada documento una puntuación sumando una contribución por cada término de la consulta que contiene. El orden de las palabras y su significado no influyen. Tres factores determinan el tamaño de cada contribución.

Frecuencia del término con saturación

La frecuencia del término es el número de veces que un término de la consulta aparece en el documento. Más apariciones aumentan la puntuación, pero cada aparición adicional suma menos que la anterior. Una página que menciona "factura" diez veces puntúa más que una que la menciona una vez, pero solo un poco más que una que la menciona cinco veces. Esta saturación impide que una página gane simplemente por repetir una palabra.

Frecuencia inversa de documento

La frecuencia inversa de documento (IDF) mide qué tan raro es un término en todos los documentos del índice. Una palabra que aparece en casi todos los documentos, como "el" o "página", aporta poca información al sistema y recibe un peso cercano a cero. Las palabras que aparecen solo en unos pocos documentos, como el nombre de un producto o un término técnico, reciben un peso alto, de modo que una coincidencia con un término raro de la consulta cuenta mucho más que una coincidencia con uno común.

Normalización por longitud del documento

Los documentos largos contienen más palabras, así que coinciden con más términos por casualidad. BM25 compara la longitud de cada documento con la longitud media de la colección y reduce la puntuación de los documentos más largos que la media. Como resultado, un pasaje corto que menciona un término dos veces puede superar a un artículo largo que lo menciona tres veces.

¿Cómo es la fórmula de BM25?

Para una consulta Q y un documento D, la puntuación es una suma sobre cada término q de la consulta:

score(D, Q) = sum of IDF(q) * f(q, D) * (k1 + 1) / (f(q, D) + k1 * (1 - b + b * |D| / avgdl))
SímboloSignificado
f(q, D)Cuántas veces aparece el término q en el documento D
IDF(q)Peso basado en qué tan pocos documentos contienen q
\D\Longitud del documento D en palabras
avgdlLongitud media de los documentos de la colección
k1Controla qué tan rápido se satura la frecuencia del término
bControla cuánto se penaliza la longitud, de 0 (sin penalización) a 1 (penalización total)

Los dos parámetros se ajustan para cada colección. Los valores predeterminados habituales sitúan k1 en torno a 1,2 y b en 0,75, y muchos sistemas nunca los cambian. Como la fórmula solo necesita recuentos de palabras, funciona rápido sobre índices muy grandes usando un índice invertido, una tabla de consulta que indica qué documentos contienen cada palabra.

¿Por qué se sigue usando BM25 en la búsqueda con IA?

Los sistemas de búsqueda con IA recuperan texto antes de que un modelo de lenguaje redacte una respuesta, un patrón llamado generación aumentada por recuperación. La recuperación suele empezar con BM25 porque es barato, predecible y no necesita entrenamiento. Es especialmente bueno en coincidencias exactas: códigos de producto, mensajes de error, nombres, números de versión y jerga poco común.

Los sistemas modernos suelen combinarlo con la búsqueda vectorial, que compara incrustaciones (embeddings), listas de números que codifican significado. Los dos métodos encuentran resultados distintos, así que muchas canalizaciones ejecutan ambos y fusionan las listas ordenadas, un enfoque llamado búsqueda híbrida. Después, un paso de reordenación puntúa con más cuidado los candidatos fusionados antes de que los pasajes lleguen al modelo. Cómo elige la búsqueda con IA qué fuentes citar describe esas etapas posteriores.

¿Cuáles son los límites de BM25?

BM25 solo ve las palabras que están en la página. Si un usuario busca "portátil barato" y una página dice "notebook económico", la página obtiene cero para esos términos, un problema conocido como desajuste de vocabulario. Tampoco puede distinguir que "banco" en un artículo de finanzas y "banco" en un artículo sobre un parque significan cosas distintas.

BM25Búsqueda vectorial
Coincide porPalabras exactasSignificado
Sinónimos y paráfrasisNo los detectaNormalmente los encuentra
Nombres y códigos rarosFuertePuede ser débil
Necesita un modelo entrenadoNoSí
Facilidad para explicar una puntuaciónSíMás difícil

Estas carencias hicieron que la búsqueda semántica se generalizara, mientras que las ventajas indicadas arriba explican por qué BM25 siguió usándose junto a ella.

¿Qué implica BM25 para un sitio web?

Cuando un sistema de recuperación usa BM25, una página o pasaje solo puede encontrarse a través de él si contiene las palabras que la gente realmente usa en sus preguntas. Una página que describe un producto solo con lenguaje de marca, sin los términos sencillos que escribiría un comprador, no le da a BM25 nada con qué coincidir. Usar el nombre común de algo al menos una vez, cerca del texto que lo explica, mantiene el pasaje como candidato.

La repetición no ayuda mucho, porque la frecuencia del término se satura y la normalización por longitud penaliza el relleno. Los términos raros y específicos tienen más peso, así que los nombres de producto precisos, los números de modelo y el vocabulario técnico facilitan que un pasaje se recupere para las consultas que los contienen. Las secciones cortas y centradas también salen beneficiadas, ya que un pasaje que trata un solo tema no se diluye por la longitud del texto no relacionado que lo rodea.

Pruébalo gratis 14 días
y recibe tu informe de IA