Entender el algoritmo de búsqueda de texto completo BM25
(emschwartz.me)-
Entender el algoritmo BM25
- BM25 es un algoritmo de búsqueda de texto completo ampliamente usado por defecto en Lucene/Elasticsearch y SQLite, entre otros.
- Últimamente, se ha vuelto común implementar la “búsqueda híbrida” combinando búsqueda de texto completo y búsqueda por similitud vectorial.
- El artículo parte de la pregunta de si es posible comparar puntajes BM25 entre distintas consultas.
-
Clasificación de documentos
- El objetivo básico de un algoritmo de búsqueda de texto completo es encontrar los documentos más relevantes para una consulta.
- BM25 clasifica los documentos con base en la probabilidad de que un documento sea relevante para la consulta.
-
Componentes de BM25
- Términos de la consulta: en una consulta compuesta por varios términos, se calcula un puntaje separado para cada término y luego se suman.
- Frecuencia inversa de documento (IDF): calcula qué tan raro es un término de búsqueda específico dentro de toda la colección de documentos.
- Frecuencia del término en el documento: calcula con qué frecuencia aparece el término de búsqueda en un documento específico.
- Normalización por longitud del documento: normaliza la longitud del documento comparándola con la de otros documentos.
-
Expresión matemática de BM25
- El algoritmo BM25 puede parecer matemáticamente complejo, pero es fácil de entender si se comprende cada uno de sus componentes.
- La fórmula principal se calcula sumando el puntaje de cada término de la consulta.
-
La originalidad de BM25
- Clasificación basada en probabilidad sin calcular probabilidades: BM25 clasifica documentos con base en un marco probabilístico de relevancia.
- Asume que la mayoría de los documentos no son relevantes: BM25 supone que la mayoría de los documentos no están relacionados con la consulta, lo que lo hace útil incluso sin usar información explícita de relevancia.
-
Conclusión
- Los puntajes BM25 pueden compararse entre consultas dentro de la misma colección.
- BM25 no se enfoca en estimar la relevancia de un documento, sino en ordenar la relevancia con respecto a una consulta.
- Es posible comparar los puntajes BM25 de un mismo documento dentro de la misma colección.
-
Lecturas adicionales
- Si quieres saber más sobre la teoría y la historia de BM25, se recomienda la charla de 2016 de la ingeniera de Elastic Britta Weber y "The Probabilistic Relevance Framework: BM25 and Beyond" de Stephen Robertson y Hugo Zaragoza.
Aún no hay comentarios.