Business Context
HelpHive, a SaaS customer support platform, wants to modernize its email triage pipeline. The team currently uses manual rules to route incoming support messages, and they want candidates to explain and implement common NLP algorithms that could support practical text understanding tasks.
Data
You are given a corpus of 180,000 historical support tickets collected over 12 months.
- Text type: customer emails and chat transcripts
- Language: English only
- Text length: 5-350 words, median 42 words
- Labels available: routing category (
billing, technical_issue, account_access, feature_request, other)
- Class distribution: moderately imbalanced;
technical_issue and billing make up ~65% of all samples
- Noise: HTML fragments, signatures, URLs, repeated reply chains, and inconsistent casing
Success Criteria
A strong solution should show understanding of common NLP algorithms across classical and modern approaches, and demonstrate when each is appropriate. A production-ready baseline should achieve macro-F1 >= 0.80 with inference latency suitable for batch or near-real-time routing.
Constraints
- Training must run on a single GPU or standard CPU environment
- Inference should stay under 150 ms per ticket for the chosen production candidate
- The solution must be explainable enough for support operations stakeholders
Requirements
- Build a text classification pipeline that compares at least three common NLP algorithm families.
- Include one bag-of-words/TF-IDF baseline, one embedding-based neural model, and one transformer-based model.
- Describe preprocessing choices and why they matter for noisy support text.
- Evaluate trade-offs in accuracy, latency, interpretability, and maintenance.
- Recommend which algorithm should be deployed first and justify the choice.