Detecting Risk in Text, Not Just Sentiment
Most mental-health text classifiers stop at binary sentiment — positive or negative. MindScan is a co-authored MSc team project that goes further: distinguishing between general depression indicators and six distinct severity/risk categories, including suicide-risk signals that carry a much higher cost of being missed.
A Parallel Inference Architecture
Rather than betting on one model, the team trained 15 classifiers across two different problem framings — binary depression detection and six-class severity classification — spanning transformer fine-tuning (XLM-RoBERTa) and classical ML (SVM, XGBoost). 12 of the 15 were selected for deployment based on validation performance.
Results
XLM-RoBERTa (fine-tuned) reached 0.9993 F1 on binary depression detection — effectively saturating that task. The harder six-class severity problem, which has to distinguish between adjacent risk levels rather than just “at risk” vs. “not,” saw the best result from a classical SVM model at 0.9269 F1 — a reminder that more parameters don’t automatically win on a harder, more granular label space.
Shipping It
The best-performing models were deployed as a live Flask application on Hugging Face Spaces, so the classification pipeline is a working demo rather than a notebook result.