End-to-End System لاستخراج وتصنيف الأخبار العربية باستخدام Advanced NLP ونماذج State-of-the-Art Transformers
Features • Tech Stack • Architecture • Quick Start • Roadmap
هذا المشروع ليس مجرد Scraper عادي، بل هو Complete Data Pipeline مصمم للتعامل مع ضخامة البيانات الإخبارية العربية. نستخدم فيه Concurrent Scraping لضمان السرعة، متبوعاً بمرحلة Preprocessing مكثفة لتنظيف النصوص، وصولاً إلى Real-time Inference باستخدام أقوى نماذج اللغة العربية.
|
|
|
|
| Category | Tools & Technologies |
|---|---|
| Language | |
| Deep Learning | |
| Data Scraping | BeautifulSoup4, Requests, Concurrent.futures |
| Web Interface | |
| Architecture | Clean Architecture, Modular Design |
يتبع المشروع مساراً هندسياً دقيقاً لضمان جودة البيانات (Data Integrity):
graph TD
subgraph "Ingestion Layer"
A[Sitemap XML] --> B[Concurrent Scraper]
end
subgraph "Processing Layer"
B --> C[Text Preprocessor]
C --> D[Feature Extractor]
end
subgraph "Inference Layer"
D --> E[CAMeLBERT Model]
E --> F[Gradio Dashboard]
end
style E fill:#f9f,stroke:#333,stroke-width:4px
| Metric | Score | Status |
|---|---|---|
| Accuracy | 82.33% |
✅ Stable |
| F1-Macro | 81.56% |
✅ Optimized |
| Dataset Size | 41,435 |
📚 Golden + Silver |
arabic-news-classifier/
├── src/
│ ├── app.py # Gradio Interface & Entry Point
│ ├── scraper.py # High-performance Scraping Engine
│ ├── preprocessor.py # Text Cleaning & Normalization
│ └── feature_extractor.py # Linguistic Metrics Extraction
├── notebooks/ # EDA & Model Training Experiments
└── requirements.txt # Dependency Managementقم بتهيئة الـ Virtual Environment وتثبيت الـ Dependencies:
git clone https://github.com/Alhareith/arabic-news-classifier.git
cd arabic-news-classifier
python -m venv venv
source venv/bin/activate # Windows: .\venv\Scripts\activate
pip install -r requirements.txtلتشغيل الـ Local Web Server وعرض الواجهة:
python src/app.py- 🧪 Unit Testing: تغطية شاملة باستخدام
pytest. - ⚙️ CI/CD Pipeline: أتمتة الاختبارات عبر GitHub Actions.
- 🐳 Dockerization: توفير
Dockerfileللنشر السحابي السهل. - 📡 API Integration: بناء REST API باستخدام FastAPI.
نحن نرحب بالـ Pull Requests! سواء كانت تحسينات في الـ Scraping Logic أو إضافة فئات تصنيف جديدة.
- Fork المشروع.
- Create الـ Feature Branch الخاص بك.
- Submit الـ PR للمراجعة.
هذا المشروع مرخص تحت MIT License - متاح للاستخدام الحر والتعديل.