Metadata-Version: 2.4
Name: arabic-toxic
Version: 0.2.0
Summary: Arabic multi-label toxic content classifier
Author-email: Faisal Alshargi <alshargi@hotmail.de>
License-Expression: MIT
Project-URL: Homepage, https://github.com/alshargi/arabic-toxic
Project-URL: Repository, https://github.com/alshargi/arabic-toxic
Project-URL: Issues, https://github.com/alshargi/arabic-toxic/issues
Keywords: arabic,toxicity,harassment,nlp,text-classification,content-moderation
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Text Processing :: Linguistic
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: joblib>=1.2
Requires-Dist: numpy>=1.23
Requires-Dist: scikit-learn<1.8.0,>=1.4.0
Dynamic: license-file

# arabic-toxic

Arabic multi-label toxic content classifier for content moderation.

## Install

```bash
pip install arabic-toxic
```

## Usage

```python
from arabic_toxic import classify, predict_proba, classify_many

print(classify("يلعن امك يا ابن الحمار"))

texts = [
    "أنت إنسان محترم",
    "يلعن امك يا ابن الحمار"
]
print(classify_many(texts))
```

## Output example

```python
{
  "text": "يلعن امك يا ابن الحمار",
  "labels": ["Cussing"],
  "top_label": "Cussing",
  "is_toxic": True,
  "scores": {
    "Cussing": 99.1,
    "Violence": 0.4
  }
}
```

## Labels

- Appearance
- Cussing
- Hatred
- NOT
- Racial
- Sexual
- Violence

## Model

This package uses Arabic normalization, TF-IDF word/character n-grams, and a multi-label One-vs-Rest SGD logistic classifier.

Test-set results from the provided split:

| Metric | Score |
|---|---:|
| Macro F1 | 0.9109 |
| Micro F1 | 0.9205 |
| Subset Accuracy | 0.8433 |
| Hamming Loss | 0.0307 |

## Notes

This model is intended for Arabic content-moderation research and production prototyping. Always validate on your own domain data before relying on automated moderation decisions.
