This repository presents a mature, production-oriented university inquiry platform designed for Arabic-speaking students. It combines a React-based user interface, a Flask REST API, and Arabic NLP model evaluation to deliver accurate inquiry routing and contextual knowledge support.
- Built for university administration and student support teams.
- Automates Arabic inquiry classification into four operational domains.
- Uses AraBERTv2 for the highest classification accuracy in internal model comparison.
- Supports Arabic question answering with AraElectra for policy and regulation inquiries.
The system evaluates three Arabic transformer models for classification:
aubmindlab/bert-base-arabertv02(AraBERTv2)UBC-NLP/MARBERTv2UBC-NLP/ARBERTv2
Based on internal validation, aubmindlab/bert-base-arabertv02 was selected for production inference.
This choice reflects the strongest results on classification accuracy, precision, recall, and F1 score across the university inquiry dataset.
For knowledge-based question answering, the application uses:
ZeyadAhmed/AraElectra-Arabic-SQuADv2-QA
The system enables students to submit Arabic inquiries and automatically:
- classifies each inquiry into one of four university functions
- routes requests to the appropriate office
- delivers a student-facing dashboard for inquiry tracking
- provides staff dashboards for request management and approval
- supports direct Arabic QA for rules and policy questions
- Reduces manual workload and operational bottlenecks
- Improves response speed and support consistency
- Enhances satisfaction for Arabic-speaking students
- Gives administrators real-time visibility into request flow
- Demonstrates a research-backed Arabic NLP solution in a real workflow
npm install
python -m pip install -r src/requirements-flask.txt
python src/run.py
npm run devRecommended: run Python dependencies inside a virtual environment.
- Front-end: React 19 + Vite
- Styling: Bootstrap 5
- Routing: React Router DOM
- Back-end: Flask
- Database: SQLite with SQLAlchemy
- Security: Flask-Bcrypt
- AI: PyTorch + Hugging Face Transformers
package.json— front-end scripts and dependenciessrc/main.jsx— React application bootstrapsrc/App.jsx— main application routes and layoutsrc/app.py— Flask application setup and model loadingsrc/routes.py— API endpoints for registration and inquiriessrc/models.py— database schema modelssrc/requirements-flask.txt— Python dependency listsrc/arabert_model/— local Arabic model filessrc/qa_contexts/— knowledge contexts for QA responses
- Keep
src/arabert_modelandsrc/qa_contextsin place for full functionality. - Set
app.config['SECRET_KEY']insrc/app.pybefore production deployment. - Supported upload formats:
png,jpg,jpeg,pdf.
هذا المستودع يعرض نظام استفسارات طلابي جامعي احترافي موجه للطلاب المتحدثين بالعربية. يجمع المشروع بين واجهة React، وخادم Flask، وتقييم نماذج NLP عربية لتوجيه الاستفسارات بدقة ودعم معرفة سياقية.
- مصمم لدعم فرق الجامعة والإدارة
- يصنف الاستفسارات العربية تلقائياً إلى أربعة مجالات تشغيلية
- يستخدم AraBERTv2 لتحقيق أعلى دقة تصنيف في مقارنة النماذج الداخلية
- يدعم الإجابة الذكية عن الأسئلة التنظيمية باستخدام AraElectra
نقوم بتقييم ثلاثة نماذج عربية للتصنيف:
aubmindlab/bert-base-arabertv02(AraBERTv2)UBC-NLP/MARBERTv2UBC-NLP/ARBERTv2
تم اختيار aubmindlab/bert-base-arabertv02 للتشغيل الفعلي، لأنه سجل أفضل أداء في الدقة والدقة النوعية والاستدعاء وF1 على بيانات الاستفسارات الجامعية.
لأغراض الإجابة عن الأسئلة المعرفية، يستخدم التطبيق:
ZeyadAhmed/AraElectra-Arabic-SQuADv2-QA
يسمح النظام للطلاب بتقديم استفسارات عربية ثم:
- يصنف كل استفسار إلى أحد الأقسام الأربعة
- يوجه الطلبات إلى المكتب المناسب
- يوفر لوحة متابعة للطلاب لحالة الاستفسار
- يدعم لوحات للموظفين لإدارة الطلبات والموافقة
- يدعم الإجابة العربية الذكية عن الأسئلة التنظيمية
- يقلل من العمل اليدوي والاختناقات التشغيلية
- يحسن سرعة الاستجابة واتساق الدعم
- يعزز رضا الطلاب المتحدثين بالعربية
- يمنح الإدارة رؤية فورية لتدفق الطلبات
- يوضح حل NLP عربي مدعوماً بالبحث في بيئة عملية
npm install
python -m pip install -r src/requirements-flask.txt
python src/run.py
npm run devيُنصح باستخدام بيئة افتراضية Python لعزل التبعيات.
- الواجهة الأمامية: React 19 + Vite
- التصميم: Bootstrap 5
- التوجيه: React Router DOM
- الواجهة الخلفية: Flask
- قاعدة البيانات: SQLite مع SQLAlchemy
- الأمان: Flask-Bcrypt
- الذكاء الاصطناعي: PyTorch + Hugging Face Transformers
package.json— تبعيات وسكربتات الواجهة الأماميةsrc/main.jsx— نقطة الانطلاق لتطبيق Reactsrc/App.jsx— التطبيق الرئيسي والرواترsrc/app.py— إعداد Flask وتحميل النموذجsrc/routes.py— واجهات API للتسجيل والاستفساراتsrc/models.py— نماذج مخطط قاعدة البياناتsrc/requirements-flask.txt— تبعيات Pythonsrc/arabert_model/— ملفات النموذج العربية المحليةsrc/qa_contexts/— سياقات المعرفة لميزة الإجابة
- احتفظ بمجلد
src/arabert_modelوsrc/qa_contextsفي مكانهما لضمان عمل النظام الكامل. - اضبط
app.config['SECRET_KEY']فيsrc/app.pyقبل نشره في الإنتاج. - صيغ الملفات المدعومة للتحميل:
png,jpg,jpeg,pdf.