Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 15
How to use cuadron11/mrbert-parl-ft with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("cuadron11/mrbert-parl-ft")
sentences = [
"Noiz egingo dio aurre Eusko Jaurlaritzak 2012ko aparteko ordainsariaren likidazioari langile publikoekin?",
"[TOPIC: Galdera, Leire Pinedo Bustamante EH Bildu taldeko legebiltzarkideak Ogasun eta Ekonomiako sailburuari egina, BEZaren doikuntzetatik eratorritako 400 milioi euro inguruko kopuruaren erabilpenari buruz]\n[PINEDO BUSTAMANTE, (EH Bildu)]:\naparteko ordainsarian, 2012ko aparteko ordainsariaren zati horretan, eta bejondeigula, administrazio bakanetakoa baita zuena langile publikoekin likidazio hori oraindik egin gabe zuena. Izan bedi ongi etorria. Baina egia da, inbertsio horiei eta abarri ekitea aztertzen ari bazarete, ez litzatekeela txarra izango, aurrekontuetan babesa ematen dizuetenez gain, gai- nerako taldeok ere jakinaren gainean egotea. Ez baita gauza bera inbertsioei urteko azken hiruhilekoan ekitea, orduan zuk, zalantzarik gabe, 2018ko aurrekontuari (Date: 20.10.2017)",
"[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)]:\nbat handitzeko konpromisoaz gain, behar besteko zuhurtasuna eduki dezagula hori egitate bihurtzen dela ikusi ahal izateko. Baina, tira, espero dezagun egia izango dela… Eta, batez ere, orduan ikusiko zelako Alderdi Popularrak urte hauetan guztietan, askotan bakardadean, azken aldian talde gehiagorekin batera −baita zurearekin ere, Gasteizko Udalean aldeko botoa eman baitzuen−, eduki duen jarraitutasunak bere fruituak eman dituela. Ordezkatzen dudan taldeak Arabako erakunde guztietan −Arabako Batzar Nagusietan, Gasteizko Udalean…−, baita (Date: 15.12.2022)",
"[TOPIC: Mozioa, Gorka Maneiro Labayen Mistoa-UPyD taldeko legebil- tzarkideak aurkeztua, forupeko egoera desagerraraztearen gainean. Eztabaida eta behin betiko ebazpena]\n[SÉMPER PASCUAL, (PV-ETP)]:\nMadrilgo Autonomia Erkidegoan ere, zeinean Alderdi Popularrak gobernatzen baitu, erreforma bat hasi dute, Madrilgo Autonomia Erkidegoan onartutakoa, besteak beste, forupeko egoera kentzeko. Eta, orobat, bide batez, gobernatzaileen agintaldia murrizteko eta mugatzeko. Izan ere, bada errealitate bat zuek, Maneiro jaunak bereziki, baina zuek ere ez duzuena identifikatu edo aitortu. Konstituzioa erreformatu beharrik izan gabe, gaur egun Espainian dauden 10.000 forupekoak, 10.000 inguru, 600 forupeko eskasera murriztu ditzakegu, (Date: 02.06.2016)"
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from BSC-LT/MrBERT. It maps sentences & paragraphs to a 768-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, 'architecture': 'ModernBertModel'})
(1): Pooling({'word_embedding_dimension': 768, '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})
)
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("cuadron11/mrbert-parl-ft")
# Run inference
sentences = [
'Zer esan nahi du bizitzaren sostengarritasunak zaintzaren testuinguruan?',
'[TOPIC: Mozioa, Eukene Arana Varas Elkarrekin Podemos taldeko legebiltzarkideak aurkeztua, zaintza-lanei, gizarte berdintzaileagoari eta bizitzak erdigunean jartzeko tresnei buruz. Eztabaida eta behin betiko ebazpena]\n[ETXEBARRIETA LEGRAND, (EH Bildu)]:\nEserlekutik, bakarrik kontu pare bat aipatzeko. Zaintzaz hitz egiten ari garenean ez gabiltzalako hitz egiten soilik dependentzia-egoeran dauden pertsonen zaintzaz, Garrido anderea; hitz egiten ari gara pertsona guztiek momenturen batean edo bizitzako edozein momentutan, hobeto esanda, daukagun beharraz, bizitzaren sostengarritasunak hori esan nahi duelako, denok bizitzako edozein momentutan zainduak izateko beharra daukagulako, zaintzeko beharra daukagulako, pertsonak ere badauzkagulako gure inguruan. Beraz, ikuspuntualdaketa batez ari gara hitz egiten, (Date: 07.03.2019)',
'Hau familietako zaintzaren desagerpenarekin parekatu zenuen eta, gainera, zuek sostengarritasunak kezkatzen zaituztela esan zenuen.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[1.0078, 0.8828, 0.9023],
# [0.8828, 1.0000, 0.9336],
# [0.9023, 0.9336, 1.0000]], dtype=torch.bfloat16)
mrbert-parl-ftTripletEvaluator| Metric | Value |
|---|---|
| cosine_accuracy | 0.6004 |
anchor and positive| anchor | positive | |
|---|---|---|
| type | string | string |
| details |
|
|
| anchor | positive |
|---|---|
Nork proposatu zuen mendekotasunari erantzuteko zerga berriak sortzea arbuiatzeari buruzko legez besteko proposamena? |
[TOPIC: MistoaUPyD legebiltzar-taldeak egindako legez besteko proposamena, mendekotasunari erantzuteko zerga berriak sortzea arbuiatzeari buruz. Eztabaida eta behin betiko ebazpena] |
Zein dira Eusko Jaurlaritzaren helburuak zerga-erreformaren bidez? |
[TOPIC: Galdera, Leire Pinedo Bustamante EH Bildu taldeko legebiltzarkideak lehendakariari egina, zerga-erreformari buruz] |
Zein da Euskadin langabeziak izan duen bilakaera azkenaldian? |
[TOPIC: Galdera, Ekain Rico Lezama Euskal Sozialistak taldeko legebiltzarkideak bigarren lehendakariorde eta Lan eta Enpleguko sailburuari egina, enplegu-datuen bilakaerari buruz] |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim",
"gather_across_devices": false,
"directions": [
"query_to_doc"
],
"partition_mode": "joint",
"hardness_mode": null,
"hardness_strength": 0.0
}
anchor, positive, and negative| anchor | positive | negative | |
|---|---|---|---|
| type | string | string | string |
| details |
|
|
|
| anchor | positive | negative |
|---|---|---|
Zergatik ez du Euskal Sozialistak taldeko legebiltzarkideak onartzen hezkuntzaren kalitatea hobetzeko lege organikoaren aurreproiektua? |
[TOPIC: Galdera, María Isabel Celaá Diéguez Euskal Sozialistak taldeko legebiltzarkideak Hezkuntza, Hizkuntza Politika eta Kulturako sailburuari egina, hezkuntzaren kalitatea hobetzeko lege organikoari buruz] |
[TOPIC: Galdera, Julen Arzuaga Gumuzio EH Bildu taldeko legebiltzarkideak Segurtasuneko sailburuari egina, foam jaurtigaiek eragiten dituzten kalteei buruz] |
Zein da EH Bilduren jarrera IRPH indizea erabiltzeari uztearen inguruan? |
[TOPIC: EH Bildu legebiltzar-taldeak egindako legez besteko proposamena, IRPH indizea erabiltzeari uztearen inguruan. Eztabaida eta behin betiko ebazpena] |
[TOPIC: Galdera, Antonio Damborenea Basterrechea Euskal Talde Popularreko legebiltzarkideak Ekonomiaren Garapen eta Azpiegituretako sailburuari egina, La Navali buruz] |
Zein da euskal gizartearen iritzia euskal erakundeen inguruan, kontratazio publikoei eta esleipen zuzenei dagokienez? |
[TOPIC: Galdera, Josu Estarrona Elizondo EH Bildu taldeko legebiltzarkideak lehendakariari egina, kontratazio publikoetan, esleipen zuzenetan, enpresa eta ente publikoetako lanpostuetarako hautaketaprozesuetan… alderdi jakin baten parte edo gertukoa izateagatik abantaila izatearen inguruan] |
Funtsezkoa, berriro diot, gure asmo eta intentzioei dagokienez, eta, Ganbera honen gomendioei jarraiki, aurrera egiten jarraitzeko eta euskal herritarrek duten kalitateko sistema publikoa babesteko egin |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim",
"gather_across_devices": false,
"directions": [
"query_to_doc"
],
"partition_mode": "joint",
"hardness_mode": null,
"hardness_strength": 0.0
}
per_device_train_batch_size: 64learning_rate: 2e-05warmup_steps: 0.1eval_strategy: epochper_device_eval_batch_size: 64batch_sampler: no_duplicatesper_device_train_batch_size: 64num_train_epochs: 3max_steps: -1learning_rate: 2e-05lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_steps: 0.1optim: adamw_torch_fusedoptim_args: Noneweight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08optim_target_modules: Nonegradient_accumulation_steps: 1average_tokens_across_devices: Truemax_grad_norm: 1.0label_smoothing_factor: 0.0bf16: Falsefp16: Falsebf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Nonetorch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneuse_liger_kernel: Falseliger_kernel_config: Noneuse_cache: Falseneftune_noise_alpha: Nonetorch_empty_cache_steps: Noneauto_find_batch_size: Falselog_on_each_node: Truelogging_nan_inf_filter: Trueinclude_num_input_tokens_seen: nolog_level: passivelog_level_replica: warningdisable_tqdm: Falseproject: huggingfacetrackio_space_id: trackioeval_strategy: epochper_device_eval_batch_size: 64prediction_loss_only: Trueeval_on_start: Falseeval_do_concat_batches: Trueeval_use_gather_object: Falseeval_accumulation_steps: Noneinclude_for_metrics: []batch_eval_metrics: Falsesave_only_model: Falsesave_on_each_node: Falseenable_jit_checkpoint: Falsepush_to_hub: Falsehub_private_repo: Nonehub_model_id: Nonehub_strategy: every_savehub_always_push: Falsehub_revision: Noneload_best_model_at_end: Falseignore_data_skip: Falserestore_callback_states_from_checkpoint: Falsefull_determinism: Falseseed: 42data_seed: Noneuse_cpu: Falseaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}parallelism_config: Nonedataloader_drop_last: Falsedataloader_num_workers: 0dataloader_pin_memory: Truedataloader_persistent_workers: Falsedataloader_prefetch_factor: Noneremove_unused_columns: Truelabel_names: Nonetrain_sampling_strategy: randomlength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falseddp_backend: Noneddp_timeout: 1800fsdp: []fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}deepspeed: Nonedebug: []skip_memory_metrics: Truedo_predict: Falseresume_from_checkpoint: Nonewarmup_ratio: Nonelocal_rank: -1prompts: Nonebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Validation Loss | mrbert-parl-ft_cosine_accuracy |
|---|---|---|---|
| 1.0 | 136 | 4.6988 | 0.5660 |
| 2.0 | 272 | 4.6214 | 0.5937 |
| 3.0 | 408 | 4.6046 | 0.6004 |
@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{oord2019representationlearningcontrastivepredictive,
title={Representation Learning with Contrastive Predictive Coding},
author={Aaron van den Oord and Yazhe Li and Oriol Vinyals},
year={2019},
eprint={1807.03748},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/1807.03748},
}
Base model
BSC-LT/MrBERT