You are building an NLP workflow for a SaaS support platform that receives about 80,000 inbound tickets per month through chat, email, and web forms. Each message must be classified into one of 6 intent categories such as billing, access issues, bug reports, feature requests, account changes, and general questions so it can be routed to the right queue. You have roughly 250,000 historical labeled tickets, but the data is noisy: messages vary from one-line fragments to multi-paragraph threads, include copied logs and URLs, and some classes overlap semantically. The operations team wants a practical pipeline that can be retrained regularly and explained to non-technical stakeholders.
How would you design and implement this text classification pipeline end to end, including preprocessing, model choice, training, evaluation, and how you would handle noisy text, class imbalance, and ambiguous tickets in production?