Skip to content

About

Arabic news classification using CAMeLBERT transformer. Fine-tuned for multi-class text classification of Arabic news article

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Status Architecture NLP

End-to-End System لاستخراج وتصنيف الأخبار العربية باستخدام Advanced NLP ونماذج State-of-the-Art Transformers

Features • Tech Stack • Architecture • Quick Start • Roadmap


🚀 Overview | نظرة عامة

هذا المشروع ليس مجرد Scraper عادي، بل هو Complete Data Pipeline مصمم للتعامل مع ضخامة البيانات الإخبارية العربية. نستخدم فيه Concurrent Scraping لضمان السرعة، متبوعاً بمرحلة Preprocessing مكثفة لتنظيف النصوص، وصولاً إلى Real-time Inference باستخدام أقوى نماذج اللغة العربية.


✨ Core Features | الميزات الجوهرية

🔍 Smart Scraping

  • Multi-threaded Execution باستخدام ThreadPoolExecutor.
  • دعم الـ Sitemap XML Parsing لاستكشاف الروابط تلقائياً.
  • نظام Robust Retry Mechanism مع Jitter لتجنب الحظر.

🧠 Deep Learning NLP

  • Fine-tuned CAMeLBERT للحصول على أدق تصنيف للفئات.
  • دعم الـ Multi-class Classification (سياسة، اقتصاد، رياضة...).
  • معالجة Self-Training لزيادة دقة الـ Silver Data.

🧹 Advanced Preprocessing

  • استخراج المحتوى النظيف وإزالة الـ Boilerplate والإعلانات.
  • Arabic Text Normalization (توحيد الهمزات، إزالة التشكيل).
  • استخراج الـ Metadata والـ JSON-LD من الصفحات.

📊 Analytics & UI

  • Feature Extraction لحساب الـ Word Count و Readability Scores.
  • واجهة Gradio Web UI تفاعلية وسهلة الاستخدام.
  • جاهز للـ Deployment الفوري على HuggingFace Spaces.

🛠 Tech Stack | المزيج التقني

Category Tools & Technologies
Language
Deep Learning
Data Scraping BeautifulSoup4, Requests, Concurrent.futures
Web Interface
Architecture Clean Architecture, Modular Design

🏗 Architecture | البنية المعمارية

🔄 Core Data Flow

يتبع المشروع مساراً هندسياً دقيقاً لضمان جودة البيانات (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
Loading

📈 Model Performance | أداء النموذج

Metric Score Status
Accuracy 82.33% ✅ Stable
F1-Macro 81.56% ✅ Optimized
Dataset Size 41,435 📚 Golden + Silver

📁 Repository Structure | هيكلية المشروع

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

⚡ Quick Start | التشغيل السريع

1️⃣ Environment Setup

قم بتهيئة الـ 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

2️⃣ Run Dashboard

لتشغيل الـ Local Web Server وعرض الواجهة:

python src/app.py

🔮 Roadmap | التطلعات المستقبلية

  • 🧪 Unit Testing: تغطية شاملة باستخدام pytest.
  • ⚙️ CI/CD Pipeline: أتمتة الاختبارات عبر GitHub Actions.
  • 🐳 Dockerization: توفير Dockerfile للنشر السحابي السهل.
  • 📡 API Integration: بناء REST API باستخدام FastAPI.

🤝 Contributing | المساهمة

نحن نرحب بالـ Pull Requests! سواء كانت تحسينات في الـ Scraping Logic أو إضافة فئات تصنيف جديدة.

  1. Fork المشروع.
  2. Create الـ Feature Branch الخاص بك.
  3. Submit الـ PR للمراجعة.

📜 License | الترخيص

هذا المشروع مرخص تحت MIT License - متاح للاستخدام الحر والتعديل.


Developed with ❤️ by Eng. Alhareith

Full-Stack AI & Data Engineering

GitHub LinkedIn Email


Back to Top ⬆️

About

Arabic news classification using CAMeLBERT transformer. Fine-tuned for multi-class text classification of Arabic news article

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages