GenAI Text Mining
A Gemini-based text-classification platform scaled from an 11-category PoC to 61 production categories, processing 1,200–3,200 records a day.
- role
- AI Engineer — LLMOps & MLOps (sole delivery)
- period
- 2025 – present
Problem
A large volume of open-text customer feedback that could not be categorised by hand at the cadence or granularity the business needed.
What was built
- Collected business needs during workshops and designed the solution’s overall architecture.
- Successfully implemented a proof-of-concept solution and presented a High-Level Design document to the client’s architectural council.
- Scaled classification from an 11-category proof of concept to 61 production categories on Google Gemini and VertexAI (Google Cloud Platform).
- Deployed the pipeline on production, orchestrated with Cloud Composer (Airflow) and connected to the client’s Big Data platform.
- Designed and shipped a profanity-censoring model to production (VertexAI, Gemini, BigQuery, Airflow).
- Iterative prompt tuning with domain experts, plus automated sample re-scoring and AI-driven correction passes.
- Business-facing self-service tooling for verifying results and updating evolving category definitions directly in the prompts, without needing the cloud environment or data scientists.
- Built a validation set with business users, used for model-version migrations and testing.
- Designed and implemented a production system for sending email notifications to business stakeholders based on classification data, using a pre-existing email service.
Outcome
- The first model deployed to production on the client’s new MLOps platform, and the client’s first GenAI model overall.
- 1,200–3,200 surveys/day in production.
- 85%+ agreement with expert labels (Jaccard coefficient, multi-label classification).
- Marketing built dashboards and Controlling built its own reporting procedures on top of the output.
Challenges and Lessons
- Simpler models (such as deprecated Gemini 2.0 Flash) tend to hallucinate a lot.
- Prompt engineering can achieve better and cheaper results than fine-tuning.
- Each model can behave differently even though they were created by the same vendor.
- Enabling Gemini 2.0/2.5 Flash’s “thinking” mode does not result in better classification — requesting weighted classification scores in the response yields more accurate assignment.
- The order of response parts in LLMs matters — sometimes it reasons first and then categorizes, other times it returns categories first and explains its reasoning afterward.
- Human classifications can contain errors.