Búsqueda semántica
Una búsqueda que encuentra resultados por su significado, no por las palabras exactas.
La búsqueda por palabras clave clásica busca las palabras que escribiste. Si en un centro de ayuda buscás "no puedo entrar", capaz no te aparece el artículo que se llama "Restablecer tu contraseña". La búsqueda semántica busca el significado: entiende que los dos hablan del mismo problema y te devuelve el artículo aunque no compartan ni una palabra.
Funciona con embeddings. Cada documento, casi siempre cortado en pedazos de unos pocos párrafos, pasa por un modelo que lo convierte en una lista larga de números que captura de qué trata, y se guarda, muchas veces en una base de datos vectorial. Cuando llega una consulta, se convierte en números de la misma manera y la búsqueda devuelve los pedazos cuyos números quedan más cerca, en general medidos con la similitud del coseno. Significado parecido, números cercanos.
Es el paso de recuperación detrás de la mayoría de los sistemas de RAG: antes de que un LLM conteste una pregunta sobre los documentos de una empresa, la búsqueda semántica encuentra los pocos pasajes que vale la pena leer. También está detrás de los "productos similares", de las búsquedas entre idiomas y de encontrar fotos por descripción. Su punto débil es lo exacto: códigos de producto, nombres raros, números de error. Por eso muchos sistemas hacen búsqueda híbrida, que mezcla resultados por palabras clave y semánticos, y después reordenan los primeros con un segundo modelo llamado reranker.
Para quedarse
- Busca por significado, así los sinónimos y las paráfrasis se encuentran igual.
- Documentos y consultas se vuelven embeddings; ganan los más cercanos.
- Es el paso de recuperación habitual dentro de RAG.
- Le cuestan los códigos y nombres exactos, de ahí la búsqueda híbrida con palabras clave.
Para seguir leyendo
- Búsqueda semántica en Wikipedia
- ¿Qué es la búsqueda semántica y cómo funciona? (Google Cloud)
- ¿Qué es la búsqueda semántica? (Elastic)