Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper
•
1908.10084
•
Published
•
12
This is a sentence-transformers model finetuned from intfloat/multilingual-e5-large on the csv dataset. It maps sentences & paragraphs to a 1024-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': 512, 'do_lower_case': False}) with Transformer model: XLMRobertaModel
(1): Pooling({'word_embedding_dimension': 1024, '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("RamsesDIIP/me5-large-construction")
# Run inference
sentences = [
"Formación de junta de trabajo interior, en piezas hormigonadas 'in situ', con junta de PVC de 24 cm de ancho y de 3,5 mm de espesor",
"Instalación de juntas de trabajo internas en elementos de hormigón vertido 'in situ', utilizando juntas de PVC de 24 cm de ancho y 3,5 mm de grosor.",
'Instalación de paneles prefabricados, utilizando sellador de silicona de 12 cm de ancho y 5 mm de espesor.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
validation-setTripletEvaluator| Metric | Value |
|---|---|
| cosine_accuracy | 0.9716 |
| dot_accuracy | 0.0284 |
| manhattan_accuracy | 0.9716 |
| euclidean_accuracy | 0.9716 |
| max_accuracy | 0.9716 |
test-setTripletEvaluator| Metric | Value |
|---|---|
| cosine_accuracy | 0.9944 |
| dot_accuracy | 0.0056 |
| manhattan_accuracy | 0.9944 |
| euclidean_accuracy | 0.9944 |
| max_accuracy | 0.9944 |
anchor, positive, and negative| anchor | positive | negative | |
|---|---|---|---|
| type | string | string | string |
| details |
|
|
|
| anchor | positive | negative |
|---|---|---|
Placas nervadas tipo pi o doble t de hormigón armado, de 35 cm de altura y 120 a 140 cm de anchura, con junta lateral abierta inferiormente, de 205 a 220 kN·m de momento flector último por m de ancho, para una luz máxima de 12 m, para forjado con capa de compresión mínima de 10 cm, colocadas sobre estructura |
Placas de hormigón armado tipo pi o doble t, con dimensiones de 35 cm de altura y entre 120 y 140 cm de ancho, diseñadas con junta lateral abierta en la parte inferior, capaces de soportar un momento flector último de 205 a 220 kN·m por metro de ancho, adecuadas para luces de hasta 12 m y con un forjado que incluya una capa de compresión mínima de 10 cm, instaladas sobre una estructura. |
Placas de yeso laminado de 35 cm de altura y 120 a 140 cm de anchura, con junta lateral cerrada, para una luz máxima de 12 m, para tabiques con aislamiento acústico de 10 cm, colocadas sobre estructura. |
Puerta cortafuegos de una hoja corredera de acero galvanizado, EI2-C 60, para un hueco de obra de más de 12 m2, colocada |
Puerta cortafuegos de una sola hoja deslizante de acero galvanizado, clasificación EI2-C 60, instalada en un espacio de obra superior a 12 m2. |
Puerta de acceso principal de madera maciza, sin clasificación de resistencia al fuego, para un espacio de almacenamiento de menos de 10 m2, instalada. |
Pavimento de mezcla bituminosa continua en caliente tipo AC 32 bin B 50/70 S, con betún asfáltico de penetración, de granulometría semidensa para capa intermedia y árido calcáreo, extendida y compactada, en entorno urbano sin dificultad de movilidad, en aceras > 3 y <= 5 m de ancho o calzada/plataforma única > 7 y <= 12 m de ancho, con afectación por servicios o elementos de mobiliario urbano, en actuaciones de hasta 1 m2 |
Pavimento de asfalto continuo en caliente tipo AC 32 bin B 50/70 S, utilizando betún asfáltico de penetración y granulometría semidensa para la capa intermedia, con árido calcáreo, aplicado y compactado en áreas urbanas con buena accesibilidad, en aceras de más de 3 y hasta 5 m de ancho o calzadas/plataformas únicas de más de 7 y hasta 12 m de ancho, considerando la interferencia de servicios o mobiliario urbano, en proyectos de hasta 1 m2. |
Pavimento de hormigón armado con aditivos especiales para mejorar la resistencia a la compresión, diseñado para áreas industriales con tráfico pesado, en losas de más de 10 m de ancho, sin restricciones de acceso, en proyectos de más de 50 m2. |
TripletLoss with these parameters:{
"distance_metric": "TripletDistanceMetric.EUCLIDEAN",
"triplet_margin": 5
}
anchor, positive, and negative| anchor | positive | negative | |
|---|---|---|---|
| type | string | string | string |
| details |
|
|
|
| anchor | positive | negative |
|---|---|---|
Perforación de pantalla en terreno blando, de 45 cm de espesor con lodo tixotrópico y hormigonado con hormigón HA-35/L / 10 / IIa de consistencia líquida, tamaño máximo del árido 10 mm, con >= 375 kg/m3 de cemento, aditivo hidrófugo/superplastificante, apto para clase de exposición IIa, con el equipo de lodos incluido |
Perforación de pantalla en suelo blando de 45 cm de grosor, utilizando lodo tixotrópico y hormigón HA-35/L / 10 / IIa de consistencia fluida, con un tamaño máximo de árido de 10 mm, conteniendo al menos 375 kg/m3 de cemento, aditivo hidrófugo y superplastificante, adecuado para la clase de exposición IIa, incluyendo el equipo de lodos necesario. |
Instalación de paneles solares en terreno duro, con una base de 60 cm de espesor y utilizando cemento convencional, sin aditivos especiales, apto para condiciones climáticas extremas, con un equipo de montaje estándar. |
Falso techo de lamas de aluminio prelacado, con canto circular con pestaña, de 185 mm de anchura y 16 mm de altura, color estándar, con la superficie perforada, montadas en posición horizontal, separadas 15 mm, fijadas a presión sobre estructura de perfiles omega con troquel para fijación clipada de acero galvanizado, con perfil de refuerzo, separados <= 1.5 m, colgados con supensión autoniveladora de barra roscada, separadas <= 1.2 m, fijadas mecánicamente al forjado |
Techo falso de paneles de aluminio prelacado, con borde redondeado y pestaña, de 185 mm de ancho y 16 mm de alto, en color estándar, con perforaciones en la superficie, instalados horizontalmente, con una separación de 15 mm, asegurados a presión sobre una estructura de perfiles omega con troqueles para fijación clipada de acero galvanizado, reforzados con perfiles, separados a un máximo de 1.5 m, suspendidos con un sistema autonivelador de barra roscada, separados a un máximo de 1.2 m, fijados mecánicamente al forjado. |
Techo acústico de paneles de yeso laminado, con borde recto, de 120 mm de ancho y 12 mm de grosor, acabado en pintura mate, con superficie lisa, instalados en posición vertical, separados 20 mm, fijados con adhesivo sobre estructura de perfiles en U, con refuerzo de madera, separados <= 2 m, suspendidos con cables ajustables, separados <= 1.5 m, fijados a la pared. |
Canalización con uno tubo curvable corrugado de polietileno de 110 mm de diámetro nominal, de doble capa, y dado de recubrimiento de 40x30 cm con hormigón de uso no estructural HNE-20/P/20 de resistencia a compresión 20 N/mm2, consistencia plástica y tamaño máximo del árido 20 mm, cuerda guía en cada tubo, parte proporcional de accesorios de unión, separadores y obturadores, en entorno urbano sin dificultad de movilidad, en aceras > 5 m de ancho o calzada/plataforma única > 12 m de ancho, sin afectación por servicios o elementos de mobiliario urbano, en actuaciones de hasta 1 m |
Instalación de un sistema de canalización utilizando un tubo flexible corrugado de polietileno de 110 mm de diámetro nominal, con doble capa, y recubierto con hormigón no estructural HNE-20/P/20 de resistencia a compresión de 20 N/mm2, consistencia plástica y un tamaño máximo de árido de 20 mm, incluyendo cuerda guía en cada tubo, así como la proporción adecuada de accesorios de unión, separadores y obturadores, en un entorno urbano con fácil acceso, en aceras de más de 5 m de ancho o calzadas/plataformas de más de 12 m de ancho, sin interferencias de servicios o elementos de mobiliario urbano, en proyectos de hasta 1 m de profundidad. |
Instalación de un sistema de drenaje con tuberías de PVC rígido de 75 mm de diámetro, de una sola capa, y revestimiento de 30x20 cm con asfalto de alta resistencia, diseñado para soportar cargas estructurales, con una resistencia a compresión de 30 N/mm2, consistencia seca y tamaño máximo del árido de 10 mm, sin cuerda guía, incluyendo una cantidad adecuada de conectores, soportes y tapas, en un entorno rural con acceso limitado, en caminos de tierra de menos de 3 m de ancho, con interferencias por servicios públicos y elementos de paisajismo, en proyectos de más de 2 m. |
TripletLoss with these parameters:{
"distance_metric": "TripletDistanceMetric.EUCLIDEAN",
"triplet_margin": 5
}
eval_strategy: stepsper_device_train_batch_size: 4per_device_eval_batch_size: 4learning_rate: 2e-05warmup_ratio: 0.1fp16: Truebatch_sampler: no_duplicatesoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 4per_device_eval_batch_size: 4per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 2e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 3max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.1warmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Truesave_safetensors: Truesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseno_cuda: Falseuse_cpu: Falseuse_mps_device: Falseseed: 42data_seed: Nonejit_mode_eval: Falseuse_ipex: Falsebf16: Falsefp16: Truefp16_opt_level: O1half_precision_backend: autobf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: 0ddp_backend: Nonetpu_num_cores: Nonetpu_metrics_debug: Falsedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonepast_index: -1disable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Falseignore_data_skip: Falsefsdp: []fsdp_min_num_params: 0fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}fsdp_transformer_layer_cls_to_wrap: Noneaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}deepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torchoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falsedataloader_pin_memory: Truedataloader_persistent_workers: Falseskip_memory_metrics: Trueuse_legacy_prediction_loop: Falsepush_to_hub: Falseresume_from_checkpoint: Nonehub_model_id: Nonehub_strategy: every_savehub_private_repo: Falsehub_always_push: Falsegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseeval_do_concat_batches: Truefp16_backend: autopush_to_hub_model_id: Nonepush_to_hub_organization: Nonemp_parameters: auto_find_batch_size: Falsefull_determinism: Falsetorchdynamo: Noneray_scope: lastddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Nonedispatch_batches: Nonesplit_batches: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseeval_use_gather_object: Falsebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportional| Epoch | Step | Training Loss | Validation Loss | validation-set_max_accuracy | test-set_max_accuracy |
|---|---|---|---|---|---|
| 0 | 0 | - | - | 0.9830 | - |
| 0.2833 | 100 | 4.4372 | 3.6833 | 1.0 | - |
| 0.5666 | 200 | 3.724 | 3.4490 | 0.9943 | - |
| 0.8499 | 300 | 3.5575 | 3.5777 | 0.9886 | - |
| 1.1331 | 400 | 3.4996 | 3.4224 | 0.9773 | - |
| 1.4164 | 500 | 3.4846 | 3.3883 | 0.9943 | - |
| 1.6997 | 600 | 3.4126 | 3.4181 | 0.9886 | - |
| 1.9830 | 700 | 3.3225 | 3.3863 | 0.9773 | - |
| 2.2663 | 800 | 3.3446 | 3.3971 | 0.9716 | - |
| 2.5496 | 900 | 3.3351 | 3.3816 | 0.9773 | - |
| 2.8329 | 1000 | 3.2597 | 3.3936 | 0.9716 | - |
| 3.0 | 1059 | - | - | - | 0.9944 |
@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{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}
}
Base model
intfloat/multilingual-e5-large