Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 13
How to use adriansanz/SITGES-bge-FT2 with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("adriansanz/SITGES-bge-FT2")
sentences = [
"El Viver dels Avis de Sitges. Activitat d'hort municipal per a la gent gran A la nostra vila hi ha veïns i veïnes que els agradaria tornar a fer de pagès o provar-ho per primera vegada. Potser molts d’ells enyoren el contacte amb la terra i voldrien tenir un petit hort per dedicar-li un parell d’hores cada dia i poder seguir el cicle natural de plantar, regar i recollir els fruits de la terra, gaudint així d’un entorn on la naturalesa és generosa amb qui la treballa. Aquest tipus d’activitat ha demostrat beneficis terapèutics i eugenèsics entre els seus principals destinataris: la gent gran. Al nostre municipi tenim la sort de comptar amb un ampli espai públic com és el viver municipal. Dins d'aquest viver s'hi han habilitat 10 parcel·les sobre una superfície de 300 m2.",
"Acceptació / Renúncia. Ajuts per al projecte d'implantació i l'ús de la targeta de fidelització del comerç local de Sitges Descripció",
"Justificació Subvencions per a projectes i activitats de les entitats esportives i esportistes de Sitges Les persones i entitats beneficiaries hauran de justificar la realització del projecte/activitat subvencionada com a màxim el dia 31 de març de 2023.",
"Ajuts per les despeses d'instal·lació de mesures higièniques i de seguretat per al retorn a l'activitat comercial d'establiments físics (COVID-19) Són ajuts econòmics extraordinaris destinats a col·laborar amb la despesa que suposa la implementació de mesures higièniques de prevenció, protecció i mesures de seguretat per a la reobertura dels establiments comercials i la tornada a l’activitat econòmica d’aquests establiments físics. Únicament es prendran en consideració per a l’atorgament de l’ajut la compra de material fungible i les inversions per a la instal·lació de mesures higièniques i de seguretat relacionades amb la gestió i prevenció de la pandèmia COVID-19 d’acord amb l’annex 1 de les Bases que regulen l'atorgament de l'ajut. L’àmbit temporal de l’ajut econòmic extraordinari tindrà caràcter retroactiu al moment de la declaració de l’estat d’alarma; seran despeses finançables totes aquelles que s’hagin produït des de la declaració de l’estat d’alarma i fins la data de finalització el període de presentació de sol·licituds. L’import finançable serà el 100% del cost de compra del material fungible i d’inversió excepte l’IVA de la despesa que no formarà part de l’ajut econòmic extraordinari. L’import màxim de l’ajut econòmic extraordinari anirà en funció del nombre de persona beneficiaris/ries amb dret a l’ajut, entre un mínim de 500 € i un màxim de 3.000 €."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from BAAI/bge-m3. 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': 8192, 'do_lower_case': False}) with Transformer model: XLMRobertaModel
(1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, '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("adriansanz/sitges1024-bai-batchalltriplets")
# Run inference
sentences = [
"Acceptació / Renúncia Subvencions per a projectes i activitats a entitats de l'àmbit de polítiques socials Descripció",
"Subvencions per al desenvolupament i/o consolidació de sectors econòmics del municipi Subvencions per a entitats destinades a fomentar el desenvolupament i la consolidació de sectors econòmics locals. L'objectiu és impulsar iniciatives per millorar la competitivitat, la generació d'ocupació i potenciar el naixement de nous sectors econòmics en el municipi i l’enfortiment dels existents, contribuint així al creixement econòmic sostenible i al benestar de la comunitat. Per valorar l’interès de la proposta es tindrà en compte: Tipus d’activitat Antecedents Dates de celebració Accions de promoció dutes a terme des de l’organització",
"Autorització d'accés a les àrees de vianants Permet obtenir l'autorització municipal per l'accés de vehicles a les àrees restringides a vianants establer-tes al municipi (actualment nucli de Garraf i Platja de Sant Sebastià). Les persones interessades poden presentar aquesta sol·lictud, i en cas de compliment dels requisits establerts (persones residents, titulars de plaça d'aparcament, autotaxis, establiments hotelers), se'ls traslladarà la resolució d’autorització.",
]
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]
sentence and label| sentence | label | |
|---|---|---|
| type | string | int |
| details |
|
|
| sentence | label |
|---|---|
Presentació de sol·licituds per a l'atorgament de llicència d'ús privatiu del domini públic local Aquest tràmit permet la presentació de sol·licituds per a l’autorització a favor de tercers perquè utilitzin de forma privativa una porció de domini públic local, amb caràcter temporal i sense la seva transformació, pel seu posterior destí a la realització d’activitats d'interès. En funció del número de sol·licituds presentades en cada convocatòria es procedirà a l'atorgament de la llicència: de forma directa si no hi ha pluralitat de sol·licitants, o mitjançant previ concurs en cas que existeixi una pluralitat de sol·licitants. |
647 |
Ajuts per fomentar l'associacionisme empresarial local Aquest ajut pretén fomentar l’associacionisme empresarial local, per tal de disposar d’agrupacions, gremis o associacions representatives de l’activitat empresarial del municipi. |
636 |
Baixa al padró municipal d'habitants (persones estrangeres que marxen del país, o per defunció ...) No es poden realitzar inscripcions de baixa per canvi de municipi o país de residencia a petició de les persones interessades, tret de les persones estrangeres que traslladin la seva residència a un altre país. Les persones amb nacionalitat espanyola que estableixin la residencia en un altra municipi o país hauran de comunicar la inscripció en el Padró del nou municipi de residència o en el Registre de Matrícula de l'Oficina o Secció Consular del país de destinació. El tràmit de baixa del padró municipal d'habitants només es pot sol·lictar en les següents situacions: Persones estrangeres empadronades que traslladen la seva residència a un altre país. Defunció. L'Institut Nacional d'Estadística, a instàncies del Registre Civil, comunica periòdicament les baixes per defunció a l'Ajuntament. Si es necessita que aquesta baixa es produeixi a la major brevetat possible, es pot realitzar aquest tràmit aportant el certificat de defunció, o el llibre de família. Inclusió indeguda: Aquesta baixa afecta a persones que figuren empadronades en un domicili i ja no hi resideixen. La persona empadronada, o titular de l'habitatge, pot comunicar aquesta situació, i l'ajuntament comprovarà aquesta circunstancia amb la tramitació de l'expedient corresponent. En el cas que la persona interessada no manifesti expresament la seva conformitat, la baixa només es podrà resoldre amb informe favorable del Consejo de Empadronamiento. L'Ajuntament de Sitges també pot iniciar d'ofici aquests tipus d'expedients. |
394 |
BatchAllTripletLossper_device_train_batch_size: 1per_device_eval_batch_size: 1learning_rate: 2e-05warmup_ratio: 0.1fp16: Truebatch_sampler: no_duplicatesoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: noprediction_loss_only: Trueper_device_train_batch_size: 1per_device_eval_batch_size: 1per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_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: Falsebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportional| Epoch | Step | Training Loss |
|---|---|---|
| 2.1097 | 500 | 0.0 |
@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
BAAI/bge-m3