Swetha-Arul/AI-Mental-Health-Monitoring-System
Project Overview
AI Mental Health Monitoring System
A Gradio demo that combines text sentiment analysis and simulated wearable metrics to estimate mental health risk.
True Intent (AI Assessment)
An educational demo of combining an NLP sentiment classifier with a tabular stress classifier to produce a fused mental health risk score in a Gradio UI.
README Accuracy
Notes
Code matches the README's overall description. Minor discrepancies: README lists emotions like fear/anger/sad, but the shipped DistilBERT config only supports anxiety/depression/normal/suicidal. The 'multi-agent' terminology is marketing—implementation is a simple weighted rule between two model outputs.
This is a Python-based research/educational prototype that estimates a user's mental health risk by combining two signals: emotional sentiment inferred from a text snippet (journal or social media style) and stress inferred from wearable-style physiological metrics such as heart rate, sleep duration, steps, and calories burned. The results are exposed through a simple Gradio web interface.
The problem it attempts to address is that mental health assessment tools typically look at only one modality at a time. By fusing NLP-based emotion classification with physiological/activity indicators, the project tries to produce a slightly more holistic risk score (Low, Mild, Moderate, High) along with contextual warnings and generic advice such as breathing exercises, sleep recommendations, or helpline suggestions in severe cases.
The intended users are students, researchers, or hobbyists exploring multi-agent AI architectures and mental health informatics. A user runs `python simulate.py`, opens the Gradio interface, types how they feel, adjusts sliders for HR/sleep/steps/calories, and receives a fused risk assessment. The README explicitly disclaims that it is not a medical or diagnostic tool.
Architecturally, the code is organized as three 'agents': a Text Agent using a locally stored fine-tuned DistilBERT model (labels: anxiety, depression, normal, suicidal), a Wearable Agent using an XGBoost classifier with a scaler and label encoder (with a heuristic fallback if model files are missing), and a Fusion Agent that maps each agent's category to a severity score, applies a fixed weighted sum (60% text, 40% wearable), thresholds the result into a risk level, and appends the record to a JSONL log.
Notable observations: the 'multi-agent' framing is essentially two ML classifiers plus a weighted-average rule; there is no autonomous agent behavior, LLM planning, or inter-agent communication. Fusion weights and severity mappings are hard-coded. The text model only distinguishes four coarse classes despite README mentions of fear/anger. No tests, no CI, no input privacy considerations, and the tool could produce misleading assessments if taken seriously—hence the disclaimer is important.
| Languages | Python |
| Runtime | Python 3.10+ |
| Framework | Gradio |
| Database | None (JSONL file logging) |
| Package Manager | pip |
| Key Dependencies | gradio, transformers, xgboost, scikit-learn, pandas, numpy, joblib |
| Build Tool | None |
| Test Framework | None detected |