# Classificatieprompts: sentiment en categorieën [[TOC]] ## AI voor tekstclassificatie Tekstclassificatie is een van de meest praktische AI-toepassingen: automatisch labels toewijzen aan tekst. Sentimentanalyse, spamdetectie, topicclassificatie, urgentieclassificatie in klantenservice en taaldetectie zijn allemaal vormen van classificatie. Met AI hoef je geen gelabelde trainingsdata te verzamelen of zelf een model te trainen. Een goed geschreven prompt is vaak al voldoende voor betrouwbare classificatie. ## Zero-shot classificatie Voor gangbare categorieën werkt zero-shot uitstekend. Je benoemt simpelweg de mogelijke labels: ``` Classificeer het volgende klantenservicebericht als één van: KLACHT, VRAAG, COMPLIMENT, BUG-RAPPORT, VERZOEK. Geef alleen het label terug, geen uitleg. Bericht: "Jullie app crasht elke keer als ik een foto probeer te uploaden." ``` Het model begrijpt deze categorieën direct en geeft consistent het juiste label (hier: `BUG-RAPPORT`). ## Sentimentanalyse Voor een simpele driedeling vraag je om een vast label, eventueel met een vertrouwensscore: ``` Analyseer het sentiment van de volgende recensie als: POSITIEF, NEUTRAAL of NEGATIEF. Geef je antwoord als JSON: {"sentiment": "label", "vertrouwen": "hoog|gemiddeld|laag"} Recensie: [tekst] ``` Voor genuanceerder sentiment werk je met een schaal: ``` Analyseer het sentiment op een schaal van 1 (zeer negatief) tot 5 (zeer positief). Geef ook aan welk aspect het meest bepalend is voor de beoordeling. ``` :::info title="Vertrouwensscores als filter" Een classificatie met hoog vertrouwen is betrouwbaarder dan één met laag vertrouwen. Gebruik laag-vertrouwen outputs als signaal voor handmatige review, dan automatiseer je het makkelijke deel en houd je menselijke aandacht over voor de twijfelgevallen. ::: ## Domeinspecifieke classificatie Bij domeinspecifieke categorieën geef je per label een korte definitie. Dat vermindert ambiguïteit en verbetert de consistentie: ``` Classificeer het volgende supportticket als: - P1 (KRITIEK): productie-omgeving down, alle gebruikers getroffen - P2 (HOOG): kernfunctionaliteit kapot, significante gebruikersimpact - P3 (GEMIDDELD): functionaliteit werkt deels, workaround beschikbaar - P4 (LAAG): cosmetisch probleem, geen functionele impact Geef het prioriteitsniveau en één zin toelichting. Ticket: [tekst] ``` ## Few-shot voor nauwkeurige classificatie Voor gevoelige of complexe classificaties voeg je een paar voorbeelden toe. Het model leidt het patroon dan af uit jouw voorbeelden in plaats van uit een eigen interpretatie van de labels: ``` Classificeer klantberichten als CHURN-RISICO, NEUTRAAL of PROMOTOR. Bericht: "Ik heb jullie dienst al drie maanden niet meer gebruikt, denk dat ik ga opzeggen." Classificatie: CHURN-RISICO Bericht: "Mijn factuur van vorige maand klopt niet." Classificatie: NEUTRAAL Bericht: "Ik heb jullie aangeraden bij twee collega's!" Classificatie: PROMOTOR Bericht: [nieuw bericht] Classificatie: ``` :::howto title="Een classificatieprompt opbouwen" 1. **Definieer je labels expliciet**. Geef een vaste lijst van alle mogelijke labels. 2. **Voeg labeldefinities toe**. Zeker bij domeinspecifieke of overlappende categorieën. 3. **Gebruik few-shot voor grensgevallen**. Voeg voorbeelden toe van de moeilijke categorieën. 4. **Vraag om één label**. Met "geef alleen het label" voorkom je uitleg die je niet nodig hebt. 5. **Vraag om een vertrouwensscore**. Hoog, gemiddeld of laag, als signaal voor handmatige review. ::: ## Multi-label classificatie Soms past meer dan één label tegelijk. Maak dat dan expliciet en vraag om een gestructureerd formaat: ``` Analyseer de volgende e-mail en geef alle toepasselijke labels uit deze lijst: [URGENT, FINANCIEEL, KLACHT, VRAAG, ESCALATIE, SPAM]. Meerdere labels zijn mogelijk. Geef de labels als JSON-array. ``` ## Classificatie met uitleg Voor kwaliteitscontrole of om je prompt te verbeteren vraag je het model om zijn keuze te onderbouwen: ``` Classificeer het sentiment als POSITIEF, NEGATIEF of NEUTRAAL. Geef ook de drie woorden of zinsdelen die het meest bepalend waren. ``` Die uitleg helpt je begrijpen waarom het model bepaalde keuzes maakt, zodat je gericht kunt bijsturen. :::warning title="AI-classificatie is een hulpmiddel, geen eindoordeel" Classificatiemodellen hebben altijd een foutmarge. Bij beslissingen met hoge inzet (kredietbeoordeling, medische triage, HR-screening) is AI-classificatie een hulpmiddel en geen eindoordeel. Bouw handmatige review in voor classificaties met laag vertrouwen. ::: ## Evaluatie van classificatieprompts Test je classificatieprompt op een gelabelde testset en kijk naar meer dan alleen het totale percentage goed: | Metriek | Wat het je vertelt | | --- | --- | | Accuracy | Percentage correct geclassificeerd over alle klassen | | Precision per klasse | Hoe vaak een toegekend label ook echt klopt | | Recall per klasse | Hoeveel van die klasse je daadwerkelijk vindt | | Confusion matrix | Welke klassen het model met elkaar verwart | Een confusion matrix laat zien of het model systematisch de ene klasse voor de andere aanziet. Dat is waardevolle input om je labeldefinities of je voorbeelden aan te scherpen. :::tip title="Begin klein, schaal daarna pas op" Bouw eerst een testset van 30 tot 50 met de hand gelabelde voorbeelden. Daarmee meet je objectief of een promptaanpassing echt helpt, voordat je hem op duizenden berichten loslaat. ::: :::faq ### Werkt zero-shot classificatie goed genoeg voor productie? Voor gangbare categorieën zoals sentiment, urgentie of topic vaak wel. Test altijd op een representatieve testset voordat je het besluit. Bij specifieke of gevoelige categorieën is few-shot veiliger. ### Hoe ga ik om met tekst die in geen enkele categorie past? Voeg een categorie `OVERIG` of `GEEN VAN BOVENSTAANDE` toe. Zo dwing je het model niet in een verkeerd label en krijg je een duidelijk signaal voor randgevallen. ### Wat is de maximale tekst die ik kan classificeren? Dat hangt af van het contextvenster van het model, maar dat is bij moderne modellen ruim. Bij hele lange documenten kost het wel tokenbudget. Extraheer dan eerst de relevante passage en classificeer die in plaats van het hele document. ### Kan ik AI-classificatie vergelijken met een fine-tuned model? Ja. Een goed fine-tuned model presteert bij grote volumes doorgaans beter en goedkoper per classificatie. Few-shot prompting met een groot model is sneller op te zetten, maar duurder per stuk. ### Hoe houd ik de kwaliteit op peil in productie? Sample regelmatig een deel van de classificaties voor handmatige controle en houd de verdeling van labels in de gaten. Een plotselinge verschuiving wijst vaak op nieuwe soorten input of een gedragsverandering van het model. ::: Classificatieprompts zijn de kortste weg naar geautomatiseerde labelingworkflows. Begin met zero-shot, valideer op een testset, voeg few-shot toe waar nodig en bouw monitoring in voor productiegebruik.