Views
No views yet
ecommerce-product-search-embeddings, which was fine-tuned on 427,655 real Amazon ESCI shopping-query relevance judgments.pip install sentence-transformers # that's all — loads natively, no model2vec needed1from sentence_transformers import SentenceTransformer
2
3model = SentenceTransformer("albertobarnabo/ecommerce-product-search-embeddings-static")
4# 256-dim embeddings, encoding is a lookup + mean — microseconds per query on CPU
5
6q = model.encode(["pan that doesnt stick eggs"], normalize_embeddings=True)
7docs = model.encode(["T-fal Nonstick Fry Pan 12 Inch", "JBL Flip 5 Speaker"], normalize_embeddings=True)
8print(q @ docs.T)from model2vec import StaticModel; StaticModel.from_pretrained(...)).| model | size | nDCG@10 ↑ | Recall@100 ↑ | MRR@10 ↑ | CPU speed |
|---|---|---|---|---|---|
| fine-tuned parent (33M transformer) | ~130MB | 0.7483 | 0.5212 | 0.4220 | 2,135 q/s |
| this model (static, 256-dim) | ~31MB | 0.6799 | 0.3160 | 0.2703 | 73,163 q/s |
| all-MiniLM-L6-v2 (generic transformer) | ~90MB | 0.7070 | 0.4269 | 0.3385 | 4,085 q/s |
pca_dims=256, float32) of the fine-tuned parent — the transformer's contextual knowledge of shopping queries is baked into static token embeddings. Training data (real ESCI + labeled synthetic noisy queries) is published at esci-product-search-pairs. Evaluation protocol, leak guards, and limitations: see the parent card — everything there applies, plus: static embeddings have no word-order awareness (bag-of-tokens), so they are weaker on queries whose meaning depends on token order or negation.1@article{reddy2022shopping,
2 title={Shopping Queries Dataset: A Large-Scale {ESCI} Benchmark for Improving Product Search},
3 author={Reddy, Chandan K. and M{\`a}rquez, Llu{\'i}s and Valero, Fran and Rao, Nikhil and Zaragoza, Hugo and Bandyopadhyay, Sambaran and Biswas, Arnab and Xing, Anlu and Subbian, Karthik},
4 journal={arXiv preprint arXiv:2206.06588},
5 year={2022}
6}