Vector Embeddings: búsqueda por similitud semántica

·

Un vector embedding es la representación de un dato —una palabra, una frase, un documento, una imagen— como un punto en un espacio de muchas dimensiones, codificado en una lista de números reales. La idea central es geométrica: si dos textos significan cosas parecidas, sus vectores quedan cerca en ese espacio; si significan cosas distintas, quedan lejos. Esa propiedad convierte el significado, algo difuso y lingüístico, en distancia, algo medible y computable. Sobre ella se construyen la búsqueda semántica, los sistemas de recomendación, el agrupamiento (clustering) y la arquitectura RAG que da memoria documental a los modelos de lenguaje. Este artículo explica cómo funcionan los embeddings, cómo se mide la similitud y cómo se llevan a producción sin que la latencia ni el coste se disparen.

De las palabras a los vectores: qué codifica un embedding

La búsqueda tradicional por palabras clave compara cadenas de texto: encuentra "coche" solo si el documento contiene literalmente "coche", y falla ante "automóvil" o "vehículo". La búsqueda semántica resuelve ese problema porque opera sobre el significado, no sobre la forma. El salto conceptual lo popularizó Word2Vec (Mikolov et al., 2013), que demostró que las relaciones semánticas se reflejan en operaciones aritméticas sobre vectores: el célebre ejemplo "rey − hombre + mujer ≈ reina" mostró que las direcciones del espacio capturan conceptos como el género o la realeza.

Los embeddings modernos ya no se calculan palabra a palabra de forma estática, sino que son contextuales: el mismo término recibe un vector distinto según la frase en la que aparece, gracias a la arquitectura Transformer presentada en el artículo «Attention Is All You Need» (Vaswani et al., 2017) y a modelos posteriores como BERT y las familias de modelos de embeddings especializados. Así, "banco" en "me senté en el banco" y "banco" en "transferí dinero al banco" obtienen representaciones diferentes. La dimensionalidad típica de estos vectores oscila entre 384 y 3.072 componentes según el modelo; más dimensiones suelen capturar más matiz a costa de más almacenamiento y cómputo.

Medir la similitud: coseno, producto escalar y distancia euclídea

Una vez que los datos son vectores, comparar dos elementos es medir cuán cerca están. La métrica más usada en texto es la similitud del coseno, que mide el ángulo entre dos vectores e ignora su magnitud: vale 1 cuando apuntan en la misma dirección (máxima similitud), 0 cuando son ortogonales y −1 cuando son opuestos. Es la métrica preferida porque en muchos modelos lo que codifica significado es la dirección del vector, no su longitud. El producto escalar (dot product) sí tiene en cuenta la magnitud y es equivalente al coseno cuando los vectores están normalizados. La distancia euclídea (L2) mide la separación en línea recta y se usa cuando la magnitud es informativa.

Métricas de similitud y cuándo usarlas
MétricaQué mideUso habitual
Similitud del cosenoÁngulo entre vectores (ignora magnitud)Búsqueda semántica de texto
Producto escalarAlineación ponderada por magnitudRecomendadores; equivale al coseno si se normaliza
Distancia euclídea (L2)Separación en línea rectaClustering cuando la magnitud importa

Buscar el vecino más cercano comparando la consulta con todos los vectores almacenados (búsqueda exacta o k-NN de fuerza bruta) es preciso pero no escala: con millones de documentos, recorrerlos todos en cada consulta es inviable en tiempo real. La solución es la búsqueda aproximada de vecinos cercanos (ANN, Approximate Nearest Neighbors), que sacrifica una pizca de exactitud a cambio de respuestas en milisegundos. El algoritmo de referencia es HNSW (Hierarchical Navigable Small World), que organiza los vectores en un grafo navegable por capas; otras familias son IVF (índice invertido por particiones) y la cuantización de producto (PQ) para comprimir vectores. Las bases de datos vectoriales como FAISS, pgvector, Milvus o Qdrant implementan estos índices.

RAG: dar memoria documental a un modelo de lenguaje

La aplicación que ha disparado el interés por los embeddings es RAG (Retrieval-Augmented Generation, generación aumentada por recuperación). Un modelo de lenguaje, por potente que sea, solo conoce lo que vio durante su entrenamiento y tiene un límite de contexto; no conoce los documentos internos de una empresa ni la información posterior a su corte de datos. RAG resuelve esto recuperando los fragmentos relevantes de una base documental y entregándoselos al modelo como contexto antes de que genere la respuesta. El resultado es una respuesta fundamentada en fuentes propias y verificables, lo que reduce las alucinaciones y permite citar el origen.

El flujo de un sistema RAG tiene dos fases. En la indexación (offline): se trocean los documentos en fragmentos (chunking), se calcula el embedding de cada fragmento y se almacenan en una base vectorial. En la consulta (online): se calcula el embedding de la pregunta del usuario, se recuperan los k fragmentos más similares, y se construye un prompt que combina la pregunta con esos fragmentos para que el modelo genere la respuesta. La calidad del sistema depende tanto del modelo de embeddings y de la estrategia de troceado como del modelo generativo. Una técnica frecuente para mejorar la precisión es el reranking: recuperar muchos candidatos con búsqueda vectorial rápida y luego reordenarlos con un modelo más fino antes de pasar los mejores al generador.

Llevarlo a producción y el marco regulatorio

Más allá de RAG, los embeddings habilitan otros casos: clustering para descubrir temas en grandes corpus sin etiquetas previas, deduplicación semántica, detección de anomalías y clasificación por similitud a ejemplos de referencia. En todos ellos la puesta en producción exige decisiones de ingeniería: qué modelo de embeddings usar (y si es multilingüe, importante para contenido en español), cómo trocear los documentos, qué métrica y qué índice ANN, y cómo gestionar el reindexado cuando los documentos cambian o cuando se actualiza el modelo —cambiar de modelo obliga a recalcular todos los vectores, porque embeddings de modelos distintos no son comparables entre sí.

Cuando los documentos contienen datos personales, el tratamiento queda bajo el RGPD: hay que considerar la base de legitimación, la minimización de datos y el derecho de supresión, que en un índice vectorial obliga a poder borrar los vectores derivados de un dato concreto. Si el sistema de IA encaja en alguna categoría regulada, aplica además el Reglamento Europeo de Inteligencia Artificial (AI Act), con obligaciones de transparencia y gobernanza de datos. La ISO/IEC 42001 ofrece un marco de sistema de gestión de la IA para estructurar ese gobierno.

Errores comunes al trabajar con embeddings

Preguntas frecuentes

¿Qué diferencia hay entre búsqueda semántica y búsqueda por palabras clave? La léxica compara las palabras literales; la semántica compara el significado mediante vectores, por lo que encuentra resultados relevantes aunque no compartan ninguna palabra con la consulta.

¿Necesito una base de datos vectorial dedicada? No siempre. Para volúmenes moderados, extensiones como pgvector sobre PostgreSQL bastan. Las bases especializadas (Milvus, Qdrant) aportan ventajas a gran escala y en filtrado avanzado.

¿RAG elimina las alucinaciones del modelo? Las reduce notablemente al fundamentar la respuesta en documentos recuperados y permitir citar fuentes, pero no las elimina por completo: el modelo aún puede malinterpretar el contexto recuperado.

¿Qué métrica de similitud debo elegir? Para texto, la similitud del coseno es la opción por defecto. Si los vectores están normalizados, el producto escalar es equivalente y más eficiente. La distancia euclídea se reserva para casos donde la magnitud aporta información.

Conclusión: los embeddings convierten el significado en geometría operable

La potencia de los vector embeddings no está en el modelo que los genera, sino en la idea de que el significado se puede medir como distancia. Esa traducción es la que permite que una pregunta formulada con palabras que no aparecen en ningún documento recupere igualmente la respuesta correcta, que un corpus de millones de textos se agrupe por temas sin etiquetas previas y que un modelo de lenguaje responda sobre documentos que nunca vio en su entrenamiento. El valor real de un proyecto basado en embeddings se decide en la ingeniería de los detalles: el modelo adecuado para el idioma y el dominio, una estrategia de troceado que preserve el contexto, un índice ANN que equilibre latencia y exactitud, y una búsqueda híbrida que combine lo semántico con lo léxico para no fallar en nombres ni cifras. A todo ello se suma una gobernanza de datos que respete el RGPD y el AI Act desde el diseño. En Summum Inteligencia Artificial diseñamos sistemas de búsqueda semántica y RAG de extremo a extremo, eligiendo cada componente según el caso de uso real y no según la moda del momento.