Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 13
How to use aimarsg/bernat_parl_l_contrastive with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("aimarsg/bernat_parl_l_contrastive")
sentences = [
"Noiz jarriko du martxan Eusko Jaurlaritzak Barakaldoko BEC sustatzeko aurrez aurreko plana?",
"[TOPIC: Galdera, Amaia Martínez Grisaleña Mistoa-Vox taldeko legebiltzarkideak lehendakariari egina, autoeskolako irakasleen prestakuntza-moduluan euskara eskatzeari buruz]\n[MARTÍNEZ GRISALEÑA, (Mixto-Vox)]:\nbaina beldur gara neurri hori eredu baten hastapena baino ez dela, eta eredu hori kalbarioa izango dela gaztelania-hiztunentzat, aurrekaririk gabeko grinaz inposatuko baitu euskara bizitzako alor guztietan. Autoeskoletako arduradunek dagoeneko aldarri egin dute zuen Gobernuaren neurriaren aurka; ez dute aurkitzen ikastaroen irakaspena emateko behar besteko trebakuntza duen irakaslerik, eta ikasle asko baja ematen ari dira, behar besteko ezagutza ez dutelako euskaraz. 2010az geroztik jada, Gidabaimena Euskaraz planarekin, udal askok (Date: 30.09.2022)",
"[TOPIC: EH Bildu legebiltzar-taldeak egindako legez besteko proposamena, Lehiaren Euskal Agintaritzak Gipuzkoako Batzar Nagusiek 2013ko uztailaren 17an onartu zuten klausula sozialen inguruko 4/2013 Foru Arauaren aurka jarritako auzibidea bertan behera uzteari buruz. Eztabaida eta behin betiko ebazpena]\n[DAMBORENEA BASTERRECHEA, (PV-ETP)]:\nGipuzkoako eraikuntzaren lan-hitzarmena ez badute eta beste lanhitzarmen bat badute, Gipuzkoako eraikuntzarena aplikatu behar zaiela. Bizkaiko enpresa guztiek ez dutela aplikatu behar Bizkaikoa; Gipuzkoakoa aplikatu behar dutela eskaintzak egin ahal izateko. Arabakoek, Europakoek… Horixe jartzen du arau horretan. Eta arau hori lan-eskubideak defendatzeko dago, ala enpresa guztiak kanpoan uzteko eta eskaintzak gutxi batzuek bakarrik egin ahal izateko? Izan ere, irudipen hori ematen du, eta horretaz ari gara eztabaidatzen gaur hemen. Zuek beste gauza batzuez hitz egitera etorri bazarete… Gai bat bakarrik gogoraraziko dizut, ez baitakit batzuk lehiaren eskubidearen kontu honekin nahasi egiten ote diren: lehiaren eskubidea kontsumitzaileei mesede egiteko da; kontsumitzaileen eskubideak bermatzen dira. Kontsumitzaileen eskubideak bermatzen dira, batetik, eskubide pribatuen aldean, kasu honetan Lehiaren Agintaritzak ezartzen dituen isunen bidez, eta, bestetik, administrazioen aldean, itxuraz printzipio horiek berak urratzen dituzten arauei errekurtsoak jarriz. Horixe da lehiaren eskubidea. Horretaz gain, dakizunez, Europar Batasunaren oinarrizko printzipioetako bat da langileak eta enpresak libreki ibiltzea batera eta bestera Europa osoan, eta zelaiari ateak jarri nahi izatea, bada, oso ondo dago, baina erabilgarritasuna eskasa edo hutsala izan daiteke. (Date: 05.06.2014)",
"[TOPIC: Interpelazioa, Gorka Maneiro Labayen Mistoa-UPyD taldeko legebiltzarkideak lehendakariari egina, Barakaldoko BECen finantza-egoerari eta Eusko Jaurlaritzak hartzeko asmoa duen erabakiei buruz]\n[MANEIRO LABAYEN, (Mixto-UPyD)]:\nNik gaur egun zer egoeratan dagoen dakit, eta oso larria da egoera. Eta ziur naiz, ziur gara, eta hor daude datuak, kudeaketa erabat arduragabea izan dela urte hauetan guztietan, eta administrazioek ez dutela kontrolatu. Egia esan, badirudi Bizkaiko Foru Aldundia Eusko Jaurlaritzak zuzendaritza-talde berria izendatu zain dagoela, azpiegitura hori sustatuko duen aurrez aurreko plana abian jar dezaten. Noiz egingo dira urrats horiek? Izan ere, itxuraz, aurreko Gobernuak onartu zuen aurrez aurreko (Date: 15.03.2013)"
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from HiTZ/BERnaT_base. 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': 512, 'do_lower_case': False, 'architecture': 'RobertaModel'})
(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("aimarsg/bernat_parl_l_contrastive")
# Run inference
sentences = [
'Noiz egin zen itunpeko irakaskuntzaren finantzaketari buruzko barne-dokumentua?',
'[TOPIC: Galdera, José Manuel Gil Vegas Euskal Talde Popularra-Ciudadanos taldeko legebiltzarkideak Hezkuntzako sailburuari egina, itunpeko irakaskuntzaren finantzaketari buruz]\n[GIL VEGAS, (Mixto-Ciudadanos)]:\nEskerrik asko erantzunagatik, sailburu jauna. Hala ere, ez didazu gauza handirik argitu. Barne-dokumentu bat dela esan didazu, 2021eko apirilean egin zena, baina oraindik ez dakigu zergatik duen prentsak Ganbera honek baino lehenago. Eta esan didazu ikastetxeei eman zitzaiela, baina ez zela Legebiltzar honetara bidali. Eta, beraz, uler ezazu galdetzen jarraitu beharko dudala txosten hori gaur egun non dagoen eta zein den hark duen estatusa; galdetu ez ezik, berriro diot, (Date: 18.02.2022)',
'Gogoan izan behar da dokumentu hori ez dela inolako akordioren ondorio, ez negoziazioen ondorio, ezta horri buruzko elkarrizketen ondorio ere, presidentearen ikuspuntua besterik ez baita.',
]
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.0000, 0.7141, 0.2114],
# [0.7141, 1.0000, 0.1178],
# [0.2114, 0.1178, 1.0000]])
multilingual-e5-largeTripletEvaluator| Metric | Value |
|---|---|
| cosine_accuracy | 0.9059 |
anchor and positive| anchor | positive | |
|---|---|---|
| type | string | string |
| details |
|
|
| anchor | positive |
|---|---|
Zenbat pertsonak jaso dituzte ERTEak osatzeko laguntzak 2020ko azaroaren 25era arte? |
[TOPIC: Galdera, Amaia Martínez Grisaleña, Talde Mistoko legebiltzarkideak lehenengo lehendakariorde eta Segurtasuneko sailburuari egina, San Frantzisko auzoko segurtasunari buruz] |
Zein da Eusko Jaurlaritzaren jarrera Errioxako Jatorri Deituraren Kontseilu Arautzaileak izapidetutako estatutuen aldaketaren aurrean? |
[TOPIC: Galdera, Itxaso Etxebarria Astondoa EH Bildu taldeko legebiltzarkideak Ekonomiaren Garapen, Jasangarritasun eta Ingurumeneko sailburuari egina, Jaurlaritzak Errioxako Jatorri Deituraren Kontseilu Arautzaileak izapidetutako estatutuen aldaketaren aurrean hartuko dituen neurriei buruz] |
Nola jokatu zuen Eusko Jaurlaritzak Chillida Leku museoa publikoari irekitzeko eta eskuratzeko asmoei dagokienez? |
[TOPIC: Mozioa, Carmelo Barrio Baroja Euskal Talde Popularreko legebiltzarkideak aurkeztua, Chillida Leku museoa publikoari irekitzearen eta eskuratzearen inguruan Jaurlaritzak dituen asmoei buruz. 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 |
|---|---|---|
Noiz egin ziren hauteskunde demokratikoak Katalunian? |
[TOPIC: Galdera, Gorka Maneiro Labayen Mistoa-UPyD taldeko legebiltzarkideak lehendakariari egina, Katalunian kolpismoa babesteari buruz] |
[TOPIC: EH Bildu legebiltzar-taldeak egindako legez besteko proposamena, legegintzaldiaren erdian tamainako erronkak dituen Enplegu eta Gizarte Politiketako Saila bururik gabe uzteari buruz. Eztabaida eta behin betiko ebazpena] |
Zer ondorio izan zituen Madrilek onartutako lan-erreformak hitzarmen kolektiboen aurreraeraginari dagokionez? |
[TOPIC: Mozioa, Bixen Itxaso González Euskal Sozialistak taldeko legebiltzarkideak aurkeztua, Eusko Jaurlaritzak Gizarte Elkarrizketaren Mahaia biltzeko deia egitearen gainean. Eztabaida eta behin betiko ebazpena] |
[TOPIC: EH Bildu talde parlamentarioak egindako legez besteko proposamena, gazte prekarietatearen kontrako talka plan berria indarrean jartzeari buruz] |
Zer dio 2013-2016 aldirako Bake eta Bizikidetza Planaren bitarteko ebaluazioak? |
[TOPIC: Mozioa, Gorka Maneiro Labayen MistoaUPyD taldeko legebiltzarkideak aurkeztua, Euskadiko udalek terrorismoaren biktimei egingo dizkieten omenaldiei buruz. Eztabaida eta behin betiko ebazpena] |
Iragan irailaren 9an, Eusko Jaurlaritzak, Jonan Fernandez jaunak zuzentzen duen Idazkaritza Nagusiaren bitartez, txostena argitaratu zuen "Eusko Jaurlaritzaren 2013-2016 aldirako Bake eta Bizikidetza Planaren |
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.0666 | 100 | 1.5709 | - | - |
| 0.1332 | 200 | 0.2662 | - | - |
| 0.1999 | 300 | 0.148 | - | - |
| 0.2665 | 400 | 0.1345 | - | - |
| 0.3331 | 500 | 0.1064 | - | - |
| 0.3997 | 600 | 0.1244 | - | - |
| 0.4664 | 700 | 0.0665 | - | - |
| 0.5330 | 800 | 0.0825 | - | - |
| 0.5996 | 900 | 0.0768 | - | - |
| 0.6662 | 1000 | 0.0741 | - | - |
| 0.7328 | 1100 | 0.0496 | - | - |
| 0.7995 | 1200 | 0.069 | - | - |
| 0.8661 | 1300 | 0.0814 | - | - |
| 0.9327 | 1400 | 0.0744 | - | - |
| 0.9993 | 1500 | 0.0536 | - | - |
| 1.0 | 1501 | - | 0.3427 | 0.8788 |
| 1.0660 | 1600 | 0.029 | - | - |
| 1.1326 | 1700 | 0.0375 | - | - |
| 1.1992 | 1800 | 0.0332 | - | - |
| 1.2658 | 1900 | 0.027 | - | - |
| 1.3324 | 2000 | 0.033 | - | - |
| 1.3991 | 2100 | 0.0441 | - | - |
| 1.4657 | 2200 | 0.0261 | - | - |
| 1.5323 | 2300 | 0.0278 | - | - |
| 1.5989 | 2400 | 0.0217 | - | - |
| 1.6656 | 2500 | 0.0126 | - | - |
| 1.7322 | 2600 | 0.0139 | - | - |
| 1.7988 | 2700 | 0.0325 | - | - |
| 1.8654 | 2800 | 0.0233 | - | - |
| 1.9320 | 2900 | 0.0311 | - | - |
| 1.9987 | 3000 | 0.0144 | - | - |
| 2.0 | 3002 | - | 0.2501 | 0.9047 |
| 2.0653 | 3100 | 0.0069 | - | - |
| 2.1319 | 3200 | 0.0123 | - | - |
| 2.1985 | 3300 | 0.0094 | - | - |
| 2.2652 | 3400 | 0.0184 | - | - |
| 2.3318 | 3500 | 0.0109 | - | - |
| 2.3984 | 3600 | 0.0083 | - | - |
| 2.4650 | 3700 | 0.0158 | - | - |
| 2.5316 | 3800 | 0.0169 | - | - |
| 2.5983 | 3900 | 0.0137 | - | - |
| 2.6649 | 4000 | 0.0069 | - | - |
| 2.7315 | 4100 | 0.0063 | - | - |
| 2.7981 | 4200 | 0.0102 | - | - |
| 2.8648 | 4300 | 0.0107 | - | - |
| 2.9314 | 4400 | 0.0083 | - | - |
| 2.9980 | 4500 | 0.0188 | - | - |
| 3.0 | 4503 | - | 0.2361 | 0.9059 |
@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
HiTZ/BERnaT-base