Qué son los embeddings: explicación sencilla para no especialistas
Un embedding es una lista de números que representa el significado de un texto, de modo que dos frases que dicen lo mismo reciben números parecidos aunque no compartan ni una palabra. Es lo que hace posible la búsqueda semántica: encontrar «¿Me devuelven el dinero?» en una página titulada «Política de reembolsos». En esta guía le explicamos qué son los embeddings sin tecnicismos, calculamos a mano un ejemplo de similitud del coseno que puede comprobar con la calculadora y repasamos los límites que conviene conocer antes de apostar por ellos.
Qué es un embedding, dicho de forma sencilla
Un ordenador compara números con enorme facilidad, pero no sabe comparar significados. Para un buscador clásico, «coche» y «automóvil» son dos cadenas de letras distintas y, por tanto, dos cosas distintas, salvo que alguien haya cargado una lista de sinónimos. Los embeddings resuelven el problema traduciendo el texto a números de forma que el significado se conserve.
En la práctica, un modelo de embeddings lee una palabra, una frase o un párrafo y devuelve una lista de números de longitud fija, por ejemplo 768 o 1.024 valores. Esa lista se llama vector. El modelo se ha entrenado para que los textos con significados parecidos tengan vectores que apuntan en direcciones parecidas, y los textos sin relación queden lejos unos de otros.
Una analogía: el mapa de los significados
Imagine un mapa gigantesco en el que cada frase tiene una chincheta. Las frases sobre devoluciones se agrupan en un barrio, las que hablan de aparcamiento en otro, las del IVA más allá. Un embedding no es más que las coordenadas de una frase en ese mapa. Para encontrar documentos relacionados con una pregunta, se clava una chincheta para la pregunta y se mira qué chinchetas tiene cerca.
La diferencia con un callejero es que este mapa no tiene dos dimensiones, sino cientos o miles. El significado tiene muchas más direcciones que el norte y el este: tema, tono, sector, registro y un sinfín de matices más finos. Nadie puede imaginarse ese espacio, pero las distancias y los ángulos se calculan igual que sobre el papel.
Cómo un texto se convierte en vector
- División en tokens. El texto se corta en unidades pequeñas: palabras enteras, trozos de palabras, signos de puntuación. Una palabra larga como «desafortunadamente» puede quedar dividida en varios fragmentos.
- Codificación en contexto. Una red neuronal entrenada lee los tokens teniendo en cuenta sus vecinos. «Banco» en «sentarse en un banco» y en «abrir una cuenta en el banco» recibe una representación distinta en los modelos actuales.
- Síntesis en un único vector. Las representaciones internas se combinan en una sola lista para todo el texto, normalmente ajustada a longitud 1. Ese vector final es el embedding.
¿De dónde saca el modelo su sentido del significado? Del entrenamiento con cantidades muy grandes de texto, apoyado en una vieja idea de la lingüística: las palabras que aparecen en contextos parecidos suelen significar cosas parecidas. Un ejemplo pionero fue word2vec, presentado en 2013 en el artículo Efficient Estimation of Word Representations in Vector Space, que asignaba un vector a cada palabra. Los modelos actuales codifican frases y párrafos completos, de modo que una pregunta y el párrafo que la responde pueden quedar juntos aunque compartan poco vocabulario.
Las dimensiones no tienen nombre
Es tentador pensar que la dimensión 12 significa «dinero» y la 40 «jurídico». En un modelo real ningún número aislado es legible para una persona: el significado se reparte entre todos. Por eso una búsqueda por embeddings es difícil de depurar.
La similitud del coseno, paso a paso
Con dos textos convertidos en vectores, ¿cómo se mide su cercanía? La medida más habitual es la similitud del coseno, que se fija en el ángulo entre ambos vectores. Si apuntan en la misma dirección, el resultado es 1. Si son perpendiculares (sin relación), 0. Si apuntan en sentidos opuestos, -1, aunque con embeddings de texto casi todos los valores quedan entre 0 y 1.
La fórmula es breve: se multiplican los vectores elemento a elemento, se suman los resultados (el producto escalar) y se divide entre el producto de sus longitudes. Hagámoslo a mano con vectores de juguete de tres dimensiones. Para que se entienda, supongamos que los tres números significan «dinero», «devolución de una compra» y «lugar». Los modelos reales no etiquetan sus dimensiones, pero la cuenta es idéntica.
Tres embeddings de juguete
| Texto | Dinero | Devolución | Lugar |
|---|---|---|---|
| A: «¿Cómo pido un reembolso?» | 0,9 | 0,8 | 0,1 |
| B: «¿Me devuelven el dinero?» | 0,8 | 0,9 | 0,2 |
| C: «¿Dónde puedo aparcar?» | 0,1 | 0,2 | 0,9 |
- Producto escalar A·B = 0,9 × 0,8 + 0,8 × 0,9 + 0,1 × 0,2 = 0,72 + 0,72 + 0,02 = 1,46.
- Longitudes. |A| = √(0,81 + 0,64 + 0,01) = √1,46 ≈ 1,208; |B| = √(0,64 + 0,81 + 0,04) = √1,49 ≈ 1,221.
- Coseno A, B = 1,46 ÷ (1,208 × 1,221) ≈ 1,46 ÷ 1,475 ≈ 0,99: prácticamente la misma pregunta, aunque casi no compartan palabras.
- Producto escalar A·C = 0,09 + 0,16 + 0,09 = 0,34; |C| = √(0,01 + 0,04 + 0,81) = √0,86 ≈ 0,927.
- Coseno A, C = 0,34 ÷ (1,208 × 0,927) ≈ 0,34 ÷ 1,120 ≈ 0,30: otro tema.
Ese es todo el truco de la búsqueda semántica. Se calcula una vez el embedding de cada fragmento de sus documentos, se calcula el de la pregunta en el momento de buscar, se comparan y se devuelven los fragmentos con mejor puntuación. Con millones de fragmentos, comparar uno a uno resulta lento, y por eso existen índices especializados y bases de datos vectoriales que encuentran los vecinos más cercanos de forma aproximada pero muy rápida.
Embeddings multilingües: un mapa para varios idiomas
Algunos modelos se entrenan con muchos idiomas a la vez, a menudo con pares de frases traducidas. Así, «política de reembolsos», «refund policy» y «politique de remboursement» acaban en el mismo punto del mapa, y una pregunta en español puede encontrar un fragmento escrito en inglés. Es útil, por ejemplo, para una pyme que trabaja con manuales de fabricantes extranjeros.
La calidad, eso sí, es desigual. Los modelos suelen funcionar mejor en los idiomas más presentes en sus datos de entrenamiento, y son menos fiables con lenguas minoritarias, variantes regionales o vocabulario técnico muy específico. Si la búsqueda entre idiomas le importa, pruébela con preguntas reales en cada idioma, incluidos el catalán, el gallego o el euskera si los utiliza.
Los límites de los embeddings y de la búsqueda semántica
- Identificadores exactos. Un «artículo 49 del Estatuto de los Trabajadores», un NIF, una referencia de producto o un código de error tienen poco «significado» para un modelo. La búsqueda semántica puede devolver algo vagamente relacionado donde una búsqueda por palabras clave daría con la línea exacta.
- La negación. «Cubierto por la garantía» y «no cubierto por la garantía» hablan del mismo tema, así que sus vectores pueden ser muy parecidos. La similitud mide cercanía temática, no si dos afirmaciones coinciden.
- Jerga y términos nuevos. Un producto lanzado el mes pasado o una sigla de su sector pueden estar mal representados si el modelo nunca los vio.
- Los fragmentos largos se difuminan. Un único vector para un texto largo promedia muchas ideas, y un detalle concreto puede perderse.
- Los vectores dependen del modelo. Los vectores de dos modelos distintos no son comparables. Cambiar de modelo obliga a recalcularlo todo.
- Difícil de explicar. Cuando falla una búsqueda por palabras clave se ve el motivo; cuando una búsqueda vectorial devuelve algo raro, casi nunca hay una razón clara.
- Datos personales. Un embedding no es una anonimización: varios trabajos de investigación han mostrado que es posible reconstruir parcialmente un texto a partir de su vector. Con el RGPD en la mano, lo prudente es tratar los embeddings de documentos con datos personales como datos personales, con las mismas medidas de seguridad que los ficheros de origen; la AEPD publica guías prácticas al respecto.
Ninguno de estos límites descarta los embeddings. Explican, eso sí, por qué muchos sistemas en producción combinan la similitud semántica con la búsqueda de texto completo clásica, lo que se llama búsqueda híbrida, para cubrir tanto las reformulaciones como los términos exactos.
¿De verdad necesita embeddings?
En un sistema RAG, es decir, una IA que responde a partir de sus documentos, los embeddings son una forma de encontrar los fragmentos pertinentes, pero no la única. Lo que se explica en cómo funciona RAG paso a paso sirve igual con una búsqueda de texto completo bien hecha.
¿Embeddings o búsqueda de texto completo?
| Situación | Embeddings | Texto completo |
|---|---|---|
| Los usuarios preguntan con palabras muy distintas a las del documento | Muy útiles | Suficiente con expansión de la consulta |
| Documentos llenos de artículos, códigos y referencias | A medias | Sí, y con más precisión |
| Hay que justificar cada resultado | Difícil | Fácil |
| Archivo enorme y poco estructurado | Muy útiles | Posible con buena clasificación |
| Quiere la mínima infraestructura | Modelo más índice vectorial | Incluida en las bases de datos habituales |
Existe un camino intermedio que a menudo se pasa por alto: mantener la búsqueda de texto completo, pero pedir antes a un modelo de lenguaje que amplíe la pregunta con palabras clave y sinónimos. «Me devuelven el dinero» se convierte en una búsqueda que incluye también «reembolso», «devolución» y «abono». Se obtiene buena parte del beneficio semántico sin guardar ni un solo vector. Es el enfoque de Kopik: Kopik no usa embeddings ni base de datos vectorial, sino una búsqueda híbrida de texto completo con ampliación semántica de las palabras clave, en la que la pregunta se amplía en el idioma de los documentos para que las preguntas en otro idioma también encuentren los fragmentos correctos.
Si opta por los embeddings, calcule el coste completo: almacenamiento, indexación y recálculo cada vez que cambian los documentos o el modelo. Nuestro análisis del precio de una base de datos vectorial detalla qué paga realmente, y la guía de alternativas a Pinecone compara opciones más ligeras para equipos pequeños.
Lista de control antes de confiar en los embeddings
- Reúna entre 20 y 30 preguntas reales y compruebe que el fragmento correcto aparece entre los primeros resultados.
- Incluya preguntas con números, nombres y referencias exactas, no solo preguntas vagas.
- Pruebe pares que solo se diferencian por una negación («tiene derecho» y «no tiene derecho»).
- Si atiende en varios idiomas, pruebe cada uno por separado.
- Anote el modelo de embeddings utilizado para saber cuándo hay que reindexar.
- Proteja los vectores como los documentos originales: mismos permisos de acceso y mismos plazos de conservación.
¿Prefiere no gestionar ninguna infraestructura? En Kopik sube PDF, archivos Word, texto o Markdown y obtiene una base de conocimiento que responde citando sus fragmentos, en la web, mediante API REST o desde clientes MCP como Claude, Cursor o ChatGPT. Crear una base es gratis.
Consulte sus documentos sin gestionar vectores
Suba sus archivos y obtenga una base que encuentra los fragmentos adecuados y responde con fuentes. Crearla es gratis.
Preguntas frecuentes
¿Qué diferencia hay entre un embedding y un vector?
Un vector es simplemente una lista ordenada de números. Un embedding es un vector generado por un modelo para representar el significado de algo, como una frase o una imagen. Todo embedding es un vector, pero no todo vector es un embedding.
¿Qué valor de similitud del coseno indica que dos textos se parecen?
No hay un umbral universal. Los rangos de puntuación cambian de un modelo a otro: un 0,8 puede ser excelente en uno y normal en otro. Lo fiable es comparar las puntuaciones entre sí para una misma pregunta y fijar cualquier umbral con sus propias preguntas de prueba.
¿Cómo se dice embedding en español?
Se habla de «incrustación», «representación vectorial» o «vector semántico», pero en la práctica el término inglés embedding es el más extendido, también en la documentación técnica en español.
¿Un modelo de embeddings es lo mismo que un chatbot?
No. Un modelo de embeddings convierte un texto en un vector y ahí termina: no redacta nada. Un modelo de lenguaje genera texto. En un sistema RAG, la búsqueda (por embeddings o por texto completo) encuentra los fragmentos y luego un modelo de lenguaje redacta la respuesta a partir de ellos.
¿Kopik utiliza embeddings?
No. Kopik indexa los fragmentos con búsqueda de texto completo y amplía cada pregunta con palabras clave y sinónimos en el idioma de los documentos antes de buscar. Así cubre reformulaciones y preguntas en otros idiomas sin almacenar vectores.
Reciba la newsletter de Kopik
Nuevas bases de conocimiento, guías sobre RAG y novedades del producto. Un correo cada una o dos semanas, baja con un clic.
Al suscribirse, acepta recibir nuestra newsletter. Nunca compartimos su dirección.