I fine-tuned three MARBERTv2 models on Arabic complaints — sentiment, topic, and intent. Then wired them into a deterministic pipeline that routes multi-dialect input to the right action.
ضبطتُ دقيقاً ثلاثة نماذج MARBERTv2 على شكاوى عربية — المشاعر، الموضوع، والنية. ثم ربطتها في خط أنابيب محدد يُوجّه مدخلات متعددة اللهجات إلى الإجراء الصحيح.
Arabic spans dozens of dialects. Complaint text is informal, emotionally charged, and messy. Generic models trained on Standard Arabic fail badly on real-world complaints. I wanted to build something that actually works.
اللغة العربية تمتد عبر عشرات اللهجات. نص الشكاوى غير رسمي ومشحون عاطفياً. النماذج العامة المدرَّبة على الفصحى تفشل في التعامل مع الشكاوى الحقيقية. أردت أن أبني شيئاً يعمل فعلاً.
Egyptian, Gulf, Levantine, Moroccan — MARBERTv2 was pre-trained on massive multilingual Arabic corpora, making it the right base to fine-tune on real complaints.
مصري، خليجي، شامي، مغربي — MARBERTv2 مدرَّب مسبقاً على كميات ضخمة من النصوص العربية متعددة اللهجات، مما يجعله الأساس المثالي للضبط الدقيق على الشكاوى الحقيقية.
Understanding a complaint means knowing how the user feels (sentiment), what it's about (topic), and what they want (intent). Each required its own fine-tuned model.
فهم الشكوى يعني معرفة شعور المستخدم (المشاعر)، وما تتحدث عنه (الموضوع)، وما يريده (النية). كل مهمة تطلبت نموذجاً مضبوطاً دقيقاً خاصاً بها.
I fine-tuned UBC-NLP/MARBERTv2 three separate times — once per task. Each model was trained for up to 20 epochs with early stopping (patience 2), evaluated on held-out test data across seeds 42, 123, and 2024, and published on Hugging Face (seed-42 checkpoint deployed in production).
ضبطتُ UBC-NLP/MARBERTv2 دقيقاً ثلاث مرات منفصلة — مرة لكل مهمة. دُرِّب كل نموذج حتى ٢٠ حقبة مع إيقاف مبكر (صبر ٢)، وقُيِّم على بيانات اختبار محجوزة عبر البذور 42 و123 و2024، ونُشر على Hugging Face (نموذج البذرة 42 في الإنتاج).
Detects how the user feels — negative, neutral, or positive. The first signal the pipeline reads.
يكتشف شعور المستخدم — سلبي أو محايد أو إيجابي. الإشارة الأولى التي يقرأها خط الأنابيب.
Classifies what the complaint is about — routes it to the right department before a human reads it.
يصنّف موضوع الشكوى — يوجّهها للقسم الصحيح قبل أن يقرأها أي إنسان.
Understands what the user wants — a bug fix, a content change, or logging a note. Trained as the action task; exposed as intent in the API.
يفهم ما يريده المستخدم — إصلاح خطأ، تغيير محتوى، أو تسجيل ملاحظة. مدرَّب كمهمة action؛ يظهر كـ intent في الـ API.
Macro F1 on held-out test sets (80/10/10 split), mean over seeds 42, 123, 2024. Sentiment · topic · intent order: 0.77 · 0.99 · 0.99. Production API loads the seed-42 Hugging Face checkpoints (sentiment test F1 0.76). OOD sentiment benchmark: 68% accuracy on Arabic tweets (n=500).
F1 الكلي على مجموعات اختبار محجوزة (تقسيم 80/10/10)، متوسط البذور 42 و123 و2024. ترتيب المشاعر · الموضوع · النية: 0.77 · 0.99 · 0.99. الـ API في الإنتاج يحمّل نماذج Hugging Face (بذرة 42؛ F1 المشاعر 0.76 على الاختبار). معيار OOD للمشاعر: 68% دقة على تغريدات عربية (٥٠٠).
The three models feed a deterministic rule engine that combines their outputs into a single routed action. A confidence guard catches uncertain predictions. An optional LLM explains the decision — but never changes it.
تُغذّي النماذج الثلاثة محرك قواعد محدداً يجمع مخرجاتها في إجراء موجَّه واحد. حارس الثقة يُمسك بالتنبؤات غير المؤكدة. ذكاء اصطناعي اختياري يشرح القرار — لكنه لا يغيّره أبداً.
Type any Arabic complaint — or pick one of the examples below — and the pipeline classifies it in real time. Classification is always free and deterministic. One free AI explanation per visitor (optional).
اكتب أي شكوى عربية — أو اختر من الأمثلة أدناه — وخط الأنابيب يصنّفها في الوقت الفعلي. التصنيف مجاني دائماً ومحدد. تفسير واحد مجاني بالذكاء الاصطناعي لكل زائر (اختياري).