setfit_ar_hs / README.md
akhooli's picture
Update README.md
34ae0c9 verified
|
raw
history blame
12.2 kB
metadata
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.8606060606060606
            name: Accuracy

This is a setfit hate speech detection model (86 % accuracy/f1) based on the Ar Hate Speech dataset.

Usage:

pip install setfit
from setfit import SetFitModel
from unicodedata import normalize

# Download model from Hub
model = SetFitModel.from_pretrained("akhooli/setfit_ar_hs")
# Run inference
queries = [
       "سكت دهراً و نطق كفراً",
       "الخلاف ﻻ يفسد للود قضية.",
       "أنت شخص منبوذ. احترم أسيادك.",
       "دع المكارم ﻻ ترحل لبغيتها واقعد فإنك أنت الطاعم الكاسي",
   ]
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 content is auto-generated.

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.

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
positive
  • ' سبحان الله الفلسطينيين شعب خاين في كل مكان \nلاحول ولا قوة إلا بالله'
  • 'يا بيك عّم تخبرنا عن شي ما فينا تعملو نحن ماًعندنا نواب ولا وزراء بمثلونا بالدولة الا اذا زهقان وعبالك ليك'
  • 'جوز كذابين منافقين...'
negative
  • 'ربي لا تجعلني أسيء الظن بأحد ولا تجعل في قلبي شيئا على أحد ، اللهم أسألك قلباً نقياً صافيا'
  • 'هشام حداد عامل فيها جون ستيوارت'
  • ' بحياة اختك من وين بتجيبي اخبارك؟؟ من صغري وانا عبالي كون... LINK'

Evaluation

Metrics

Label Accuracy
all 0.8606

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_ar_hs")
# Run inference
preds = model("شيوعي 
علماني 
مسيحي
انصار سنه 
صوفي 
يمثلك التجمع 
لا يمثلك التجمع 
اهلا بكم جميعا فنحن نريد بناء وطن ❤")

Training Details

Training Set Metrics

Training set Min Median Max
Word count 1 18.8448 185
Label Training Sample Count
negative 5200
positive 4943

Training Hyperparameters

  • batch_size: (32, 32)
  • num_epochs: (1, 1)
  • max_steps: 6000
  • 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_hate_52k_aub_6k
  • eval_max_steps: -1
  • load_best_model_at_end: False

Training Results

Epoch Step Training Loss Validation Loss
0.0003 1 0.3151 -
0.0333 100 0.2902 -
0.0667 200 0.248 -
0.1 300 0.2011 -
0.1333 400 0.164 -
0.1667 500 0.136 -
0.2 600 0.1162 -
0.2333 700 0.0915 -
0.2667 800 0.0724 -
0.3 900 0.0656 -
0.3333 1000 0.05 -
0.3667 1100 0.0454 -
0.4 1200 0.0407 -
0.4333 1300 0.0318 -
0.4667 1400 0.0338 -
0.5 1500 0.0289 -
0.5333 1600 0.0266 -
0.5667 1700 0.0238 -
0.6 1800 0.02 -
0.6333 1900 0.0167 -
0.6667 2000 0.0168 -
0.7 2100 0.0161 -
0.7333 2200 0.0143 -
0.7667 2300 0.0128 -
0.8 2400 0.0128 -
0.8333 2500 0.0146 -
0.8667 2600 0.0113 -
0.9 2700 0.0146 -
0.9333 2800 0.0109 -
0.9667 2900 0.0128 -
1.0 3000 0.0101 -
1.0333 3100 0.0126 -
1.0667 3200 0.0092 -
1.1 3300 0.0108 -
1.1333 3400 0.0095 -
1.1667 3500 0.0121 -
1.2 3600 0.0088 -
1.2333 3700 0.0086 -
1.2667 3800 0.0075 -
1.3 3900 0.009 -
1.3333 4000 0.008 -
1.3667 4100 0.0051 -
1.4 4200 0.007 -
1.4333 4300 0.0055 -
1.4667 4400 0.0074 -
1.5 4500 0.0065 -
1.5333 4600 0.0086 -
1.5667 4700 0.0064 -
1.6 4800 0.0064 -
1.6333 4900 0.0073 -
1.6667 5000 0.0052 -
1.7 5100 0.0056 -
1.7333 5200 0.0059 -
1.7667 5300 0.0048 -
1.8 5400 0.0044 -
1.8333 5500 0.003 -
1.8667 5600 0.0045 -
1.9 5700 0.0043 -
1.9333 5800 0.0042 -
1.9667 5900 0.0029 -
2.0 6000 0.0033 -

Framework Versions

  • Python: 3.10.14
  • SetFit: 1.2.0.dev0
  • Sentence Transformers: 3.3.0
  • 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}
}