Búsqueda semántica vs. búsqueda por palabras clave

La búsqueda por palabras clave encuentra texto; la semántica, significado. Cuándo usar cada una, cómo combinarlas y qué implica para la UX de la búsqueda.

info Definición Rápida
La búsqueda semántica encuentra resultados por significado: compara la intención de la consulta con el contenido, aunque no compartan las mismas palabras. La búsqueda por palabras clave encuentra resultados que contienen los términos escritos o variantes cercanas. Ambas son útiles y resuelven problemas distintos.

¿Qué hace cada una?

La búsqueda por palabras clave, o léxica, puntúa documentos según la aparición de los términos de la consulta. Un algoritmo clásico de este tipo es BM25, que combina tres ideas: cuántas veces aparece el término en el documento, cuán raro es ese término en toda la colección (los términos raros pesan más) y la longitud del documento (para que un texto largo no gane solo por tener más palabras). Trata el texto como una bolsa de palabras: no le importa el orden ni el sentido. Muchos buscadores le suman reglas para tolerar variantes, como plurales o conjugaciones, pero un sinónimo completamente distinto queda fuera.

La búsqueda semántica usa representaciones vectoriales, es decir, embeddings, para comparar la consulta con los documentos. Si el usuario escribe “cómo hacer que una app se sienta rápida mientras carga” puede encontrar un artículo titulado “respuesta percibida y skeletons” aunque no comparta casi ninguna palabra.

¿Cómo encuentra resultados la búsqueda semántica?

Un modelo convierte cada documento, o cada fragmento de un documento, en una lista de números: un vector. Los textos con significado parecido quedan con vectores cercanos. Cuando llega una consulta, se convierte con el mismo modelo y el sistema devuelve los vectores más cercanos, normalmente medidos con la similitud coseno. Esos vectores se guardan en un índice, a veces en una base de datos vectorial. Es también la primera mitad de un sistema de RAG: antes de que el modelo responda, se buscan los fragmentos relevantes.

Dos consecuencias importan para el diseño:

  • Siempre hay “los más cercanos”. Aunque la consulta no tenga nada que ver con el contenido, el sistema puede devolver los diez vectores menos lejanos. Sin un umbral de similitud, el usuario recibe resultados con aspecto de respuesta cuando en realidad no hay nada relevante.
  • El resultado depende del modelo. Un modelo entrenado en poco español, o sin conocimiento de tu dominio, puede mezclar términos que para tus usuarios son muy distintos. Los resultados cambian si cambias de modelo.

¿Por qué le importa a un diseñador?

Porque la búsqueda es una interfaz, y la forma en que encuentra resultados cambia lo que el usuario espera:

  • Lenguaje natural. Las personas escriben como hablan. La búsqueda semántica tolera esa forma de preguntar mejor que una búsqueda que exige palabras exactas.
  • Resultados sorprendentes. Un resultado sin la palabra escrita puede ser acierto o ruido. Si no hay forma de entender por qué apareció, el usuario duda del sistema.
  • Nombres y códigos. Un usuario que busca “SKU-4471” quiere ese resultado exacto. La búsqueda semántica puede devolver productos “parecidos”, que es justo lo que no quiere.
  • Filtros y facetas. Ninguna de las dos reemplaza los filtros cuando el usuario sabe lo que busca con precisión.

¿Cuándo usar cada una?

Lo que busca la personaMejor opciónPor qué
Un código, un número de pedido, un nombre propioPalabras claveTiene que coincidir literalmente
Un error o un término técnico exactoPalabras claveLa consulta ya trae las palabras correctas
Una pregunta en lenguaje naturalSemántica o híbridaEl contenido puede usar otras palabras
Un tema difuso, “algo sobre…”Semántica o híbridaImporta el significado, no el término
No se sabe de antemanoHíbridaCubre los dos casos

¿Cuándo NO conviene la semántica?

Cuando la precisión exacta es el requisito: buscar un contrato por número, un correo por remitente, un código de error en un log. En esos casos, la búsqueda por palabras clave es más predecible, más barata de mantener y más fácil de explicar. Introducir embeddings sin necesidad agrega costo de indexación y una nueva fuente de errores.

¿Qué es la búsqueda híbrida y cómo se muestra?

En la práctica, muchos productos combinan las dos. Ejecutan una búsqueda léxica y otra semántica, y luego fusionan los resultados con una regla de ranking. Una regla muy usada es la fusión por rango recíproco (RRF, por sus siglas en inglés): cada documento recibe un puntaje de 1 dividido por una constante más su posición en cada lista, y se suman los puntajes. Como trabaja con posiciones y no con los puntajes originales, no hace falta comparar escalas que no son comparables. Elasticsearch y OpenSearch la documentan, y en Elasticsearch la constante vale 60 por defecto.

El beneficio es que los identificadores exactos aparecen arriba y las consultas en lenguaje natural también encuentran contenido relacionado.

Como diseñador, la pregunta de producto es cómo se muestra esa fusión. ¿Se separan los resultados en “coincidencias exactas” y “relacionados”? ¿Se explica el motivo, por ejemplo resaltando las palabras que coincidieron o mostrando el fragmento? Una etiqueta sencilla suele ahorrar mucha confusión. Y conviene decidir qué pasa cuando no hay nada suficientemente cercano: un mensaje honesto de “sin resultados” es mejor que diez resultados dudosos. Este mismo problema reaparece en la búsqueda con IA y su impacto en UX y en la búsqueda conversacional.

Ejemplo

Ejemplo ilustrativo: una base de conocimiento de soporte tiene 2.000 artículos. Con búsqueda solo por palabras clave, una usuaria que escribe “no me llega el código al correo” no encuentra el artículo titulado “verificación de cuenta por email” porque no comparte términos. Con búsqueda híbrida, sí aparece. Pero si busca “error 4031”, quiere ese código exacto; el equipo decide que los códigos siempre se buscan léxicamente y los resultados semánticos aparecen debajo, con la etiqueta “Temas relacionados”.

Errores comunes

  • Reemplazar la búsqueda de palabras clave por una semántica sin medir qué pasa con los códigos y nombres.
  • Evaluar la calidad con consultas que el equipo ya conoce de memoria, en vez de consultas reales de usuarios.
  • Mostrar resultados semánticos sin indicar por qué aparecen.
  • No poner un umbral de similitud, de modo que siempre se muestran resultados aunque no sean relevantes.
  • Olvidar que la búsqueda semántica también necesita reindexar cuando cambia el contenido.
  • Pensar que “semántica” significa “entiende”. Es una comparación aproximada de significados.

Fuentes

Preguntas frecuentes

¿Qué es la búsqueda semántica?
Es una búsqueda que compara el significado de la consulta con el de los documentos, normalmente con embeddings, en lugar de exigir que aparezcan las mismas palabras.
¿Cuál es la diferencia entre búsqueda semántica y por palabras clave?
La búsqueda por palabras clave devuelve documentos que contienen los términos escritos o variantes cercanas. La semántica devuelve documentos relacionados por significado, aunque usen otras palabras.
¿Cuándo conviene la búsqueda por palabras clave?
Cuando el usuario busca identificadores exactos, códigos, nombres propios o términos técnicos que deben coincidir literalmente.
¿Qué es la búsqueda híbrida?
Combina una búsqueda léxica, como BM25, con una búsqueda por embeddings y fusiona los resultados.