Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 14
How to use yosriku/congen-indobert-lite-base with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("yosriku/congen-indobert-lite-base")
sentences = [
"Sampah macam apa yang cenderung diproduksi oleh pedagang pantai?",
". ungkapan terima kasih juga disampaikan kepada ayah, ibu, serta seluruh keluarga, atas segala doa dan kasih sayangnya.",
"infoHelper answer :Ingat: kumpulkan sampah, olah di tong transmutasi, serahkan ke Crafter, dan jual ke Seller.",
". sedangkan penduduk atau pedagang di pantai cenderung menghasilkan sampah kemasan dan juga sampah organik seperti sisa makanan, tempurung kelapa, sisa ikan dan jualan pasar lainnya yang dihasilkan dari pasar serta warung makan."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from LazarusNLP/congen-indobert-lite-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': 32, 'do_lower_case': False, 'architecture': 'AlbertModel'})
(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})
(2): Dense({'in_features': 768, 'out_features': 768, 'bias': True, 'activation_function': 'torch.nn.modules.activation.Tanh'})
)
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 = [
'Apakah penyidik PPNS memiliki kewenangan untuk memeriksa laporan?',
'berwenang: a. melakukan pemeriksaan atas kebenaran laporan atau keterangan berkenaan di dengan bidang perlindungan pengelolaan lingkungan hidup; tindak pidana dan',
'lingkungan hidup adalah kesatuan ruang dengan semua benda, daya, keadaan, dan makhluk hidup, termasuk manusia dan perilakunya, yang mempengaruhi alam itu sendiri, kelangsungan perikehidupan, dan kesejahteraan manusia serta makhluk hidup lain.',
]
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.5783, -0.0924],
# [ 0.5783, 1.0000, 0.0538],
# [-0.0924, 0.0538, 1.0000]])
retrieval-validation and ai-faq-validationTripletEvaluator| Metric | retrieval-validation | ai-faq-validation |
|---|---|---|
| cosine_accuracy | 1.0 | 1.0 |
anchor, positive, and negative| anchor | positive | negative | |
|---|---|---|---|
| type | string | string | string |
| details |
|
|
|
| anchor | positive | negative |
|---|---|---|
Apa maksud dari paragraf 4? |
berlaku terhadap paragraf 4 hak gugat pemerintah dan pemerintah daerah pasal 90 |
berkunjung ke objek wisata bantul tahun 2019 menurut statistik kepariwisataan d.i.yogyakarta tahun 2019 mencapai 8 juta wisatawan, sekitar 2,7 juta diantaranya berkunjung ke pantai parangtritis dan 52 ribu |
Bolehkah HPP meminta bantuan ahli untuk menyelidiki? |
terdapat bukti, f. meminta bantuan ahli dalam pelaksanaan tugas penyidikan tindak pidana di bidang pengelolaan sampah. |
kawasan komersial berupa, antara lain, pusat perdagangan, pasar, pertokoan, hotel, perkantoran, restoran, dan tempat hiburan. |
Apa arti lainnya dari simbol "45" pada nama koperasi itu? |
. kedua sebagai untuk mengenang jasa pahlawan kemerdekaan di tahun 1945 |
data sekunder mengambil informasi kondisi eksisting dan pengelolaan sampah pada dinas pariwisata kabupaten bantul. 2. berdasarkan tempat, pengambilan data penelitian adalah penelitian lapangan. |
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 |
|---|---|---|
Gambar 4.9 menunjukkan kegiatan seperti itu? |
gambar 4. 9 tpl pantai depok 31 4.1.3 pantai goa cemara |
. masyarakat hukum adat adalah kelompok masyarakat yang secara turun temurun bermukim di wilayah geografis tertentu karena adanya ikatan pada asal usul leluhur, adanya hubungan yang kuat dengan lingkungan hidup, serta adanya sistem nilai yang |
Apa arti dari Pasal 47 ayat 11? |
paragraf 11 analisis risiko lingkungan hidup pasal 47 |
penerapan teknologi yang diperkirakan mempunyai besar untuk potensi mempengaruhi lingkungan hidup. |
Bagaimana dengan daya dukung lingkungan hidup? |
fungsi 7. daya adalah lingkungan kemampuan lingkungan hidup untuk mendukung perikehidupan manusia, makhluk hidup lain, dan keseimbangan antarkeduanya. dukung hidup 8. daya |
78.8 10.83 51.34 8.16 11 76.21 48.13 19.95 51 2.4 5.53 13.28 13 0.9 0.82 48.66 3.15 0.08 3.68 1 5.56 1.21 17.82 36.23 5 19 9 6 85 |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim",
"gather_across_devices": false
}
eval_strategy: stepsper_device_train_batch_size: 128per_device_eval_batch_size: 128learning_rate: 2e-05num_train_epochs: 0.5warmup_ratio: 0.1load_best_model_at_end: Truebatch_sampler: no_duplicatesoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 128per_device_eval_batch_size: 128per_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: 0.5max_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: 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: Trueignore_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: 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: 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: no_duplicatesmulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss | Validation Loss | retrieval-validation_cosine_accuracy | ai-faq-validation_cosine_accuracy |
|---|---|---|---|---|---|
| -1 | -1 | - | - | 0.9990 | - |
| 0.0893 | 10 | 2.2994 | 0.3824 | 0.9995 | - |
| 0.1786 | 20 | 1.8925 | 0.2965 | 1.0 | - |
| 0.2679 | 30 | 1.5729 | 0.2591 | 1.0 | - |
| 0.3571 | 40 | 1.2261 | 0.2386 | 1.0 | - |
| 0.4464 | 50 | 0.9373 | 0.2293 | 1.0 | - |
| -1 | -1 | - | - | - | 1.0 |
@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
LazarusNLP/congen-indobert-lite-base