تنظيم مجموعة البيانات
استخدمت 3 مصادر:
- ASTD (مجموعة تغريدات المشاعر العربية) — 10 آلاف تغريدة
- ArSAS (تحليل المشاعر العربية) — 21 ألف فصحى + لهجات
- مراجعات بالدارجة المغربية مستخرجة من Jumia MA
المعالجة المسبقة
def preprocess_ar(text):
text = re.sub(r'[\u064B-\u065F\u0670]', '', text) # Remove diacritics
text = re.sub(r'[أإآ]', 'ا', text) # Normalize alef
text = re.sub(r'ة', 'ه', text) # Normalize teh marbuta
text = re.sub(r'[^\w\s]', ' ', text) # Remove punctuation
text = re.sub(r'\s+', ' ', text).strip()
return text
مقارنة النتائج
| النموذج | الدقة | F1 |
|---|---|---|
| TF-IDF + SVM | 76.2% | 0.74 |
| FastText | 81.5% | 0.80 |
| AraBERT v0.2 | 88.1% | 0.87 |
| CAMeL-BERT | 86.7% | 0.85 |
يتفوّق AraBERT لكنه أبطأ بـ 20 مرة. استخدم FastText إذا كان الكمون مهماً.