¿Cómo funcionan los embeddings?

1

Cómo Entender y Aplicar Embeddings en IA: De Teoría a Práctica

2

Introducción a One-Hot Encoding y TF-IDF en IA

3

Representación Vectorial de Palabras

4

Evaluación de Similitudes Semánticas: Métodos y Aplicaciones

Quiz: ¿Cómo funcionan los embeddings?

Creación de embeddings

5

Creación y entrenamiento de modelos Word2Vec con Gensim

6

Procesamiento y Limpieza de Datos para IA con Word2Vec y Gensim

7

Entrenamiento de Modelos Word2Vec con GenSim y Análisis de Similitud

8

Word2Vec: Entrenando IA para Comprender el Lenguaje

Quiz: Creación de embeddings

Usando embeddings preentrenados

9

Uso práctico de Sentence Transformers en procesamiento de textos

10

Análisis Semántico: Buscar Textos con Sentence Transformers

11

Manejo de Embeddings con OpenAI: API, Instalación y Datasets

12

Manejo y Visualización de Embeddings con OpenAI: Guía Práctica

13

Creación de un Motor de Búsqueda Semántico con Python

14

Transformación de Texto a Embeddings con Sentence Transformer

Quiz: Usando embeddings preentrenados

Bases de datos vectoriales

15

Qué es y cómo usar una base de datos vectorial

16

Gestión de Bases de Datos Vectoriales con ChromaDB: Instalación y Uso

17

Generación y manejo de embeddings en Chroma con Sentence Transformer

18

Consultas avanzadas y filtrado en bases de datos con Chroma

19

Cargar colección de Chroma previamente creada

20

Configuración y Uso de Pinecone: Desde la Instalación hasta la Inserción de Datos

21

Optimización de Ingesta de Datos en Pinecone: Procesos y Estrategias

22

Consultas Avanzadas en Pinecone: De Texto a Vector y Filtros

23

Carga de índices en Pinecone: Gestión eficiente en la nube

24

Carga de embeddings en Pinecone para búsqueda semántica

25

Creación de buscador semántico con Gradio y Sentence Transformer

Quiz: Bases de datos vectoriales

Conclusiones

26

Potenciando los LLMs: Integración de Embeddings y Datos Vectoriales

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Análisis Semántico: Buscar Textos con Sentence Transformers

10/26
Recursos

Aportes 5

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Realicé el desafío con el dataset de Walmart. Hice una búsqueda semántica en base a una necesidad y me recomendó productos.

Les comparto un ejercicio en el que se integra más de una capa de embeddings para el caso de los productos de Walmart. Este ejercicio considera el precio de lista y la categoría (además de la descripción del producto), con el objetivo de que el modelo cuente con mayor contexto para identificar las similaridades de los términos de consulta: ```python # Import working libraries import pandas as pd from sentence_transformers import SentenceTransformer, util import os import numpy as np # Set wd directory = '/content/drive/MyDrive/Python Business Cases/Embeddings' os.chdir(directory) # Load data df_walmart = pd.read_csv('marketing_sample_for_walmart_com-ecommerce__20191201_20191231__30k_data.csv') df_walmart.head(10) # Change brand Coste��a df_walmart['Brand'] = df_walmart['Brand'].str.replace('Coste��a', 'Costena') # Set model model = SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2') # Function to calculate embeddings for different data types def calculate_embeddings(data, is_numeric=False): if is_numeric: # For numeric data, we'll convert to string and add a prefix data = data.astype(str) data = 'Price: ' + data return model.encode(data, batch_size=64, show_progress_bar=True) # Calculate embeddings for Product Name, Sale Price, and Category df_walmart['product_embeddings'] = calculate_embeddings(df_walmart['Product Name']).tolist() df_walmart['price_embeddings'] = calculate_embeddings(df_walmart['Sale Price'], is_numeric=True).tolist() df_walmart['category_embeddings'] = calculate_embeddings(df_walmart['Category']).tolist() # Function to calculate similarity with multiple features def calculate_similarity(query, product_emb, price_emb, category_emb): query_embedding = model.encode([query]) product_sim = util.cos_sim(product_emb, query_embedding[0]) price_sim = util.cos_sim(price_emb, query_embedding[0]) category_sim = util.cos_sim(category_emb, query_embedding[0]) return (product_sim + price_sim + category_sim) / 3 # Simple average of similarities # Example query query = 'cheap chile products' # Calculate similarity df_walmart['similarity'] = df_walmart.apply(lambda row: calculate_similarity(query, row['product_embeddings'], row['price_embeddings'], row['category_embeddings']), axis=1) # Sort and display results results = df_walmart.sort_values('similarity', ascending=False).head(20) print(results[['Product Name', 'Sale Price', 'Category', 'similarity']]) ```

Me aventuré en el análisis de contenido de YouTube, específicamente del canal de @ManuelaEcheverri, y…

Scraping: Empecé extrayendo los títulos y enlaces de los videos.

Pandas: Con el curso de Pandas, almacené los datos en un CSV.

Aplicando busqueda semantica, aqui el resultado.

![](<Screenshot 2024-01-12 at 17.30.42>)\[Pregunta] Algo que remarqué en el dataset de Disneyland es que se debe tener en cuenta el ' , ya que si pongo como query "I didn't like it' toma reviews positivos. Cómo me récomiendan manejar esos escenarios ? Pensé en regex para eliminar las ' pero que pasa si el query\_embedding si tiene el ' . ![](https://static.platzi.com/media/user_upload/Screenshot%202024-01-12%20at%2017.30.42-a66f93e4-cee7-4949-ad36-80100d197fb4.jpg)

Realice el reto con dataset de Disneylan Reviews.

query_embedding = model.encode(['Disney magic'])

df_DisneylandReviews['similarity'] = df_DisneylandReviews.embeddings.apply(lambda x : util.cos_sim(x,query_embedding[0]))

df_DisneylandReviews.sort_values('similarity',ascending=False).head(10)