Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 15
How to use aimarsg/mle5_parl_contrastive with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("aimarsg/mle5_parl_contrastive")
sentences = [
"Zein da Mendizabal Mendizabalen iritzia Legebiltzarrean gauzez hitz egiteari buruz?",
"[TOPIC: Mozioa, Xabier Isasi Balanzategi EH Bildu taldeko legebiltzarkideak aurkeztua, euskaldunen hizkuntza eskubideak errespetarazteko Eusko Jaurlaritzak dituen asmoei buruz. Eztabaida eta behin betiko ebazpena]\n[MENDIZABAL MENDIZABAL, (EA-NV)]:\nEskerrik asko, presidente andrea. Egia esan, ez nuen asmorik jaisteko, zeren eta, lehenago esan dudan bezala, erraza izan da hiruren artean gauzak adostea. Eta azkenetik hasiko naiz. Nik uste dut, Oyarzabal jauna, gauzez hitz egitea eta Legebiltzarrean hitz egitea baino aproposagorik ez dagoela eta gauzez hitz egin behar dela. Eta zuk esaten duzun bezala, \"aunque el papel lo aguante todo\", nik uste dut gauzez hitz egin behar dela eta hori dela (Date: 31.10.2013)",
"[TOPIC: Legez besteko proposamen hauek batera eztabaidatu eta behin betiko ebazpena hartzea: Elkarrekin Podemos-IU talde parlamentarioak egindako legez besteko proposamena, anbulantziak publifikatzeari buruz eta Euskal Talde Popularra-Ciudadanos talde parlamentarioak egindako legez besteko proposamena, Eusko Jaurlaritzak Arabako Lurralde Historikoan anbulantzia medikalizatuen hornidura handitu beharrari buruz]\n[GARRIDO KNÖRR, (PV-ETP)]:\nnolabaiteko eszeptizismoari eutsi behar diogula, alor horretako sailburua bera, Gobernu honetako diruak administratzen dituena denean…, eta berak esaten digunean aurrekontuak askotan ez direla egikaritzen, atzerapenak daudela eta diru-partida batzuk ez direla egikaritzen. Beraz, uste dut normala dela, sailburuak azaldu zuen eta baliabide horrekin lotuta dauden funtzionamendu-gastuekin zerikusia duen partida bat handitzeko konpromisoaz gain, behar besteko zuhurtasuna eduki dezagula hori egitate bihurtzen dela ikusi ahal izateko. Baina, (Date: 15.12.2022)",
"Edozein eratara ere, gure taldeak hirueletasunaz hitz egitea baino gehiago nahiago du eleaniztasunez hitz egitea, aspaldi egin baikenuen eleaniztasunaren aldeko apustua. Ez da atzo goizeko gauza."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from intfloat/multilingual-e5-large. 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, 'architecture': '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("aimarsg/mle5_parl_contrastive")
# Run inference
sentences = [
'Zein da Eusko Jaurlaritzaren plana itsas ingurumena babesteko?',
'[TOPIC: Galdera, Muriel Larrea Laso Euskal Talde PopularraCiudadanos taldeko legebiltzarkideak Ekonomiaren Garapen, Jasangarritasun eta Ingurumeneko sailburuari egina, gure kostaldean itsas ingurumena babesteari buruz]\n[LARREA LASO, (PV-ETP)]:\nEgun on. Eskerrik asko, presidente andrea. Sailburu andrea, konturatuko zinen gertutik jarraitzen ditugula arestian itsas ingurumena zaintzeko eman diren aurrerapausoak. Horri buruz galdetu nizun azken aldian; zuk erantzun zenidan Ingurumen Sailak plastikoak eta hondakinak biltzeko zerabiltzan planak azalduz. Eta adibide bat jarriko dizut; izan ere, duela hilabete batzuk, Urumea ibaiko zaborra jaso behar izan zuena Donostiako Udaleko brigada izan zen, udal-brigada. Gaur beste zerbaiti buruz hitz egin nahi (Date: 20.05.2022)',
'Zera dio: "Eusko Jaurlaritzari eskatzen zaio bultza dezala Estatuko Administrazio Orokorraren aurrean eremua babesteko beharrezko diren ekintzak gauzatzea"; baina ekintza horiek ez dira zehazten, jakinik',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[1.0000, 0.6245, 0.2563],
# [0.6245, 1.0000, 0.0706],
# [0.2563, 0.0706, 1.0000]])
multilingual-e5-largeTripletEvaluator| Metric | Value |
|---|---|
| cosine_accuracy | 0.9116 |
anchor and positive| anchor | positive | |
|---|---|---|
| type | string | string |
| details |
|
|
| anchor | positive |
|---|---|
Zergatik ez zuen alde bozkatu EH Bilduk Lanbiden aztarna digitala ezartzeari buruzko proposamenean? |
[TOPIC: Euskal Legebiltzar Talde Popularrak egindako legez besteko proposamena, Lanbiden aztarna digitala ezartzeari buruz. Eztabaida eta behin betiko ebazpena] |
Zein urtetan baztertu zuen Urkullu lehendakariak aurkeztutako aurrekontuen lege-proiektua, babes faltagatik? |
[TOPIC: Galdera, Susana Corcuera Leunda Euskal Sozialistak taldeko legebiltzarkideak Ogasun eta Finantzetako sailburuari egina, aurrekontu-luzapenari buruzko legezkotasuna 2013an ez betetzeari buruz] |
Zein da Euskal Autonomia Erkidegoko Kultura Ondarearen Kontseiluaren osaera, antolamendua, funtzionamendua eta zereginen inguruan Eusko Jaurlaritzak dituen irizpideak? |
[TOPIC: Mozioa, Carmelo Barrio Baroja Euskal Talde Popularreko legebiltzarkideak aurkeztua, Eusko Jaurlaritzak Kultura Ondarearen Euskal Autonomia Erkidegoko Kontseiluaren osaerari, antolamenduari, funtzionamenduari eta zereginei dagokienez dituen irizpideen inguruan. Eztabaida eta behin betiko ebazpena] |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim",
"gather_across_devices": false
}
anchor, positive, and negative| anchor | positive | negative | |
|---|---|---|---|
| type | string | string | string |
| details |
|
|
|
| anchor | positive | negative |
|---|---|---|
Zein da Euskal Hezkuntza Sistemaren etorkizunari buruzko hitzarmenaren oinarriak zehazteko ponentziaren helburua? |
[TOPIC: Txostena, etorkizuneko euskal hezkuntza-sistemari buruzko hitzarmenaren oinarriak zehazteko ponentziak egindakoa. Eztabaida eta behin betiko ebazpena] |
Honezkero ia urte eta erdia pasatu da hezkuntza-sistemaren oinarriak ezartzeko ponentzia eratu zela. |
Zein da Martínez Hierroren iritzia errelato partekatu bat eraikitzeari buruz Euskal Herrian? |
[TOPIC: Lehenbailehen eztabaidatzeko Euzko Abertzaleak eta Euskal Sozialistak talde parlamentarioek egindako legez besteko proposamena, ETAren armagabetzeari buruz. Eztabaida eta behin betiko ebazpena] |
Badakit, Martínez jauna, gogorra da. Baina aitor ezazu, hausnar ezazue. Aukera duzue Legebiltzar honetan egiteko, baina ez zaitez etorri argudio-zerrendarekin halakoari buruz... |
Zein da Ertzaintzaren hasierako prestakuntzaren iraupena polizia-prozedurei eta autobabesari dagokionez? |
[TOPIC: Galdera, Miren Gallastegui Oyarzábal Euskal Sozialistak taldeko legebiltzarkideak Segurtasuneko sailburuari egina, Ertzaintzaren aurkako agresioak ekiditeko Segurtasun Sailak hartu beharreko neurriei buruz] |
Gainera, prestakuntza berria jasotzen ari dira autobabeseko polizia-taktika eta -tekniketan, kriminalitate eta terrorismo mota berri hauei aurre egiteko polizia-taktika eta -tekniketan. |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim",
"gather_across_devices": false
}
eval_strategy: epochlearning_rate: 2e-05warmup_ratio: 0.1batch_sampler: no_duplicatesoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: epochprediction_loss_only: Trueper_device_train_batch_size: 8per_device_eval_batch_size: 8per_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: Falsefp16_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}parallelism_config: Nonedeepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torch_fusedoptim_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: Nonehub_always_push: Falsehub_revision: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseinclude_for_metrics: []eval_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: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_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: Falseprompts: Nonebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss | Validation Loss | multilingual-e5-large_cosine_accuracy |
|---|---|---|---|---|
| 0.0919 | 100 | 0.5062 | - | - |
| 0.1838 | 200 | 0.0393 | - | - |
| 0.2757 | 300 | 0.0324 | - | - |
| 0.3676 | 400 | 0.0298 | - | - |
| 0.4596 | 500 | 0.0402 | - | - |
| 0.5515 | 600 | 0.0317 | - | - |
| 0.6434 | 700 | 0.0175 | - | - |
| 0.7353 | 800 | 0.0232 | - | - |
| 0.8272 | 900 | 0.0378 | - | - |
| 0.9191 | 1000 | 0.0232 | - | - |
| 1.0 | 1088 | - | 0.3340 | 0.8724 |
| 1.0110 | 1100 | 0.0191 | - | - |
| 1.1029 | 1200 | 0.0114 | - | - |
| 1.1949 | 1300 | 0.0118 | - | - |
| 1.2868 | 1400 | 0.0167 | - | - |
| 1.3787 | 1500 | 0.008 | - | - |
| 1.4706 | 1600 | 0.0087 | - | - |
| 1.5625 | 1700 | 0.0087 | - | - |
| 1.6544 | 1800 | 0.013 | - | - |
| 1.7463 | 1900 | 0.0105 | - | - |
| 1.8382 | 2000 | 0.0143 | - | - |
| 1.9301 | 2100 | 0.0092 | - | - |
| 2.0 | 2176 | - | 0.2349 | 0.9048 |
| 2.0221 | 2200 | 0.0103 | - | - |
| 2.1140 | 2300 | 0.0097 | - | - |
| 2.2059 | 2400 | 0.0012 | - | - |
| 2.2978 | 2500 | 0.0018 | - | - |
| 2.3897 | 2600 | 0.0071 | - | - |
| 2.4816 | 2700 | 0.003 | - | - |
| 2.5735 | 2800 | 0.0049 | - | - |
| 2.6654 | 2900 | 0.0051 | - | - |
| 2.7574 | 3000 | 0.0071 | - | - |
| 2.8493 | 3100 | 0.0019 | - | - |
| 2.9412 | 3200 | 0.002 | - | - |
| 3.0 | 3264 | - | 0.2200 | 0.9116 |
@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
intfloat/multilingual-e5-large