You are building an NLP workflow for a BairesDev client portal that receives several thousand free-text requests each week across email, chat, and web forms. The business wants incoming messages automatically categorized into intents such as bug report, feature request, billing issue, access problem, and general inquiry so they can be routed to the right team faster. You have about 180,000 historical tickets with noisy labels, duplicated threads, signatures, mixed English and Spanish text, and message lengths ranging from one-line requests to multi-paragraph incident descriptions. The solution should be practical to maintain, explainable enough for operations teams, and robust to evolving client vocabulary.
How would you approach this NLP problem end to end, from framing and preprocessing through model selection, training, evaluation, and deployment, and how would you decide between a simpler baseline and a transformer-based solution for this client use case?