You are supporting a customer analytics team for a utility service that collects feedback from surveys, call-center notes, web forms, and mobile app comments. Each month you receive roughly 80,000 short-to-medium text records, many with spelling issues, abbreviations, billing terminology, outage references, and occasional copied agent notes. Stakeholders want to understand the most common customer themes such as billing confusion, outage communication, payment assistance, and service quality, while also tracking whether each theme is trending positively or negatively over time. You have a small hand-labeled sample for a few known themes, but most of the corpus is unlabeled and new issues appear seasonally.
How would you design an NLP solution to identify common themes in this feedback, group similar comments reliably, and produce outputs that a marketing analytics team could use for reporting and prioritization? Explain the modeling approach, preprocessing pipeline, and how you would evaluate whether the themes are both accurate and actionable.