Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper
• 1908.10084 • Published
• 12
This is a sentence-transformers model finetuned from sergeyzh/rubert-mini-frida. It maps sentences & paragraphs to a 312-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.
SentenceTransformer(
(0): Transformer({'max_seq_length': 2048, 'do_lower_case': False, 'architecture': 'BertModel'})
(1): Pooling({'word_embedding_dimension': 312, '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})
(2): Normalize()
)
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
queries = [
"\u0422\u043e\u0432\u0430\u0440: \u0420\u0435\u0436\u0443\u0449\u0438\u0439 \u043f\u043b\u043e\u0442\u0442\u0435\u0440 G1351 ABJ \u041f\u043e\u043b\u043d\u0430\u044f \u0430\u0442\u0443\u043e-\u043a\u043e\u043d\u0442\u0443\u0440\u043d\u0430\u044f \u0440\u0435\u0437\u043a\u0430. \u0411\u0440\u0435\u043d\u0434: YGTech. \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435: \u0420\u0435\u0436\u0443\u0449\u0438\u0439 \u043f\u043b\u043e\u0442\u0442\u0435\u0440 G1351 ABJ - \u044d\u0442\u043e \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u043b\u044e\u0431\u0438\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0431\u0443\u043c\u0430\u0433\u043e\u0439 \u0438 \u0445\u043e\u0447\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u044b\u0441\u043e\u043a\u043e\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0435\u0437\u043a\u0438. \u042d\u0442\u043e\u0442 \u043f\u043b\u043e\u0442\u0442\u0435\u0440 \u043e\u0441\u043d\u0430\u0449\u0435\u043d \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0430\u0432\u0442\u043e\u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u043e \u0438 \u0442\u043e\u0447\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0440\u0435\u0437\u043a\u0438. \u0420\u0435\u0436\u0443\u0449\u0438\u0439 \u043f\u043b\u043e\u0442\u0442\u0435\u0440 G1351 ABJ \u0438\u043c\u0435\u0435\u0442 \u0432\u044b\u0441\u043e\u043a\u0443\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c.",
]
documents = [
'Товар: Режущий плоттер G2000 PRO Полная авто-контурная резка. Бренд: CutMaster. Описание: Режущий плоттер G2000 PRO - это современное решение для профессионалов в области дизайна и резки материалов. Оснащен высокоточной системой автосканирования, он гарантирует идеальные результаты резки каждый раз. Скорость резки достигает 1000 мм с, что позволяет быстро справляться с большими объемами.',
'Товар: Детская мочалка для купания, Панда белая. Категория: Мочалки детские. Бренд: Jiemiwl. Артикул: Jiemiwl-10.14-ulbm. Описание: Особенности Эта губка для купания, изготовленная из мягкой ткани, обеспечивает бережный уход за нежной кожей вашего малыша. Она имеет приятный дизайн, обладает высокой впитывающей способностью, легко моется и долговечна без деформации, что делает ее практичным выбором для ежедневного использовани.',
'Товар: Набор для изучения света с линзами и фильтрами. Категория: Чертежные принадлежности. Бренд: LightLab. Артикул: HzZHZnhyjP. Описание: Размер 25 15 4 см 9,84 5,91 1,57 дюйма Питание одна 9V батарейка батарейка в комплект не входит Материал продукта пластик стекло Применимые люди 8 Цвет как показано на рисунке Внимание 1. Аксессуары могут поставляться в случайных цветах. 2. Содержит мелкие детали, детям нео.',
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# [1, 312] [3, 312]
# Get the similarity scores for the embeddings
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[0.7727, 0.0935, 0.2062]])
agi_valInformationRetrievalEvaluator| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.5212 |
| cosine_accuracy@5 | 0.6456 |
| cosine_precision@1 | 0.5212 |
| cosine_precision@3 | 0.3487 |
| cosine_precision@5 | 0.2367 |
| cosine_precision@10 | 0.1326 |
| cosine_recall@1 | 0.3306 |
| cosine_recall@3 | 0.5381 |
| cosine_recall@5 | 0.5995 |
| cosine_recall@10 | 0.668 |
| cosine_ndcg@10 | 0.5855 |
| cosine_mrr@10 | 0.5733 |
| cosine_map@100 | 0.5548 |
sentence_0 and sentence_1| sentence_0 | sentence_1 | |
|---|---|---|
| type | string | string |
| details |
|
|
| sentence_0 | sentence_1 |
|---|---|
Товар: Аэрография MR.HOBBY PS270 самоцентрирующееся сопло 0,2 ммDM. Категория: Сопла для краскопультов и аэрографов. Бренд: jiemi. Артикул: jiemi20251010-kcwr. Описание: тонкие линии и распыление контролируют тень от объекта. Регулировка объема воздуха в корпусе ручки очень помогает при создании контуров. Ручка для рисования емкостью 10 куб.см имеет диаметр 0,2 мм, что подходит для детального изображения модели. Модель PS270 Калибр 0,2 мм Особенности PS270 распол. |
Товар: Аэрография MR.HOBBY PS270 самоцентрирующееся сопло 0,2 ммDM. Категория: Сопла для краскопультов и аэрографов. Бренд: jiemi. Артикул: jiemi20251010-kcwr. Описание: тонкие линии и распыление контролируют тень от объекта. Регулировка объема воздуха в корпусе ручки очень помогает при создании контуров. Ручка для рисования емкостью 10 куб.см имеет диаметр 0,2 мм, что подходит для детального изображения модели. Модель PS270 Калибр 0,2 мм Особенности PS270 распол. |
Товар: Машина для производства мороженого, компрессорная, красная, 2.2 кг. Категория: Мороженицы. Описание: Любите натуральный домашний мороженый без лишних добавок Эта автоматическая мороженое-машина с компрессором станет вашим незаменимым помощником в кухне Тип и функциональность Это автоматическое оборудование с компрессором оно самостоятельно управляет процессом приготовления достаточно. |
Товар: Машина для производства мороженого, компрессорная, красная, 2.2 кг. Категория: Мороженицы. Описание: Любите натуральный домашний мороженый без лишних добавок Эта автоматическая мороженое-машина с компрессором станет вашим незаменимым помощником в кухне Тип и функциональность Это автоматическое оборудование с компрессором оно самостоятельно управляет процессом приготовления достаточно. |
Товар: Крепёж для затеняющей и фасадной сетки 100 шт. Категория: Садовый декор и теплицы. Артикул: 1640915493-qrg4. Описание: Надежно защитите свой солнцезащитный козырек Эти пластиковые зажимы для солнцезащитного козырька изготовлены из высококачественного пластика и выдерживают сильный ветер и суровые погодные условия, чтобы надежно закрепить ваш солнцезащитный козырек на месте. Простота установки Регулируемая кон. |
Товар: Крепёж для затеняющей и фасадной сетки 50 шт. Категория: Садовый декор и теплицы. Бренд: GardenPro. Артикул: 1640915493-qrg4. Описание: Устойчивость к неблагоприятным условиям Эти зажимы для солнцезащитных козырьков изготовлены из прочного полипропилена и способны выдерживать сильный ветер и дождь, обеспечивая надежное удержание вашего покрытия на месте. Легкость установки Уникальная конструкция позволяет быстро устанавливать. |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim",
"gather_across_devices": false
}
per_device_train_batch_size: 128per_device_eval_batch_size: 128num_train_epochs: 10multi_dataset_batch_sampler: round_robindo_predict: Falseeval_strategy: noprediction_loss_only: Trueper_device_train_batch_size: 128per_device_eval_batch_size: 128gradient_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: {}| Epoch | Step | agi_val_cosine_ndcg@10 |
|---|---|---|
| 1.0 | 53 | 0.5327 |
| 2.0 | 106 | 0.5589 |
| 3.0 | 159 | 0.5764 |
| 4.0 | 212 | 0.5837 |
| 5.0 | 265 | 0.5855 |
@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",
}
@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}
}
Base model
cointegrated/rubert-tiny2