SentenceTransformer based on sentence-transformers/paraphrase-multilingual-mpnet-base-v2
This is a sentence-transformers model finetuned from sentence-transformers/paraphrase-multilingual-mpnet-base-v2. 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.
Model Details
Model Description
- Model Type: Sentence Transformer
- Base model: sentence-transformers/paraphrase-multilingual-mpnet-base-v2
- Maximum Sequence Length: 128 tokens
- Output Dimensionality: 768 tokens
- Similarity Function: Cosine Similarity
Model Sources
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
Full Model Architecture
SentenceTransformer(
(0): Transformer({'max_seq_length': 128, '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})
)
Usage
Direct Usage (Sentence Transformers)
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 maksud pantun berikut?\nBertanam padi di sawah,\nDitimbun dengan hampa berat,\nDicangkul dengan beladang,\nDijual oleh anak Bangkahulu;\n\nKalau menguji nak sama merah,\nKalau mengganti nak sama berat,\nKalau mengukur nak sama panjang,\nItulah hokum pada penghulu.',
'Pantun:\nBertanam padi di sawah,\nDitimbun dengan hampa berat,\nDicangkul dengan beladang,\nDijual oleh anak Bangkahulu;\n\nKalau menguji nak sama merah,\nKalau mengganti nak sama berat,\nKalau mengukur nak sama panjang,\nItulah hokum pada penghulu.\n\nTopik: SejutaPantun\nSubjek: Pantun Melayu\nSumber: Penerbit Fajar Bakti Sdn.Bhd; Petaling Jaya\nTahun: 1985\nPengarang: Mohd Yusof Md Nor',
'berkhidmat sebagai guru tetap di Johor. Kerjaya ini berkait rapat dengan hasrat dan minatnya untuk menjadi pengarang. Pada masa yang sama, perasaan benci, kecewa dan marah terhadap kerajaan kolonial British terus membara dalam jiwa Za\'ba. Lantaran itulah, dalam kegiatan awal penulisannya pada Ogos 1916, Za\'ba "melepaskan" bara dendamnya dengan menghunuskan kritikan yang keras, tajam dan lantang terhadap British dan imperialis Barat umumnya. Serangan penanya yang bersifat anti kolonial Barat itu juga dilatari oleh roh keislamannya, di samping hakikat kemunduran serta kemiskinan orang Melayu ketika itu yang turut mendapat pembelaan beliau. Kunci perjuangan beliau, dalam memberikan kepemimpinan pemikirannya terhadap masyarakat Melayu, bertitik tolak di Johor Bahru. Beliau memulakan kerjayanya sebagai guru sekolah di Johor Bahru pada tahun 1916, dan kemudiannya bertukar ke beberapa tempat lain iaitu: 1918: Kolej Melayu Kuala Kangsar 1923: Jabatan Pendidikan, Kuala Lumpur 1924: Kolej Perguruan Sultan Idris, Tanjung Malim 1939: Jabatan Maklumat, Singapura sehingga 1942 1942: Pusat Pengajian Kajian Timur dan Afrika, Universiti London sehingga 1951 1954: Universiti Malaya, Singapura sehingga 1959. Za\'ba ditawarkan bekerja sebagai guru sementara di sekolahnya, dan selepas itu dia memasuki perkhidmatan perguruan di English College, Johor Bharu (Jun 1916-September 1918). Beliau pernah menjadi guru di Maktab Melayu Kuala Kangsar (Oktober 1918-April 1923), dan pada peringkat inilah beliau lulus peperiksaan ikhtisas perguruan (Normal Class, pada tahun 1921); penterjemah di Pejabat Pengarah Sekolah-Sekolah Negeri-Negeri Selat dan Negeri-Negeri Melayu Bersekutu, Kuala Lumpur (Mei 1923-Mac 1924), dan Maktab Perguruan Sultan Idris (MPSI), Tanjung Malim (April 1924-September 1939). Kemudian dan menjadi penterjemah dan juruhebah di Pejabat Penerangan Singapura serta menjadi penyelenggara buku pendidikan Melayu di Jabatan Pelajaran Singapura (Oktober 1939-Januari 1941). Semasa pendudukan Jepun di Tanah Melayu, Za\'ba berkhidmat sebagai ketua pengarang dan penterjemah berita Radio Jepun, serta menyelenggarakan penerbitan buku bagi jabatan Pelajaran dan Agama, Bunkyo-ka (Mac 1942-Julai 1945). Selepas perang dunia kedua tamat, Za\'ba bertugas sebagai penterjemah di Mahkamah Tinggi dalam Pentadbiran Tentera British di Kuala Lumpur (September 1945-Julai 1946); kemudian kembali ke jawatan lamanya sebagai penterjemah kanan bahasa Melayu dan pengarang buku teks di Pejabat pelajaran, Kuala Lumpur (Ogos 1946-Ogos 1947); pensyarah Bahasa Melayu di School of Oriental and African Studies (SOAS), Universiti London (September 1947-hingga bersara pada September 1950). Pada tahun 1953, Za\'ba menjadi pensyarah kanan merangkap Ketua Jabatan Pengajian Melayu yang pertama di Universiti Malaya, Singapura (April 1953-Januari 1959). Semasa di University of London, Za\'ba memperoleh Sarjana Muda Sastera (1953). Za\'ba dan Bahasa Pada tahun 1956, Za\'ba telah mengetuai kongres yang penting bagi bangsa Melayu iaitu Kongres Bahasa dan Persuratan Melayu ketiga, dan pada akhir kongres ini Za\'ba dianugerahi gelaran "Pendeta". Ini dilakukan kerana mengenang jasanya yang tidak terhingga dalam bidang bahasa. Walaupun penglibatannya dalam bidang-bidang lain tidak boleh diperkecil, tetapi sumbangan dan tulisannya dalam bidang bahasa yang paling menonjol. Dalam pendahuluan Pelita Bahasa Melayu Penggal I misalnya, dia mencatatkan kegigihannya menerapkan nahu Arab dan Inggeris kepada bahasa Melayu. Beliau juga meletakkan asas sistem bahasa Melayu baharu baik dalam bidang ejaan, tatabahasa Melayu mahupun retorik. Dengan itu dia menjadi sarjana Melayu yang pertama menghasilkan huraian tatabahasa Melayu yang lengkap dan mendalam. Beliau juga yang menandai babak awal perkembangan ilmu bahasa atau linguistik Melayu baharu sejak tahun 1920-an, kira-kira satu dekad lebih awal daripada tokoh linguistik Amerika, iaitu Leonard Bloomfield yang baru muncul pada awal tahun 1930-an dengan linguistik strukturalnya.” Za‘ba ialah perintis analisis sistem ejaan bahasa Melayu. Menurut Dr. Awang, Profesor Emeritus Dato\' Dr. Asmah Haji Omar menunjukkan analisis ejaan Za‘ba itu berasaskan ilmu fonologi, iaitu kewujudan bunyi mendahului tulisan, huruf ialah lambang bunyi dan ada “hubungan antara fikiran dengan mekanisme bahasa”. Butiran hujah Profesor Emeritus Dato\' Dr. Asmah itu terdapat dalam makalah yang bertajuk “Za‘ba dalam Linguistik: Satu Tinjauan mengenai Aspek Bahasa yang Diutarakannya”. Makalah itu termuat dalam buku Bahasa, Kesusasteraan dan Kebudayaan Melayu (Esei-esei Penghormatan kepada Pendeta Za‘ba) terbitan Kementerian Kebudayaan, Belia dan Sukan, tahun 1976. Dr. Awang juga menyatakan, analisis ejaan itu berasaskan fonetik kerana Za‘ba menggunakan istilah yang sesuai dengan fonetik. Antara istilah itu termasuklah huruf saksi (vokal), huruf benar (konsonan), bunyi kasar dan bunyi halus yang merupakan jenis vokal, bunyi berkait rapat (diftong) dan bunyi berkait renggang (vokal rangkap). Dari segi tatabahasa, Za‘ba meletakkan asas golongan kata dan golongan ayat bahasa Melayu. Dia menggolongkan kata kepada lima golongan yang utama, iaitu nama, perbuatan, sifat, sendi dan seruan. Golongan utama itu dipecahkan kepada subgolongan. Contohnya, di bawah nama ada nama betul dan ganti nama. Di bawah setiap subgolongan itu ada pula pecahan seperti nama, am, nama neka dan nama khas. Perbuatan dipecahkan kepada perbuatan melampau dan perbuatan tidak melampau. Istilah kita kini bagi perbuatan melampau ialah kata kerja transitif dan perbuatan tidak melampau ialah kata kerja tidak transitif. Selain itu, Za‘ba menyatakan ada perbuatan dapat menduduki fungsi nama. Perbuatan itu dinamakan perbuatan nama dan nama perbuatan. Za‘ba membahagikan kata sifat kepada sifat nama dan sifat kata. Istilah kita kini bagi sifat nama ialah adjektif dan sifat kata ialah\n\nAbstrak: Tidak disediakan dalam teks asal.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
Training Details
Training Dataset
Unnamed Dataset
- Size: 67,584 training samples
- Columns:
sentence_0andsentence_1 - Approximate statistics based on the first 1000 samples:
sentence_0 sentence_1 type string string details - min: 10 tokens
- mean: 31.18 tokens
- max: 128 tokens
- min: 34 tokens
- mean: 86.5 tokens
- max: 128 tokens
- Samples:
sentence_0 sentence_1 Apakah maksud pantun berikut?
Terbang helang dari Jawa
Puan dibentuk tukang Serati
Tempat abang membuang nyawa
Tuanlah patut belaku matiPantun:
Terbang helang dari Jawa
Puan dibentuk tukang Serati
Tempat abang membuang nyawa
Tuanlah patut belaku mati
Topik: SejutaPantun
Subjek: Pantun-pantun Melayu Kuno
Sumber: Pantun-pantun Melayu Kuno. Pekanbaru: Yayasan Pusaka Riau
Tahun: 2004
Pengarang: Hasan JunusApakah maksud pantun berikut?
sentan mubeta atengku guser
nguk gere bekeber kudeso ni kuju
suntuk sabe wan ni tenah
nguk gere sawah munentong akuPantun:
sentan mubeta atengku guser
nguk gere bekeber kudeso ni kuju
suntuk sabe wan ni tenah
nguk gere sawah munentong aku
Topik: SejutaPantun
Subjek: Pantun Dalam Bahasa Gajo
Sumber: Beberapa Pantun Ep Virgo. Djakarta: Dikumpulkan L. K. Ara
Tahun: 1971
Pengarang: Ep VirgoApakah maksud pantun berikut?
Lihat ke depan dengan mata
Toleh belakang setiap kali
Jangan buang waktu dan kata
Keduanya tak bisa kembaliPantun:
Lihat ke depan dengan mata
Toleh belakang setiap kali
Jangan buang waktu dan kata
Keduanya tak bisa kembali
Topik: SejutaPantun
Subjek: PANTUN DUA: API UNGGUN DI PERKAMPUNGAN - ASIA PASIFIC CULTURAL VILLAGE, DARWIN NT AUSTRALIA
Sumber: KEBIJAKAN DALAM 1001 PANTUN (WISDOM IN 1001 PANTUN), PT. KOMPAS MEDIA NUSANTARA
Tahun: 2006 (CETAKAN KEDUA)
Pengarang: JOHN GAWA - Loss:
MultipleNegativesRankingLosswith these parameters:{ "scale": 20.0, "similarity_fct": "cos_sim" }
Training Hyperparameters
Non-Default Hyperparameters
per_device_train_batch_size: 32per_device_eval_batch_size: 32num_train_epochs: 1multi_dataset_batch_sampler: round_robin
All Hyperparameters
Click to expand
overwrite_output_dir: Falsedo_predict: Falseprediction_loss_only: Trueper_device_train_batch_size: 32per_device_eval_batch_size: 32per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonelearning_rate: 5e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1num_train_epochs: 1max_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: 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}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: Falsehub_always_push: Falsegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falsefp16_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: Nonedispatch_batches: Nonesplit_batches: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: round_robin
Training Logs
| Epoch | Step | Training Loss |
|---|---|---|
| 0.2367 | 500 | 0.1962 |
| 0.4735 | 1000 | 0.0806 |
| 0.7102 | 1500 | 0.0562 |
| 0.9470 | 2000 | 0.0474 |
Framework Versions
- Python: 3.9.13
- Sentence Transformers: 3.0.1
- Transformers: 4.39.3
- PyTorch: 2.5.1+cu121
- Accelerate: 0.27.2
- Datasets: 2.18.0
- Tokenizers: 0.15.2
Citation
BibTeX
Sentence Transformers
@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",
}
MultipleNegativesRankingLoss
@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}
}
- Downloads last month
- 34