Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 18
How to use Thugpou/AES_Skripsi with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("Thugpou/AES_Skripsi")
sentences = [
"pada awal rezim orde baru kebijakan ekomomi indonesia disusun oleh sekelompok ekonomekonom lulusan departemen ekonomi universitas california berkeley yang dipanggil mafia berkeley",
"pada awal rezim orde baru kebijakan ekomomi indonesia disusun oleh sekelompok ekonom lulusan departemen ekonomi universitas california berkeley yang dipanggil mafia berkeley",
"anakanak biasanya sembuh lebih cepat dibandingkan orang dewasa",
"jepang disebut nippon atau nihon dalam bahasa jepang"
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from sentence-transformers/paraphrase-multilingual-mpnet-base-v2. It maps sentences & paragraphs to a 256-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}) with Transformer model: XLMRobertaModel
(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': 256, 'bias': True, 'activation_function': 'torch.nn.modules.activation.ReLU'})
(3): 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 = [
'dalam artikelartikelnya ia menerangkan bahwa ekonomi seharusnya tidak ditegaskan melalui pokok persoalannya tetapi sebaiknya ditegaskan sebagai pendekatan untuk menerangkan perilaku manusia',
'dalam artikelnya ia menerangkan bahwa ekonomi seharusnya tidak ditegaskan melalui pokok persoalannya tetapi sebaiknya ditegaskan sebagai pendekatan untuk menerangkan perilaku manusia',
'secara umum matematika adalah pelajaran yang sangat di benci oleh muridmurid sekolah',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 256]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
EmbeddingSimilarityEvaluator| Metric | Value |
|---|---|
| pearson_cosine | 0.6788 |
| spearman_cosine | 0.6896 |
sentence_0, sentence_1, and label| sentence_0 | sentence_1 | label | |
|---|---|---|---|
| type | string | string | float |
| details |
|
|
|
| sentence_0 | sentence_1 | label |
|---|---|---|
seperti anak lakilaki lain yang berasal dari kelas atas di masa itu masa kecilnya kebanyakan dihabiskan di asrama sekolah |
seperti anak lakilaki lain yang berasal dari kelas atas pada masa itu masa kecilnya kebanyakan dihabiskan di asrama sekolah |
1.0 |
di dalam lumen protein tersebut dimodifikasi misalnya dengan penambahan gula ditandai dengan penanda kimiawi dan dipilahpilah agar nantinya dapat dikirim ke tujuannya masingmasing |
di dalam lumen protein tersebut dimodifikasi misalnya dengan penambahan karbohidrat ditandai dengan penanda kimiawi dan dipilahpilah agar nantinya dapat dikirim ke tujuannya masingmasing |
1.0 |
virus merupakan organisme subselular yang karena ukurannya sangat kecil tidak hanya dapat dilihat dengan menggunakan mikroskop elektron |
virus merupakan organisme subselular yang karena ukurannya sangat kecil hanya dapat dilihat dengan menggunakan mikroskop elektron |
0.0 |
CosineSimilarityLoss with these parameters:{
"loss_fct": "torch.nn.modules.loss.MSELoss"
}
eval_strategy: stepsper_device_train_batch_size: 16per_device_eval_batch_size: 16num_train_epochs: 20fp16: Truemulti_dataset_batch_sampler: round_robinoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 16per_device_eval_batch_size: 16per_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: 20max_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: 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}tp_size: 0fsdp_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 | spearman_cosine |
|---|---|---|
| 1.0 | 19 | 0.5953 |
| 2.0 | 38 | 0.5925 |
| 2.6316 | 50 | 0.5896 |
| 3.0 | 57 | 0.5896 |
| 4.0 | 76 | 0.5982 |
| 5.0 | 95 | 0.6125 |
| 5.2632 | 100 | 0.6182 |
| 6.0 | 114 | 0.6182 |
| 7.0 | 133 | 0.6239 |
| 7.8947 | 150 | 0.6296 |
| 8.0 | 152 | 0.6324 |
| 9.0 | 171 | 0.6496 |
| 10.0 | 190 | 0.6667 |
| 10.5263 | 200 | 0.6781 |
| 11.0 | 209 | 0.6838 |
| 12.0 | 228 | 0.6838 |
| 13.0 | 247 | 0.6724 |
| 13.1579 | 250 | 0.6753 |
| 14.0 | 266 | 0.6781 |
| 15.0 | 285 | 0.6896 |
@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",
}