Sentence Similarity
sentence-transformers
Safetensors
bert
feature-extraction
Generated from Trainer
dataset_size:4500
loss:CosineSimilarityLoss
Eval Results (legacy)
text-embeddings-inference
Instructions to use eyaferjani/aiformes-models with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use eyaferjani/aiformes-models with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("eyaferjani/aiformes-models") sentences = [ "Honnêtement, mon stress est modéré, je gère globalement bien", "Je suis passionné par mes missions", "Très élevé, épuisé", "Je suis bien dans mon poste mais les perspectives d'évolution manquent" ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [4, 4] - Notebooks
- Google Colab
- Kaggle
metadata
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- generated_from_trainer
- dataset_size:4500
- loss:CosineSimilarityLoss
base_model: sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
widget:
- source_sentence: Honnêtement, mon stress est modéré, je gère globalement bien
sentences:
- Je suis passionné par mes missions
- Très élevé, épuisé
- Je suis bien dans mon poste mais les perspectives d'évolution manquent
- source_sentence: Franchement, incertain, à voir selon l'évolution de l'entreprise
sentences:
- Je suis serein, aucune pression excessive
- Honnêtement, je ne sais pas encore, peut-être rester ou explorer
- Franchement, je me vois évoluer ici, obtenir une promotion
- source_sentence: Franchement, je construis mon avenir ici, pas question de partir
sentences:
- Je suis mécontent de la façon dont je suis traité
- Je passe des entretiens pour explorer d'autres opportunités
- Je suis fidèle à cette entreprise, elle me correspond
- source_sentence: Correct, sans plus
sentences:
- Franchement, bien, pas de pression
- Franchement, les valeurs correspondent à peu près
- Franchement, pas du tout motivé
- source_sentence: Franchement, je ne cherche pas du tout à partir, je suis épanoui ici
sentences:
- Cette entreprise est une étape, pas une destination finale
- Cette expérience est temporaire dans mon parcours
- Franchement, les valeurs de l'entreprise correspondent aux miennes
pipeline_tag: sentence-similarity
library_name: sentence-transformers
metrics:
- pearson_cosine
- spearman_cosine
model-index:
- name: >-
SentenceTransformer based on
sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
results:
- task:
type: semantic-similarity
name: Semantic Similarity
dataset:
name: val rh
type: val_rh
metrics:
- type: pearson_cosine
value: 0.995510812995037
name: Pearson Cosine
- type: spearman_cosine
value: 0.9788444539668885
name: Spearman Cosine
SentenceTransformer based on sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
This is a sentence-transformers model finetuned from sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2. It maps sentences & paragraphs to a 384-dimensional dense vector space and can be used for retrieval.
Model Details
Model Description
- Model Type: Sentence Transformer
- Base model: sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
- Maximum Sequence Length: 128 tokens
- Output Dimensionality: 384 dimensions
- Similarity Function: Cosine Similarity
- Supported Modality: Text
Model Sources
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
Full Model Architecture
SentenceTransformer(
(0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'BertModel'})
(1): Pooling({'embedding_dimension': 384, 'pooling_mode': 'mean', '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 = [
'Franchement, je ne cherche pas du tout à partir, je suis épanoui ici',
'Cette expérience est temporaire dans mon parcours',
"Franchement, les valeurs de l'entreprise correspondent aux miennes",
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[1.0000, 0.2799, 0.9658],
# [0.2799, 1.0000, 0.3024],
# [0.9658, 0.3024, 1.0000]])
Evaluation
Metrics
Semantic Similarity
- Dataset:
val_rh - Evaluated with
EmbeddingSimilarityEvaluator
| Metric | Value |
|---|---|
| pearson_cosine | 0.9955 |
| spearman_cosine | 0.9788 |
Training Details
Training Dataset
Unnamed Dataset
- Size: 4,500 training samples
- Columns:
sentence_0,sentence_1, andlabel - Approximate statistics based on the first 100 samples:
sentence_0 sentence_1 label type string string float modality text text details - min: 8 tokens
- mean: 15.15 tokens
- max: 24 tokens
- min: 4 tokens
- mean: 14.33 tokens
- max: 26 tokens
- min: 0.13
- mean: 0.62
- max: 1.0
- Samples:
sentence_0 sentence_1 label Honnêtement, je postule à d'autres offres régulièrementJe veux partir le plus tôt possible0.96Honnêtement, mon avenir est ici, je ne cherche pas ailleursJe suis ici pour apprendre puis je verrai la suite ailleurs0.35Honnêtement, je suis très satisfait de mon posteFranchement, je suis mécontent de la façon dont je suis traité0.17999999999999994 - Loss:
CosineSimilarityLosswith these parameters:{ "loss_fct": "torch.nn.modules.loss.MSELoss", "cos_score_transformation": "torch.nn.modules.linear.Identity" }
Training Hyperparameters
Non-Default Hyperparameters
per_device_train_batch_size: 16per_device_eval_batch_size: 16num_train_epochs: 10multi_dataset_batch_sampler: round_robin
All Hyperparameters
Click to expand
do_predict: Falseprediction_loss_only: Trueper_device_train_batch_size: 16per_device_eval_batch_size: 16gradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 5e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1num_train_epochs: 10max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_ratio: Nonewarmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Trueenable_jit_checkpoint: Falsesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseuse_cpu: Falseseed: 42data_seed: Nonebf16: Falsefp16: Falsebf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: -1ddp_backend: Nonedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonedisable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Falseignore_data_skip: Falsefsdp: []fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}parallelism_config: Nonedeepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torch_fusedoptim_args: Nonegroup_by_length: Falselength_column_name: lengthproject: huggingfacetrackio_space_id: trackioddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falsedataloader_pin_memory: Truedataloader_persistent_workers: Falseskip_memory_metrics: Truepush_to_hub: Falseresume_from_checkpoint: Nonehub_model_id: Nonehub_strategy: every_savehub_private_repo: Nonehub_always_push: Falsehub_revision: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_for_metrics: []eval_do_concat_batches: Trueauto_find_batch_size: Falsefull_determinism: Falseddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneinclude_num_input_tokens_seen: noneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseliger_kernel_config: Noneeval_use_gather_object: Falseaverage_tokens_across_devices: Trueuse_cache: Falseprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: round_robinrouter_mapping: {}learning_rate_mapping: {}
Training Logs
| Epoch | Step | Training Loss | val_rh_spearman_cosine |
|---|---|---|---|
| 0.7092 | 200 | - | 0.9140 |
| 1.0 | 282 | - | 0.9358 |
| 1.4184 | 400 | - | 0.9261 |
| 1.7730 | 500 | 0.0233 | - |
| 2.0 | 564 | - | 0.9569 |
| 2.1277 | 600 | - | 0.9572 |
| 2.8369 | 800 | - | 0.9600 |
| 3.0 | 846 | - | 0.9636 |
| 3.5461 | 1000 | 0.0020 | 0.9642 |
| 4.0 | 1128 | - | 0.9698 |
| 4.2553 | 1200 | - | 0.9690 |
| 4.9645 | 1400 | - | 0.9738 |
| 5.0 | 1410 | - | 0.9736 |
| 5.3191 | 1500 | 0.0013 | - |
| 5.6738 | 1600 | - | 0.9717 |
| 6.0 | 1692 | - | 0.9723 |
| 6.3830 | 1800 | - | 0.9733 |
| 7.0 | 1974 | - | 0.9766 |
| 7.0922 | 2000 | 0.0010 | 0.9764 |
| 7.8014 | 2200 | - | 0.9781 |
| 8.0 | 2256 | - | 0.9774 |
| 8.5106 | 2400 | - | 0.9776 |
| 8.8652 | 2500 | 0.0008 | - |
| 9.0 | 2538 | - | 0.9781 |
| 9.2199 | 2600 | - | 0.9785 |
| 9.9291 | 2800 | - | 0.9788 |
| 10.0 | 2820 | - | 0.9788 |
Training Time
- Training: 6.6 minutes
Framework Versions
- Python: 3.12.13
- Sentence Transformers: 5.5.1
- Transformers: 5.0.0
- PyTorch: 2.11.0+cu128
- Accelerate: 1.13.0
- Datasets: 4.0.0
- 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",
}