Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 16
How to use skripsiskripsi/myskripsisbert with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("skripsiskripsi/myskripsisbert")
sentences = [
"jaringan yang digunakan untuk pengiriman data ",
"bluetooth adalah perangkat yang menjadi media tukar menukar (menerima mengirim) informasi di antara peralatan eketronik. bluetooth merupakan media tanpa kabel. biasanya bluethooth digunakan untuk mengirim foto atau file antar handphone.",
"data merupakan rangkaian fakta yang mewakili suatu kejadian, atau dapat di sebut dengan simbol yang terekam. informasi adalah makna yang dapat di tafsirkan dari data. pengetahuan adalah informasi yang telah dimaknai sehingga dapat digunakan untuk meningkatkan pengertian atau pemahaman.",
"topologi jaringan adalah struktur jaringan fisik yang digunakan untuk implementasi lan (local area network). unsur dasar penyusun jaringan, yaitu node, link, dan station. contoh topologi bintang (star) , topologi cincin (ring) , topologi bus, topologi pohon (tree), topologi linier"
]
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-MiniLM-L12-v2. It maps sentences & paragraphs to a 384-dimensional dense vector space and can be used for retrieval.
SentenceTransformer(
(0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'BertModel'})
(1): Pooling({'embedding_dimension': 384, 'pooling_mode': 'mean', '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("sentence_transformers_model_id")
# Run inference
sentences = [
'spesifikasi industri untuk jaringan kawasan pribadi (personal area networks atau pan) tanpa kabel. bluetooth menghubungkan dan dapat dipakai untuk melakukan tukar-menukar informasi di antara peralatan-peralatan. ',
'bluetooth adalah perangkat yang menjadi media tukar menukar (menerima mengirim) informasi di antara peralatan eketronik. bluetooth merupakan media tanpa kabel. biasanya bluethooth digunakan untuk mengirim foto atau file antar handphone.',
'lcd (liquid crystal display), cpu (central processing unit), gps (global positioning system)',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[1.0000, 0.4212, 0.1034],
# [0.4212, 1.0000, 0.1189],
# [0.1034, 0.1189, 1.0000]])
valEmbeddingSimilarityEvaluator| Metric | Value |
|---|---|
| pearson_cosine | 0.9196 |
| spearman_cosine | 0.9021 |
sentence_0, sentence_1, and label| sentence_0 | sentence_1 | label | |
|---|---|---|---|
| type | string | string | float |
| modality | text | text | |
| details |
|
|
|
| sentence_0 | sentence_1 | label |
|---|---|---|
alat yang dipakai untuk mengolah data menurut prosedur yang telah dirumuskan dimana komputer itu sendiri merupakan perangkat elektronik yang terdiri dari beberapa komponen yang saling bekerja sama membentuk sebuah sistem kerja yang dapat menjalankan pekerjaan secara otomatis berdasar urutan instruksi ataupun program yang diberikan kepadanya sehingga dapat menghasilkan suatu informasi berdasarkan program dan data yang ada. |
komputer adalah rangkaian mesin elektronik yang dapat bekerja sama. sistem ini digunakan untuk memudahkan pekerjaan manusia. komputer bekerja otomatis berdasarkan urutan instruksi atau program yang diberikan. |
0.29333333333333333 |
informasi yang dibutuhkan akan semakin cepat dan mudah di akses untuk kepentingan pendidikan. inovasi dalam pembelajaran semakin berkembang dengan adanya inovasi e-learning yang semakin memudahkan proses pendidikan. kemajuan tik juga akan memungkinkan berkembangnya kelas virtual atau kelas yang berbasis teleconference yang tidak mengharuskan sang pendidik dan peserta didik berada dalam satu ruangan. |
- memperluas pemasaran sehingga tidak mempermasalahkan jarak dan waktu - mengurangi biaya produksi, promosi - mempermudah penyimpanan data penjualan, data barang maupun laporan keuangan - menggantikan pekerjaan manual menjadi otomatis - proses produksi lebih cepat dan praktis |
0.25666666666666665 |
bisnis berjalan cepat , dapat maju dengan peasat , banyak informasi yang di dapat |
- memperluas pemasaran sehingga tidak mempermasalahkan jarak dan waktu - mengurangi biaya produksi, promosi - mempermudah penyimpanan data penjualan, data barang maupun laporan keuangan - menggantikan pekerjaan manual menjadi otomatis - proses produksi lebih cepat dan praktis |
0.23 |
CosineSimilarityLoss with these parameters:{
"loss_fct": "torch.nn.modules.loss.MSELoss",
"cos_score_transformation": "torch.nn.modules.linear.Identity"
}
per_device_train_batch_size: 16num_train_epochs: 4per_device_eval_batch_size: 16multi_dataset_batch_sampler: round_robinper_device_train_batch_size: 16num_train_epochs: 4max_steps: -1learning_rate: 5e-05lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_steps: 0optim: adamw_torch_fusedoptim_args: Noneweight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08optim_target_modules: Nonegradient_accumulation_steps: 1average_tokens_across_devices: Truemax_grad_norm: 1label_smoothing_factor: 0.0bf16: Falsefp16: Falsebf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Nonetorch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneuse_liger_kernel: Falseliger_kernel_config: Noneuse_cache: Falseneftune_noise_alpha: Nonetorch_empty_cache_steps: Noneauto_find_batch_size: Falselog_on_each_node: Truelogging_nan_inf_filter: Trueinclude_num_input_tokens_seen: nolog_level: passivelog_level_replica: warningdisable_tqdm: Falseproject: huggingfacetrackio_space_id: Nonetrackio_bucket_id: Nonetrackio_static_space_id: Noneper_device_eval_batch_size: 16prediction_loss_only: Trueeval_on_start: Falseeval_do_concat_batches: Trueeval_use_gather_object: Falseeval_accumulation_steps: Noneinclude_for_metrics: []batch_eval_metrics: Falsesave_only_model: Falsesave_on_each_node: Falseenable_jit_checkpoint: Falsepush_to_hub: Falsehub_private_repo: Nonehub_model_id: Nonehub_strategy: every_savehub_always_push: Falsehub_revision: Noneload_best_model_at_end: Falseignore_data_skip: Falserestore_callback_states_from_checkpoint: Falsefull_determinism: Falseseed: 42data_seed: Noneuse_cpu: Falseaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}parallelism_config: Nonedataloader_drop_last: Falsedataloader_num_workers: 0dataloader_pin_memory: Truedataloader_persistent_workers: Falsedataloader_prefetch_factor: Noneremove_unused_columns: Truelabel_names: Nonetrain_sampling_strategy: randomlength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falseddp_static_graph: Noneddp_backend: Noneddp_timeout: 1800fsdp: Nonefsdp_config: Nonedeepspeed: Nonedebug: []skip_memory_metrics: Truedo_predict: Falseresume_from_checkpoint: Nonewarmup_ratio: Nonelocal_rank: -1prompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: round_robinrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | val_spearman_cosine |
|---|---|---|
| 1.0 | 23 | 0.8524 |
| 2.0 | 46 | 0.8764 |
| 3.0 | 69 | 0.9021 |
@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",
}