SetFit with akhooli/sbert_ar_nli_500k_norm

This is a SetFit model that can be used for Text Classification. This SetFit model uses akhooli/sbert_ar_nli_500k_norm as the Sentence Transformer embedding model. A LogisticRegression instance is used for classification. Normalize the text before classifying as the model uses normalized text. Here's how to use the model:

pip install setfit
from setfit import SetFitModel
from unicodedata import normalize

# Download model from Hub
model = SetFitModel.from_pretrained("akhooli/setfit_ar_sst2")
# 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 card is auto-generated.

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

  1. Fine-tuning a Sentence Transformer with contrastive learning.
  2. Training a classification head with features from the fine-tuned Sentence Transformer.

Model Details

Model Description

Model Sources

Model Labels

Label Examples
negative
  • 'إنه أمر رصاصي ويمكن التنبؤ به، ويفتقر إلى الضحك. '
  • 'لا يعرف مايرز أبدًا متى يترك الكمامة تموت؛ وهكذا، فإننا نتعرض لنكات طويلة ومذهلة حول البراز والتبول تلو الأخرى. '
  • 'غزل رعب ملحمي مبتذل ومبتذل ينتهي به الأمر إلى أن يكون أكثر غباءً من عنوانه. '
positive
  • 'أوصي بشدة أن يشاهد الجميع هذا الفيلم، لأهميته التاريخية وحدها. '
  • 'المخرج كابور هو مخرج أفلام يتمتع بميل حقيقي للمناظر الطبيعية والمغامرات الملحمية، وهذا فيلم أفضل من فيلمه السابق باللغة الإنجليزية، إليزابيث الذي نال الثناء. '
  • 'فيلم نوير صغير غير تقليدي، قصة جريمة منظمة تتضمن واحدة من أغرب قصص الحب التي يمكن أن تراها على الإطلاق. '

Evaluation

Metrics

Label Accuracy
all 0.8784

Uses

Direct Use for Inference

First install the SetFit library:

pip install setfit

Then you can load this model and run inference.

from setfit import SetFitModel

# Download from the 🤗 Hub
model = SetFitModel.from_pretrained("akhooli/setfit")
# Run inference
preds = model("لقد تم إنجازه من قبل ولكن لم يكن بهذه الوضوح أو بهذا القدر من الشغف. ")

Training Details

Training Set Metrics

Training set Min Median Max
Word count 2 16.2702 52
Label Training Sample Count
negative 2500
positive 2500

Training Hyperparameters

  • batch_size: (64, 64)
  • 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_sst2_5k
  • eval_max_steps: -1
  • load_best_model_at_end: False

Training Results

Epoch Step Training Loss Validation Loss
0.0004 1 0.3009 -
0.04 100 0.2802 -
0.08 200 0.2312 -
0.12 300 0.1462 -
0.16 400 0.0838 -
0.2 500 0.0463 -
0.24 600 0.033 -
0.28 700 0.0206 -
0.32 800 0.0195 -
0.36 900 0.0174 -
0.4 1000 0.013 -
0.44 1100 0.0113 -
0.48 1200 0.0095 -
0.52 1300 0.0088 -
0.56 1400 0.0075 -
0.6 1500 0.0083 -
0.64 1600 0.0061 -
0.68 1700 0.0071 -
0.72 1800 0.0069 -
0.76 1900 0.0054 -
0.8 2000 0.007 -
0.84 2100 0.006 -
0.88 2200 0.0051 -
0.92 2300 0.0046 -
0.96 2400 0.0041 -
1.0 2500 0.0056 -
1.04 2600 0.0054 -
1.08 2700 0.0058 -
1.12 2800 0.0043 -
1.16 2900 0.0048 -
1.2 3000 0.004 -
1.24 3100 0.0036 -
1.28 3200 0.0042 -
1.32 3300 0.0041 -
1.3600 3400 0.004 -
1.4 3500 0.0029 -
1.44 3600 0.0047 -
1.48 3700 0.0041 -
1.52 3800 0.0026 -
1.56 3900 0.0029 -
1.6 4000 0.0027 -
1.6400 4100 0.0027 -
1.6800 4200 0.0033 -
1.72 4300 0.0031 -
1.76 4400 0.003 -
1.8 4500 0.0024 -
1.8400 4600 0.0028 -
1.88 4700 0.002 -
1.92 4800 0.0017 -
1.96 4900 0.0023 -
2.0 5000 0.0014 -

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

@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}
}
Downloads last month
4
Safetensors
Model size
135M params
Tensor type
F32
·
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.

Model tree for akhooli/setfit_ar_sst2

Finetuned
(4)
this model

Evaluation results