Hay una pregunta que parece filosófica pero tiene una respuesta muy técnica: ¿cómo sabe una IA que «auto» y «carro» significan lo mismo? ¿O que «Lima, Perú» y «Lima, capital» se refieren al mismo lugar? La respuesta está en los embeddings, una de las ideas fundamentales detrás de casi todo lo que hace moderna la IA de hoy.
No son un concepto nuevo. Los embeddings existen desde hace más de una década en investigación académica. Pero con el auge de los grandes modelos de lenguaje, se volvieron tan importantes que vale la pena entenderlos, aunque no seas programador.
El problema que los embeddings resuelven
Las computadoras trabajan con números. El texto, las imágenes y el audio no son números, así que hay que convertirlos. La forma más simple de representar texto es asignarle un número a cada palabra: «auto» = 1, «carro» = 2, «moto» = 3. Pero con ese sistema, la computadora no sabe que «auto» y «carro» son casi sinónimos, ni que «auto» y «avión» son menos parecidos entre sí que «auto» y «camión».
Los embeddings resuelven eso representando cada palabra, frase o documento como un punto en un espacio matemático de muchas dimensiones. No en 2D ni en 3D, sino en espacios de cientos o miles de dimensiones. La magia está en que dos conceptos similares quedan cerca en ese espacio, y conceptos distintos quedan lejos.
Una analogía que funciona
Piensa en un mapa. En un mapa físico, Lima y Callao están cerca, y Lima y Cusco están lejos. Ese mapa tiene dos dimensiones: latitud y longitud. Ahora imagina un mapa de significados, con cientos de dimensiones. En ese mapa, «pollo a la brasa» y «anticucho» quedan relativamente cerca (ambos son comidas peruanas populares). «Sunat» y «declaración de impuestos» también quedan cerca. «Sunat» y «receta de ceviche» quedan lejos.
Eso es esencialmente lo que hace un embedding: ubicar palabras, frases o documentos en un espacio donde la cercanía refleja similitud de significado.
Cómo se crean los embeddings
Se crean durante el entrenamiento de modelos de IA con grandes volúmenes de texto. El modelo aprende a predecir qué palabras aparecen juntas o en contextos similares, y a partir de esos patrones ajusta las posiciones en el espacio multidimensional. Palabras que aparecen en contextos similares terminan cerca. Palabras que nunca aparecen juntas terminan lejos.
El resultado es un «diccionario de significados» matemático. Cada palabra o fragmento de texto tiene su vector, que es simplemente una lista de números que representan su posición en ese espacio. OpenAI, Google, Cohere y otros ofrecen modelos de embeddings como servicio: tú envías texto, ellos devuelven el vector.
El ejemplo de la aritmética semántica
Uno de los hallazgos más conocidos de los embeddings es que permiten hacer algo parecido a aritmética con conceptos. El ejemplo clásico: el vector de «rey» menos el vector de «hombre» más el vector de «mujer» da un resultado muy cercano al vector de «reina». Es decir, la relación entre «rey» y «hombre» es matemáticamente similar a la relación entre «reina» y «mujer».
Esto no es un truco de demostración: refleja que el modelo aprendió relaciones conceptuales reales del lenguaje. Y esa capacidad es lo que hace tan potentes a los sistemas basados en embeddings.
Para qué sirven en la práctica
Los embeddings están detrás de muchas cosas que usas sin pensarlo:
- Motores de búsqueda semántica: cuando buscas «cómo pagar menos impuestos» y el buscador te devuelve resultados sobre «optimización tributaria», usa embeddings para entender que esas frases se refieren a lo mismo.
- Sistemas de recomendación: cuando Spotify te sugiere música parecida a la que escuchas, o cuando una tienda online te muestra productos similares, hay embeddings calculando qué tan cerca están esos items en el espacio de preferencias.
- RAG y chatbots empresariales: para buscar en documentos internos de una empresa, los embeddings permiten encontrar el fragmento más relevante aunque la pregunta use palabras distintas a las del documento.
- Detección de duplicados: para identificar si dos reseñas de producto dicen lo mismo aunque usen palabras diferentes, o si dos tickets de soporte son el mismo problema reportado dos veces.
Embeddings en un negocio peruano: ejemplo concreto
Una tienda de ropa online en Lima tiene miles de productos. Un cliente busca «polo casual para verano». Con búsqueda tradicional por palabras clave, solo aparecen productos que tengan exactamente esas palabras en su descripción. Con búsqueda por embeddings, el sistema entiende que «polo», «camiseta», «tshirt» y «remera» son conceptos cercanos, y que «casual» y «sport» también. El resultado es mucho más relevante.
Otro caso: una empresa que recibe cientos de correos de clientes al día quiere clasificarlos automáticamente entre reclamos, consultas, pedidos y otros. Con embeddings, el sistema puede agrupar mensajes similares aunque usen vocabularios distintos. «Mi pedido no llegó», «el delivery no apareció» y «llevo tres días esperando mi compra» van al mismo grupo sin que nadie defina las reglas manualmente.
Qué tan difícil es usar embeddings
Depende del caso. Usar un modelo de embeddings de OpenAI o Google para un proyecto concreto es relativamente sencillo si tienes un desarrollador: es una llamada a una API, unos pocos cientos de líneas de código para la búsqueda, y listo. El costo es bajo para volúmenes moderados.
Construir tus propios modelos de embeddings desde cero es una tarea de investigación seria que requiere datos, infraestructura y expertise. La mayoría de empresas no necesita llegar ahí: usar modelos preentrenados de buena calidad es suficiente para casi todos los casos de uso prácticos.
Si quieres explorar cómo los embeddings pueden mejorar la búsqueda o los sistemas de recomendación de tu negocio, en freelo.pe podemos ayudarte a evaluar qué tiene sentido para tu caso específico.
Bases de datos vectoriales: donde viven los embeddings
Para usar embeddings en producción necesitas algún lugar donde guardarlos y consultarlos rápido. Ahí entran las bases de datos vectoriales, un tipo especial de base de datos diseñado para almacenar vectores y hacer búsquedas de similitud de forma eficiente. Las más conocidas son Pinecone, Weaviate, Qdrant y Chroma. También existen extensiones vectoriales para bases de datos tradicionales como PostgreSQL con pgvector, que es una opción muy práctica si ya tienes infraestructura en Postgres.
La operación básica que hacen es: recibes una consulta, la conviertes en un vector, y buscas los N vectores más cercanos en la base de datos. Para una colección de 10,000 documentos esto es instantáneo. Para millones de documentos requiere más optimización, pero hay algoritmos diseñados para escalar bien.
Embeddings y personalización: el siguiente nivel
Una de las aplicaciones más interesantes de los embeddings en comercio electrónico es la personalización a escala. En vez de segmentar clientes en grandes grupos (hombres 25-35, mujeres Lima norte), puedes representar los intereses de cada usuario como un vector basado en su historial de compras y navegación. Luego buscas los productos cuyos embeddings están más cerca del vector del usuario. El resultado es recomendación verdaderamente individual, no por categoría.
Para una tienda online peruana con base de clientes activa, esto puede mejorar notablemente las tasas de conversión en emails y notificaciones. El cliente recibe recomendaciones que se sienten relevantes porque, matemáticamente, lo son. No requiere que el equipo de marketing defina reglas manualmente: el sistema aprende de los patrones de comportamiento real.
Si quieres explorar cómo los embeddings pueden mejorar la búsqueda o los sistemas de recomendación de tu tienda, en freelo.pe podemos ayudarte a evaluar qué tiene sentido para tu caso y qué inversión implicaría ponerlo en marcha.
Preguntas frecuentes
¿Los embeddings funcionan bien con texto en español?
Depende del modelo. Los modelos de embeddings entrenados principalmente en inglés funcionan peor con español. Hay modelos multilingues, como los de Google o sentence-transformers, que manejan bien el español. Para textos muy locales o con jerga peruana, conviene probar varios modelos y medir su desempeño en tu caso específico.
¿Cuánto cuesta usar embeddings en producción?
Los modelos de embeddings de OpenAI cuestan alrededor de 0.02 dólares por cada millón de tokens. Para la mayoría de aplicaciones medianas, el costo mensual es menor a 20 dólares. Si usas modelos open source como nomic-embed o all-MiniLM en tus propios servidores, el costo de infraestructura puede ser aún menor.
¿Qué diferencia hay entre embeddings de palabras y de oraciones?
Los embeddings de palabras (como Word2Vec) representan palabras individuales. Los de oraciones o documentos representan fragmentos más largos y capturan el contexto completo. Para búsqueda semántica y chatbots, los embeddings de oraciones son mucho más útiles porque mantienen el significado del texto completo, no solo de cada palabra aislada.
¿Puedo usar embeddings para comparar documentos en PDF?
Sí. Primero se extrae el texto del PDF, luego se divide en fragmentos manejables, y a cada fragmento se le calcula su embedding. Para comparar dos documentos, se calculan las similitudes entre sus fragmentos. Es la base de muchos sistemas de búsqueda en documentos internos de empresas.
¿Los embeddings pueden manejar imágenes además de texto?
Sí. Hay modelos como CLIP de OpenAI que generan embeddings para texto e imágenes en el mismo espacio. Eso permite búsquedas cruzadas: buscar imágenes usando texto, o encontrar imágenes visualmente similares. Es la tecnología detrás de búsquedas visuales en tiendas online y aplicaciones de reconocimiento de contenido.