SentenceTransformer

This is a sentence-transformers model trained. 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
  • Maximum Sequence Length: 128 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 128, '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("sentence_transformers_model_id")
# Run inference
sentences = [
    'Wanneer kunnen we een gedetailleerd overzicht verwachten van de effectiviteit van de genomen maatregelen, inclusief de exacte resultaten en de verwachte voltooiingstijd?',
    'En ik vraag het nog een keer – al moet ik het honderd keer vragen: wanneer krijgen wij een overzicht ten aanzien van al die maatregelen van hoeveel mensen er precies zijn en wat voor exacte resultaten zijn bereikt en wanneer de rest wordt bereikt?',
    "974272\n\n 5.1 .2e = s. 1.2e ( 5.1 .2e )[ 5.1 .2e @minvws.nl] To: 5.1 .2e 1.2 5.1 .2e ( 5.1 .2e ( 5.1 .2e) From: Sent: Tue 12/1/2020 9:20:20 AM Subject: RE: akkoord?: annotatie MCC Received: Tue 12/1/2020 9:20:21 AM\n\nOp kamer secretariaat ( ; kom zo even langs\n\nVan 5.1 .2e 5.1 .2e ( 5.1 .2e = 5.1 .2e @minvws.nl> Verzonden: dinsdag 1 december 2020 09:53 Aan: 5.1 .2e 1.2e ( 5.1 .2e ( 5.1 .2e) = 5.1 .2e @minvws.nl> Onderwerp: FW: akkoord?: annotatie MCC\n\n 5.1 .2e , ter info onderstaand.\n\nWaar zit jij vandaag ? Liep al 2 rondjes zonder succes \\*\n\nGroeten 5.1 .2e\n\nVerzonden met BlackBerry Work (www.blackberry.com)\n\nImage /page/0/Picture/8 description: De afbeelding is een screenshot van een e mailheader. De 'Van' regel toont de afzender met het e mailadres ` 5.1 [email protected]`. De 'Datum' regel geeft aan dat de e mail is verzonden op maandag 30 november 2020 om 11:07 PM. De 'Aan' regel bevat meerdere ontvangers met het e mailadres ` 5.1 [email protected]`, en de 'Kopie' regel bevat ook een ontvanger met het e mailadres ` 5.1 [email protected]`. Het onderwerp van de e mail is 'RE: akkoord?: annotatie MCC'.\n\n Hi 5.1 .2e\n\nDe opzet van risiconiveau zeer emstig in de herijkte routekaart is nieuw. Risiconiveau zeer ernstig betreft vanianten van een lockdown en we geven alleen mogelijke verdere beperkingen en geheltelijke sluitingen met de onderwerpen aan. Maar niet welke verdere beperkingen en dus ook geen uitzonderingen. Dit omdat het vastleggen van welke maatregelen je in een lockdown variant gaat treffen ondoenlijk is. De precieze maatregelen in een lockdown worden tzt geformuleerd in een aparte ministeriële regeling. Die gaat dan de besluitvomingsprocedure door.\n\nGroeten. 5.1 .2e\n\nVerzonden met BlackBerry Work (www.blackberry.com)\n\nImage /page/0/Picture/13 description: Dit is een screenshot van een e mailheader. De e mail is verzonden door ` 5.1 .2e` op maandag 30 november 2020 om 10:52 PM. De e mail is gericht aan meerdere ontvangers, waaronder ` 5.1 .2e` en ` 5.1 [email protected]`. H",
]
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

Information Retrieval

Metric Value
cosine_accuracy@1 0.8133
cosine_accuracy@5 0.92
cosine_precision@1 0.8133
cosine_precision@5 0.184
cosine_recall@1 0.8133
cosine_recall@5 0.92
cosine_ndcg@10 0.8808
cosine_mrr@10 0.8624
cosine_map@10 0.8624

Training Details

Training Dataset

Unnamed Dataset

  • Size: 2,700 training samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchor positive
    type string string
    details
    • min: 7 tokens
    • mean: 30.76 tokens
    • max: 128 tokens
    • min: 3 tokens
    • mean: 72.93 tokens
    • max: 128 tokens
  • Samples:
    anchor positive
    Hoe werd een geschil tussen twee reviewers over classificatie opgelost? Disagreement between two reviewers on classification was resolved by a third reviewer.
    Wat is de rol van de persoon met het e-mailadres 5.1 [email protected] in de validatie van saliva samples voor het detecteren van antistoffen bij kinderen, en hoe verloopt de samenwerking met Sciensano labo in deze studie? udie ter validatie van saliva sample in kinderen gebruik makend van Euroimmun sero assay

    grote seroprevalence studie met herhaaldelijke staal afname voor bepalen van seroprevalentie en incidentie in lagere and middelbare schoolkinderen.

    5.1 .2e kan natuurlijk de agenda fine tunen of bijwerken.

    De verantwoordelijke van het Sciensano labo en direct betrokken persoon in de validatie in volwassenen van saliva samples zal aanwezig zijn tijdens dit gesprek.

    lk dank u zeer om voor uw zuiderburen tijd te maken.

    Vriendelijke groeten,

    Image /page/1/Figure/14 description: De afbeelding toont een grijze rechthoek met de tekst 5.1 .2e erin. De tekst is waarschijnlijk een referentiecode of een identificatienummer. Het is mogelijk dat dit een aanduiding is voor persoonsgegevens, zoals gespecificeerd in de instructies. De context van de afbeelding is onduidelijk zonder verdere informatie.

    Image /page/1/Figure/15 description: De afbeelding toont drie grijze balken van verschillende lengtes....
    Wat zijn de algemene kennis en bevindingen over hoe een tweede infectie verloopt bij individuen die eerder de ziekte hebben doorgemaakt?
  • Loss: CachedMultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_train_batch_size: 128
  • learning_rate: 2e-05
  • warmup_ratio: 0.1
  • save_only_model: True
  • bf16: True
  • dataloader_drop_last: True
  • load_best_model_at_end: True
  • ddp_find_unused_parameters: False

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: epoch
  • prediction_loss_only: True
  • per_device_train_batch_size: 128
  • 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
  • torch_empty_cache_steps: None
  • learning_rate: 2e-05
  • weight_decay: 0.0
  • 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: True
  • 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: True
  • 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: True
  • 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: False
  • 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
  • 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
  • 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
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss cosine_ndcg@10
None 0 - 0.8224
1.0 10 1.2493 0.8627
2.0 20 0.8853 0.8760
3.0 30 0.7618 0.8808

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.4.1
  • Transformers: 4.49.0
  • PyTorch: 2.5.1+cu124
  • Accelerate: 1.4.0
  • Datasets: 3.3.2
  • Tokenizers: 0.21.0

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

CachedMultipleNegativesRankingLoss

@misc{gao2021scaling,
    title={Scaling Deep Contrastive Learning Batch Size under Memory Limited Setup},
    author={Luyu Gao and Yunyi Zhang and Jiawei Han and Jamie Callan},
    year={2021},
    eprint={2101.06983},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}
Downloads last month
5
Safetensors
Model size
119M params
Tensor type
F32
·
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.

Evaluation results