
# SetFit with m3hrdadfi/distilbert-zwnj-wnli-mean-tokens

This is a [SetFit](https://github.com/huggingface/setfit) model that can be used for Text Classification. This SetFit model uses [m3hrdadfi/distilbert-zwnj-wnli-mean-tokens](https://huggingface.co/m3hrdadfi/distilbert-zwnj-wnli-mean-tokens) 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.

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:** [m3hrdadfi/distilbert-zwnj-wnli-mean-tokens](https://huggingface.co/m3hrdadfi/distilbert-zwnj-wnli-mean-tokens)
- **Classification head:** a [LogisticRegression](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html) instance
- **Maximum Sequence Length:** 128 tokens
- **Number of Classes:** 11 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                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 7     | <ul><li>'کیفیت خوب بود ولی سرد تحویل داده شد'</li><li>'حجم ساندويچ ها كم شده'</li><li>'مغزو زبان عالي بود مثل هميشه اما دونر خشك بود و خيلي طول كشيد برسه'</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 4     | <ul><li>'کباب ترکی مخلوط افتضاح ، پر از غضروف مرغ، تو رو خدا یه کم دلسوزتر باشید واقعا من جمعه گشنه موندم، بندری بی مزه بود و طعم تندی و ادویه نداشت، زبان بد نبود و اونم بخاطر پنیر پیتزایی که داشت'</li><li>'ساندويچ هات داگ بسيار بي كيفيت بود ، بهاران ديگه اصلا مثل قديم نيست ، و اين چندمين بار هست كه اين مشكل تكرار ميشه'</li><li>'اندازه ساندویچها خیلی کوچیک شده و گوشت چیزبرگر سفت و دورش سوخته بود، کباب ترکی خوشمزه بود'</li></ul>                                                                                                                                                                  |
| 3     | <ul><li>'حجم غذای ته چین قبلا خیلی خوب بود الان نصف شده دقیقا'</li><li>'سلام ، کیفیت غذا مناسب بود . ما به صورت اینترنتی پرداخت را انجام دادیم ولی پیک هزینه حمل رو می خواست بگیره پول خرد نداشت حدود یک ربع معطل شدیم .پیشنهاد میکنم هزینه ارسال را هم اینترنتی بگیرین و اگر مشکلی هست حداقل اونی که می فرستین 2 هزار تومن پول جیبش باشه.'</li><li>'غذاش بد نبود اما انتظار بیشتری داشتم.'</li></ul>                                                                                                                                                                                                            |
| 5     | <ul><li>'خوشمزه ترين لوبيا پلويي كه تا حالا خورده بودم! عالي بود عالي! سه شنبه ها حتماً امتحان كنيد..?????????? ولي هيچوقت قيمه رو امتحان نكنيد خيلييي بد بود.????'</li><li>'گریل دریایی فوق العاده بود، سس کره لیمو واقعا خوب بود. پنه خیلی معمولی بود .برگر مامامیا هم بزرگ بود تخم مرغ داشت باحال بود. سالاد کنار برگر و پنینی یونانی بود عالی.سالاد مامامیا خیلی بزرگ بود کینوآ نخورده بودم اما دوست داشتم.'</li><li>'خیلی رستوران خوبی است ولی قیمت غذاهاش خیلی زیاد هست و بعضی وقتها غذا بسیار عالی و گاهی بی کیفیت میشود از مایسا توقعم این است که همیشه عالی باشد'</li></ul>                             |
| 0     | <ul><li>'مزه پیتزا خیلی معمولی و نامتناسب با قیمت بود. مزه گوشت هم اصلا خوب نبود.'</li><li>'مواد استفاده شده کیفیت پایین داشت و تازه نبود و از اون گذشته واقعا هیچ طعمی نداشت، تمام سعیمون رو کردیم با کمک انواع سس ها و ادویه جات طعمی به غذا بدیم ولی واقعا نشد سلیقه مشتری به خاطر دسترسی به انواع رستورانها ارتقا پیدا کرده لطفا کمی مقایسه کنید و ارتقا بدید خیلی سادست پنیر مهمترین جزیی از پیتزاست که به اون مزه میده ولی دریغ از اندکی صعم!!!'</li><li>'کیفیت ژامبون وسوسیس وکالباس بکار رفته بی نهایت پایین بود وباقیت پیتزا تناسب نداشت در منو نوشته شده بود سالامی داره اما من هیچ ندیدم .'</li></ul> |
| 8     | <ul><li>'سالاد تازه وخوب ولی سس بسیار کوچک که معمولا مخصوص ساندویچ هست حیفه که سالاد خوب سس خوب نداشته باشه ممنون'</li><li>'برنج قبلا بهتر بود'</li><li>'اصلا به توضیحات توجه نشده بود'</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                |
| 6     | <ul><li>'همبرگرها کاملا سرد بود، داخل همبرگر خیار گذاشته شده بود که تا به حال ما تجربه خیار خام داخل همبرگر رو نداشتیم!!! در کل خیلی خیلی معمولی و در حد فست فودهای بسیاااار متوسط بود نه با هزینه بالای۲۰۰ تومن متاسفانه ارزش نداشت'</li><li>'غذا خوب بود نحوه تحویل توسط پیک اسنپ افتضاح'</li><li>'غذا سرد و بی نمک بود ، همرو با هم ریخته بود تو ظرف فرستاده بود ، باید تفکیک می کردن ، نون خشک و بیات بود ، بسته بندی شون اصلا خوب و بهداشتی نبود'</li></ul>                                                                                                                                                 |
| 2     | <ul><li>'بسیار کیفیت پایینی داشت ..اب طمع خیلی بدی داشت و زبان و گوشت مونده و سیاه بود'</li><li>'اکبر جوجه سفارش دادم یعنی بی کیفیت تر از این تا حالا ندیده بودم اونقدر بد بود غذا به همون شکل کل غذا رو ریختیم دور هر چی میشد اسمشو گذاشت بجز اکبرجوجه خوب نمیتونید درست کنید چرا توی منو میارید خیلی خیلی بی کیفیت'</li><li>'متاسفم واقعا به تمام معنا افتضاح تكه هاي پرتي مرغ پر از چربي وبي كيفيت والبته ران با سينه قاطي'</li></ul>                                                                                                                                                                         |
| 9     | <ul><li>'بسیار تازه بود، بسته بندی خوب و مرتبی داشت، سس خوشمزه ای داشت اما مقدار مرغ اش کم بود ولی در کل من طعمش رو دوست داشتم'</li><li>'انصافا هم\u200cکوبیده ی خوشمزه ای بود هم جوجه کبابش ترد بود و خوشمزه و اصلا خشک\u200cنبود. صرفا به نظرم برنجش کم بود.و گوجه کبابیاشم\u200cدو تا خیلی کوچیک بود. در کل رضایتبخش بود.'</li><li>'سس نداشت ساندویچ'</li></ul>                                                                                                                                                                                                                                               |
| 1     | <ul><li>'واقعا برای سه عدد پاکت(کاغذی) 3 هزار تومن؟؟ بسته بندی اخه 3 هزار تومن بعد تو کاغذ پیچی؟؟؟؟ عجبب'</li><li>'بهاران ساندویچاش کیفیتش و حجمش\u200cخیلی افت کرده'</li><li>'زمان ارسال بسیار طولانی بود. ۲۰ دقیقه دیرتر از زمان اعلام شده تحویل گردید.'</li></ul>                                                                                                                                                                                                                                                                                                                                             |
| 10    | <ul><li>'ممنون ازتون لطفا کیفیت رو حفظ کنید تا وقتی خوب باشه من خودم مشتری ثابت هستم خسته نباشید'</li><li>'واقعا دستتون درد نكنه من نوشته بودم عجله دارم لطفا سريع و داغ برسه نيم ساعته يه غذاى عالي و داغ برامون فرستادن'</li><li>'مثل هميشه عالي بود ، پيك به موقع هم رسيد ماهي تنوري رو اولين بار بود كه سفارش دادم و خيلي خوشم اومد'</li></ul>                                                                                                                                                                                                                                                               |

## Evaluation

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

## 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("keivan/distilbert-zwnj-wnli-mean-tokens")
# 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   | 3   | 21.3377 | 72  |

| Label | Training Sample Count |
|:------|:----------------------|
| 0     | 7                     |
| 1     | 7                     |
| 2     | 7                     |
| 3     | 7                     |
| 4     | 7                     |
| 5     | 7                     |
| 6     | 7                     |
| 7     | 7                     |
| 8     | 7                     |
| 9     | 7                     |
| 10    | 7                     |

### Training Hyperparameters
- batch_size: (8, 8)
- num_epochs: (2, 2)
- max_steps: -1
- sampling_strategy: oversampling
- 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
- seed: 42
- eval_max_steps: -1
- load_best_model_at_end: True

### Training Results
| Epoch   | Step     | Training Loss | Validation Loss |
|:-------:|:--------:|:-------------:|:---------------:|
| 0.0015  | 1        | 0.2733        | -               |
| 0.0742  | 50       | 0.2448        | -               |
| 0.1484  | 100      | 0.2352        | -               |
| 0.2226  | 150      | 0.1307        | -               |
| 0.2967  | 200      | 0.0562        | -               |
| 0.3709  | 250      | 0.0863        | -               |
| 0.4451  | 300      | 0.0256        | -               |
| 0.5193  | 350      | 0.0089        | -               |
| 0.5935  | 400      | 0.0195        | -               |
| 0.6677  | 450      | 0.0082        | -               |
| 0.7418  | 500      | 0.0048        | -               |
| 0.8160  | 550      | 0.0087        | -               |
| 0.8902  | 600      | 0.0098        | -               |
| 0.9644  | 650      | 0.0015        | -               |
| 1.0     | 674      | -             | 0.0302          |
| 1.0386  | 700      | 0.0027        | -               |
| 1.1128  | 750      | 0.0019        | -               |
| 1.1869  | 800      | 0.0013        | -               |
| 1.2611  | 850      | 0.0017        | -               |
| 1.3353  | 900      | 0.0017        | -               |
| 1.4095  | 950      | 0.0018        | -               |
| 1.4837  | 1000     | 0.0019        | -               |
| 1.5579  | 1050     | 0.0015        | -               |
| 1.6320  | 1100     | 0.001         | -               |
| 1.7062  | 1150     | 0.001         | -               |
| 1.7804  | 1200     | 0.0004        | -               |
| 1.8546  | 1250     | 0.0009        | -               |
| 1.9288  | 1300     | 0.0011        | -               |
| **2.0** | **1348** | **-**         | **0.0298**      |

* The bold row denotes the saved checkpoint.
### Framework Versions
- Python: 3.10.12
- SetFit: 1.0.1
- Sentence Transformers: 2.2.2
- Transformers: 4.35.2
- PyTorch: 2.1.0+cu121
- Datasets: 2.15.0
- Tokenizers: 0.15.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.*
-->
{"library_name": "setfit", "tags": ["setfit", "sentence-transformers", "text-classification", "generated_from_setfit_trainer"], "metrics": ["accuracy"], "widget": [{"text": "\u0633\u06cc\u0628 \u0632\u0645\u06cc\u0646\u06cc \u062e\u0648\u0628 \u0628\u0648\u062f \u0648\u0644\u06cc \u0633\u0627\u0646\u062f\u0648\u06cc\u0686 \u0627\u0635\u0644\u0627 \u062c\u0627\u0644\u0628 \u0646\u0628\u0648\u062f \u06a9\u0627\u0645\u0644\u0627 \u0633\u0641\u062a \u0628\u0648\u062f"}, {"text": "\u0634\u0628\u06cc\u0647 \u0634\u0648\u062e\u06cc \u0628\u0648\u062f \u0628\u06cc\u0634\u062a\u0631 \u060c \u0646\u0648\u0634\u062a\u0645 \u0633\u0627\u0646\u062f\u0648\u06cc\u0686 \u0628\u062f\u0648\u0646 \u0642\u0627\u0631\u0686 \u0648 \u062e\u0648\u062f\u0634\u0648\u0645 \u062a\u0648 \u0641\u0627\u06a9\u062a\u0631\u0634 \u0646\u0648\u0634\u062a\u0647 \u060c \u0627\u0645\u0627 \u062a\u0648\u0634 \u06cc\u0647 \u062f\u0646\u06cc\u0627 \u0642\u0627\u0631\u0686 \u062f\u0627\u0634\u062a \u062e\u06cc\u0644\u06cc \u0647\u0645 \u0633\u0631\u062f \u0628\u0648\u062f + \u062e\u06cc\u0644\u06cc \u0647\u0645 \u062f\u06cc\u0631 \u0622\u0648\u0631\u062f"}, {"text": "\u0647\u0645\u0647 \u0686\u06cc\u0632 \u062e\u0648\u0628 \u0648 \u062e\u0648\u0634\u0645\u0632\u0647 \u0628\u0648\u062f\u060c \u062c\u0632 \u0646\u0627\u0646 \u0633\u0646\u06af\u06a9\u060c \u0645\u062b\u0644 \u0646\u0627\u0646 \u0628\u0627\u06af\u062a \u0645\u06cc\u062a\u0648\u0627\u0646\u0633\u062a\u06cc \u0628\u06cc\u0646\u0634 \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc \u0648 \u0645\u0648\u0627\u062f \u0628\u0632\u0627\u0631\u06cc\u060c \u0627\u0648\u0646 \u06a9\u0644\u0647 \u067e\u0627\u0686\u0647 \u062e\u0648\u0634\u0645\u0632\u0647 \u0648 \u0627\u06cc\u0646 \u0646\u0648\u0646 \u0628\u0633\u06cc\u0627\u0631 \u0628\u062f \u0628\u0647 \u0647\u0645 \u0646\u0645\u06cc\u0627\u0646"}, {"text": "\u062e\u0648\u0628\u0647 \u0648\u0644\u06cc \u06a9\u06cc\u0641\u06cc\u062a \u0638\u0631\u0648\u0641 \u0645\u0646\u0627\u0633\u0628 \u0646\u06cc\u0633\u062a"}, {"text": "\u0645\u062a\u0627\u0633\u0641\u0627\u0646\u0647 \u0633\u0641\u0627\u0631\u0634 \u0628\u0646\u062f\u0647 \u0631\u0627 \u0627\u0634\u062a\u0628\u0627\u0647 \u0622\u0648\u0631\u062f\u0647 \u0628\u0648\u062f\u0646\u062f.\u0648 \u0628\u0627 \u06cc\u06a9 \u0633\u0641\u0627\u0631\u0634 \u062f\u06cc\u06af\u0631 \u06a9\u0647 \u0627\u0632 \u0634\u0631\u06a9\u062a \u0628\u0647 \u0635\u0648\u0631\u062a \u062a\u0644\u0641\u0646\u06cc \u0633\u0641\u0627\u0631\u0634 \u06af\u0630\u0627\u0634\u062a\u0647 \u0628\u0648\u062f\u0646\u062f\u060c \u0627\u0634\u062a\u0628\u0627\u0647 \u06af\u0631\u0641\u062a\u0647 \u0628\u0648\u062f\u0646\u062f."}], "pipeline_tag": "text-classification", "inference": true, "base_model": "m3hrdadfi/distilbert-zwnj-wnli-mean-tokens", "model-index": [{"name": "SetFit with m3hrdadfi/distilbert-zwnj-wnli-mean-tokens", "results": [{"task": {"type": "text-classification", "name": "Text Classification"}, "dataset": {"name": "Unknown", "type": "unknown", "split": "test"}, "metrics": [{"type": "accuracy", "value": 0.13636363636363635, "name": "Accuracy"}]}]}]}
setfit safetensors distilbert sentence-transformers text-classification generated_from_setfit_trainer arxiv:2209.11055 base_model:m3hrdadfi/distilbert-zwnj-wnli-mean-tokens model-index region:us