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")
# Run inference
sentences = [
    'Een hydraterende gezichtsverzorging die de doffe huid van een 18-jarige vrouw weer laat stralen. Bevat antioxidanten die de huid beschermen tegen schadelijke invloeden van buitenaf. Vermindert wallen en onzuiverheden voor een egale en gezonde teint.',
    'Alpecin Hypo-Sensitive Shampoo is speciaal ontwikkeld voor mensen met een gevoelige hoofdhuid en biedt een zachte reiniging en hydratatie. De hypoallergene formule bevat geen parfum, kleurstoffen of conserveermiddelen en is zelfs geschikt voor mensen met atopisch eczeem. Met actieve ingrediënten zoals salie-extract en bisabolol kalmeert en voorkomt het irritaties, terwijl het de huidbarrière versterkt voor een gezonde balans. Gebruik de shampoo dagelijks door het zachtjes in te masseren op nat haar en grondig uit te spoelen. De fles bevat 250 ml en is ideaal voor mensen met een droge en gevoelige hoofdhuid.',
    'Phyto Phytocolor Permanente Kleuring 3 Donkerbruin 1 Kit is een haarverf verrijkt met plantaardige pigmenten voor een rijke kleur die niet vervaagt en 100% grijze haren dekt. De formule bevat monoï en jojoba oliën voor een mooie glans en verzorging, terwijl kalmerende ingrediënten irritatie tegengaan. De kleurcrème bevat geen PPD of resorcine en is geschikt voor haar. Breng het mengsel aan op droog, ongewassen haar en laat het inwerken volgens de instructies. Voer altijd een allergietest uit voor gebruik. Met Phyto Phytocolor geniet je van een intense kleur met natuurlijke schakeringen en verzorg je je haar op een zachte manier.',
]
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.8647
spearman_cosine 0.9308
pearson_manhattan 0.8406
spearman_manhattan 0.9304
pearson_euclidean 0.8383
spearman_euclidean 0.9307
pearson_dot 0.8395
spearman_dot 0.9261
pearson_max 0.8647
spearman_max 0.9308

Training Details

Training Dataset

Unnamed Dataset

  • Size: 4,200 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.45 tokens
    • max: 86 tokens
    • min: 80 tokens
    • mean: 146.59 tokens
    • max: 223 tokens
    • min: 0.0
    • mean: 0.51
    • max: 1.0
  • Samples:
    sentence1 sentence2 score
    Een voedingssupplement met essentiële vetzuren en vitamines om de huid van binnenuit te voeden en te ondersteunen. Dit supplement is speciaal samengesteld voor vrouwen van 22 jaar oud om droogheid te bestrijden en de algehele gezondheid van de huid te verbeteren. De Lancaster Sun Beauty Sublime Tan Body Milk SPF30 is een vederlichte en niet-vette bodylotion die de huid beschermt tegen schadelijke zonnestralen en helpt bij het herstellen van zonschade. De crèmige textuur smelt direct op de huid en zorgt voor een gezonde bruine teint in de helft van de gebruikelijke tijd. De formule is geschikt voor alle huidtypes en laat geen wit laagje achter, met een fluweelachtige finish als resultaat. Belangrijke actieve ingrediënten zijn onder andere Bambusa arundinacea stem extract en Mauritia flexuosa fruit oil, die de huid hydrateren en beschermen. Breng royaal aan vóór blootstelling aan de zon en herhaal regelmatig. Let op: overmatige blootstelling aan de zon kan schadelijk zijn voor de gezondheid. Inhoud: 175 ml. 0.0040877847932279
    Een geavanceerde gezichtsverzorging voor vrouwen van 50 jaar en ouder, gericht op het verminderen van poriën, het verbeteren van een doffe huid en het verminderen van wallen. Deze verzorging bevat krachtige ingrediënten die de huid hydrateren, verstevigen en verjongen, waardoor de tekenen van veroudering worden verminderd en de huid een jeugdige uitstraling krijgt. De L'Oréal Paris Age Perfect Re-Hydraterende Dagcreme is speciaal ontwikkeld voor vrouwen vanaf 50 jaar om pigmentvlekken te verminderen en de huid te verstevigen. Verrijkt met sojapeptiden, hydrateert en stimuleert deze crème de natuurlijke synthese van huidvezels, waardoor de huid stralend en stevig wordt. Na één maand zijn pigmentvlekken vervaagd en is de huid gehydrateerd. Breng 's ochtends aan op een gereinigd gezicht en hals voor optimale resultaten. Let op: alleen voor uitwendig gebruik. 0.9995909333229064
    Een rijke gezichtsverzorging voor vrouwen boven de 70 jaar die last hebben van droogheid, roodheid en vergrote poriën. Deze verzorging hydrateert diep, vermindert roodheid en herstelt de natuurlijke balans van de huid. Het helpt ook om de poriën te verfijnen en de huid te verstevigen. De Clarins Extra-Firming Verstevigende Behandeling Essence is speciaal ontwikkeld voor vrouwen in de veertig om de huid intensief te hydrateren, in balans te brengen en een jeugdige uitstraling te geven. Deze essence combineert krachtige botanische ingrediënten met hyaluronzuur om de huid te vernieuwen en te verkwikken, waardoor deze steviger en elastischer wordt. De fluweelachtige textuur zorgt voor een vollere en soepelere huid. Gebruik dagelijks 's ochtends en/of 's avonds door een paar druppels zachtjes op het gezicht aan te brengen. Niet aanbevolen voor personen onder de 40 jaar. 0.9986273050308228
  • Loss: CoSENTLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "pairwise_cos_sim"
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 690 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.5 tokens
    • max: 81 tokens
    • min: 97 tokens
    • mean: 146.09 tokens
    • max: 207 tokens
    • min: 0.0
    • mean: 0.5
    • max: 1.0
  • Samples:
    sentence1 sentence2 score
    Een diep reinigende gezichtsreiniger speciaal ontwikkeld voor vrouwen van 36 jaar en ouder met pigmentvlekken, rimpels en een vette huid. Deze reiniger verwijdert onzuiverheden en overtollig talg, verheldert de huid en vermindert tekenen van veroudering. Embryolisse Eco-Recharge Vloeibare Melk-Crème 400ml is een hydraterende en voedende crème die de huid intensief verzorgt en beschermt. Deze vloeibare melk-crème is geschikt voor alle huidtypes en zorgt voor een zachte en soepele huid. De formule bevat actieve ingrediënten zoals shea boter, aloë vera en soja-eiwitten die de huid hydrateren, kalmeren en herstellen. Breng de crème dagelijks aan op een gereinigde huid en masseer zachtjes in. Gebruik het product bij voorkeur 's ochtends en 's avonds voor optimale resultaten. Let op: vermijd contact met de ogen en bij eventuele huidirritatie het gebruik stoppen. 0.019439160823822
    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. Attitude Minerale Zonne Stick Orange Blossom SPF30 60g biedt een breedbandige bescherming tegen UVA- en UVB-stralen, met non-nano zinkoxide als actief ingrediënt. Deze veganistische formule is EWG Verified en dermatologisch getest, waardoor het veilig is voor de huid en het milieu. De handige biologisch afbreekbare kartonnen tube maakt het aanbrengen gemakkelijk en laat geen witte vlekken achter. Geniet van het heerlijke oranjebloesemaroma terwijl je huid beschermd wordt tegen de zon. Gebruik deze zonne stick voor een effectieve bescherming tijdens buitenactiviteiten. 0.0337340645492076
    Een milde gezichtsreiniger speciaal ontwikkeld voor vrouwen van 50 jaar en ouder. Deze reiniger is ideaal voor het verwijderen van onzuiverheden en make-up, terwijl het de huid hydrateert en verzacht. Het helpt bij het verminderen van droogheid en roodheid, waardoor de huid er stralender en gezonder uitziet. Avène Cleanance Zuiverende En Matterende Reinigingsgel is speciaal ontwikkeld voor de vette huid met imperfecties. Deze reinigingsgel reinigt de huid diep en verwijdert onzuiverheden en overtollig talg, waardoor de huid fris en mat blijft. De formule bevat actieve ingrediënten zoals Avène Thermaal Water en Monolaurine die de talgproductie reguleren en de huid zuiveren. Gebruik de reinigingsgel dagelijks, breng aan op een vochtig gezicht en masseer zachtjes in. Spoel af met water en dep de huid droog. Vermijd contact met de ogen. Geschikt voor dagelijks gebruik. 0.999606430530548
  • 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.7531
0.1905 100 3.0709 2.7162 0.8810
0.3810 200 2.8254 2.8051 0.8745
0.5714 300 2.8368 2.7475 0.8922
0.7619 400 2.7198 2.6713 0.8986
0.9524 500 2.6541 2.6326 0.9097
1.1429 600 2.6628 2.5709 0.9131
1.3333 700 2.4183 2.7987 0.9213
1.5238 800 2.5213 2.5974 0.9197
1.7143 900 2.3733 3.1097 0.8956
1.9048 1000 2.3562 2.9513 0.9229
2.0952 1100 2.3511 2.9670 0.9246
2.2857 1200 2.1765 3.2356 0.9167
2.4762 1300 2.2738 3.1946 0.9280
2.6667 1400 2.1162 3.2512 0.9201
2.8571 1500 2.0996 3.0392 0.9288
3.0 1575 - - 0.9308

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
5
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

Evaluation results