27 puntos por xguru 2024-05-31 | 3 comentarios | Compartir por WhatsApp

Tipos de vector embeddings

  • Embeddings de palabras: Representan palabras en NLP y capturan las relaciones semánticas entre ellas. Se usan en traducción de idiomas, similitud de palabras, análisis de sentimientos y más.
  • Embeddings de oraciones: Capturan el significado y el contexto de una oración, y se usan en recuperación de información, clasificación de texto, análisis de sentimientos y más.
  • Embeddings de documentos: Capturan el contenido de documentos como reportes o artículos, y se usan en sistemas de recomendación, recuperación de información, similitud de documentos y clasificación.
  • Embeddings de grafos: Representan nodos y aristas de un grafo en un espacio vectorial, y se usan en clasificación de nodos, detección de comunidades y predicción de enlaces.
  • Embeddings de imágenes: Representan distintos aspectos de una imagen, y se usan en sistemas de recomendación basados en contenido, reconocimiento de imágenes y objetos, y sistemas de búsqueda de imágenes.
  • Embeddings de productos: Representan productos digitales o físicos, y se usan en sistemas de recomendación y clasificación de productos, así como en búsqueda de productos.
  • Embeddings de audio: Representan el ritmo, tono y pitch de señales de audio, y se usan en detección de emociones, reconocimiento de voz y recomendación musical.

Cómo las redes neuronales generan embeddings

  • Aprendizaje de representaciones: Las redes neuronales mapean datos de alta dimensión a un espacio de menor dimensión preservando características importantes.
  • Proceso de entrenamiento: Las redes neuronales aprenden a transformar los datos en embeddings significativos. Esto ocurre mientras se ajustan los pesos y sesgos de las neuronas.
  • Ejemplo: En una red neuronal para clasificar reseñas de películas como positivas o negativas, se aprenden embeddings de palabras. Palabras como "good" y "excellent" terminan con embeddings similares.

Cómo funcionan los vector embeddings

  • Espacio vectorial: Los objetos o características se representan como puntos en un espacio vectorial multidimensional, y los elementos similares se ubican cerca unos de otros.
  • Medición de distancia: Se usan distancia euclidiana, similitud coseno y otras métricas para cuantificar la relación entre vectores.
  • Ejemplo: Los vectores de "cat" y "dog" están más cerca entre sí que los vectores de "cat" y "car".

Desarrollo con vector embeddings

  • Chatbots: Responden mejor a las consultas de los usuarios, generan respuestas contextualmente relevantes y mantienen conversaciones consistentes.
  • Motores de búsqueda semántica: Ofrecen resultados de búsqueda basados en similitud semántica en lugar de coincidencia de palabras clave.
  • Sistemas de clasificación de texto: Clasifican documentos según su sintaxis y palabras.
  • Sistemas de recomendación: Recomiendan contenido según la similitud entre palabras clave y descripciones.

Cómo generar vector embeddings a partir de datos

  • Recolección de datos: Se recopilan distintos tipos de datos, como texto, audio, imágenes y series temporales.
  • Preprocesamiento de datos: Los datos se preparan para el análisis mediante tokenización, eliminación de ruido, redimensionamiento de imágenes, normalización y más.
  • Segmentación de datos: El texto se divide en oraciones o palabras, las imágenes en segmentos y las series temporales en intervalos.
  • Vectorización: Cada fragmento de datos se convierte en un vector. Para texto se usan modelos de text embeddings de OpenAI; para imágenes, modelos CNN; y para audio, espectrogramas, entre otros.

Cómo almacenar vector embeddings

  • Bases de datos vectoriales: Se usan bases de datos que permiten almacenar y buscar datos vectoriales de manera eficiente.
  • PostgreSQL: Puede almacenar datos vectoriales junto con otros datos relacionales. Con la extensión pgvector se pueden almacenar y consultar vectores.

3 comentarios

 
gcback 2024-05-31

Al igual que con los modelos de lenguaje, se ha ido aumentando el tamaño de los vectores para mejorar la capacidad de captar el contexto o el significado. Sin embargo, a medida que crece el tamaño del vector, el consenso es que, debido a la maldición de la dimensionalidad, la distancia euclidiana no es adecuada como medida de similitud. Por eso, para la relación entre vectores (similitud), se suele usar principalmente la similitud del coseno.

 
soon0698 2024-06-03

Es una opinión que me recuerda a un artículo que leí recientemente. A veces, según el modelo, incluso la similitud del coseno puede no tener sentido. "Is Cosine-Similarity of Embeddings Really About Similarity?" (2024)