rse_handicap / README.md
pyrac's picture
Add new SentenceTransformer model
86c2b70 verified
metadata
language:
  - en
license: apache-2.0
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:132020
  - loss:MultipleNegativesRankingLoss
base_model: pyrac/rse_gestion_durable
widget:
  - source_sentence: >-
      Les chemins extérieurs n'avaient pas de garde-corps pour sécuriser les
      déplacements.
    sentences:
      - >-
        Les mesures d'accessibilité pour les personnes handicapées sont bien
        respectées dans l'établissement
      - Cette chambre nous a vraiment déçus, rien n’était comme on l’espérait.
      - >-
        L'absence de barres d'appui rend cet hôtel moins pratique pour les
        personnes en situation de handicap
  - source_sentence: >-
      Les rampes étaient inclinées de façon inconfortable, limitant leur
      accessibilité.
    sentences:
      - >-
        La chambre PMR n’était pas adaptée à notre confort, on en est ressortis
        frustrés.
      - >-
        Les ascenseurs de l'hôtel sont trop petits pour un fauteuil roulant ce
        qui complique les déplacements
      - La sécurité est assurée avec un gardien présent.
  - source_sentence: L'absence d'indication en braille était regrettable.
    sentences:
      - Parking sécurisé avec gardien.
      - >-
        Il est difficile de trouver un restaurant accessible aux fauteuils
        roulants dans cette ville car beaucoup d'entre eux ont des escaliers
      - difficiles à parcourir en fauteuil roulant.
  - source_sentence: Il n'y avait aucun plan en braille pour les visiteurs malvoyants.
    sentences:
      - Bon rapport qualité-prix pour le stationnement.
      - Aucune signalétique tactile n'était présente dans les espaces communs.
      - >-
        Le théâtre est mal conçu pour les fauteuils roulants et il est difficile
        de trouver des places adaptées
  - source_sentence: >-
      L'absence de cheminement accessible a rendu la visite difficile pour ma
      famille.
    sentences:
      - >-
        Le lavabo était trop haut, ce qui le rendait inutilisable pour les
        personnes en fauteuil roulant.
      - >-
        Ce n’était pas du tout ce qu’on voulait, cette chambre a gâché notre
        séjour.
      - >-
        L'hôtel n'offre pas assez de chambres adaptées aux fauteuils roulants et
        il est difficile de réserver à la dernière minute
pipeline_tag: sentence-similarity
library_name: sentence-transformers
metrics:
  - cosine_accuracy
model-index:
  - name: MPNet base trained on AllNLI triplets
    results:
      - task:
          type: triplet
          name: Triplet
        dataset:
          name: all nli dev
          type: all-nli-dev
        metrics:
          - type: cosine_accuracy
            value: 1
            name: Cosine Accuracy
      - task:
          type: triplet
          name: Triplet
        dataset:
          name: all nli test
          type: all-nli-test
        metrics:
          - type: cosine_accuracy
            value: 1
            name: Cosine Accuracy

MPNet base trained on AllNLI triplets

This is a sentence-transformers model finetuned from pyrac/rse_gestion_durable. 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: pyrac/rse_gestion_durable
  • Maximum Sequence Length: 128 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity
  • Language: en
  • License: apache-2.0

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 128, 'do_lower_case': False}) with Transformer model: XLMRobertaModel 
  (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("pyrac/rse_handicap")
# Run inference
sentences = [
    "L'absence de cheminement accessible a rendu la visite difficile pour ma famille.",
    "L'hôtel n'offre pas assez de chambres adaptées aux fauteuils roulants et il est difficile de réserver à la dernière minute",
    'Ce n’était pas du tout ce qu’on voulait, cette chambre a gâché notre séjour.',
]
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

Triplet

Metric all-nli-dev all-nli-test
cosine_accuracy 1.0 1.0

Training Details

Training Dataset

Unnamed Dataset

  • Size: 132,020 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 7 tokens
    • mean: 20.24 tokens
    • max: 52 tokens
    • min: 7 tokens
    • mean: 23.96 tokens
    • max: 52 tokens
    • min: 6 tokens
    • mean: 19.23 tokens
    • max: 31 tokens
  • Samples:
    anchor positive negative
    Les panneaux d'indication manquaient de braille, ce qui pénalisait les malvoyants. Hôtel bien situé et accessible mais l'absence de barres d'appui est un vrai point négatif On a eu une chambre mal entretenue, rien ne fonctionnait comme il fallait.
    Le cheminement extérieur n'était pas praticable pour les fauteuils roulants électriques. Aucun confort dans cette chambre PMR, elle n'était absolument pas adaptée à nos besoins. On a eu une chambre trop bruyante, c’était vraiment une mauvaise expérience.
    Il n'y avait pas de signalisation concernant l'accessibilité pour les personnes à mobilité réduite La chambre adaptée aux fauteuils roulants est spacieuse et permet de circuler sans aucune difficulté Se retrouver dans cette chambre sans avoir rien demandé, ça a vraiment gâché notre séjour.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 16,502 evaluation samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 7 tokens
    • mean: 20.06 tokens
    • max: 55 tokens
    • min: 7 tokens
    • mean: 24.09 tokens
    • max: 55 tokens
    • min: 6 tokens
    • mean: 18.96 tokens
    • max: 31 tokens
  • Samples:
    anchor positive negative
    Le cheminement accessible était interrompu par des obstacles imprévus. étaient inaccessibles depuis un fauteuil roulant. On n’a pas du tout aimé la chambre, l’équipement était dépassé et inconfortable.
    était bien adapté pour les fauteuils roulants. On a été choqués de nous retrouver dans une chambre accessible pour handicapé, c’était inconfortable. Cette chambre était en tout point décevante, ça ne correspondait pas du tout à ce qu’on avait espéré.
    Leur sensibilisation sur le handicap auditif semblaient insuffisantes. Le cheminement était bien signalé avec des panneaux visuels et tactiles. On s’est retrouvés dans une chambre qu’on n’avait pas demandée, ça nous a déstabilisés.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 64
  • per_device_eval_batch_size: 64
  • num_train_epochs: 1
  • 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: 64
  • per_device_eval_batch_size: 64
  • 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.0
  • num_train_epochs: 1
  • 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: 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: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss Validation Loss all-nli-dev_cosine_accuracy all-nli-test_cosine_accuracy
0.0485 100 4.6964 4.0874 1.0 -
0.0969 200 4.1044 4.0497 1.0 -
0.1454 300 4.0817 4.0305 1.0 -
0.1939 400 4.0734 4.0310 1.0 -
0.2424 500 4.0587 4.0209 1.0 -
0.2908 600 4.0625 4.0180 1.0 -
0.3393 700 4.053 4.0201 1.0 -
0.3878 800 4.0607 4.0116 1.0 -
0.4363 900 4.0511 4.0078 1.0 -
0.4847 1000 4.0433 4.0087 1.0 -
0.5332 1100 4.0385 4.0080 1.0 -
0.5817 1200 4.0413 4.0055 1.0 -
0.6302 1300 4.044 4.0016 1.0 -
0.6786 1400 4.0385 4.0010 1.0 -
0.7271 1500 4.037 3.9974 1.0 -
0.7756 1600 4.0364 3.9965 1.0 -
0.8240 1700 4.0337 3.9988 1.0 -
0.8725 1800 4.0362 3.9965 1.0 -
0.9210 1900 4.0293 3.9964 1.0 -
0.9695 2000 4.0317 3.9947 1.0 -
-1 -1 - - - 1.0

Framework Versions

  • Python: 3.12.3
  • Sentence Transformers: 3.4.1
  • Transformers: 4.48.3
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.3.0
  • Datasets: 3.2.0
  • 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",
}

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