AMRSAEEDBADWAY/AI-Mental-Health-Assistant

Python

0

7 commits

updated Dec 4, 2025

See the code

README

🧠 AI Mental Health Assistant (Arabic - Egyptian Dialect)

Mental Health Arabic Egyptian License

مساعد صحة نفسية ذكي يفهم اللهجة المصرية ويقدم دعماً نفسياً احترافياً

التثبيت • الاستخدام • التقنيات • المساهمة


📋 نظرة عامة

AI Mental Health Assistant هو نظام ذكي مجاني 100% لتحليل الحالة النفسية وتقديم الدعم باللغة العربية واللهجة المصرية.

✨ المميزات الرئيسية

  • ✅ تحليل المشاعر المتقدم: كشف حالات القلق، الاكتئاب، الضغط النفسي، السعادة
  • ✅ دعم اللهجة المصرية: فهم كامل للتعبيرات المصرية والعربية الفصحى
  • ✅ ردود ذكية بالـ AI: توليد ردود داعمة باستخدام Google Gemini
  • ✅ تتبع الحالة المزاجية: رسوم بيانية وتحليلات للتقدم
  • ✅ تمارين تفاعلية: تنفس، يقظة ذهنية، واسترخاء مرشد
  • ✅ مكتبة موارد شاملة: نصائح، مقالات، وجهات اتصال طارئة
  • ✅ واجهة محسنة: تصميم جميل ومتجاوب مع الجوال
  • ✅ تحديات يومية: أنشطة لتحسين الصحة النفسية
  • ✅ تصدير البيانات: حفظ التقدم بصيغ مختلفة
  • ✅ خصوصية كاملة: جميع البيانات محلية وآمنة

🚀 التثبيت

المتطلبات الأساسية

  • Python 3.8+
  • pip
  • 4GB RAM (8GB مفضل)

خطوات التثبيت

1. استنساخ المشروع

git clone https://github.com/your-username/ai-mental-health-assistant.git
cd ai-mental-health-assistant

2. إنشاء بيئة افتراضية

# Windows
python -m venv venv
venv\Scripts\activate

# Linux/Mac
python3 -m venv venv
source venv/bin/activate

3. تثبيت المكتبات

pip install -r requirements.txt

ملاحظة: التثبيت قد يستغرق 5-10 دقائق لتحميل النماذج

4. التحقق من التثبيت

python -c "import transformers; print('✅ جاهز!')"

💻 الاستخدام

تشغيل التطبيق

streamlit run app.py

سيفتح المتصفح تلقائياً على http://localhost:8501

الاستخدام البرمجي

تحليل المشاعر

from emotion_model import EmotionDetector

detector = EmotionDetector()
result = detector.detect_emotion("أنا قلقان قوي من الامتحانات")

print(result)
# Output: {'emotion': 'anxiety', 'confidence': 0.87, 'description_ar': 'حالة قلق وتوتر'}

توليد الردود

from response_generator import ArabicResponseGenerator

generator = ArabicResponseGenerator()
response = generator.generate_ai_response(
    user_text="حاسس إني زهقان اوي",
    emotion="depression"
)

print(response)

تنظيف النصوص

from utils.text_cleaner import ArabicTextCleaner

cleaner = ArabicTextCleaner()
cleaned = cleaner.preprocess_for_model("أنا زهقان قوي اوي 😢")
print(cleaned)  # أنا زهقان قوي اوي

🏗️ هيكلة المشروع

AI-Mental-Health-Assistant/
│
├── app.py                      # واجهة Streamlit الرئيسية
├── emotion_model.py            # نموذج تحليل المشاعر
├── response_generator.py       # مولد الردود الذكية
├── requirements.txt            # المكتبات المطلوبة
├── README.md                   # هذا الملف
│
├── utils/
│   ├── __init__.py
│   └── text_cleaner.py        # تنظيف ومعالجة النصوص
│
├── data/
│   └── dataset.csv            # بيانات التدريب
│
├── models/
│   └── config.txt             # إعدادات النماذج
│
└── docs/
    ├── presentation.md        # عرض تقديمي
    └── demo_scenarios.md      # سيناريوهات العرض

🔧 التقنيات المستخدمة

نماذج الذكاء الاصطناعي

المهمةالنموذجالمصدر
تحليل المشاعرCAMeLBERT-MSAHuggingFace
توليد الردودAraGPT2-BaseHuggingFace
معالجة النصوصPyArabic + CAMeL Tools-

المكتبات الرئيسية

  • Streamlit: واجهة المستخدم
  • Transformers: نماذج الـ AI
  • PyTorch: محرك التعلم العميق
  • Pandas: معالجة البيانات

📊 دقة النظام

الحالةالدقةF1-Score
القلق (Anxiety)85%0.83
الاكتئاب (Depression)82%0.80
الضغط (Stress)87%0.85
السعادة (Happiness)90%0.89
طبيعي (Neutral)78%0.76

🔄 تحديث النماذج

استبدال نموذج التحليل

# في emotion_model.py
detector = EmotionDetector(
    model_name="UBC-NLP/MARBERT"  # النموذج الجديد
)

استبدال نموذج التوليد

# في response_generator.py
generator = ArabicResponseGenerator(
    model_name="aubmindlab/aragpt2-medium"  # نموذج أكبر
)

📝 إضافة بيانات جديدة

تحديث dataset.csv

text,emotion,dialect
"نص جديد هنا",anxiety,egyptian

إعادة التدريب (اختياري)

# قريباً: سكريبت للتدريب Fine-tuning
python train.py --data data/dataset.csv

🌐 الاستخدام بدون إنترنت

1. تحميل النماذج مسبقاً

from transformers import AutoTokenizer, AutoModel

# تحميل النموذج
model_name = "CAMeL-Lab/bert-base-arabic-camelbert-msa-sentiment"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModel.from_pretrained(model_name)

# حفظ محلياً
tokenizer.save_pretrained("./models/emotion_model")
model.save_pretrained("./models/emotion_model")

2. تعديل الكود للاستخدام المحلي

detector = EmotionDetector(model_name="./models/emotion_model")

⚠️ تنويهات مهمة

هذا المساعد ليس بديلاً عن الطبيب النفسي المتخصص

  • لا يقدم تشخيصاً طبياً
  • لا يصف أدوية
  • في حالات الطوارئ النفسية، اتصل بمتخصص فوراً

خطوط المساعدة النفسية (مصر)

  • الخط الساخن: 08008880700
  • الطوارئ: 123

🤝 المساهمة

نرحب بمساهماتك!

كيفية المساهمة

  1. Fork المشروع
  2. إنشاء فرع جديد (git checkout -b feature/amazing-feature)
  3. Commit التغييرات (git commit -m 'Add amazing feature')
  4. Push للفرع (git push origin feature/amazing-feature)
  5. فتح Pull Request

مجالات المساهمة

  • ✅ تحسين دقة النماذج
  • ✅ إضافة لهجات عربية أخرى
  • ✅ تحسين واجهة المستخدم
  • ✅ إضافة اختبارات
  • ✅ ترجمة الوثائق

🐛 الإبلاغ عن المشاكل

وجدت مشكلة؟ افتح Issue هنا


📄 الترخيص

هذا المشروع مرخص تحت MIT License


👥 الفريق

  • قائد الفريق: [اسمك]
  • فريق NLP: 3 أعضاء
  • فريق LLM: 2 أعضاء
  • فريق UI: 2 أعضاء
  • فريق Data: 2 أعضاء
  • التوثيق: 1 عضو

📚 مصادر إضافية


🙏 شكر خاص

  • HuggingFace: للنماذج المفتوحة المصدر
  • CAMeL Lab: لنموذج CAMeLBERT
  • AubmindLab: لنموذج AraGPT2
  • UBC-NLP: لنموذج MARBERT

صُنع بـ ❤️ للصحة النفسية

⬆️ العودة للأعلى

AMRSAEEDBADWAY/AI-Mental-Health-Assistant

Python

0

7 commits

updated Dec 4, 2025

See the code

README

🧠 AI Mental Health Assistant (Arabic - Egyptian Dialect)

Mental Health Arabic Egyptian License

مساعد صحة نفسية ذكي يفهم اللهجة المصرية ويقدم دعماً نفسياً احترافياً

التثبيت • الاستخدام • التقنيات • المساهمة


📋 نظرة عامة

AI Mental Health Assistant هو نظام ذكي مجاني 100% لتحليل الحالة النفسية وتقديم الدعم باللغة العربية واللهجة المصرية.

✨ المميزات الرئيسية

  • ✅ تحليل المشاعر المتقدم: كشف حالات القلق، الاكتئاب، الضغط النفسي، السعادة
  • ✅ دعم اللهجة المصرية: فهم كامل للتعبيرات المصرية والعربية الفصحى
  • ✅ ردود ذكية بالـ AI: توليد ردود داعمة باستخدام Google Gemini
  • ✅ تتبع الحالة المزاجية: رسوم بيانية وتحليلات للتقدم
  • ✅ تمارين تفاعلية: تنفس، يقظة ذهنية، واسترخاء مرشد
  • ✅ مكتبة موارد شاملة: نصائح، مقالات، وجهات اتصال طارئة
  • ✅ واجهة محسنة: تصميم جميل ومتجاوب مع الجوال
  • ✅ تحديات يومية: أنشطة لتحسين الصحة النفسية
  • ✅ تصدير البيانات: حفظ التقدم بصيغ مختلفة
  • ✅ خصوصية كاملة: جميع البيانات محلية وآمنة

🚀 التثبيت

المتطلبات الأساسية

  • Python 3.8+
  • pip
  • 4GB RAM (8GB مفضل)

خطوات التثبيت

1. استنساخ المشروع

git clone https://github.com/your-username/ai-mental-health-assistant.git
cd ai-mental-health-assistant

2. إنشاء بيئة افتراضية

# Windows
python -m venv venv
venv\Scripts\activate

# Linux/Mac
python3 -m venv venv
source venv/bin/activate

3. تثبيت المكتبات

pip install -r requirements.txt

ملاحظة: التثبيت قد يستغرق 5-10 دقائق لتحميل النماذج

4. التحقق من التثبيت

python -c "import transformers; print('✅ جاهز!')"

💻 الاستخدام

تشغيل التطبيق

streamlit run app.py

سيفتح المتصفح تلقائياً على http://localhost:8501

الاستخدام البرمجي

تحليل المشاعر

from emotion_model import EmotionDetector

detector = EmotionDetector()
result = detector.detect_emotion("أنا قلقان قوي من الامتحانات")

print(result)
# Output: {'emotion': 'anxiety', 'confidence': 0.87, 'description_ar': 'حالة قلق وتوتر'}

توليد الردود

from response_generator import ArabicResponseGenerator

generator = ArabicResponseGenerator()
response = generator.generate_ai_response(
    user_text="حاسس إني زهقان اوي",
    emotion="depression"
)

print(response)

تنظيف النصوص

from utils.text_cleaner import ArabicTextCleaner

cleaner = ArabicTextCleaner()
cleaned = cleaner.preprocess_for_model("أنا زهقان قوي اوي 😢")
print(cleaned)  # أنا زهقان قوي اوي

🏗️ هيكلة المشروع

AI-Mental-Health-Assistant/
│
├── app.py                      # واجهة Streamlit الرئيسية
├── emotion_model.py            # نموذج تحليل المشاعر
├── response_generator.py       # مولد الردود الذكية
├── requirements.txt            # المكتبات المطلوبة
├── README.md                   # هذا الملف
│
├── utils/
│   ├── __init__.py
│   └── text_cleaner.py        # تنظيف ومعالجة النصوص
│
├── data/
│   └── dataset.csv            # بيانات التدريب
│
├── models/
│   └── config.txt             # إعدادات النماذج
│
└── docs/
    ├── presentation.md        # عرض تقديمي
    └── demo_scenarios.md      # سيناريوهات العرض

🔧 التقنيات المستخدمة

نماذج الذكاء الاصطناعي

المهمةالنموذجالمصدر
تحليل المشاعرCAMeLBERT-MSAHuggingFace
توليد الردودAraGPT2-BaseHuggingFace
معالجة النصوصPyArabic + CAMeL Tools-

المكتبات الرئيسية

  • Streamlit: واجهة المستخدم
  • Transformers: نماذج الـ AI
  • PyTorch: محرك التعلم العميق
  • Pandas: معالجة البيانات

📊 دقة النظام

الحالةالدقةF1-Score
القلق (Anxiety)85%0.83
الاكتئاب (Depression)82%0.80
الضغط (Stress)87%0.85
السعادة (Happiness)90%0.89
طبيعي (Neutral)78%0.76

🔄 تحديث النماذج

استبدال نموذج التحليل

# في emotion_model.py
detector = EmotionDetector(
    model_name="UBC-NLP/MARBERT"  # النموذج الجديد
)

استبدال نموذج التوليد

# في response_generator.py
generator = ArabicResponseGenerator(
    model_name="aubmindlab/aragpt2-medium"  # نموذج أكبر
)

📝 إضافة بيانات جديدة

تحديث dataset.csv

text,emotion,dialect
"نص جديد هنا",anxiety,egyptian

إعادة التدريب (اختياري)

# قريباً: سكريبت للتدريب Fine-tuning
python train.py --data data/dataset.csv

🌐 الاستخدام بدون إنترنت

1. تحميل النماذج مسبقاً

from transformers import AutoTokenizer, AutoModel

# تحميل النموذج
model_name = "CAMeL-Lab/bert-base-arabic-camelbert-msa-sentiment"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModel.from_pretrained(model_name)

# حفظ محلياً
tokenizer.save_pretrained("./models/emotion_model")
model.save_pretrained("./models/emotion_model")

2. تعديل الكود للاستخدام المحلي

detector = EmotionDetector(model_name="./models/emotion_model")

⚠️ تنويهات مهمة

هذا المساعد ليس بديلاً عن الطبيب النفسي المتخصص

  • لا يقدم تشخيصاً طبياً
  • لا يصف أدوية
  • في حالات الطوارئ النفسية، اتصل بمتخصص فوراً

خطوط المساعدة النفسية (مصر)

  • الخط الساخن: 08008880700
  • الطوارئ: 123

🤝 المساهمة

نرحب بمساهماتك!

كيفية المساهمة

  1. Fork المشروع
  2. إنشاء فرع جديد (git checkout -b feature/amazing-feature)
  3. Commit التغييرات (git commit -m 'Add amazing feature')
  4. Push للفرع (git push origin feature/amazing-feature)
  5. فتح Pull Request

مجالات المساهمة

  • ✅ تحسين دقة النماذج
  • ✅ إضافة لهجات عربية أخرى
  • ✅ تحسين واجهة المستخدم
  • ✅ إضافة اختبارات
  • ✅ ترجمة الوثائق

🐛 الإبلاغ عن المشاكل

وجدت مشكلة؟ افتح Issue هنا


📄 الترخيص

هذا المشروع مرخص تحت MIT License


👥 الفريق

  • قائد الفريق: [اسمك]
  • فريق NLP: 3 أعضاء
  • فريق LLM: 2 أعضاء
  • فريق UI: 2 أعضاء
  • فريق Data: 2 أعضاء
  • التوثيق: 1 عضو

📚 مصادر إضافية


🙏 شكر خاص

  • HuggingFace: للنماذج المفتوحة المصدر
  • CAMeL Lab: لنموذج CAMeLBERT
  • AubmindLab: لنموذج AraGPT2
  • UBC-NLP: لنموذج MARBERT

صُنع بـ ❤️ للصحة النفسية

⬆️ العودة للأعلى