Edit model card

SentenceTransformer based on ymelka/robbert-cosmetic-v2-finetuned

This is a sentence-transformers model finetuned from ymelka/robbert-cosmetic-v2-finetuned. It maps sentences & paragraphs to a 768-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: ymelka/robbert-cosmetic-v2-finetuned
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: RobertaModel 
  (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})
)

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("ymelka/robbert-cosmetic-similarity-v2")
# Run inference
sentences = [
    'Een milde reiniger speciaal ontwikkeld voor de gevoelige huid van vrouwen ouder dan 50. Deze reiniger helpt bij het verwijderen van onzuiverheden en make-up, terwijl het de droogheid en roodheid van de huid verlicht. Het helpt ook om de poriën te verkleinen en de huid te kalmeren.',
    "De Clarins Zachte Schuimende Verzachtende Reiniger is speciaal ontwikkeld voor de zeer droge en gevoelige huid. Dit reinigingsschuim reinigt de huid grondig, verwijdert make-up en hydrateert intensief. De formule bevat actieve ingrediënten zoals shea butter, Moringa zaad extract en kamille bloem extract, die de huid verzachten en in balans houden. Gebruik de reiniger dagelijks door een kleine hoeveelheid op de vochtige huid aan te brengen en zachtjes in te masseren. Spoel vervolgens af met water. Voor een optimaal resultaat wordt aanbevolen om de reiniger 's ochtends en 's avonds te gebruiken. Let op: vermijd contact met de ogen en spoel grondig met water bij contact.",
    "De Clarins Extra-Firming Anti-Rimpel Rijke Verstevigende Dagcrème is een ideale anti-ageing dagverzorging voor de droge huid, speciaal ontworpen voor vrouwen vanaf 40 jaar. Deze crème zorgt voor een zichtbaar stevigere en energieke huid, vermindert rimpels en herdefinieert het ovaal van het gezicht. De formule bevat actieve ingrediënten zoals shea butter, haverextract en vitamine E die de huid hydrateren, beschermen en verstevigen. Breng 's ochtends aan op een schone huid voor een egale teint en stralende huid. Let op: vermijd contact met de ogen en bij eventuele irritatie stop het gebruik. Pot 50 ml.",
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Evaluation

Metrics

Semantic Similarity

Metric Value
pearson_cosine 0.8804
spearman_cosine 0.9341
pearson_manhattan 0.8615
spearman_manhattan 0.9299
pearson_euclidean 0.8612
spearman_euclidean 0.93
pearson_dot 0.8472
spearman_dot 0.929
pearson_max 0.8804
spearman_max 0.9341

Training Details

Training Dataset

Unnamed Dataset

  • Size: 4,100 training samples
  • Columns: sentence1, sentence2, and score
  • Approximate statistics based on the first 1000 samples:
    sentence1 sentence2 score
    type string string float
    details
    • min: 35 tokens
    • mean: 56.0 tokens
    • max: 86 tokens
    • min: 88 tokens
    • mean: 147.28 tokens
    • max: 274 tokens
    • min: 0.0
    • mean: 0.51
    • max: 1.0
  • Samples:
    sentence1 sentence2 score
    Een milde reiniger speciaal ontwikkeld voor de gevoelige huid van een 18-jarige vrouw. Verwijdert onzuiverheden en make-up resten zonder de huid uit te drogen. Helpt bij het verminderen van wallen en verbetert de algehele huidtextuur. De L'Occitane Immortelle Divine Anti-Aging Olie is een intens voedende gezichtsolie die zorgt voor een zichtbaar stevigere huid. Verrijkt met Immortelle Super Extract, een natuurlijk alternatief voor Retinol, helpt deze olie de tekenen van veroudering te bestrijden en de huid intens te voeden. De olie bevat essentiële olie van Immortelle, een krachtige antioxidant die de huid beschermt en verzacht. Meng 2-3 druppels met je crème en breng het 's morgens en 's avonds aan op het gezicht en de nek voor een stralende en stevige huid. Let op: vermijd contact met de ogen. 0.0376665294170379
    Een voedingssupplement met collageen en hyaluronzuur om de elasticiteit en hydratatie van de huid te verbeteren. Speciaal ontworpen voor oudere vrouwen om tekenen van veroudering te verminderen en de huid van binnenuit te voeden. Het Couleur Caramel Oogpotlood N°101 Zwart is een oogpotlood dat de look intenser en groter maakt. Het bevat 20% actieve ingrediënten, waaronder biologische carnaubawas die de huid beschermt en verzacht. Dit oogpotlood heeft een natuurlijke, licht poederige afwerking en is geschikt voor alle huidtypes. Het kan gebruikt worden om onvolkomenheden, donkere kringen, wallen onder de ogen en roodheid te vervagen. Breng een kleine hoeveelheid aan met een concealerkwast n°9 voor het beste resultaat. Let op: dit product is niet geschikt voor mensen met allergieën voor een van de ingrediënten. 0.0003183887456543
    Een hydraterende gezichtsverzorging voor vrouwen van 50 jaar en ouder met een hoge mate van talg, wallen en droogheid. Deze verzorging voedt de huid diep en helpt bij het herstellen van de natuurlijke balans. Het vermindert talgproductie, vermindert wallen en hydrateert intensief om droogheid te verminderen. Vichy Normaderm Verzorging Onzuiverheden Anti-Veroudering Dag 50ml is een specifieke verzorging voor vrouwen vanaf 30 jaar die onzuiverheden en de eerste tekenen van veroudering willen aanpakken. De formule bevat LHA, dermatologische peeling-bestanddelen en vitamine C tegen veroudering voor een dubbele werking: het vermindert onzuiverheden en maakt rimpels gladder. De niet-comedogene hypoallergene formule respecteert de gevoelige huid en de frisse textuur hydrateert en verbetert de gemengde tot vette huid. Breng de crème dagelijks aan op een schone en droge huid, vermijd de oogcontour. Gebruik 1-2 keer per dag. 0.9995593428611756
  • Loss: CoSENTLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "pairwise_cos_sim"
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 790 evaluation samples
  • Columns: sentence1, sentence2, and score
  • Approximate statistics based on the first 1000 samples:
    sentence1 sentence2 score
    type string string float
    details
    • min: 35 tokens
    • mean: 56.52 tokens
    • max: 86 tokens
    • min: 92 tokens
    • mean: 145.42 tokens
    • max: 231 tokens
    • min: 0.0
    • mean: 0.51
    • max: 1.0
  • Samples:
    sentence1 sentence2 score
    Een milde gezichtsreiniger speciaal ontwikkeld voor vrouwen van 35 jaar en ouder. Deze reiniger verwijdert onzuiverheden en overtollig talg, waardoor de huid fris en schoon aanvoelt. Het helpt ook om wallen te verminderen en de huid te hydrateren. De Clarins Zachte Schuimende Hydraterende Reiniger is een reinigingsproduct dat speciaal is ontwikkeld voor normale tot droge huidtypes. Deze schuimende reiniger reinigt de huid grondig, verwijdert make-up, hydrateert en verwijdert onzuiverheden, waardoor de huid gezond en stralend blijft. De formule bevat actieve ingrediënten zoals glycerine, Aloe barbadensis bladsap poeder en Moringa oleifera zaadextract, die de huid hydrateren en verzachten. Gebruik de reiniger dagelijks door een kleine hoeveelheid op een vochtig gezicht aan te brengen en zachtjes in te masseren, vervolgens af te spoelen met water. Dit product is geschikt voor dagelijks gebruik en is geschikt voor mensen met normale tot droge huidtypes. 0.9994744658470154
    Een voedingssupplement met essentiële vitaminen en mineralen die de huid van binnenuit voeden en beschermen. Speciaal samengesteld voor vrouwen van 20 jaar om de huid te helpen bij het reguleren van talgproductie, het verminderen van vlekken en het verbeteren van de algehele huidconditie. Dit supplement draagt bij aan een gezonde en stralende huid. De Basis Routine Pack Hygiëne En Hydratatie Routine is speciaal samengesteld voor de gemengde tot vette huid en bevat essentiële producten voor een optimale verzorging. De set bevat een schuimende reinigingsgel om de huid zachtjes te reinigen, een hydratatiebooster die de huidbarrière versterkt en een hydraterende lichaamsmelk die de huid intensief voedt en beschermt. Belangrijke actieve ingrediënten zijn onder andere ceramiden, hyaluronzuur en niacinamide. Gebruik de producten volgens de aanwijzingen voor een gezonde en stralende huid. Geschikt voor volwassenen met een normale tot vette huid en gevoelige huidtypes. 0.9989365935325624
    Een voedingssupplement speciaal samengesteld voor vrouwen van 60 jaar en ouder, om de huid van binnenuit te voeden en te ondersteunen. Dit supplement bevat essentiële vitaminen, mineralen en antioxidanten die helpen bij het verminderen van onzuiverheden, het verbeteren van de huidtextuur en het verminderen van rimpels. De Clinique Gezicht Zacht Waslotion is een milde reinigingslotion die de natuurlijke hydratatiebalans van de huid beschermt, waardoor deze niet strak of droog aanvoelt. De zachte en niet-drogende formule reinigt de huid grondig zonder deze te irriteren. Geschikt voor drie verschillende huidtypes, deze waslotion is ideaal voor dagelijks gebruik, zowel 's ochtends als 's avonds. De instructies zijn eenvoudig: laat de lotion opschuimen met lauwwarm water, masseer over het gezicht en de hals, spoel af en dep de huid droog. Met een inhoud van 200 ml is dit product een must-have voor een effectieve en zachte reiniging van de huid. 0.0003130408003926
  • Loss: CoSENTLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "pairwise_cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • learning_rate: 2e-05
  • weight_decay: 0.01
  • warmup_ratio: 0.1
  • bf16: True
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 8
  • per_device_eval_batch_size: 8
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • eval_accumulation_steps: None
  • learning_rate: 2e-05
  • weight_decay: 0.01
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 3
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.1
  • 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
  • use_ipex: False
  • bf16: True
  • 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}
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • 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: False
  • hub_always_push: False
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • 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
  • dispatch_batches: None
  • split_batches: None
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: False
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss loss dev_spearman_cosine
0 0 - - 0.7429
0.3899 200 2.9191 2.7784 0.8965
0.7797 400 2.8219 2.7003 0.9063
1.1696 600 2.692 2.6436 0.9120
1.5595 800 2.5141 2.8123 0.9187
1.9493 1000 2.4426 2.8005 0.9189
2.3392 1200 2.3149 2.7900 0.9301
2.7290 1400 2.2064 2.7271 0.9356
3.0 1539 - - 0.9341

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.0.1
  • Transformers: 4.42.3
  • PyTorch: 2.3.0+cu121
  • Accelerate: 0.32.1
  • Datasets: 2.20.0
  • Tokenizers: 0.19.1

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",
}

CoSENTLoss

@online{kexuefm-8847,
    title={CoSENT: A more efficient sentence vector scheme than Sentence-BERT},
    author={Su Jianlin},
    year={2022},
    month={Jan},
    url={https://kexue.fm/archives/8847},
}
Downloads last month
4
Safetensors
Model size
124M params
Tensor type
F32
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Model tree for ymelka/robbert-cosmetic-similarity-v2

Evaluation results