Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 13
How to use varin/jamniti-law-reranker-v1 with sentence-transformers:
from sentence_transformers import CrossEncoder
model = CrossEncoder("varin/jamniti-law-reranker-v1")
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 trained 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("cross_encoder_model_id")
# Get scores for pairs of texts
pairs = [
['หากมีการทำข้อตกลงยกเว้นการบังคับใช้มาตรา 224/1 วรรคหนึ่ง เพื่อให้เจ้าหนี้ได้ประโยชน์มากขึ้น ข้อตกลงนั้นจะตกเป็นอย่างไร?', 'ประมวลกฎหมายแพ่งและพาณิชย์ มาตรา 224/1 ถ้าลูกหนี้มีหน้าที่ผ่อนชำระหนี้เงินเป็นงวด และลูกหนี้ผิดนัดไม่ชำระหนี้ในงวดใด เจ้าหนี้อาจเรียกดอกเบี้ยในระหว่างเวลาผิดนัดได้เฉพาะจากต้นเงินของงวดที่ลูกหนี้ผิดนัดนั้น ข้อตกลงใดขัดกับความในวรรคหนึ่ง ข้อตกลงนั้นเป็นโมฆะ'],
['ทรัพย์สินประเภทใดบ้างที่ถือว่าเป็นสินสมรสตามประมวลกฎหมายแพ่งและพาณิชย์?', 'ประมวลกฎหมายแพ่งและพาณิชย์ มาตรา 1474 สินสมรสได้แก่ทรัพย์สิน (1) ที่คู่สมรสได้มาระหว่างสมรส (2) ที่ฝ่ายใดฝ่ายหนึ่งได้มาระหว่างสมรสโดยพินัยกรรมหรือโดยการให้เป็นหนังสือเมื่อพินัยกรรมหรือหนังสือยกให้ระบุว่าเป็นสินสมรส (3) ที่เป็นดอกผลของสินส่วนตัว ถ้ากรณีเป็นที่สงสัยว่าทรัพย์สินอย่างหนึ่งเป็นสินสมรสหรือมิใช่ ให้สันนิษฐานไว้ก่อนว่าเป็นสินสมรส'],
['ทรัพย์สินของมูลนิธิจะตกเป็นของแผ่นดินในกรณีใดบ้างตามมาตรา 134', 'ทรัพย์สินจะตกเป็นของแผ่นดินทันทีที่มูลนิธิประกาศเลิกกิจการโดยไม่คำนึงถึงข้อบังคับของมูลนิธิ'],
['ผู้จัดการชั่วคราวที่ศาลตั้งขึ้นตามมาตรา 1598/10 มีหน้าที่หลักอย่างไร', 'มีหน้าที่ในการอบรมสั่งสอนและดูแลความประพฤติของผู้อยู่ในปกครองแทนผู้ปกครองที่ถูกร้องขอให้ถอน'],
['ข้อห้ามตามมาตรา 1066 ครอบคลุมถึงการกระทำในลักษณะใดบ้าง', 'ประมวลกฎหมายแพ่งและพาณิชย์ มาตรา 1066 ห้ามมิให้ผู้เป็นหุ้นส่วนคนหนึ่งคนใดในห้างหุ้นส่วนจดทะเบียนประกอบกิจการอย่างหนึ่งอย่างใดอันมีสภาพเป็นอย่างเดียวกัน และเป็นการแข่งขันกับกิจการของห้างหุ้นส่วนนั้น ไม่ว่าทำเพื่อประโยชน์ตนหรือเพื่อประโยชน์ผู้อื่น หรือไปเข้าเป็นหุ้นส่วนไม่จำกัดความรับผิดในห้างหุ้นส่วนอื่น ซึ่งประกอบกิจการอันมีสภาพเป็นอย่างเดียวกัน และแข่งขันกับกิจการของห้างหุ้นส่วนจดทะเบียนนั้น เว้นไว้แต่จะได้รับคำยินยอมของผู้เป็นหุ้นส่วนอื่นทั้งหมด แต่ข้อห้ามเช่นว่ามานี้ ท่านว่าจะไม่พึงใช้ได้ ถ้าหากผู้เป็นหุ้นส่วนทั้งหลายได้รู้อยู่แล้วในเวลาเมื่อลงทะเบียนห้างหุ้นส่วนนั้นว่า ผู้เป็นหุ้นส่วนคนหนึ่งได้ทำกิจการ หรือเข้าเป็นหุ้นส่วนอยู่ในห้างหุ้นส่วนอื่นอันมีวัตถุที่ประสงค์อย่างเดียวกัน และในสัญญาเข้าหุ้นส่วนที่ทำไว้ต่อกันนั้นก็ไม่ได้บังคับให้ถอนตัวออก'],
]
scores = model.predict(pairs)
print(scores.shape)
# (5,)
# Or rank different texts based on similarity to a single text
ranks = model.rank(
'หากมีการทำข้อตกลงยกเว้นการบังคับใช้มาตรา 224/1 วรรคหนึ่ง เพื่อให้เจ้าหนี้ได้ประโยชน์มากขึ้น ข้อตกลงนั้นจะตกเป็นอย่างไร?',
[
'ประมวลกฎหมายแพ่งและพาณิชย์ มาตรา 224/1 ถ้าลูกหนี้มีหน้าที่ผ่อนชำระหนี้เงินเป็นงวด และลูกหนี้ผิดนัดไม่ชำระหนี้ในงวดใด เจ้าหนี้อาจเรียกดอกเบี้ยในระหว่างเวลาผิดนัดได้เฉพาะจากต้นเงินของงวดที่ลูกหนี้ผิดนัดนั้น ข้อตกลงใดขัดกับความในวรรคหนึ่ง ข้อตกลงนั้นเป็นโมฆะ',
'ประมวลกฎหมายแพ่งและพาณิชย์ มาตรา 1474 สินสมรสได้แก่ทรัพย์สิน (1) ที่คู่สมรสได้มาระหว่างสมรส (2) ที่ฝ่ายใดฝ่ายหนึ่งได้มาระหว่างสมรสโดยพินัยกรรมหรือโดยการให้เป็นหนังสือเมื่อพินัยกรรมหรือหนังสือยกให้ระบุว่าเป็นสินสมรส (3) ที่เป็นดอกผลของสินส่วนตัว ถ้ากรณีเป็นที่สงสัยว่าทรัพย์สินอย่างหนึ่งเป็นสินสมรสหรือมิใช่ ให้สันนิษฐานไว้ก่อนว่าเป็นสินสมรส',
'ทรัพย์สินจะตกเป็นของแผ่นดินทันทีที่มูลนิธิประกาศเลิกกิจการโดยไม่คำนึงถึงข้อบังคับของมูลนิธิ',
'มีหน้าที่ในการอบรมสั่งสอนและดูแลความประพฤติของผู้อยู่ในปกครองแทนผู้ปกครองที่ถูกร้องขอให้ถอน',
'ประมวลกฎหมายแพ่งและพาณิชย์ มาตรา 1066 ห้ามมิให้ผู้เป็นหุ้นส่วนคนหนึ่งคนใดในห้างหุ้นส่วนจดทะเบียนประกอบกิจการอย่างหนึ่งอย่างใดอันมีสภาพเป็นอย่างเดียวกัน และเป็นการแข่งขันกับกิจการของห้างหุ้นส่วนนั้น ไม่ว่าทำเพื่อประโยชน์ตนหรือเพื่อประโยชน์ผู้อื่น หรือไปเข้าเป็นหุ้นส่วนไม่จำกัดความรับผิดในห้างหุ้นส่วนอื่น ซึ่งประกอบกิจการอันมีสภาพเป็นอย่างเดียวกัน และแข่งขันกับกิจการของห้างหุ้นส่วนจดทะเบียนนั้น เว้นไว้แต่จะได้รับคำยินยอมของผู้เป็นหุ้นส่วนอื่นทั้งหมด แต่ข้อห้ามเช่นว่ามานี้ ท่านว่าจะไม่พึงใช้ได้ ถ้าหากผู้เป็นหุ้นส่วนทั้งหลายได้รู้อยู่แล้วในเวลาเมื่อลงทะเบียนห้างหุ้นส่วนนั้นว่า ผู้เป็นหุ้นส่วนคนหนึ่งได้ทำกิจการ หรือเข้าเป็นหุ้นส่วนอยู่ในห้างหุ้นส่วนอื่นอันมีวัตถุที่ประสงค์อย่างเดียวกัน และในสัญญาเข้าหุ้นส่วนที่ทำไว้ต่อกันนั้นก็ไม่ได้บังคับให้ถอนตัวออก',
]
)
# [{'corpus_id': ..., 'score': ...}, {'corpus_id': ..., 'score': ...}, ...]
valCEBinaryClassificationEvaluator| Metric | Value |
|---|---|
| accuracy | 1.0 |
| accuracy_threshold | 1.0 |
| f1 | 1.0 |
| f1_threshold | 1.0 |
| precision | 1.0 |
| recall | 1.0 |
| average_precision | 1.0 |
sentence_0, sentence_1, and label| sentence_0 | sentence_1 | label | |
|---|---|---|---|
| type | string | string | float |
| details |
|
|
|
| sentence_0 | sentence_1 | label |
|---|---|---|
หากมีการทำข้อตกลงยกเว้นการบังคับใช้มาตรา 224/1 วรรคหนึ่ง เพื่อให้เจ้าหนี้ได้ประโยชน์มากขึ้น ข้อตกลงนั้นจะตกเป็นอย่างไร? |
ประมวลกฎหมายแพ่งและพาณิชย์ มาตรา 224/1 ถ้าลูกหนี้มีหน้าที่ผ่อนชำระหนี้เงินเป็นงวด และลูกหนี้ผิดนัดไม่ชำระหนี้ในงวดใด เจ้าหนี้อาจเรียกดอกเบี้ยในระหว่างเวลาผิดนัดได้เฉพาะจากต้นเงินของงวดที่ลูกหนี้ผิดนัดนั้น ข้อตกลงใดขัดกับความในวรรคหนึ่ง ข้อตกลงนั้นเป็นโมฆะ |
1.0 |
ทรัพย์สินประเภทใดบ้างที่ถือว่าเป็นสินสมรสตามประมวลกฎหมายแพ่งและพาณิชย์? |
ประมวลกฎหมายแพ่งและพาณิชย์ มาตรา 1474 สินสมรสได้แก่ทรัพย์สิน (1) ที่คู่สมรสได้มาระหว่างสมรส (2) ที่ฝ่ายใดฝ่ายหนึ่งได้มาระหว่างสมรสโดยพินัยกรรมหรือโดยการให้เป็นหนังสือเมื่อพินัยกรรมหรือหนังสือยกให้ระบุว่าเป็นสินสมรส (3) ที่เป็นดอกผลของสินส่วนตัว ถ้ากรณีเป็นที่สงสัยว่าทรัพย์สินอย่างหนึ่งเป็นสินสมรสหรือมิใช่ ให้สันนิษฐานไว้ก่อนว่าเป็นสินสมรส |
1.0 |
ทรัพย์สินของมูลนิธิจะตกเป็นของแผ่นดินในกรณีใดบ้างตามมาตรา 134 |
ทรัพย์สินจะตกเป็นของแผ่นดินทันทีที่มูลนิธิประกาศเลิกกิจการโดยไม่คำนึงถึงข้อบังคับของมูลนิธิ |
0.0 |
BinaryCrossEntropyLoss with these parameters:{
"activation_fn": "torch.nn.modules.linear.Identity",
"pos_weight": null
}
eval_strategy: stepsnum_train_epochs: 1fp16: Trueoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 8per_device_eval_batch_size: 8per_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: 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}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: batch_samplermulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss | val_average_precision |
|---|---|---|---|
| 0.1071 | 500 | 0.0 | 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",
}