Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 15
How to use truong1301/PhoRanker_viwiki with sentence-transformers:
from sentence_transformers import CrossEncoder
model = CrossEncoder("truong1301/PhoRanker_viwiki")
query = "Which planet is known as the Red Planet?"
passages = [
"Venus is often called Earth's twin because of its similar size and proximity.",
"Mars, known for its reddish appearance, is often referred to as the Red Planet.",
"Jupiter, the largest planet in our solar system, has a prominent red spot.",
"Saturn, famous for its rings, is sometimes mistaken for the Red Planet."
]
scores = model.predict([(query, passage) for passage in passages])
print(scores)This is a Cross Encoder model finetuned from itdainb/PhoRanker using the sentence-transformers library. It computes scores for pairs of texts, which can be used for text reranking and semantic search.
First install the Sentence Transformers library:
pip install -U sentence-transformers
Then you can load this model and run inference.
from sentence_transformers import CrossEncoder
# Download from the 🤗 Hub
model = CrossEncoder("truong1301/PhoRanker_viwiki")
# Get scores for pairs of texts
pairs = [
['Lý thuyết lượng tử ra đời có phải sau khi Einstein nghiên cứu về cơ học lượng tử năm 1906 không?\n', '1957 : Sputnik 1 được phóng vào vũ_trụ , khởi_đầu kỷ_nguyên vũ_trụ của loài_người . Chú chó laika trở_thành động_vật đầu_tiên bay vào vũ_trụ . Ghana giành độc_lập . Hiệp_ước Rome được ký_kết .'],
['Vậy, dù bị Nhật lợi dụng, ông có thực sự tin mình đang giúp ích cho dân tộc không?\n', 'Althusser cũng đã đưa ra khái_niệm về bộ_máy nhà_nước tư_tưởng để giải_thích lý_thuyết về ý_thức hệ của ông . Luận_văn đầu_tiên của ông là " tư_tưởng không có lịch_sử " : trong khi ies ideolog cá_nhân có lịch_sử , xen_kẽ với đấu_tranh giai_cấp nói_chung của xã_hội , hình_thức chung của tư_tưởng là bên ngoài để lịch_sử .'],
['Từ năm 1400, quốc hiệu nước ta là gì?\n', 'Khu_di_tích lịch_sử Kim_Liên , cách trung_tâm thành_phố Vinh 12 km về phía Tây_Nam , là khu di_tích tưởng_niệm Hồ_Chí_Minh tại xã Kim_Liên , huyện Nam_Đàn . Nơi đây gắn với thời niên_thiếu của Hồ_Chí_Minh và còn lưu_giữ những kỷ_niệm thuở nhỏ của cậu bé Nguyễn_Sinh Cung , những dấu tích và những kỷ_vật của gia_đình .'],
['Chiến lược đối ngoại của Singapore có bao gồm việc ràng buộc lợi ích của họ với lợi ích của Mỹ ở Đông Nam Á không?\n', 'Đầu thế_kỷ XIX , đế_quốc Anh cần có một cảng biển cho toàn vùng . Những thương_nhân Anh cần một vị_trí chiến_lược để nghỉ_ngơi và bảo_vệ đội thương_thuyền của đế_chế Anh , cũng như ngăn_chặn nguy_cơ cạnh_tranh của người Hà_Lan trong vùng . Singapore được nước Anh nhắm đến nhờ vị_trí địa_lý then_chốt , án_ngữ eo_biển Malacca của nó .'],
['Nông nghiệp tự cấp và thương mại đóng vai trò như thế nào trong GDP và việc làm của Lào, đặc biệt là từ năm 2000?\n', 'Lâm_nghiệp cũng phát_triển trong phạm_vi rộng của châu Á , ngoại_trừ khu_vực Trung và Tây_Nam_Á . Nghề cá là một nguồn chủ_yếu cung_cấp thực_phẩm ở châu Á , cụ_thể là ở Nhật_Bản .'],
]
scores = model.predict(pairs)
print(scores.shape)
# (5,)
# Or rank different texts based on similarity to a single text
ranks = model.rank(
'Lý thuyết lượng tử ra đời có phải sau khi Einstein nghiên cứu về cơ học lượng tử năm 1906 không?\n',
[
'1957 : Sputnik 1 được phóng vào vũ_trụ , khởi_đầu kỷ_nguyên vũ_trụ của loài_người . Chú chó laika trở_thành động_vật đầu_tiên bay vào vũ_trụ . Ghana giành độc_lập . Hiệp_ước Rome được ký_kết .',
'Althusser cũng đã đưa ra khái_niệm về bộ_máy nhà_nước tư_tưởng để giải_thích lý_thuyết về ý_thức hệ của ông . Luận_văn đầu_tiên của ông là " tư_tưởng không có lịch_sử " : trong khi ies ideolog cá_nhân có lịch_sử , xen_kẽ với đấu_tranh giai_cấp nói_chung của xã_hội , hình_thức chung của tư_tưởng là bên ngoài để lịch_sử .',
'Khu_di_tích lịch_sử Kim_Liên , cách trung_tâm thành_phố Vinh 12 km về phía Tây_Nam , là khu di_tích tưởng_niệm Hồ_Chí_Minh tại xã Kim_Liên , huyện Nam_Đàn . Nơi đây gắn với thời niên_thiếu của Hồ_Chí_Minh và còn lưu_giữ những kỷ_niệm thuở nhỏ của cậu bé Nguyễn_Sinh Cung , những dấu tích và những kỷ_vật của gia_đình .',
'Đầu thế_kỷ XIX , đế_quốc Anh cần có một cảng biển cho toàn vùng . Những thương_nhân Anh cần một vị_trí chiến_lược để nghỉ_ngơi và bảo_vệ đội thương_thuyền của đế_chế Anh , cũng như ngăn_chặn nguy_cơ cạnh_tranh của người Hà_Lan trong vùng . Singapore được nước Anh nhắm đến nhờ vị_trí địa_lý then_chốt , án_ngữ eo_biển Malacca của nó .',
'Lâm_nghiệp cũng phát_triển trong phạm_vi rộng của châu Á , ngoại_trừ khu_vực Trung và Tây_Nam_Á . Nghề cá là một nguồn chủ_yếu cung_cấp thực_phẩm ở châu Á , cụ_thể là ở Nhật_Bản .',
]
)
# [{'corpus_id': ..., 'score': ...}, {'corpus_id': ..., 'score': ...}, ...]
Quora-devCEBinaryClassificationEvaluator| Metric | Value |
|---|---|
| accuracy | 1.0 |
| accuracy_threshold | 0.0001 |
| f1 | 0.9997 |
| f1_threshold | 0.0001 |
| precision | 0.9995 |
| recall | 1.0 |
| average_precision | 1.0 |
sentence_0, sentence_1, and label| sentence_0 | sentence_1 | label | |
|---|---|---|---|
| type | string | string | int |
| details |
|
|
|
| sentence_0 | sentence_1 | label |
|---|---|---|
Lý thuyết lượng tử ra đời có phải sau khi Einstein nghiên cứu về cơ học lượng tử năm 1906 không? |
1957 : Sputnik 1 được phóng vào vũ_trụ , khởi_đầu kỷ_nguyên vũ_trụ của loài_người . Chú chó laika trở_thành động_vật đầu_tiên bay vào vũ_trụ . Ghana giành độc_lập . Hiệp_ước Rome được ký_kết . |
0 |
Vậy, dù bị Nhật lợi dụng, ông có thực sự tin mình đang giúp ích cho dân tộc không? |
Althusser cũng đã đưa ra khái_niệm về bộ_máy nhà_nước tư_tưởng để giải_thích lý_thuyết về ý_thức hệ của ông . Luận_văn đầu_tiên của ông là " tư_tưởng không có lịch_sử " : trong khi ies ideolog cá_nhân có lịch_sử , xen_kẽ với đấu_tranh giai_cấp nói_chung của xã_hội , hình_thức chung của tư_tưởng là bên ngoài để lịch_sử . |
0 |
Từ năm 1400, quốc hiệu nước ta là gì? |
Khu_di_tích lịch_sử Kim_Liên , cách trung_tâm thành_phố Vinh 12 km về phía Tây_Nam , là khu di_tích tưởng_niệm Hồ_Chí_Minh tại xã Kim_Liên , huyện Nam_Đàn . Nơi đây gắn với thời niên_thiếu của Hồ_Chí_Minh và còn lưu_giữ những kỷ_niệm thuở nhỏ của cậu bé Nguyễn_Sinh Cung , những dấu tích và những kỷ_vật của gia_đình . |
0 |
BinaryCrossEntropyLoss with these parameters:{
"activation_fn": "torch.nn.modules.linear.Identity",
"pos_weight": null
}
eval_strategy: stepsper_device_train_batch_size: 32per_device_eval_batch_size: 32num_train_epochs: 1disable_tqdm: Falseoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_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: 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: 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: Falserestore_callback_states_from_checkpoint: 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, '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: Nonedispatch_batches: Nonesplit_batches: 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: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss | Quora-dev_average_precision |
|---|---|---|---|
| 0.0866 | 500 | 0.0913 | 0.9402 |
| 0.1731 | 1000 | 0.0528 | 0.9805 |
| 0.2597 | 1500 | 0.0257 | 0.9948 |
| 0.3462 | 2000 | 0.0134 | 0.9992 |
| 0.4328 | 2500 | 0.0056 | 0.9998 |
| 0.5193 | 3000 | 0.0041 | 0.9999 |
| 0.6059 | 3500 | 0.0014 | 0.9999 |
| 0.6924 | 4000 | 0.0015 | 1.0000 |
| 0.7790 | 4500 | 0.002 | 1.0 |
| 0.8655 | 5000 | 0.0005 | 1.0000 |
| 0.9521 | 5500 | 0.0 | 1.0000 |
| 1.0 | 5777 | - | 1.0000 |
@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",
}
Base model
itdainb/PhoRanker