Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 12
This is a sentence-transformers model finetuned from indobenchmark/indobert-base-p2. 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': 'BertModel'})
(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("yosriku/Indobert-Base-p2-Trash-Medium-EXP3")
# Run inference
sentences = [
'ini, katakan: “Halo,”nya. 4?',
'Pasal 5 Cukup jelas. Pasal 6 Huruf a Cukup jelas. Huruf b',
'(4) Setiap orang berhak untuk berperan dalam perlindungan dan pengelolaan lingkungan hidup sesuai dengan peraturan perundang-undangan.',
]
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.3895, 0.1044],
# [0.3895, 1.0000, 0.0200],
# [0.1044, 0.0200, 1.0000]])
anchor, positive, and negative| anchor | positive | negative | |
|---|---|---|---|
| type | string | string | string |
| details |
|
|
|
| anchor | positive | negative |
|---|---|---|
Apa tujuan utama yang ingin dicapai melalui riset penggunaan teknologi gasifikasi di Pantai Parangtritis? |
Penelitian ini bertujuan untuk mengetahui besarnya potensi energi listrik yang dihasilkan dari sampah organik d i Kawasan Wisata Pantai Parangtritis menggunakan proses gasifikasi |
bahwa dalam pengelolaan sampah diperlukan kepastian hukum, kejelasan tanggung jawab dan kewenangan Pemerintah, pemerintahan daerah, serta peran masyarakat dan dunia usaha sehingga pengelolaan sampah dapat berjalan secara proporsional, efektif, dan |
Jelaskan transparansi pemerintah terkait permohonan dan keputusan izin lingkungan kepada publik. |
Pasal 39 (1) Menteri, gubernur, atau bupati/walikota sesuai dengan kewenangannya wajib mengumumkan setiap permohonan dan keputusan izin lingkungan |
. bahwa untuk p enanganan sampah laut diperlukan komi tmen b. bahwa akibat pencemaran sampah plastik d i laut, telah ditemuk an k andung an plastik berukuran mikro dan nano pada biota dan surnb er daya laut di perairan Indonesia; |
menjadi ini: Kalau kita ingin mendapatkan pengelolaan fisik sampah laut, maka ubah kalimat itu. Sekarang! mereka-sama? lagi sampah tersebut dibuang jadi |
pengelolaan sampah yang bersumber dari darat; c. penanggulangan sampah di pesisir dan laut; d. mekanisme pendanaan, penguatan kelembagaan, pengawasan, dan penegakan hukum; |
Pasal 118 Terhadap tindak pidana sebagaimana dimaksud dalam Pasal 116 ayat (1) huruf a, sanksi pidana dijatuhkan kepada badan usaha yang diwakili oleh pengurus yang berwenang mewakili di dalam dan di luar pengadilan sesuai dengan peraturan |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim",
"gather_across_devices": false
}
per_device_train_batch_size: 64learning_rate: 3e-05num_train_epochs: 5fp16: Truepush_to_hub: Truehub_model_id: yosriku/Indobert-Base-p2-Trash-Medium-EXP3hub_strategy: endhub_private_repo: Falseoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: noprediction_loss_only: Trueper_device_train_batch_size: 64per_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: 3e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 5max_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: 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}parallelism_config: Nonedeepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torch_fusedoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthproject: huggingfacetrackio_space_id: trackioddp_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: Trueresume_from_checkpoint: Nonehub_model_id: yosriku/Indobert-Base-p2-Trash-Medium-EXP3hub_strategy: endhub_private_repo: Falsehub_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: noneftune_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: Trueprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss |
|---|---|---|
| 0.1408 | 10 | 3.3976 |
| 0.2817 | 20 | 2.8671 |
| 0.4225 | 30 | 2.6188 |
| 0.5634 | 40 | 2.6673 |
| 0.7042 | 50 | 2.741 |
| 0.8451 | 60 | 2.6895 |
| 0.9859 | 70 | 2.7324 |
| 1.1268 | 80 | 2.1733 |
| 1.2676 | 90 | 2.0525 |
| 1.4085 | 100 | 2.0191 |
| 1.5493 | 110 | 1.8534 |
| 1.6901 | 120 | 2.003 |
| 1.8310 | 130 | 2.0371 |
| 1.9718 | 140 | 1.9147 |
| 2.1127 | 150 | 1.5047 |
| 2.2535 | 160 | 1.3372 |
| 2.3944 | 170 | 1.5056 |
| 2.5352 | 180 | 1.5057 |
| 2.6761 | 190 | 1.3689 |
| 2.8169 | 200 | 1.5733 |
| 2.9577 | 210 | 1.4809 |
| 3.0986 | 220 | 1.1431 |
| 3.2394 | 230 | 1.0445 |
| 3.3803 | 240 | 0.9646 |
| 3.5211 | 250 | 1.0368 |
| 3.6620 | 260 | 1.139 |
| 3.8028 | 270 | 1.0242 |
| 3.9437 | 280 | 1.0759 |
| 4.0845 | 290 | 0.9034 |
| 4.2254 | 300 | 0.8099 |
| 4.3662 | 310 | 0.7773 |
| 4.5070 | 320 | 0.8002 |
| 4.6479 | 330 | 0.7616 |
| 4.7887 | 340 | 0.7982 |
| 4.9296 | 350 | 0.9101 |
@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
indobenchmark/indobert-base-p2