roig's picture
Fine-tuned product classifier: 62% accuracy, +34 points improvement
fd9bd1d verified
---
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- dense
- generated_from_trainer
- dataset_size:3324
- loss:MultipleNegativesRankingLoss
base_model: sentence-transformers/distiluse-base-multilingual-cased-v2
widget:
- source_sentence: Pizarra acústica de guitarra Dunlop T213C negra - Top plate de
reemplazo para guitarras acústicas, fabricada en madera maciza (arce), con perforaciones
para mejor resonancia y acabado negro mate
sentences:
- Accesorios para instrumentos musicales / Musical instrument accessories
- Personal Care / Aseo
- Sistema limpiaparabrisas / Windshield wiper system
- source_sentence: Hisense 40" Clase FHD (1080P) Roku Smart LED TV (40H4030F1) - Hisense
40" Clase 1080P FHD LED Roku Smart TV 40H4030F1
sentences:
- Olla arrocera / rice cooker
- Estufa / Stove/Cooktop
- TV (-) 32 ''
- source_sentence: 'Reductor de Bushing de 3/4 in. x 1/2 in. PVC Schedule 40 - Las
tuberías y accesorios de presión de PVC Schedule 40 se utilizan en sistemas de
riego, aspersores subterráneos, piscinas, aplicaciones al aire libre y líneas
de suministro de agua fría. Estos accesorios son altamente resistentes, con alta
resistencia a la tracción y al impacto. Diseñados para uso bajo presión donde
los sistemas no superen los 140° F. Cumplen con las Normas: ASTM D 1784, ASTM
D 2466, NSF 14 y 61PVC Schedule 40. Tienen mejores propiedades de reducción de
sonido que el PVC Schedule 40 DWV Foam Core y el ABS Foam Core. La instalación
requiere el uso de imprimación y cemento solvente. Todos los productos Charlotte
Pipe se fabrican en los EE. UU.'
sentences:
- Base de TV / TV base
- Manufacturas para la construcción/ Manufactures for construction use
- Leather goods. (Briefcases, suitcases, portfolios.) / Artículos de talabartería.(Maletines,
maletas, portafolios. )
- source_sentence: Liebherr WCE81769BX Motor de Compresión con Inversor para Nevera
Combi, Tensión Dual (220-240V/50Hz) - 100% Reutilizable y Garantía Vida - Motor
de alta eficiencia y durabilidad diseñado específicamente para neveras y congeladores
Liebherr de gama media-alta. Este motor de compresión invertible con tensión dual
(220-240V/50Hz) está optimizado para reducir el consumo energético en hasta un
30% frente a modelos convencionales, garantizando un funcionamiento silencioso
(≤42dB) y una capacidad de refrigeración constante. Compatible con unidades de
neveras tipo 'Combi' de gran tamaño, como los modelos WCS5791 o WCF6589. Incluye
certificación ecológica A+++ por eficiencia energética y viene empaquetado en
caja hermética para evitar daños durante el transporte o almacenaje prolongado.
Ideal para reemplazo en reparaciones profesionales, con garantía de vida útil
del equipo original (hasta 10 años según uso). Diseño modular que permite instalación
rápida sin necesidad de herramientas especializadas
sentences:
- Piezas de repuesto de motos / Motorcycle spare parts
- Alternador / Alternator
- Motores de equipos electrodomésticos / Motors for household appliances
- source_sentence: Audífono Widex Moment A-RIC Plus Rechargeable - Talla Grande (RIC)
- Audífono intraauricular receptor en el canal (RIC) con tecnología Sound Recognizer
para optimizar sonidos importantes. Incluye cargador magnético, aplicación móvil
y compatibilidad con wearables como iOS/Android. Recomendado para adultos con
pérdida auditiva leve a moderada
sentences:
- Piezas de repuesto de motos / Motorcycle spare parts
- Caja de seguridad / Safe deposit box
- Audifono / Hearing Aids
pipeline_tag: sentence-similarity
library_name: sentence-transformers
---
# SentenceTransformer based on sentence-transformers/distiluse-base-multilingual-cased-v2
This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [sentence-transformers/distiluse-base-multilingual-cased-v2](https://huggingface.co/sentence-transformers/distiluse-base-multilingual-cased-v2). It maps sentences & paragraphs to a 512-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.
## Model Details
### Model Description
- **Model Type:** Sentence Transformer
- **Base model:** [sentence-transformers/distiluse-base-multilingual-cased-v2](https://huggingface.co/sentence-transformers/distiluse-base-multilingual-cased-v2) <!-- at revision bfe45d0732ca50787611c0fe107ba278c7f3f889 -->
- **Maximum Sequence Length:** 128 tokens
- **Output Dimensionality:** 512 dimensions
- **Similarity Function:** Cosine Similarity
<!-- - **Training Dataset:** Unknown -->
<!-- - **Language:** Unknown -->
<!-- - **License:** Unknown -->
### Model Sources
- **Documentation:** [Sentence Transformers Documentation](https://sbert.net)
- **Repository:** [Sentence Transformers on GitHub](https://github.com/huggingface/sentence-transformers)
- **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers)
### Full Model Architecture
```
SentenceTransformer(
(0): Transformer({'max_seq_length': 128, 'do_lower_case': False, 'architecture': 'DistilBertModel'})
(1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
(2): Dense({'in_features': 768, 'out_features': 512, 'bias': True, 'activation_function': 'torch.nn.modules.activation.Tanh'})
)
```
## Usage
### Direct Usage (Sentence Transformers)
First install the Sentence Transformers library:
```bash
pip install -U sentence-transformers
```
Then you can load this model and run inference.
```python
from sentence_transformers import SentenceTransformer
# Download from the 🤗 Hub
model = SentenceTransformer("roig/compass-product-classifier")
# Run inference
sentences = [
'Audífono Widex Moment A-RIC Plus Rechargeable - Talla Grande (RIC) - Audífono intraauricular receptor en el canal (RIC) con tecnología Sound Recognizer para optimizar sonidos importantes. Incluye cargador magnético, aplicación móvil y compatibilidad con wearables como iOS/Android. Recomendado para adultos con pérdida auditiva leve a moderada',
'Audifono / Hearing Aids',
'Piezas de repuesto de motos / Motorcycle spare parts',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 512]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[ 1.0000, 0.7342, 0.0265],
# [ 0.7342, 1.0000, -0.0021],
# [ 0.0265, -0.0021, 1.0000]])
```
<!--
### Direct Usage (Transformers)
<details><summary>Click to see the direct usage in Transformers</summary>
</details>
-->
<!--
### Downstream Usage (Sentence Transformers)
You can finetune this model on your own dataset.
<details><summary>Click to expand</summary>
</details>
-->
<!--
### Out-of-Scope Use
*List how the model may foreseeably be misused and address what users ought not to do with the model.*
-->
<!--
## Bias, Risks and Limitations
*What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
-->
<!--
### Recommendations
*What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
-->
## Training Details
### Training Dataset
#### Unnamed Dataset
* Size: 3,324 training samples
* Columns: <code>sentence_0</code> and <code>sentence_1</code>
* Approximate statistics based on the first 1000 samples:
| | sentence_0 | sentence_1 |
|:--------|:-----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------|
| type | string | string |
| details | <ul><li>min: 5 tokens</li><li>mean: 95.27 tokens</li><li>max: 128 tokens</li></ul> | <ul><li>min: 3 tokens</li><li>mean: 12.28 tokens</li><li>max: 53 tokens</li></ul> |
* Samples:
| sentence_0 | sentence_1 |
|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------|
| <code>Nichia J16JL-UN - Bujía de rendimiento extremo - Bujía profesional con electrodo iridio, diseñada para motores deportivos o turismos de alto kilometraje. Resiste condiciones severas y ofrece mejor ignición que los modelos estándar</code> | <code>Bujías / Spark plugs</code> |
| <code>500 Watt Power Inverter, Dual Power Inverter, Two USB Charging Ports</code> | <code>Convertidor, Inversor de corriente / Converter, Power inverter</code> |
| <code>Colchón Híbrido de Firmeza Media Queen de 12 pulg., Aislamiento de Movimiento y Transpirable - Si buscas un colchón que sea tanto cómodo como asequible, entonces este colchón híbrido de 12 pulg. es perfecto para ti. Este colchón de 12 pulg. está diseñado con espuma de confort y un sistema de resortes ensacados, proporcionando una experiencia de sueño cómoda. La espuma de flujo de aire confort es suave y agradable, haciendo tu colchón cómodo y transpirable. La espuma de confort alivia los puntos de presión para que puedas despertar sin dolor de espalda. El diseño de resortes ensacados independientes es perfecto para durmientes sensibles, cada resorte funciona de manera independiente. No importa cuánto te muevas, no tendrás que preocuparte por molestar a tu compañero de sueño y disfrutarás de una noche de descanso tranquila e ininterrumpida. Nuestros colchones de 12 pulg. vienen en caja, llegan con una garantía limitada de 10 años; simplemente coloca el colchón en tu cama y deja pasar 72...</code> | <code>Mattress / Colchon</code> |
* Loss: [<code>MultipleNegativesRankingLoss</code>](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#multiplenegativesrankingloss) with these parameters:
```json
{
"scale": 20.0,
"similarity_fct": "cos_sim",
"gather_across_devices": false
}
```
### Training Hyperparameters
#### Non-Default Hyperparameters
- `per_device_train_batch_size`: 16
- `per_device_eval_batch_size`: 16
- `num_train_epochs`: 4
- `multi_dataset_batch_sampler`: round_robin
#### All Hyperparameters
<details><summary>Click to expand</summary>
- `overwrite_output_dir`: False
- `do_predict`: False
- `eval_strategy`: no
- `prediction_loss_only`: True
- `per_device_train_batch_size`: 16
- `per_device_eval_batch_size`: 16
- `per_gpu_train_batch_size`: None
- `per_gpu_eval_batch_size`: None
- `gradient_accumulation_steps`: 1
- `eval_accumulation_steps`: None
- `torch_empty_cache_steps`: None
- `learning_rate`: 5e-05
- `weight_decay`: 0.0
- `adam_beta1`: 0.9
- `adam_beta2`: 0.999
- `adam_epsilon`: 1e-08
- `max_grad_norm`: 1
- `num_train_epochs`: 4
- `max_steps`: -1
- `lr_scheduler_type`: linear
- `lr_scheduler_kwargs`: {}
- `warmup_ratio`: 0.0
- `warmup_steps`: 0
- `log_level`: passive
- `log_level_replica`: warning
- `log_on_each_node`: True
- `logging_nan_inf_filter`: True
- `save_safetensors`: True
- `save_on_each_node`: False
- `save_only_model`: False
- `restore_callback_states_from_checkpoint`: False
- `no_cuda`: False
- `use_cpu`: False
- `use_mps_device`: False
- `seed`: 42
- `data_seed`: None
- `jit_mode_eval`: False
- `bf16`: False
- `fp16`: False
- `fp16_opt_level`: O1
- `half_precision_backend`: auto
- `bf16_full_eval`: False
- `fp16_full_eval`: False
- `tf32`: None
- `local_rank`: 0
- `ddp_backend`: None
- `tpu_num_cores`: None
- `tpu_metrics_debug`: False
- `debug`: []
- `dataloader_drop_last`: False
- `dataloader_num_workers`: 0
- `dataloader_prefetch_factor`: None
- `past_index`: -1
- `disable_tqdm`: False
- `remove_unused_columns`: True
- `label_names`: None
- `load_best_model_at_end`: False
- `ignore_data_skip`: False
- `fsdp`: []
- `fsdp_min_num_params`: 0
- `fsdp_config`: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
- `fsdp_transformer_layer_cls_to_wrap`: None
- `accelerator_config`: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
- `parallelism_config`: None
- `deepspeed`: None
- `label_smoothing_factor`: 0.0
- `optim`: adamw_torch_fused
- `optim_args`: None
- `adafactor`: False
- `group_by_length`: False
- `length_column_name`: length
- `project`: huggingface
- `trackio_space_id`: trackio
- `ddp_find_unused_parameters`: None
- `ddp_bucket_cap_mb`: None
- `ddp_broadcast_buffers`: False
- `dataloader_pin_memory`: True
- `dataloader_persistent_workers`: False
- `skip_memory_metrics`: True
- `use_legacy_prediction_loop`: False
- `push_to_hub`: False
- `resume_from_checkpoint`: None
- `hub_model_id`: None
- `hub_strategy`: every_save
- `hub_private_repo`: None
- `hub_always_push`: False
- `hub_revision`: None
- `gradient_checkpointing`: False
- `gradient_checkpointing_kwargs`: None
- `include_inputs_for_metrics`: False
- `include_for_metrics`: []
- `eval_do_concat_batches`: True
- `fp16_backend`: auto
- `push_to_hub_model_id`: None
- `push_to_hub_organization`: None
- `mp_parameters`:
- `auto_find_batch_size`: False
- `full_determinism`: False
- `torchdynamo`: None
- `ray_scope`: last
- `ddp_timeout`: 1800
- `torch_compile`: False
- `torch_compile_backend`: None
- `torch_compile_mode`: None
- `include_tokens_per_second`: False
- `include_num_input_tokens_seen`: no
- `neftune_noise_alpha`: None
- `optim_target_modules`: None
- `batch_eval_metrics`: False
- `eval_on_start`: False
- `use_liger_kernel`: False
- `liger_kernel_config`: None
- `eval_use_gather_object`: False
- `average_tokens_across_devices`: True
- `prompts`: None
- `batch_sampler`: batch_sampler
- `multi_dataset_batch_sampler`: round_robin
- `router_mapping`: {}
- `learning_rate_mapping`: {}
</details>
### Training Logs
| Epoch | Step | Training Loss |
|:------:|:----:|:-------------:|
| 2.4038 | 500 | 0.5086 |
### Framework Versions
- Python: 3.14.2
- Sentence Transformers: 5.2.0
- Transformers: 4.57.3
- PyTorch: 2.9.1+cu128
- Accelerate: 1.12.0
- Datasets: 4.4.2
- Tokenizers: 0.22.2
## Citation
### BibTeX
#### Sentence Transformers
```bibtex
@inproceedings{reimers-2019-sentence-bert,
title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
author = "Reimers, Nils and Gurevych, Iryna",
booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
month = "11",
year = "2019",
publisher = "Association for Computational Linguistics",
url = "https://arxiv.org/abs/1908.10084",
}
```
#### MultipleNegativesRankingLoss
```bibtex
@misc{henderson2017efficient,
title={Efficient Natural Language Response Suggestion for Smart Reply},
author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
year={2017},
eprint={1705.00652},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
```
<!--
## Glossary
*Clearly define terms in order to be accessible across audiences.*
-->
<!--
## Model Card Authors
*Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
-->
<!--
## Model Card Contact
*Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
-->