Downloads · 30 days
122
50% of all-time downloads
Mateo-Rua/embeddings-productos-ecommerce-es
embeddings-productos-ecommerce-es is a sentence similarity model from Mateo-Rua. Use it when you need a score for how close two texts are. It is set up for sentence-transformers. The card lists the license as apache-2.0.
Modelo de embeddings que convierte títulos de productos en vectores semánticos de 384 dimensiones, de forma que productos similares quedan cerca en el espacio vectorial. Diseñado para los tres pilares de un marketplac…
Downloads · 30 days
122
50% of all-time downloads
All-time downloads
242
Public
Parameters
118M
958 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors471 MB · 49%
From the Hugging Face model README
Modelo de embeddings que convierte títulos de productos en vectores semánticos de 384 dimensiones, de forma que productos similares quedan cerca en el espacio vectorial. Diseñado para los tres pilares de un marketplace moderno como Mercado Libre, Amazon o Falabella:
Una búsqueda tradicional falla si el usuario escribe "zapatillas para correr" y el producto dice "running Nike": no comparten palabras. Este modelo entiende que significan lo mismo. En pruebas reales agrupó zapatillas de marcas distintas bajo el concepto "correr", reconoció celulares Samsung sin ver la palabra "celular", y distinguió un teclado gamer (Razer, HyperX) de un teclado musical — matiz que los modelos genéricos confunden.
Se compararon dos modelos base multilingües, cada uno antes y después del fine-tuning con contrastive learning. Métricas de retrieval sobre un test independiente (¿los vecinos más cercanos de un producto pertenecen a su misma categoría?):
| Modelo | Recall@1 | Recall@5 | Recall@10 | NDCG@10 |
|---|---|---|---|---|
| MiniLM base | 0.401 | 0.566 | 0.641 | 0.493 |
| MiniLM fine-tuned | 0.734 | 0.853 | 0.890 | 0.796 |
| E5 base | 0.562 | 0.753 | 0.802 | 0.656 |
| E5 fine-tuned (este modelo) 🏆 | 0.795 | 0.893 | 0.921 | 0.844 |
Recall@10 de 0.921: dado un producto, el 92% de las veces hay uno de su misma categoría entre sus 10 vecinos más cercanos. El fine-tuning mejoró al modelo base en +23 puntos de Recall@1.
from sentence_transformers import SentenceTransformer
modelo = SentenceTransformer("Mateo-Rua/embeddings-productos-ecommerce-es")
productos = [
"Celular Samsung Galaxy S10 128gb",
"Zapatillas Nike Running Air Max",
"Teclado Mecánico Gamer Razer",
]
embeddings = modelo.encode(productos, normalize_embeddings=True)
# Similitud entre productos
similitudes = modelo.similarity(embeddings, embeddings)
print(similitudes)
MultipleNegativesRankingLoss — acerca productos de la
misma categoría y aleja los de categorías distintas (los negativos se generan in-batch)reliable), en 682 categorías →
25.797 pares de entrenamientoSentenceTransformer(
(0): Transformer({'architecture': 'BertModel'})
(1): Pooling({'embedding_dimension': 384, 'pooling_mode': 'mean'})
(2): Normalize()
)
Mateo Rúa — Data Scientist · Medellín, Colombia GitHub · LinkedIn · Hugging Face