Introducing G2.ai, the future of software buying.Try now

¿Qué son las incrustaciones vectoriales? Explora su papel en los modelos de IA.

20 de Diciembre de 2024
por Sagar Joshi

Los embeddings vectoriales son representaciones numéricas de datos que ayudan a las computadoras a comprender mejor esos datos y sus representaciones. Son como cambiar palabras a un código especial y único hecho con números. La proximidad entre embeddings vectoriales permite a las computadoras ver el significado y la conexión entre los datos que ilustran. Por ejemplo, los embeddings vectoriales de "Esposo" y "Esposa" estarán cerca uno del otro y formarán un grupo juntos. Los embeddings facilitan la identificación de patrones y similitudes en los datos. Sin embargo, si planeas usarlos en aplicaciones, necesitas una base de datos vectorial para almacenar y recuperar embeddings vectoriales. Esto hará que tus operaciones sean rápidas y eficientes. ¿Qué son los embeddings vectoriales? El embedding vectorial representa datos como puntos en un espacio multidimensional donde la ubicación exacta de estos puntos tiene sentido semántico, es decir, con respecto al significado de las palabras. Por ejemplo, palabras como "perro", "cachorro" y "labrador" se agruparán juntas en el espacio multidimensional. De la misma manera, los embeddings para música de audio se agruparán junto con los embeddings de canciones que suenan similares. Ocurre un agrupamiento similar en elementos semánticamente equivalentes y contextualmente algo coincidentes. Los embeddings de palabras pueden ser 1D, 2D, 3D o multidimensionales. Es complicado imaginarlo, considerando las limitaciones de los humanos. A medida que ingresas datos más complejos, como una oración o un documento, los embeddings comienzan a tener dimensiones más altas. Sin embargo, para darte una idea, un embedding vectorial se ve como ["0.2, 09, -0.4, 0.8…]. Cada número representa dimensiones que describen la característica específica del punto de datos y cómo contribuyen a su significado real. Entendiendo los embeddings vectoriales Google inventó una técnica llamada Word2Vec en 2013 para tomar palabras como entrada y generar un vector (coordenada n-dimensional). Graficar estos vectores de palabras en el espacio te dará grupos sinónimos. Por ejemplo, si ingresas palabras como "computadora", "teclado" o "ratón" como entrada, su embedding vectorial se agrupará estrechamente en un espacio multidimensional. Supongamos que alguien ingresa "dispositivos informáticos", su embedding vectorial también se unirá al grupo. El embedding vectorial te permite calcular puntuaciones de similitud entre diferentes puntos de datos embebidos. Por ejemplo, puedes calcular la distancia entre dos puntos de datos para entender cuán similares son. Esto se conoce como el método de distancia euclidiana. También puedes usar otros métodos para calcular similitudes: - La distancia coseno calcula el coseno del ángulo entre dos vectores. Da un resultado de -1 si los vectores están diametralmente opuestos, 0 si son ortogonales, o 1 si son idénticos. - El producto punto determina similitudes en el rango de menos infinito a infinito. Mide el producto de la magnitud de dos vectores y el coseno de los ángulos entre ellos. Estas puntuaciones de similitud se utilizan ampliamente en tecnología de reconocimiento facial y corrección de errores tipográficos. Por ejemplo, "Hola", "Holaaaa" y "holaaaaaa" tienen el mismo significado contextual y, por lo tanto, puntuaciones de similitud más altas. ¿Son los embeddings y los vectores lo mismo? Los embeddings y los vectores están estrechamente relacionados pero no son lo mismo. Un vector es una representación matemática general de datos en un espacio multidimensional, que consiste en una lista ordenada de números que pueden representar cualquier cosa numéricamente, como posiciones o direcciones. En contraste, un embedding es un tipo específico de vector diseñado para codificar datos complejos, como palabras, imágenes o usuarios, en un formato numérico denso que preserva relaciones significativas. Los embeddings a menudo se crean utilizando modelos de aprendizaje automático para mapear datos de alta dimensión en espacios de menor dimensión mientras retienen información semántica o estructural. Por lo tanto, aunque todos los embeddings son vectores, no todos los vectores son embeddings. Tipos de embeddings vectoriales Los diversos tipos de embeddings vectoriales sirven para propósitos distintos. Lee sobre estos comunes aquí. Embeddings de texto Los embeddings de texto convierten palabras individuales en vectores continuos en un espacio multidimensional, donde la distancia o dirección relativa representa la relación semántica entre palabras. Por ejemplo, palabras como "rey" y "reina" estarían cerca una de la otra, reflejando su similitud, mientras que "rey" y "coche" estarían más alejadas. En el análisis de sentimientos, los embeddings de texto ayudan a clasificar si una reseña es positiva o negativa. Si un usuario escribe, "Este producto es increíble", el embedding captura el sentimiento para tareas posteriores. Técnicas como Word2Vec, GloVe y FastText se utilizan comúnmente para este propósito. Embeddings de oraciones Los embeddings de oraciones capturan el significado general de una oración, considerando tanto la sintaxis como la semántica. A diferencia de los embeddings de palabras, buscan preservar el contexto de toda la oración. Estos embeddings son cruciales para categorizar texto o recuperar información relevante de bases de datos. En atención al cliente, cuando un usuario escribe "Tengo problemas para iniciar sesión", los embeddings de oraciones pueden emparejarlo con artículos de ayuda relacionados, como "Cómo restablecer tu contraseña". Modelos preentrenados como Sentence-BERT (SBERT) se utilizan a menudo para generar tales embeddings. Embeddings de documentos Los embeddings de documentos representan un texto completo, como un libro, artículo o trabajo de investigación, como un solo vector. Capturan el tema general, la estructura y las características importantes del documento. Los embeddings de documentos ayudan a recomendar trabajos en investigación académica. Si un investigador está leyendo un trabajo sobre "redes neuronales para clasificación de imágenes", el sistema puede sugerir documentos similares utilizando embeddings derivados del contenido del trabajo. Modelos como Doc2Vec se utilizan comúnmente. Vectores de perfil de usuario Los vectores de perfil de usuario codifican comportamientos, preferencias y características de los usuarios como vectores. Estos embeddings se crean en base a acciones históricas, como compras, "me gusta" o consultas de búsqueda. Las empresas los utilizan para segmentar usuarios y ofrecer experiencias personalizadas. En comercio electrónico, si un usuario compra frecuentemente equipo de fitness, su vector de perfil puede recomendar artículos relacionados como esterillas de yoga o proteínas en polvo. Plataformas como Netflix y Amazon dependen en gran medida de los embeddings de perfil de usuario para recomendaciones personalizadas. Vectores de imágenes Los embeddings de imágenes representan datos visuales, como fotos o fotogramas de video, como vectores. Se generan utilizando modelos de aprendizaje profundo como Redes Neuronales Convolucionales (CNNs), que permiten a las máquinas identificar patrones y características dentro de las imágenes. En reconocimiento de objetos, una aplicación como Pinterest utiliza embeddings de imágenes para recomendar elementos visualmente similares. Por ejemplo, si un usuario sube una foto de un vestido rojo, la aplicación podría sugerir vestidos en estilos o colores similares. Modelos como ResNet o VGG crean estos embeddings. Vectores de productos Los vectores de productos representan artículos como vectores analizando sus características, como precio, categoría o descripción. Estos embeddings ayudan a los sistemas a clasificar productos e identificar similitudes. En el comercio minorista, una búsqueda de "auriculares inalámbricos" en una tienda en línea genera un vector de producto. El sistema luego recomienda artículos similares como "auriculares Bluetooth" o "auriculares con cancelación de ruido". Estos vectores mejoran la precisión de búsqueda y personalización en plataformas como Shopify o Flipkart. Cómo crear embeddings vectoriales Los embeddings vectoriales se crean a través de un modelo preentrenado o un modelo de "hazlo tú mismo". Aquí tienes una visión general del proceso. Recolección y preparación de datos Comienza reuniendo un gran conjunto de datos que se alinee con el tipo de datos para los que deseas crear embeddings, como texto o imágenes. Es esencial limpiar y preparar los datos: eliminar ruido, normalizar texto y abordar cualquier inconsistencia para asegurar entradas de calidad. Elegir un modelo A continuación, selecciona un modelo de red neuronal artificial (ANN) adecuado para tus datos y objetivos. Esto podría ser un modelo de aprendizaje profundo como una red neuronal convolucional (CNN) para imágenes o una red neuronal recurrente (RNN) para texto. Una vez elegido, alimenta los datos preparados en la red para el entrenamiento. Entrenamiento del modelo Durante la fase de entrenamiento, el modelo aprende a reconocer patrones y relaciones en los datos. Por ejemplo, podría aprender qué palabras aparecen frecuentemente juntas o cómo se representan ciertas características en las imágenes. A medida que el modelo se entrena, genera embeddings vectoriales numéricos que capturan la esencia de cada punto de datos. A cada elemento de datos se le asignará un vector único. Evaluación de la calidad del embedding Después del entrenamiento, evalúa la calidad de los embeddings aplicándolos a tareas específicas. Esto podría implicar evaluar qué tan bien el modelo realiza tareas como clasificación, agrupamiento o recomendación. Tu equipo debería revisar los resultados para asegurar que los embeddings cumplan con los objetivos previstos. Despliegue de los embeddings Si los embeddings funcionan bien y cumplen con los estándares de calidad, pueden aplicarse a tareas del mundo real como búsqueda, recomendación o comprensión del lenguaje natural. Con una validación exitosa, puedes implementar con confianza los embeddings donde se necesiten en tus aplicaciones. Aplicaciones de embeddings vectoriales Los embeddings vectoriales se utilizan en muchos campos. Explora sus aplicaciones comunes. Procesamiento de lenguaje natural (NLP) El embedding vectorial permite a los modelos reconocer las relaciones semánticas entre diferentes palabras. Técnicas avanzadas de embedding como Word2Vec, GloVe y, más recientemente, embeddings contextuales de modelos como Representaciones de Codificador Bidireccional de Transformadores (BERT) y Transformadores Generativos Preentrenados (GPT) permiten a la tecnología entender el contexto en el que se utilizan las palabras. En tareas de NLP, se vuelve más fácil distinguir entre diferentes significados de la misma palabra según el contexto. Por ejemplo, el "banco" en "banco de río" es diferente del "banco" en "cuenta bancaria". Además, los embeddings apoyan tareas de NLP con análisis de sentimientos y reconocimiento de entidades nombradas. Motores de búsqueda Los embeddings vectoriales mejoran el rendimiento y la precisión de los motores de búsqueda. Les permite entender el contexto y el significado de las palabras en una consulta para que vayan más allá de buscar coincidencias exactas de palabras. Esto mejora los rankings porque se basan en la similitud semántica en lugar de la frecuencia de la palabra clave. Significa que las páginas que son contextualmente similares a la consulta se priorizan para ofrecer resultados más precisos. Además, cuando las personas ingresan consultas con múltiples significados, los embeddings vectoriales permiten a los motores de búsqueda absorber el contexto y devolver resultados según las interpretaciones más cercanas. Sistemas de recomendación personalizados Los embeddings vectoriales representan tanto a los usuarios como a los elementos en un espacio latente común. Por ejemplo, los embeddings de usuario muestran preferencias y comportamientos, y los embeddings de elementos incluyen las características y atributos de un elemento. El sistema calcula la distancia entre los embeddings de usuario y los embeddings de elementos mientras mide el ángulo entre sus cosenos. Basado en este análisis, el sistema sugiere elementos que están más cerca de los usuarios. Los embeddings vectoriales también incorporan información contextual, como el tipo de dispositivo o la hora del día, para asegurar que las recomendaciones sean relevantes para el usuario actual y su entorno. Principales soluciones de software de bases de datos vectoriales El software de bases de datos vectoriales es esencial para almacenar, gestionar y consultar eficientemente embeddings de alta dimensión. Estas herramientas impulsan búsquedas de similitud rápidas e integración sin problemas con flujos de trabajo de IA. Aquí están algunas de las mejores soluciones disponibles hoy en día. - Pinecone - DataStax - Zilliz - Weaviate - PG Vector *Estas son las cinco principales soluciones de software de bases de datos vectoriales del Informe Grid® de Invierno 2024 de G2. Comienza a trabajar con embeddings vectoriales Necesitas la tecnología adecuada para equipar tu aplicación y modelos con capacidades de búsqueda semántica o recomendaciones de productos personalizadas. Piensa en una base de datos vectorial para almacenar datos y acceder a ellos en base a similitudes. ¿Estás listo para intentarlo? Considera estas bases de datos vectoriales gratuitas para experimentarlas en un plan de prueba o gratuito.

¿Quieres aprender más sobre Software de base de datos vectorial? Explora los productos de Base de datos vectorial.

Sagar Joshi
SJ

Sagar Joshi

Sagar Joshi is a former content marketing specialist at G2 in India. He is an engineer with a keen interest in data analytics and cybersecurity. He writes about topics related to them. You can find him reading books, learning a new language, or playing pool in his free time.