setfit safetensors bert sentence-transformers text-classification generated_from_setfit_trainer arxiv:2209.11055 base_model:akhooli/sbert_ar_nli_500k_norm base_model:finetune:akhooli/sbert_ar_nli_500k_norm model-index region:us
---
base_model: akhooli/sbert_ar_nli_500k_norm
library_name: setfit
metrics:
- accuracy
pipeline_tag: text-classification
tags:
- setfit
- sentence-transformers
- text-classification
- generated_from_setfit_trainer
widget:
- text: جيد. كل شي جيد فندق عائلي به مواقف مجانيه وامام الفندق العاب للاطفال. الانترنت
    سيئ
- text: مقبول. . الاثاث قديم جدا
- text: المرأة الخارقة
- text: الاسئلة اللي بتطرحا الرواية مقبلة لكن الصيغة غير مقبولة لأننا حتى لما نتسائل
    عن الله و حكمه في خلق أو موت الانسان يجب أن نسأل بإحترام أكثر من ذلك . تعبيرات
    الكاتب في وصف الصحراء و الحياة بها جميل و مفصل. أعجبني التنوع في التسلسل الزمني
    و كأني بقرأ أكثر من قصة لكن يربطها رابط يمنع تفكك تفاصيل الرواية. الغرض من الرواية
    جيد لكن بضع جزئيات كانت مبتزلة بسبب إسلوب الطرح الوقح من رأيي
- text: ضعيف. المول. المويه لونها اصفر المويه الحارة تنقطع الغرفة وسخة الانترنت بفلوس
    وسعره غالي منيب مكرر زيارتي للفندق مرة ثانية
inference: true
model-index:
- name: SetFit with akhooli/sbert_ar_nli_500k_norm
  results:
  - task:
      type: text-classification
      name: Text Classification
    dataset:
      name: Unknown
      type: unknown
      split: test
    metrics:
    - type: accuracy
      value: 0.6874
      name: Accuracy
---

# SetFit with akhooli/sbert_ar_nli_500k_norm

This is a [SetFit](https://github.com/huggingface/setfit) model that can be used for Text Classification. 
This SetFit model uses [akhooli/sbert_ar_nli_500k_norm](https://huggingface.co/akhooli/sbert_ar_nli_500k_norm) as the Sentence Transformer embedding model. 
A [LogisticRegression](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html) instance is used for classification. 
It was trained on akhooli/ar_reviews_100k_3 dataset (4500 samples, as few shot) with 68.7% accuracy. 
There are 3 labels in the dataset: 0: negative, 1:positive, 2:mixed/neutral. 
Normalize the text before classifying as the model uses normalized text. Here's how to use the model: 
```python
pip install setfit
from setfit import SetFitModel
from unicodedata import normalize

# Download model from Hub
model = SetFitModel.from_pretrained("akhooli/setfit_ar_100k_reviews")
# Run inference
queries = [
        "يغلي الماء عند 100 درجة مئوية",
        "فعلا لقد أحببت ذلك الفيلم",
        "🤮 اﻷناناس مع البيتزا؟ إنه غير محبذ",
    "رأيت أناسا بائسين في الطريق",
    "لم يعجبني المطعم رغم أن السعر مقبول",  
    "من باب جبر الخاطر هذه 3 نجوم لتقييم الخدمة",
    "من باب جبر الخواطر، هذه نجمة واحدة لخدمة ﻻ تستحق"
    ]
queries_n = [normalize('NFKC', query) for query in queries]
preds = model.predict(queries_n)
print(preds)
# if you want to see the probabilities for each label
probas = model.predict_proba(queries_n)
print(probas)
```

The rest of this model card is auto generated.

The model has been trained using an efficient few-shot learning technique that involves:

1. Fine-tuning a [Sentence Transformer](https://www.sbert.net) with contrastive learning.
2. Training a classification head with features from the fine-tuned Sentence Transformer.

## Model Details

### Model Description
- **Model Type:** SetFit
- **Sentence Transformer body:** [akhooli/sbert_ar_nli_500k_norm](https://huggingface.co/akhooli/sbert_ar_nli_500k_norm)
- **Classification head:** a [LogisticRegression](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html) instance
- **Maximum Sequence Length:** 512 tokens
- **Number of Classes:** 3 classes
<!-- - **Training Dataset:** [Unknown](https://huggingface.co/datasets/unknown) -->
<!-- - **Language:** Unknown -->
<!-- - **License:** Unknown -->

### Model Sources

- **Repository:** [SetFit on GitHub](https://github.com/huggingface/setfit)
- **Paper:** [Efficient Few-Shot Learning Without Prompts](https://arxiv.org/abs/2209.11055)
- **Blogpost:** [SetFit: Efficient Few-Shot Learning Without Prompts](https://huggingface.co/blog/setfit)

### Model Labels
| Label    | Examples                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Negative | <ul><li>'الكتاب شبيه بكتب التنمية البشرية اللى بتنفخنى ما استفدتش أى حاجة من اللى قرأته ومابذلتش ولاهبذل مجهود أقرأ الباقى..الملخص الكتاب أزال كل حماس جوايا تجاهه بعد عده صفحات من الاخر فقعنى'</li><li>'اختيار سئ للفندق موظفو الاستقبال معاملتهم سيئة للغايه ،وقت تسليم الغرف سئ نصف ساعه تقريبا لتسليم الغرفه ودائما يوجد موظف استقبال واحد فقط ، وعند طلب اي خدمه لاتلبي سريعا ، وعندما اردنا السفر وتسليم الغرف ارادت الموظفة الفلبينيه اخذ مبلغ الف وخمسمائة درهم منا بالزياده ولولا الايميل الذي قمنا بالحجز ولدينا صوره منه كانت حقوقنا ضاعت لديهم حيث انها قالت لي انك لم تدفعي ثمن غرفتين حسبتهم بالزياده علي بثمانمائه وعشره درهم وهي بالنت باربعمائة درهم فقط وكانت منتهي قلة الادب اثناء الحديث معنا فلا انصح بهذا الفندق'</li><li>'لم يعجبني الزخم الهائل من التشبيه والوصف والتعليق على الأحداث ، ربما الحزن كان الطابع العام ولكن لا يبرر هذا الإستخدام المبالغ فيه للتشبيهات الأدبية ، تسلسل الأحداث تضرر بسبب ماسبق ووجدتني أتوقف بعد المنتصف مقررا أنها خيار سئ ، لي على الأقل'</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Mixed    | <ul><li>'في لحظة ما من الرواية، خيل إلي أن رضوى عاشور رحمها الله إنما تكتب سيرتها الذاتية. للحظة فاتني أن الواقع كان معاكسا لأحداث الرواية و أنها في الدنيا كانت فتاة مصرية جاء فلسطيني لخطبتها. رحم الله فقيدة الأدب العربي، كانت متقنة في صنعتها و فنها حد التماهي.. و لو أنها زوجة شاعر الفلسطيني و أم لشاعر فلسطيني، إلا أن ذلك لا ينقص شيئا من العمل الجميل و الدقيق الذي حملته طيات الكتاب. لن أقارن ذلك بثلاثيتها العبقرية الخالدة، لكن الفضاء التاريخي القديم يتيح مساحة أكبر للخيال من الفضاء القريب، حيث سيجزم ألف قارئ قريب من الأحداث زمنيا أن هذا الحدث أو ذاك الموقف غير ممكنين.. التشكيل ممتع جدا و بسيط مع رضوى، و لا يحتاج تخيل شخصياتها مجهودا ضخما، كأنها قدت من غرائز البشر الخام و طبائعها. لا أثر في هذا الكتاب للتصنع. لا في مضمونه و لا أيضا في شكله، شكل الفضفضة المرتبكة التي خالجت امرأة لم تجرب الكتابة يوما لكنها على قدر لا بأس به من الثقافة. ربما لو تجاوزت الكاتبة فكرة قصتين فحسب لبدا الأمر أكثر اتقانا.. الكتاب لا يعج بالأحداث العظيمة و في أغلب فتراته يغيب التشويق و تغيب الرواية و يبدو لك أن تقرأ شيئا ما ليس له منتهى. كما أن ما كتب عن أهم الأحداث أعني صبرا و شاتيلا و جاد و المدرسة و بداية الحرب الأهلية لم يرق الى الشهادة الفريدة، و لن تجد فيه تفاصيل الأدب اضافاته التي يمتاز بها عن التوثيق التاريخي المجرد. بينما حاولت الكاتبة تدارك ذلك مع الأحداث التي تمس بالأعلام الفلسطينية مثل الصائغ و غسان كنفاني و ناجي العلي. حيث أوجدت علاقة ما بهم و شخصيات الرواية في طريقة تقرب قليلا من ذلك الذي نعرفه في . و هو ربط جميل جعل من رقية هنا مثيلة لبطلة صنع الله إبراهيم ذات التي ارتبطت حياتها بشكل أو بآخر بتاريخ مصر الحديث. الطنطورية من هذا المنطلق هي الطنطورة نفسها، شظية من شظاياها حوكت على بلدان العرب و حكت لهم قصة اغتصابها و قصة مقاومتها. غير أن المحاولة كما ذكرت، ظلت خفيفة بسيطة، لا تشق في طلب المعنى الفريد أو الخفي، و إنما تعيد ما قيل، و تكرر ما في الأذهان.. الطنطورية إذا، متعة في القراءة، ألم في المعنى. ليس ذلك الألم الذي نخافه، و نحاول تجنبه، و إنما ذلك الألم الذي لا بد منه، هو ألم التذكر، حتى لا نضيع و لا نفقد الطريق على خارطة الزمن. إنه ذلك الألم الذي علينا أن نحمله أبناءنا، إن عن لنا أن نستمر، و أن نحيا.'</li><li>'الصور غير الواقع . طاقم العمل جيد في الاستقبال والتعامل. الفندق يحتاج لصيانة جدران الغرف و الأرضيات'</li><li>'يحتاج الى الاهتمام اكثر . لا شيء. لا يوجد موقف للسيارات خدمة الواي فاي ليست مجانية والتكييف في بعض الغرف غير جيد خدمات ووسائل التنظيف ضعيفة وغيرها من الاشياء'</li></ul> |
| Positive | <ul><li>'كتاب وجداني ماتع يعرج بك المؤلف فى عالم الروح معراجا لا توصفه عبارات ولا تحده اشارات ومع ذلك امتاع ادبي راقي'</li><li>'رااااااائعة بحق. اسلوب شيق اللهم بارك. وتعبيرات لغوية وجمالية بإسلوب شيق جديد مبتكر. بجد أبدع الدكتور فيها. واجمل ما فيها مفهومها للأشياء الي غير ف نظرتي لأشياء كتييييييييييير بطريقة كويسة جدا'</li><li>'اقامة ممتازة . النظافة والقرب من الحرم. الثلاجة عطلانة'</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |

## Evaluation

### Metrics
| Label   | Accuracy |
|:--------|:---------|
| **all** | 0.6874   |

## Uses

### Direct Use for Inference

First install the SetFit library:

```bash
pip install setfit
```

Then you can load this model and run inference.

```python
from setfit import SetFitModel

# Download from the 🤗 Hub
model = SetFitModel.from_pretrained("akhooli/setfit_ar_100k_reviews")
# Run inference
preds = model("المرأة الخارقة")
```

<!--
### Downstream Use

*List how someone could finetune this model on their own dataset.*
-->

<!--
### Out-of-Scope Use

*List how the model may foreseeably be misused and address what users ought not to do with the model.*
-->

<!--
## Bias, Risks and Limitations

*What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
-->

<!--
### Recommendations

*What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
-->

## Training Details

### Training Set Metrics
| Training set | Min | Median  | Max  |
|:-------------|:----|:--------|:-----|
| Word count   | 1   | 53.0251 | 1598 |

| Label    | Training Sample Count |
|:---------|:----------------------|
| Negative | 1500                  |
| Positive | 1500                  |
| Mixed    | 1500                  |

### Training Hyperparameters
- batch_size: (16, 16)
- num_epochs: (1, 1)
- max_steps: 5000
- sampling_strategy: undersampling
- body_learning_rate: (2e-05, 1e-05)
- head_learning_rate: 0.01
- loss: CosineSimilarityLoss
- distance_metric: cosine_distance
- margin: 0.25
- end_to_end: False
- use_amp: False
- warmup_proportion: 0.1
- l2_weight: 0.01
- seed: 42
- run_name: setfit_reviews_7.5k
- eval_max_steps: -1
- load_best_model_at_end: False

### Training Results
| Epoch  | Step | Training Loss | Validation Loss |
|:------:|:----:|:-------------:|:---------------:|
| 0.0004 | 1    | 0.3397        | -               |
| 0.04   | 100  | 0.2846        | -               |
| 0.08   | 200  | 0.2523        | -               |
| 0.12   | 300  | 0.2248        | -               |
| 0.16   | 400  | 0.2089        | -               |
| 0.2    | 500  | 0.1947        | -               |
| 0.24   | 600  | 0.182         | -               |
| 0.28   | 700  | 0.1614        | -               |
| 0.32   | 800  | 0.1493        | -               |
| 0.36   | 900  | 0.139         | -               |
| 0.4    | 1000 | 0.1128        | -               |
| 0.44   | 1100 | 0.1056        | -               |
| 0.48   | 1200 | 0.0896        | -               |
| 0.52   | 1300 | 0.0748        | -               |
| 0.56   | 1400 | 0.0616        | -               |
| 0.6    | 1500 | 0.0585        | -               |
| 0.64   | 1600 | 0.048         | -               |
| 0.68   | 1700 | 0.0422        | -               |
| 0.72   | 1800 | 0.0371        | -               |
| 0.76   | 1900 | 0.0306        | -               |
| 0.8    | 2000 | 0.028         | -               |
| 0.84   | 2100 | 0.0236        | -               |
| 0.88   | 2200 | 0.0211        | -               |
| 0.92   | 2300 | 0.0173        | -               |
| 0.96   | 2400 | 0.0175        | -               |
| 1.0    | 2500 | 0.0158        | -               |
| 1.04   | 2600 | 0.0153        | -               |
| 1.08   | 2700 | 0.0195        | -               |
| 1.12   | 2800 | 0.0141        | -               |
| 1.16   | 2900 | 0.0113        | -               |
| 1.2    | 3000 | 0.0084        | -               |
| 1.24   | 3100 | 0.0073        | -               |
| 1.28   | 3200 | 0.0073        | -               |
| 1.32   | 3300 | 0.007         | -               |
| 1.3600 | 3400 | 0.0075        | -               |
| 1.4    | 3500 | 0.0068        | -               |
| 1.44   | 3600 | 0.0038        | -               |
| 1.48   | 3700 | 0.0028        | -               |
| 1.52   | 3800 | 0.0031        | -               |
| 1.56   | 3900 | 0.0056        | -               |
| 1.6    | 4000 | 0.0059        | -               |
| 1.6400 | 4100 | 0.0022        | -               |
| 1.6800 | 4200 | 0.0052        | -               |
| 1.72   | 4300 | 0.004         | -               |
| 1.76   | 4400 | 0.004         | -               |
| 1.8    | 4500 | 0.0047        | -               |
| 1.8400 | 4600 | 0.0027        | -               |
| 1.88   | 4700 | 0.0036        | -               |
| 1.92   | 4800 | 0.0039        | -               |
| 1.96   | 4900 | 0.004         | -               |
| 2.0    | 5000 | 0.0048        | -               |

### Framework Versions
- Python: 3.10.14
- SetFit: 1.2.0.dev0
- Sentence Transformers: 3.1.1
- Transformers: 4.45.1
- PyTorch: 2.4.0
- Datasets: 3.0.1
- Tokenizers: 0.20.0

## Citation

### BibTeX
```bibtex
@article{https://doi.org/10.48550/arxiv.2209.11055,
    doi = {10.48550/ARXIV.2209.11055},
    url = {https://arxiv.org/abs/2209.11055},
    author = {Tunstall, Lewis and Reimers, Nils and Jo, Unso Eun Seo and Bates, Luke and Korat, Daniel and Wasserblat, Moshe and Pereg, Oren},
    keywords = {Computation and Language (cs.CL), FOS: Computer and information sciences, FOS: Computer and information sciences},
    title = {Efficient Few-Shot Learning Without Prompts},
    publisher = {arXiv},
    year = {2022},
    copyright = {Creative Commons Attribution 4.0 International}
}
```

<!--
## Glossary

*Clearly define terms in order to be accessible across audiences.*
-->

<!--
## Model Card Authors

*Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
-->

<!--
## Model Card Contact

*Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
-->