WpythonW's picture
Add new SentenceTransformer model.
18f32a7 verified
metadata
base_model: WpythonW/paraphrase-multLing-L12-v2_custom
datasets: []
language: []
library_name: sentence-transformers
metrics:
  - cosine_accuracy@1
  - cosine_accuracy@3
  - cosine_precision@1
  - cosine_precision@3
  - cosine_recall@1
  - cosine_recall@3
  - cosine_ndcg@10
  - cosine_mrr@10
  - cosine_map@100
  - dot_accuracy@1
  - dot_accuracy@3
  - dot_precision@1
  - dot_precision@3
  - dot_recall@1
  - dot_recall@3
  - dot_ndcg@10
  - dot_mrr@10
  - dot_map@100
pipeline_tag: sentence-similarity
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:72039
  - loss:TripletLoss
widget:
  - source_sentence: как оформить бир?
    sentences:
      - >-
        Вам необходимо открыть сервис "Удаленная работа", далее выбрать "График
        УР". Заявка находится в статусе "Ожидание подписание". Нажмите на нее.
        Откроется заявка и будет активна кнопка "Подписать".
      - >-
        Сотрудник может продолжить работу во время больничного по беременности и
        родам, при этом ему будет выплачиваться заработная плата. Пособие по
        беременности и родам будет рассчитано с фактической даты ухода в отпуск
        по беременности и родам (соответственно, будет оплачено меньшее кол-во
        дней БИРа).
      - >-
        Пожалуйста, обратитесь к непосредственному руководителю, чтобы он создал
        заявку в Личном кабинете https://company-x5.ru или приложении "Моя
        работа" в разделе "Декрет", "Администрирование отпуска БИР".
  - source_sentence: Как оформить больничный по беременности и родам?
    sentences:
      - >-
        Перерасчет пособий возможно произвести не более чем за 3 года до дня
        подачи заявления работником.
      - >-
        Пожалуйста, обратитесь к непосредственному руководителю, чтобы он создал
        заявку в Личном кабинете https://company-x5.ru или приложении "Моя
        работа" в разделе "Декрет", "Администрирование отпуска БИР".
      - >-
        Сотруднику следует обратиться к непосредственному руководителю, чтобы он
        создал заявку в Личном кабинете https://company-x5.ru или приложении
        "Моя работа" в разделе "Декрет", "Администрирование отпуска БИР".
  - source_sentence: Что сделать, чтобы досрочно выйти из отпуска по беременности и родам
    sentences:
      - Обратитесь к HRBP для создания заявки "Администрирование БиР"
      - >-
        В рамках нового сервисного подхода сотрудники оформляют командировку на
        едином портале trip.
      - >-
        Выплата пособия по беременности и родам (БИР) производится за счет
        средств СФР. Пособие выплачивается единовременно в полном объеме. Если
        Вы решите выйти из отпуска по беременности и родам досрочно, то
        необходимо будет вернуть сумму пособия по беременности и родам за период
        с даты выхода на работу по дату окончания отпуска БИР, так как выплата
        пособия по беременности и родам и заработной платы одновременно не
        предусмотрена законодательством. Излишне выплаченные денежные средства
        подлежат возврату единовременным платежом и в полном объеме. Для
        досрочного выхода из отпуска по БиР создайте, пожалуйста, обратитесь к
        непосредственному руководителю, чтобы он создал заявку по процессу 1101
        – Досрочный выход из отпуска по уходу за ребенком. В заявке необходимо
        указать, чтобы Вам вложили заявление – согласие об удержании излишне
        выплаченных денежных средств, сумму переплаты и реквизиты для возврата
        платежа.
  - source_sentence: как оформить бир?
    sentences:
      - НДФЛ - налог на доходы физических лиц.
      - >-
        Пожалуйста, обратитесь к непосредственному руководителю, чтобы он создал
        заявку в Личном кабинете https://company-x5.ru или приложении "Моя
        работа" в разделе "Декрет", "Администрирование отпуска БИР".
      - >-
        Если ребенок зарегистрирован в ЗАГС 11.10.2023 или после 11.10.2023, и
        получателем пособия является мама ребенка, создавать заявку не нужно,
        необходимые данные работодателю будет направлять Социальный фонд России.
        Если ребенок зарегистрирован в ЗАГС до 11.10.2023 или получателем
        пособия является отец ребенка (независимо от даты регистрации),
        требуется создать заявку для передачи сведений в Социальный фонд России
        в Личном кабинете https://company-x5.ru или приложении "Моя работа" в
        разделе "Декрет", тема "Выплата единовременного пособия по рождению
        ребенка".
  - source_sentence: хочу оформить единовременную выплату
    sentences:
      - >-
        Если ребенок зарегистрирован в ЗАГС 11.10.2023 или после 11.10.2023, и
        получателем пособия является мама ребенка, создавать заявку не нужно,
        необходимые данные работодателю будет направлять Социальный фонд России.
        Если ребенок зарегистрирован в ЗАГС до 11.10.2023 или получателем
        пособия является отец ребенка (независимо от даты регистрации),
        требуется создать заявку для передачи сведений в Социальный фонд России
        в Личном кабинете https://company-x5.ru или приложении "Моя работа" в
        разделе "Декрет", тема "Выплата единовременного пособия по рождению
        ребенка".
      - Создайте заявку по теме "перевод" в списке заявок в ЛК.
      - >-
        Сотруднику следует обратиться к непосредственному руководителю, чтобы он
        создал заявку в Личном кабинете https://company-x5.ru или приложении
        "Моя работа" в разделе "Декрет", "Администрирование отпуска БИР".
model-index:
  - name: SentenceTransformer based on WpythonW/paraphrase-multLing-L12-v2_custom
    results:
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: single answer eval
          type: single_answer_eval
        metrics:
          - type: cosine_accuracy@1
            value: 0.7814207650273224
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.9058894960534305
            name: Cosine Accuracy@3
          - type: cosine_precision@1
            value: 0.7814207650273224
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.30297510625379476
            name: Cosine Precision@3
          - type: cosine_recall@1
            value: 0.07216487890440533
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.08419777618320423
            name: Cosine Recall@3
          - type: cosine_ndcg@10
            value: 0.19719127291067684
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.8525204556625317
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.08324300058374653
            name: Cosine Map@100
          - type: dot_accuracy@1
            value: 0.7741347905282332
            name: Dot Accuracy@1
          - type: dot_accuracy@3
            value: 0.9034608378870674
            name: Dot Accuracy@3
          - type: dot_precision@1
            value: 0.7741347905282332
            name: Dot Precision@1
          - type: dot_precision@3
            value: 0.30196316535114354
            name: Dot Precision@3
          - type: dot_recall@1
            value: 0.0714332149669126
            name: Dot Recall@1
          - type: dot_recall@3
            value: 0.08387088860677204
            name: Dot Recall@3
          - type: dot_ndcg@10
            value: 0.19635484910850196
            name: Dot Ndcg@10
          - type: dot_mrr@10
            value: 0.8483307793872454
            name: Dot Mrr@10
          - type: dot_map@100
            value: 0.08271733240623867
            name: Dot Map@100

SentenceTransformer based on WpythonW/paraphrase-multLing-L12-v2_custom

This is a sentence-transformers model finetuned from WpythonW/paraphrase-multLing-L12-v2_custom. It maps sentences & paragraphs to a 384-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 Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 128, 'do_lower_case': False}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 384, '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("WpythonW/paraphrase-multLing-L12-v2_custom")
# Run inference
sentences = [
    'хочу оформить единовременную выплату',
    'Если ребенок зарегистрирован в ЗАГС 11.10.2023 или после 11.10.2023, и получателем пособия является мама ребенка, создавать заявку не нужно, необходимые данные работодателю будет направлять Социальный фонд России. Если ребенок зарегистрирован в ЗАГС до 11.10.2023 или получателем пособия является отец ребенка (независимо от даты регистрации), требуется создать заявку для передачи сведений в Социальный фонд России в Личном кабинете https://company-x5.ru или приложении "Моя работа" в разделе "Декрет", тема "Выплата единовременного пособия по рождению ребенка".',
    'Создайте заявку по теме "перевод" в списке заявок в ЛК.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]

# 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.7814
cosine_accuracy@3 0.9059
cosine_precision@1 0.7814
cosine_precision@3 0.303
cosine_recall@1 0.0722
cosine_recall@3 0.0842
cosine_ndcg@10 0.1972
cosine_mrr@10 0.8525
cosine_map@100 0.0832
dot_accuracy@1 0.7741
dot_accuracy@3 0.9035
dot_precision@1 0.7741
dot_precision@3 0.302
dot_recall@1 0.0714
dot_recall@3 0.0839
dot_ndcg@10 0.1964
dot_mrr@10 0.8483
dot_map@100 0.0827

Training Details

Training Dataset

Unnamed Dataset

  • Size: 72,039 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 6 tokens
    • mean: 16.65 tokens
    • max: 30 tokens
    • min: 17 tokens
    • mean: 60.12 tokens
    • max: 128 tokens
    • min: 8 tokens
    • mean: 59.72 tokens
    • max: 128 tokens
  • Samples:
    anchor positive negative
    Можно ли выгрузить копию доверенности через SED? Копию доверенности можно выгрузить через раздел Отчеты в SED. Также там можно посмотреть номер и срок действия доверенности. По вопросам, связанных с ДМС, Вы всегда можете обратиться на адрес медицинской поддержки Х5 mdnonpdi@testtest.ru.
    Можно ли выгрузить копию доверенности через SED? Копию доверенности можно выгрузить через раздел Отчеты в SED. Также там можно посмотреть номер и срок действия доверенности. Для проведения отпуска по уходу за ребенком до 1,5 лет и до 3 лет обратитесь, пожалуйста, к директору магазина для создания заявки по теме "Декрет", подтема "Администрирование отпуска БиР".
    Перечень необходимых документов размещен в «База знаний» https://company-x5.ru/knowledge-base/folder/39/
    Можно ли выгрузить копию доверенности через SED? Копию доверенности можно выгрузить через раздел Отчеты в SED. Также там можно посмотреть номер и срок действия доверенности. Создайте, пожалуйста, обращение в ИТ поддержку на портале support
  • Loss: TripletLoss with these parameters:
    {
        "distance_metric": "TripletDistanceMetric.EUCLIDEAN",
        "triplet_margin": 5
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 32
  • num_train_epochs: 2
  • load_best_model_at_end: True

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 32
  • 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: 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: 2
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.0
  • 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: False
  • 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: 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: 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
  • eval_use_gather_object: False
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss single_answer_eval_cosine_map@100
0.4440 500 0.0138 0.0829
0.8881 1000 0.013 0.0839
1.3321 1500 0.0075 0.0844
1.7762 2000 0.0072 0.0832
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.14
  • Sentence Transformers: 3.0.1
  • Transformers: 4.44.0
  • PyTorch: 2.4.0
  • Accelerate: 0.34.2
  • Datasets: 2.21.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",
}

TripletLoss

@misc{hermans2017defense,
    title={In Defense of the Triplet Loss for Person Re-Identification}, 
    author={Alexander Hermans and Lucas Beyer and Bastian Leibe},
    year={2017},
    eprint={1703.07737},
    archivePrefix={arXiv},
    primaryClass={cs.CV}
}