Instructions to use 81melody/algerian-law-biencoder-v2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use 81melody/algerian-law-biencoder-v2 with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("81melody/algerian-law-biencoder-v2") sentences = [ "q: يا خاوتي دبرو عليا وش ندير ماعرفتش وش نقول عليه كلمة راجل ولا اب ماطيحش عليه لانو مش تاع مسوولية واحد يخلي ولادو للشر يشوفوهم جيعانين... رفعت عليه قضية اهمال وربحني فيها مش عارفة علاش قاتلي المحامية قال بلي راكي ساكنة عندو علا بيها غلبك... ذرك وش ندير نعاود نرفع قضية اهمال ونزيد نخسرها ولا وش ندير الخلع ما عنديش باش ندير محامية... للعلم اعمارهم 17و15سنة خايفة عليهم يضيعو", "p: الكتاب الاول: الزواج وانحلاله — الباب الثاني: انحلال الزواج — الفصل الاول: الطلاق\nالمادة 48\nمع مراعاة احكام المادة 49 ادناه، يحل عقد الزواج بالطلاق الذي يتم بارادة الزوج او بتراضي الزوجين او بطلب من الزوجة في حدود ما ورد في المادتين 53 و54 من هذا القانون.", "p: الكتاب الاول: الزواج وانحلاله — الباب الثاني: انحلال الزواج — الفصل الاول: الطلاق\nالمادة 53\nيجوز للزوجة ان تطلب التطليق للاسباب الاتية : 1 ñ عدم الانفاق بعد صدور الحكم بوجوبه ما لم تكن عالمة باعساره وقت الزواج، مع مراعاة المواد 78 و79و80 من هذا القانون، 2 ñ العيوب التي تحول دون تحقيق الهدف من الزواج، 3 ñ الهجر في المضجع فوق اربعة اشهر، 4 ñ الحكم علي الزوج عن جريمة فيها مساس بشرف الاسرة وتستحيل معها مواصلة العشرة والحياة الزوجية، 5 ñ الغيبة بعد مرور سنة بدون عذر ولا نفقة، 6 ñ مخالفة الاحكام الواردة في المادة 8 اعلاه، 7 ñ ارتكاب فاحشة مبينة، 8 ñ الشقاق المستمر بين الزوجين، 9 ñ مخالفة الشروط المتفق عليها في عقد الزواج، 10 ñ كل ضرر معتبر شرعا.", "p: الكتاب الاول: الزواج وانحلاله — الباب الثاني: انحلال الزواج — الفصل الاول: الطلاق\nالمادة 57 مكرر\nيجوز للقاضي الفصل علي وجه الاستعجال بموجب امر علي عريضة في جميع التدابير الموقتة ولا سيما ما تعلق منها بالنفقة والحضانة والزيارة والمسكن. يجوز للزوجة ان تطلب التطليق للاسباب التالية: 1 - عدم الانفاق بعد صدور الحكم بوجوبه ما لم تكن عالمة باعساره وقت الزواج مع المراعاة المواد 78 و79 و80 من هذا القانون. 2 - العيوب التي تحول دون تحقيق الهدف من الزواج. 3 - الهجر في المضجع فوق اربعة اشهر. 4 - الحكم بعقوبة شاينة مقيدة لحرية الزوج لمدة اكثر من سنة فيها مساس بشرف الاسرة وتستحيل معها مواصلة العشرة والحياة الزوجية. 5 - الغيبة بعد مضي سنة بدون عذر ولا نفقة. 6 - كل ضرر معتبر شرعا ولا سيما اذا نجم عن مخالفة الاحكام الواردة في المادتين 8 و37 اعلاه. 7 - ارتكاب فاحشة مبينة. يجوز للزوجة ان تخالع نفسها من زوجها علي مال يتم الاتفاق عليه فان لم يتفقا علي شيء يحكم القاضي بما لا يتجاوز قيمة صداق المثل وقت الحكم. الاحكام بالطلاق غير قابلة للاستيناف ما عدا في جوانبها المادية. الفصل الثاني اثار الطلاق العدة" ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [4, 4] - Notebooks
- Google Colab
- Kaggle
algerian-law-biencoder-v2
A sentence-transformers dense bi-encoder for Algerian family-law retrieval — maps a user's question (in Darja, Arabizi, or MSA) to a 768-dimensional embedding that retrieves the most relevant article from the Algerian Family Code.
Fine-tuned from 81melody/algerian-law-marbert — a MARBERTv2 model already domain-adapted on Algerian legal text — with MultipleNegativesRankingLoss on 389 (query, article) pairs. Queries are real questions posted by Algerian users in Facebook legal-advice groups (Darja / Arabizi / code-switched); documents are structured Algerian Family Code articles prefixed with their chapter context. Designed as the first stage of a two-stage retrieval pipeline followed by algerian-law-reranker-v1.
| Architecture | MARBERTv2 (768 dim, mean pooling) |
| Task | Asymmetric semantic search — query → law article |
| Languages | Darja · Arabizi · MSA · French · Code-switched |
| Domain | Algerian family law (Droit de la famille, Law 84-11) |
| Training data | 389 (q, p) pairs from Algerian Facebook legal-advice groups |
| NDCG@10 | 0.736 on held-out golden dev set (88-query eval set) |
| MRR@10 | 0.778 |
| License | Apache 2.0 |
Model Details
Model Description
- Model Type: Sentence Transformer
- Base model: 81melody/algerian-law-marbert
- Maximum Sequence Length: 256 tokens
- Output Dimensionality: 768 dimensions
- Similarity Function: Cosine Similarity
- Supported Modality: Text
Model Sources
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
Full Model Architecture
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': 768, 'pooling_mode': 'mean', '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 = [
'q: سلام عليكم حبيت نسقسي في حالة ما حضرش الزوج في الجلسة الاولي من الطلاق بالتراضي او غير رايو..كيفاه يكون الوضع.. والاسيلة لي يطرحوهم في اول جلسة ؟؟',
'p: الكتاب الاول: الزواج وانحلاله — الباب الثاني: انحلال الزواج — الفصل الاول: الطلاق\nالمادة 49\nلا يثبت الطلاق الا بحكم بعد عدة محاولات صلح يجريها القاضي دون ان تتجاوز مدته ثلاثة يتعين علي القاضي تحرير محضر يبين مساعي ونتايج محاولات الصلح، يوقعه مع ااتب الضبط والطرفين. تسجل احكام الطلاق وجوبا في الحالة المدنية بسعي من النيابة العامة.',
'p: الكتاب الاول: الزواج وانحلاله — الباب الثاني: انحلال الزواج — الفصل الثالث: النفقة\nالمادة 75\nتجب نفقة الولد علي الاب ما لم يكن له مال، فبالنسبة للذاور الي سن الرشد والاناث الي الدخول وتستمر في حالة ما اذا كان الولد عاجزا لافة عقلية او بدنية او مزاولا للدراسة وتسقط بالاستغناء عنها بالكسب.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[1.0000, 0.6976, 0.1856],
# [0.6976, 1.0000, 0.2471],
# [0.1856, 0.2471, 1.0000]])
Evaluation
Metrics
Information Retrieval
- Dataset:
dev - Evaluated with
InformationRetrievalEvaluator
| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.7045 |
| cosine_accuracy@3 | 0.8182 |
| cosine_accuracy@5 | 0.8864 |
| cosine_accuracy@10 | 0.9318 |
| cosine_precision@1 | 0.7045 |
| cosine_precision@3 | 0.4394 |
| cosine_precision@5 | 0.3 |
| cosine_precision@10 | 0.1659 |
| cosine_recall@1 | 0.3523 |
| cosine_recall@3 | 0.6591 |
| cosine_recall@5 | 0.75 |
| cosine_recall@10 | 0.8295 |
| cosine_ndcg@10 | 0.7362 |
| cosine_mrr@10 | 0.7779 |
| cosine_map@100 | 0.6708 |
Training Details
Training Dataset
Unnamed Dataset
- Size: 389 training samples
- Columns:
sentence_0andsentence_1 - Approximate statistics based on the first 389 samples:
sentence_0 sentence_1 type string string details - min: 11 tokens
- mean: 58.6 tokens
- max: 256 tokens
- min: 24 tokens
- mean: 103.03 tokens
- max: 230 tokens
- Samples:
sentence_0 sentence_1 q: سلام عليكم فالخلع شحال من جلسة صلح كاين و مدة بين الجلسة و الجلسة وشكراp: الكتاب الاول: الزواج وانحلاله — الباب الثاني: انحلال الزواج — الفصل الاول: الطلاق
المادة 49
لا يثبت الطلاق الا بحكم بعد عدة محاولات صلح يجريها القاضي دون ان تتجاوز مدته ثلاثة يتعين علي القاضي تحرير محضر يبين مساعي ونتايج محاولات الصلح، يوقعه مع ااتب الضبط والطرفين. تسجل احكام الطلاق وجوبا في الحالة المدنية بسعي من النيابة العامة.q: السلام عليكم رفعت قضية خلع حكمولي ب 15 مليون ونا عاملة متربصة وعندي دخل في جديد فقط كيفاش ندير حابة نخلص بشوي كيفاش ندير اسكو كي منخلصش يحكم علي راتب كيفاش نتقاس انا وياه. لي فاهم يفهمني. شكراp: الكتاب الاول: الزواج وانحلاله — الباب الثاني: انحلال الزواج — الفصل الاول: الطلاق
المادة 54
يجوز للزوجة دون موافقة الزوج ان تخالع نفسها بمقابل مالي. اذا لم يتفق الزوجان علي المقابل المالي للخلع، يحكم القاضي بما لا يتجاوز قيمة صداق المثل وقت صدور الحكم.q: السلام عليكم جميعا بنسبة للمطلقة في حالة طليق رفض تسديد مبالغ طلاق تعسفي ماذا تفعل. المطلقة افيدوني شكراp: الكتاب الاول: الزواج وانحلاله — الباب الثاني: انحلال الزواج — الفصل الاول: الطلاق
المادة 52
اذا تبين للقاضي تعسف الزوج في الطلاق حكم للمطلقة بالتعويض عن الضرر اللاحق بها. الطلاق حل عقد الزواج، ويتم بارادة الزوج او بتراضي الزوجين او بطلب من الزوجة في حدود ما ورد في المادتين 53 و54 من هذا القانون. لا يثبت الطلاق الا بحكم بعد محاولة الصلح من طرف القاضي دون ان تتجاوز هذه المدة ثلاثة اشهر. اذا تبين للقاضي تعسف الزوج في الطلاق حكم للمطلقة بالتعويض عن الضرر اللاحق بها. واذا كانت حاضنة ولم يكن لها ولي يقبل ايواءها، يضمن حقها في السكن مع محضونيها حسب وسع الزوج. ويستثني من القرار بالسكن، مسكن الزوجية اذا كان وحيدا. تفقد المطلقة حقها في السكن في حالة زواجها او ثبوت انحرافها. - Loss:
MultipleNegativesRankingLosswith these parameters:{ "scale": 20.0, "similarity_fct": "cos_sim", "gather_across_devices": false, "directions": [ "query_to_doc" ], "partition_mode": "joint", "hardness_mode": null, "hardness_strength": 0.0 }
Training Hyperparameters
Non-Default Hyperparameters
per_device_train_batch_size: 32per_device_eval_batch_size: 32multi_dataset_batch_sampler: round_robin
All Hyperparameters
Click to expand
do_predict: Falseprediction_loss_only: Trueper_device_train_batch_size: 32per_device_eval_batch_size: 32gradient_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: 3max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_ratio: Nonewarmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Trueenable_jit_checkpoint: Falsesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseuse_cpu: Falseseed: 42data_seed: Nonebf16: Falsefp16: Falsebf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: -1ddp_backend: Nonedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonedisable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Falseignore_data_skip: Falsefsdp: []fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}accelerator_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: Nonegroup_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: Truepush_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_for_metrics: []eval_do_concat_batches: Trueauto_find_batch_size: Falsefull_determinism: Falseddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneinclude_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: Trueuse_cache: Falseprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: round_robinrouter_mapping: {}learning_rate_mapping: {}
Training Logs
| Epoch | Step | dev_cosine_ndcg@10 |
|---|---|---|
| 1.0 | 13 | 0.7188 |
| 2.0 | 26 | 0.7226 |
| 3.0 | 39 | 0.7362 |
Training Time
- Training: 1.9 minutes
Framework Versions
- Python: 3.12.13
- Sentence Transformers: 5.4.1
- Transformers: 5.0.0
- PyTorch: 2.10.0+cu128
- Accelerate: 1.13.0
- Datasets: 4.0.0
- Tokenizers: 0.22.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{oord2019representationlearningcontrastivepredictive,
title={Representation Learning with Contrastive Predictive Coding},
author={Aaron van den Oord and Yazhe Li and Oriol Vinyals},
year={2019},
eprint={1807.03748},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/1807.03748},
}
- Downloads last month
- 130
Model tree for 81melody/algerian-law-biencoder-v2
Papers for 81melody/algerian-law-biencoder-v2
Representation Learning with Contrastive Predictive Coding
Evaluation results
- Cosine Accuracy@1 on devself-reported0.705
- Cosine Accuracy@3 on devself-reported0.818
- Cosine Accuracy@5 on devself-reported0.886
- Cosine Accuracy@10 on devself-reported0.932
- Cosine Precision@1 on devself-reported0.705
- Cosine Precision@3 on devself-reported0.439
- Cosine Precision@5 on devself-reported0.300
- Cosine Precision@10 on devself-reported0.166