roig's picture
Fine-tuned product classifier: 62% accuracy, +34 points improvement
fd9bd1d verified
metadata
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 model finetuned from 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 Sources

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:

pip install -U sentence-transformers

Then you can load this model and run inference.

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]])

Training Details

Training Dataset

Unnamed Dataset

  • Size: 3,324 training samples
  • Columns: sentence_0 and sentence_1
  • Approximate statistics based on the first 1000 samples:
    sentence_0 sentence_1
    type string string
    details
    • min: 5 tokens
    • mean: 95.27 tokens
    • max: 128 tokens
    • min: 3 tokens
    • mean: 12.28 tokens
    • max: 53 tokens
  • Samples:
    sentence_0 sentence_1
    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 Bujías / Spark plugs
    500 Watt Power Inverter, Dual Power Inverter, Two USB Charging Ports Convertidor, Inversor de corriente / Converter, Power inverter
    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... Mattress / Colchon
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "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

Click to expand
  • 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: {}

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

@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

@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}
}