Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 20
How to use nosysa/vawyembed with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("nosysa/vawyembed")
sentences = [
"According to the provided text, how are capital gains from the sale of private assets and agricultural properties treated for tax purposes in Switzerland?",
"642.1\nBeschluss Inkrafttreten Element Änderung Quelle Publikation\n08.11.2007 01.01.2008 Art. 209 Abs. 2 eingefügt BO/Abl. 49/2007\n08.11.2007 01.01.2007 Art. 241f eingefügt BO/Abl. 49/2007\n09.09.2008 01.01.2008 Art. 239c Abs. 1 geändert BO/Abl. 40/2008\n09.09.2008 01.01.2008 Art. 239c Abs. 2 geändert BO/Abl. 40/2008\n12.12.2008 01.01.2010 Art. 28 Abs. 2 geändert BO/Abl. 3/2009\n12.12.2008 01.01.2009 Art. 29 Abs. 1, i) geändert BO/Abl. 3/2009\n12.12.2008 01.01.2009 Art. 31 Abs. 1, b) geändert BO/Abl. 3/2009\n12.12.2008 01.01.2009 Art. 31 Abs. 1, d) eingefügt BO/Abl. 3/2009\n12.12.2008 01.01.2009 Art. 31 Abs. 1, h) eingefügt BO/Abl. 3/2009\n12.12.2008 01.01.2009 Art. 56 Abs. 4 geändert BO/Abl. 3/2009\n12.12.2008 01.01.2009 Art. 56 Abs. 5 geändert BO/Abl. 3/2009\n12.12.2008 01.01.2009 Art. 56 Abs. 6 geändert BO/Abl. 3/2009\n12.12.2008 01.01.2009 Art. 56 Abs. 7 eingefügt BO/Abl. 3/2009\n12.12.2008 01.01.2009 Art. 112 Abs. 1, h) eingefügt BO/Abl. 3/2009\n12.12.2008 01.01.2009 Art. 138a eingefügt BO/Abl. 3/2009\n12.12.2008 01.01.2009 Art. 164b eingefügt BO/Abl. 3/2009\n12.12.2008 01.01.2009 Art. 166a eingefügt BO/Abl. 3/2009\n12.12.2008 01.01.2009 Art. 167a eingefügt BO/Abl. 3/2009\n12.12.2008 01.01.2009 Art. 186 Abs. 1 geändert BO/Abl. 3/2009\n12.12.2008 01.01.2009 Art. 218 Abs. 1 geändert BO/Abl. 3/2009\n12.12.2008 01.01.2009 Art. 218 Abs. 2 geändert BO/Abl. 3/2009\n12.12.2008 01.01.2009 Art. 218 Abs. 3 geändert BO/Abl. 3/2009\n12.12.2008 01.01.2009 Art. 218 Abs. 4 geändert BO/Abl. 3/2009\n12.12.2008 01.01.2009 Art. 218 Abs. 5 geändert BO/Abl. 3/2009\n12.12.2008 01.01.2009 Art. 219a Abs. 1 geändert BO/Abl. 3/2009\n12.12.2008 01.01.2009 Art. 238 Abs. 4 geändert BO/Abl. 3/2009\n10.09.2010 01.01.2011 Art. 13 Abs. 2 geändert BO/Abl. 39/2010\n10.09.2010 01.01.2011 Art. 15 totalrevidiert BO/Abl. 39/2010\n10.09.2010 01.01.2011 Art.",
"642.1\nf) der Einkünfte, für die der Steuerpflichtige aufgrund eines von der \nSchweiz abgeschlossenen Abkommens zur Vermeidung der Doppel -\nbesteuerung gänzliche oder teilweise Entlastung von ausländischen \nSteuern beansprucht.\n8 Werden Einkünfte aus einem ausländischen Staat von dessen Steuern ent-\nlastet, wenn die Schweiz diese Einkünfte allein oder mit anderen Einkünften \nzum Satz des Gesamteinkommens besteuert, wird die Steuer nicht nur nach \nden in Absatz 7 bezeichneten Einkünften, sondern auch nach allen aufgrund \ndes betreffenden Doppelbesteuerungsabkommens der Schweiz zugewiese -\nnen Einkommensbestandteilen aus dem Quellenstaat bemessen.\n1.1.2 Einkommenssteuer\nArt. 12 1. Steuerbare Einkünfte\n1.1. Steuerbare Einkünfte\n1 Der Einkommenssteuer unterliegen sämtliche wiederkehrenden und ein -\nmaligen Einkünfte aller Art.\n2 Als Einkommen gelten auch Naturalbezüge jeder Art, insbesondere freie \nVerpflegung und Unterkunft sowie der Wert selbstverbrauchter Erzeugnisse \nund Waren des eigenen Betriebes; sie werden nach ihrem Marktwert be -\nmessen. *\n3 Die Kapitalgewinne aus Veräusserung von Privatvermögen sowie land- \nund forstwirtschaftlichen Grundstücken sind steuerfrei; vorbehalten bleibt die \ngesonderte Besteuerung der Grundstückgewinne. *\nArt. 13 1.2. Aus unselbständiger Erwerbstätigkeit\n1 Steuerbar sind alle Einkünfte aus unselbständiger Erwerbstätigkeit aus ei -\nnem privatrechtlichen oder öffentlich-rechtlichen Arbeitsverhältnis, ein-\nschliesslich der Nebeneinkünfte wie Entschädigungen für Sonderleistungen, \nProvisionen, Zulagen, Dienstalters- und Jubiläumsgeschenke, Gratifikatio -\nnen, Trinkgelder, Tantiemen und andere geldwerte Vorteile. Die vom Arbeit -\ngeber getragenen Kosten der berufsorientierten Aus- und Weiterbildung, ein-\nschliesslich Umschulungskosten, stellen unabhängig von deren Höhe kein \nsteuerpflichtiges Einkommen dar. *\n2 Kapitalabfindungen aus einer mit dem Arbeitsverhältnis verbundenen Vor -\nsorgeeinrichtung oder gleichartige Kapitalabfindungen des Arbeitgebers wer-\nden nach Artikel 33b Absatz 1 besteuert. *\n9",
"29 Abs. 1, g) geändert BO/Abl. 39/2012, 5/2013\n14.09.2012 01.01.2013 Art. 29 Abs. 1, n) eingefügt BO/Abl. 39/2012, 5/2013\n14.09.2012 01.01.2013 Art. 30 Abs. 1, b) geändert BO/Abl. 39/2012, 5/2013\n14.09.2012 01.01.2013 Art. 31 Abs. 1, i) eingefügt BO/Abl. 39/2012, 5/2013\n14.09.2012 01.01.2013 Art. 56a eingefügt BO/Abl. 39/2012, 5/2013\n14.09.2012 01.01.2013 Art. 59 Abs. 2 geändert BO/Abl. 39/2012, 5/2013\n14.09.2012 01.01.2013 Art. 89 Abs. 1 geändert BO/Abl. 39/2012, 5/2013\n14.09.2012 01.01.2013 Art. 108 Abs. 3 geändert BO/Abl. 39/2012, 5/2013\n14.09.2012 01.01.2013 Art. 108a Abs. 1 geändert BO/Abl. 39/2012, 5/2013\n14.09.2012 01.01.2013 Art. 108d Abs. 1 geändert BO/Abl. 39/2012, 5/2013\n14.09.2012 01.01.2013 Art. 108d Abs. 2 geändert BO/Abl. 39/2012, 5/2013\n14.09.2012 01.01.2013 Art. 108i totalrevidiert BO/Abl. 39/2012, 5/2013\n14.09.2012 01.01.2013 Art. 117 Abs. 4 aufgehoben BO/Abl. 39/2012, 5/2013\n14.09.2012 01.01.2013 Art. 136 Abs. 1, f) eingefügt BO/Abl. 39/2012, 5/2013\n14.09.2012 01.01.2013 Art. 174 Abs. 1 geändert BO/Abl. 39/2012, 5/2013\n14.09.2012 01.01.2013 Art. 218 Abs. 2 geändert BO/Abl. 39/2012, 5/2013\n14.09.2012 01.01.2013 Art. 4 Abs. 1, b) geändert BO/Abl. 39/2012; 5/2013\n14.09.2012 01.01.2013 Art. 22 Abs. 2 geändert BO/Abl. 39/2012; 5/2013\n12.03.2014 01.01.2015 Art. 108a Abs. 4 geändert BO/Abl. 15/2014\n16.12.2014 01.01.2015 Art. 99 Abs. 1 geändert BO/Abl. 4/2015\n16.12.2014 01.01.2015 Art. 99 Abs. 3 geändert BO/Abl. 4/2015\n16.12.2014 01.01.2015 Art. 180 Abs. 1 geändert BO/Abl. 4/2015\n16.12.2014 01.01.2015 Art. 180 Abs. 2 eingefügt BO/Abl. 4/2015\n16.12.2014 01.01.2016 Art. 241g eingefügt BO/Abl. 4/2015\n16.12.2014 01.01.2015 Art. 241h eingefügt BO/Abl. 4/2015\n09.03.2016 01.01.2016 Art. 11 totalrevidiert BO/Abl."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from sentence-transformers/all-MiniLM-L6-v2. It maps sentences & paragraphs to a 384-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': 256, 'do_lower_case': False}) with Transformer model: BertModel
(1): Pooling({'word_embedding_dimension': 384, '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("sentence_transformers_model_id")
# Run inference
sentences = [
'Erklären Sie, wie der Eigenmietwert für ein unentgeltlich eingeräumtes Wohnrecht berechnet wird und wer die Steuerpflicht dafür trägt.',
'642.1\n2 Für ein unentgeltlich eingeräumtes Wohnrecht hat der Wohnrechtberech -\ntigte den Eigenmietwert zu besteuern. Für ein entgeltlich eingeräumtes \nWohnrecht hat der Eigentümer den Ertrag zu besteuern. Das unbewegliche \nVermögen wird beim Eigentümer besteuert.\n3 Der Eigenmietwert einer unentgeltlich eingeräumten Nutzniessung oder ei -\nnes Wohnrechtes wird gemäss Artikel 17 Absatz 2 berechnet.\nArt. 7 2.2. Erbengemeinschaften und Personengesellschaften\n1 Einkommen und Vermögen von Erbengemeinschaften werden den einzel -\nnen Erben, Einkommen und Vermögen von Kollektiv-, Kommandit- und ein -\nfachen Gesellschaften den einzelnen Teilhabern anteilmässig zugerechnet.\n2 Gleicherweise werden die Verlustanteile und die Passivenüberschüsse be -\nrücksichtigt. Artikel 5 Absatz 2 bleibt vorbehalten.\nArt. 8 2.3. Ausländische Handelsgesellschaften und andere Perso-\nnengesamtheiten ohne juristische Persönlichkeit\n1 Ausländische Handelsgesellschaften und andere ausländische Personen -\ngesamtheiten ohne juristische Persönlichkeit, die kraft wirtschaftlicher Zu -\ngehö-rigkeit steuerpflichtig sind, entrichten ihre Steuern nach den für die ju -\nristischen Personen geltenden Bestimmungen.\nArt. 9 2.4. Steuernachfolge und Schenkung\n1 Stirbt der Steuerpflichtige, so treten seine Erben und Erbinnen in seine/ihre \nRechte und Pflichten ein. Sie haften solidarisch für die vom Erblasser oder \nErblasserin geschuldeten Steuern bis zur Höhe ihrer Erbteile, mit Einschluss \nder Vorempfänge. *\n2 Der überlebende Ehegatte oder Ehegattin haftet mit seinem/ihrem Erbteil \nund dem Betrag, den er oder sie aufgrund ehelichen Güterrechts vom Vor -\nschlag oder Gesamtgut über den gesetzlichen Anteil nach schweizerischem \nRecht hinaus erhält. *\n3 Bei Schenkung haftet der Beschenkte bis zum Wert der Schenkung für die \nvom Schenker geschuldeten Steuern, wenn dieser nicht mehr in der Lage \nist, sie selber zu zahlen.\n6',
'642.1\nArt. 158 3. Nachsteuern\n3.1. Voraussetzungen\n1 Ergibt sich aufgrund von Tatsachen oder Beweismitteln, die der Steuerbe -\nhörde nicht bekannt waren, dass eine Veranlagung zu Unrecht unterblieben \noder eine rechtskräftige Veranlagung unvollständig ist, oder ist eine unter -\nbliebene oder unvollständige Veranlagung auf ein Verbrechen oder ein Ver -\ngehen gegen die Steuerbehörde zurückzuführen, so wird die nicht erhobene \nSteuer samt Zins als Nachsteuer eingefordert. *\n2 Hat der Steuerpflichtige Einkommen, Vermögen, Reingewinn oder Eigen -\nkapital in seiner Steuererklärung vollständig und genau angegeben und ha -\nben die Steuerbehörden die Bewertung anerkannt, so kann keine Nachsteu -\ner wegen ungenügender Bewertung erhoben werden.\n3 Bei Selbstanzeige im Sinne der Artikel 203 ff. wird die Nachsteuer ohne \nZinsen eingefordert. *\nArt. 159 3.2. Verwirkung\n1 Das Recht, ein Nachsteuerverfahren einzuleiten, erlischt zehn Jahre nach \nAblauf der Steuerperiode, für die eine Veranlagung zu Unrecht unterblieben \noder eine rechtskräftige Veranlagung unvollständig ist. *\n2 Die Eröffnung der Strafverfolgung wegen Steuerhinterziehung oder Steuer -\nvergehens gilt zugleich als Einleitung des Nachsteuerverfahrens.\n3 Das Recht, die Nachsteuer festzusetzen, erlischt 15 Jahre nach Ablauf der \nSteuerperiode, auf die sie sich bezieht. *\n4 Die Einleitung eines Nachsteuerverfahrens wird dem Steuerpflichtigen \nschriftlich mitgeteilt. *\n4a Wenn bei Einleitung eines Nachsteuerverfahrens ein Strafverfahren we -\ngen Steuerhinterziehung weder eingeleitet wird, noch hängig ist, noch von \nvornherein ausgeschlossen werden kann, wird die steuerpflichtige Person \nauf die Möglichkeit der späteren Einleitung eines solchen Strafverfahrens \naufmerksam gemacht. *\n5 Das Verfahren, das beim Tod des Steuerpflichtigen noch nicht eingeleitet \noder noch nicht abgeschlossen ist, kann gegenüber den Erben eingeleitet \noder fortgesetzt werden. *\n6 Im Übrigen sind die Vorschriften über die Verfahrensgrundsätze, das Ver -\nanlagungs- und das Beschwerdeverfahren sinngemäss anwendbar. *\n92',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
InformationRetrievalEvaluator| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.3689 |
| cosine_accuracy@3 | 0.5123 |
| cosine_accuracy@5 | 0.5861 |
| cosine_accuracy@10 | 0.6721 |
| cosine_precision@1 | 0.3689 |
| cosine_precision@3 | 0.1708 |
| cosine_precision@5 | 0.1172 |
| cosine_precision@10 | 0.0672 |
| cosine_recall@1 | 0.3689 |
| cosine_recall@3 | 0.5123 |
| cosine_recall@5 | 0.5861 |
| cosine_recall@10 | 0.6721 |
| cosine_ndcg@10 | 0.5087 |
| cosine_mrr@10 | 0.4577 |
| cosine_map@100 | 0.4699 |
sentence_0 and sentence_1| sentence_0 | sentence_1 | |
|---|---|---|
| type | string | string |
| details |
|
|
| sentence_0 | sentence_1 |
|---|---|
Welche Arten von Steuern erhebt der Kanton Wallis gemäß dem Steuergesetz vom 10.03.1976, und welche Steuerarten sind speziell für natürliche und juristische Personen vorgesehen? |
642.1 |
Inwiefern sind die Bestimmungen des Bundesrechts und der Staatsverträge bei interkantonalen und internationalen Beziehungen im Kontext des Steuergesetzes relevant? |
642.1 |
Unter welchen Bedingungen wird eine natürliche Person als steuerpflichtig im Kanton Wallis angesehen, und welche Kriterien müssen erfüllt sein, um einen steuerrechtlichen Wohnsitz oder Aufenthalt zu begründen? |
642.1 |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
eval_strategy: stepsper_device_train_batch_size: 10per_device_eval_batch_size: 10num_train_epochs: 100multi_dataset_batch_sampler: round_robinoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 10per_device_eval_batch_size: 10per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 5e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1num_train_epochs: 100max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.0warmup_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}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: Nonehub_always_push: Falsegradient_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: Falseeval_use_gather_object: Falseaverage_tokens_across_devices: Falseprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: round_robin| Epoch | Step | Training Loss | cosine_ndcg@10 |
|---|---|---|---|
| 0.9259 | 50 | - | 0.2469 |
| 1.0 | 54 | - | 0.2482 |
| 1.8519 | 100 | - | 0.2910 |
| 2.0 | 108 | - | 0.3052 |
| 2.7778 | 150 | - | 0.3974 |
| 3.0 | 162 | - | 0.4210 |
| 3.7037 | 200 | - | 0.4429 |
| 4.0 | 216 | - | 0.4545 |
| 4.6296 | 250 | - | 0.4665 |
| 5.0 | 270 | - | 0.4667 |
| 5.5556 | 300 | - | 0.4777 |
| 6.0 | 324 | - | 0.4882 |
| 6.4815 | 350 | - | 0.4841 |
| 7.0 | 378 | - | 0.4907 |
| 7.4074 | 400 | - | 0.4874 |
| 8.0 | 432 | - | 0.4815 |
| 8.3333 | 450 | - | 0.4790 |
| 9.0 | 486 | - | 0.4742 |
| 9.2593 | 500 | 0.6806 | 0.4876 |
| 10.0 | 540 | - | 0.4876 |
| 10.1852 | 550 | - | 0.4867 |
| 11.0 | 594 | - | 0.4944 |
| 11.1111 | 600 | - | 0.5065 |
| 12.0 | 648 | - | 0.4940 |
| 12.0370 | 650 | - | 0.4932 |
| 12.9630 | 700 | - | 0.4898 |
| 13.0 | 702 | - | 0.4899 |
| 13.8889 | 750 | - | 0.4947 |
| 14.0 | 756 | - | 0.4990 |
| 14.8148 | 800 | - | 0.4901 |
| 15.0 | 810 | - | 0.4893 |
| 15.7407 | 850 | - | 0.5064 |
| 16.0 | 864 | - | 0.5087 |
@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
nreimers/MiniLM-L6-H384-uncased