Qué son los embeddings y cómo permiten buscar por significado
Cómo convierten los embeddings un texto en un vector para medir su parecido, y para qué sirven en búsqueda y recomendaciones.
Un embedding es, según la documentación de Claude, una representación numérica de un texto que permite medir su similitud semántica: dos textos con significado parecido quedan «cerca» en el espacio de números, aunque no compartan las mismas palabras. Es la base de la búsqueda por significado y de muchas aplicaciones con IA.
La idea, sin matemáticas
Un ordenador no entiende el significado de «reembolso» o «devolver dinero». Un modelo de embeddings convierte cada texto en una lista de números (un vector), de forma que textos con ideas parecidas dan listas parecidas. Comparar dos textos pasa a ser medir la distancia entre dos listas.
Para qué sirven
La documentación de Claude señala aplicaciones como:
- Búsqueda: encontrar los documentos más relevantes para una consulta, aunque no usen sus mismas palabras.
- Recomendaciones: sugerir contenido parecido al que ya interesó.
- Detección de anomalías: localizar textos que se parecen poco a los demás.
Cómo funciona una búsqueda semántica
El ejemplo de la documentación sigue estos pasos:
- Convertir cada documento en un embedding y guardarlos.
- Convertir la consulta en un embedding. En el ejemplo, el modelo distingue si el texto es un documento o una consulta (
input_type). - Hacer una búsqueda del vecino más cercano: calcular la similitud entre la consulta y cada documento y quedarse con el más parecido, es decir, el de menor distancia en el espacio de embeddings.
En el ejemplo, para una pregunta sobre una conferencia con los resultados de la empresa, el documento recuperado es efectivamente el más relevante. Los embeddings del modelo de ejemplo están normalizados a longitud 1, así que el producto escalar y la similitud del coseno son lo mismo.
Qué ver al elegir un modelo de embeddings
Anthropic señala varios factores:
- Tamaño del conjunto de datos de entrenamiento y especificidad del dominio: los datos más grandes o más específicos del dominio suelen dar mejores embeddings dentro de ese dominio.
- Rendimiento de inferencia: la velocidad de búsqueda y la latencia de extremo a extremo, importante en implementaciones grandes.
- Personalización: la posibilidad de continuar el entrenamiento con datos propios o especializar el modelo en un ámbito muy concreto, lo que puede mejorar el rendimiento con vocabularios únicos.
Embeddings y RAG
Cuando una IA responde con tus propios documentos, lo habitual es usar embeddings para encontrar primero los fragmentos relevantes y dárselos después al modelo. Lo explicamos en IA con tus documentos (RAG).
Qué no son
No son una copia del texto ni «entienden» como una persona: son una forma numérica de comparar significados, útil pero imperfecta. Si la búsqueda trae algo que no encaja, el fallo puede estar en el modelo, en cómo se partieron los documentos o en la consulta. Para entender la parte generativa, mira cómo funciona un LLM y los tokens y la ventana de contexto.
Fuentes consultadas
- Embeddings (Documentación de Claude (Anthropic))
Guía de PortalTec: https://www.portaltec.eu/articulos/que-son-los-embeddings/
