BM25
Algoritmo de clasificación que mide la relevancia de un documento basándose en la frecuencia de las palabras buscadas, ajustando la importancia de términos comunes para evitar resultados irrelevantes.
Qué es
El BM25 (Best Matching 25) es la evolución del clásico algoritmo TF-IDF y constituye, todavía hoy, el estándar de oro para la llamada "búsqueda léxica" o por palabras clave. A diferencia de los modelos de Inteligencia Artificial más recientes basados en vectores (que intentan comprender el significado), el BM25 se enfoca en la coincidencia exacta de términos. En el contexto de una PYME que organiza su base de datos de conocimiento, el BM25 es el motor que garantiza que, al buscar "factura de electricidad", los documentos que contienen exactamente esas palabras aparezcan al principio de la lista.
A pesar de ser un algoritmo con décadas de antigüedad, es extraordinariamente robusto. Es la base de sistemas como Elasticsearch y Solr, y sigue siendo un componente indispensable en sistemas modernos de RAG (Retrieval-Augmented Generation), ya que logra capturar detalles específicos (como números de serie o referencias de productos) que los modelos de lenguaje complejos a veces ignoran.
Cómo funciona
El BM25 funciona a través de una fórmula matemática que evalúa la relevancia de un documento para una consulta específica basándose en tres pilares fundamentales:
-
Frecuencia del Término (TF): Cuantas más veces aparece una palabra en un documento, mayor es su puntuación. Sin embargo, el BM25 aplica lo que llamamos "saturación". Esto significa que la diferencia entre que una palabra aparezca 1 vez o 2 veces se valora mucho, pero la diferencia entre aparecer 100 o 101 veces es casi irrelevante. Esto evita que los documentos que repiten la misma palabra una y otra vez (spam) dominen los resultados.
-
Frecuencia Inversa del Documento (IDF): El algoritmo penaliza palabras que aparecen en casi todos los documentos de la base de datos (como "el", "de", "que") y da mucho más peso a palabras raras y distintivas (como "transmuta" o "SKU-990").
-
Normalización de la Longitud del Documento: Los documentos más largos tienen naturalmente más palabras, lo que aumenta la probabilidad de contener los términos de búsqueda por puro azar. El BM25 ajusta la puntuación para que un manual de 500 páginas no gane injustamente a una guía rápida de 2 páginas solo por tener más volumen de texto.
Cuándo usar
Para una PYME, el BM25 debe ser la primera elección, o al menos un componente central, en varios escenarios prácticos:
- Catálogos de Productos: Si un cliente busca la referencia exacta "XYZ-123", el BM25 es el método más fiable para encontrar ese producto. Los modelos de IA basados en significado (embeddings) pueden sugerir erróneamente productos similares pero con referencias diferentes.
- Sistemas de Gestión Documental (DMS): Para buscar contratos por nombre de cliente, NIF o dirección, la precisión léxica es superior a la semántica.
- Motores de búsqueda internos: Cuando la velocidad es crítica y el hardware es limitado. El BM25 es extremadamente ligero computacionalmente en comparación con los modelos de Deep Learning.
- Búsqueda Híbrida: Actualmente, la mejor práctica es combinar el BM25 con la búsqueda vectorial. El BM25 garantiza que se encuentren las palabras exactas, mientras que la IA se encarga de los sinónimos y el contexto.
Errores comunes
- Ignorar la Búsqueda Híbrida: Muchas empresas abandonan totalmente el BM25 para usar solo bases de datos vectoriales. ¿El resultado? El sistema deja de encontrar términos técnicos exactos o códigos de producto, frustrando a los usuarios. El BM25 y la IA deben trabajar juntos.
- Falta de Tratamiento de Texto (Stemming): Un error común es no configurar el BM25 para entender que "carros" y "carro" son la misma raíz. En español, es esencial aplicar un analizador que elimine sufijos para que la búsqueda sea eficaz.
- No configurar Stopwords: Si no se filtran las palabras comunes del idioma español, el motor de búsqueda pierde eficiencia, aunque el BM25 (vía IDF) ya intenta mitigar este problema.
- Confiar solo en el BM25 para sinónimos: El BM25 es ciego a los significados. Si busca "gastos" y el documento dice "desembolsos", el BM25 no lo encontrará. Es aquí donde falla de forma aislada.
Ejemplo práctico para una PYME
Imaginemos una empresa española de distribución de material eléctrico con 50.000 referencias en catálogo. Un técnico de mantenimiento está en el campo y necesita encontrar el manual de un disyuntor específico. Busca "Disyuntor Siemens 5SY41".
- Sin BM25 (Búsqueda simple por base de datos): El sistema puede devolver mil resultados que contengan "Siemens" o "Disyuntor", sin orden de relevancia, obligando al técnico a buscar manualmente.
- Con BM25: El sistema identifica que "5SY41" es el término más raro e importante (IDF elevado). Coloca inmediatamente en la parte superior los manuales que contienen esa referencia exacta, aunque el documento sea corto. La saturación de términos garantiza que un catálogo general que mencione la palabra "disyuntor" 500 veces no aparezca por delante del manual específico que el técnico busca.
- Con Búsqueda Híbrida (BM25 + RAG): El sistema encuentra el manual (vía BM25) y el chatbot de IA lee el contenido para responder: "Para ese disyuntor, el par de apriete recomendado es 2.5 Nm".
Preguntas frecuentes
P: ¿Es el BM25 mejor que la búsqueda vectorial (Embeddings)?
R: No es mejor ni peor, es diferente. El BM25 es excelente para palabras exactas e IDs. La búsqueda vectorial es excelente para conceptos y sinónimos. Lo ideal para una PYME es usar ambos en modo híbrido.
P: ¿Necesito servidores potentes para ejecutar BM25?
R: Al contrario. Es un algoritmo extremadamente eficiente que se ejecuta en hardware común con tiempos de respuesta de milisegundos, incluso con millones de documentos.
P: ¿Funciona bien el BM25 en español?
R: Sí, siempre que el motor de búsqueda (como Elasticsearch) esté configurado con un analizador de español para tratar las flexiones de género y número de las palabras.
P: ¿Puedo usar BM25 en un sistema de RAG?
R: Debe hacerlo. Integrar BM25 en el paso de 'retrieval' del RAG reduce drásticamente las alucinaciones al garantizar que la IA reciba los documentos técnicamente correctos basados en términos precisos.
Ejemplos prácticos
- 01Recuperar el contrato específico del cliente 'Telefónica' en una base de datos con miles de archivos PDF.
- 02Filtrar piezas en un catálogo de e-commerce a través de la referencia del fabricante (ej: 'REF-9920-X').
- 03Ordenar resultados de una FAQ interna para que los artículos con los términos exactos de la duda aparezcan primero.
- 04Componente léxico de un sistema RAG para garantizar que los términos técnicos no sean ignorados por la IA.
¿Quieres usar BM25 en tu empresa?
30 minutos, gratis, sin compromiso. Te decimos dónde encaja.
Diagnóstico IA gratis