Computer Vision · NLP · SQLite · Python
Pipeline end-to-end que analiza productos e-commerce mediante clasificación visual zero-shot (CLIP) y extracción de atributos con NLP, construyendo una base de datos estructurada con características inferidas automáticamente.
Dataset (100 laptops) ──► Imágenes generadas con PIL
│
┌───────────────┴───────────────┐
▼ ▼
CLIP ViT-B/32 NLP + Regex
Tipo · Color · Foto Marca · RAM · CPU
(zero-shot, sin Pantalla · Segmento
fine-tuning) Sentiment Analysis
│ │
└───────────────┬───────────────┘
▼
SQLite — 3 tablas
products · vision_features
nlp_features
▼
Dashboard (9 visualizaciones)
| Capa | Tecnología |
|---|---|
| Entorno | Google Colab (GPU T4) |
| Vision | OpenAI CLIP ViT-B/32 — PyTorch |
| NLP | HuggingFace Transformers · nlptown/bert-base-multilingual-uncased-sentiment · Regex |
| Data | NumPy · pandas · PIL/Pillow |
| Storage | SQLite3 |
| Visualización | Matplotlib |
100 laptops con datos de mercado reales: marcas comerciales (Asus, HP, Dell, MSI, Lenovo, Apple, Samsung, Acer), rangos de precio por segmento, especificaciones técnicas (RAM, CPU, storage, pulgadas) e imágenes generadas proceduralmente con PIL diferenciadas por segmento de mercado.
| Segmento | N | Precio promedio |
|---|---|---|
| Mid-range | 72 | ~$900 |
| Gaming | 16 | ~$1,400 |
| Premium | 9 | ~$1,500 |
| Budget | 3 | ~$350 |
Imágenes sintéticas por segmento con paleta de color diferenciada: negro azulado (Gaming), grafito (Premium), azul corporativo (Mid-range), verde (Budget). Cada imagen incluye forma de laptop, acento de color y texto con specs.
Clasificación sin fine-tuning usando similitud coseno entre embeddings de imagen y texto. Tres dimensiones de análisis:
- Tipo de producto (12 categorías: gaming laptop, ultrabook, tablet, monitor, etc.)
- Color predominante (7 categorías)
- Estilo fotográfico (5 categorías)
Confianza media: 44.8% — esperada para imágenes sintéticas sin fine-tuning.
- Regex estructurado: extracción de marca, RAM, storage, CPU, pulgadas de pantalla desde el título
- Sentiment analysis multilingüe (BERT): posicionamiento de mercado (Gaming / Premium / Mid-range / Budget)
- Keywords: gaming, touch, convertible, refurbished, etc.
Tres tablas relacionadas:
products -- datos base: título, precio, categoría, rating
vision_features -- clasificaciones CLIP con scores de confianza
nlp_features -- specs extraídas, segmento, sentimentDashboard (9 visualizaciones):
- Distribución de precios (mediana: $849)
- Top marcas detectadas por NLP
- Precio mediano por marca
- Tipos de producto por CLIP (pie chart)
- Colores detectados por CLIP
- Distribución de RAM
- Segmento de mercado
- Scatter precio vs RAM coloreado por segmento
- Histograma de confianza CLIP
- Abrir
ecommerce_ml_pipeline.ipynben Google Colab - Activar GPU:
Runtime → Change runtime type → T4 GPU - Ejecutar todas las celdas en orden
- Los archivos generados (
ecommerce_products.db,ecommerce_product_intelligence.csv,dashboard.png) se descargan automáticamente en la última celda
Tiempo estimado: ~8-12 minutos en GPU T4
ecommerce_products.db ← Base de datos SQLite (3 tablas)
ecommerce_product_intelligence.csv ← Dataset completo (18 columnas)
product_images/ ← 100 imágenes generadas
dashboard.png ← Dashboard de análisis
clip_sample.png ← Muestra de clasificación CLIP
- Las imágenes son sintéticas — la confianza CLIP mejoraría sustancialmente con imágenes reales de productos
- El scraper original (MercadoLibre HTML y API REST) fue bloqueado desde IPs de Colab; en producción se reemplazaría por un entorno con IP residencial o proxies rotativos
- El segmento Mid-range está sobrerepresentado (72/100) por el generador de datos sintéticos; en datos reales la distribución sería más balanceada
- Fine-tuning de CLIP sobre un dataset de laptops reales aumentaría confianza a ~70-85%