"Wat een wolf anders maakt dan een hond"
Een veelgebruikte toepassing van machine learning is het classificeren van data. Classificatie is automatisch herkennen of indelen van data in (voorgedefinieerde) categorieën. Dit kunnen bijvoorbeeld afbeeldingen zijn; Denk bijvoorbeeld aan plaatjes van dieren die je wilt sorteren naar hun soort. In chatbots wordt tekstclassificatie vaak toegepast om bijvoorbeeld de vele manieren hoe je een vraag kan stellen te groeperen naar dezelfde achterliggende hoofdvraag, de zogeheten ‘intent’.
Een belangrijke valkuil bij het toepassen van classificatie algoritmes is dat we als mensen snel ervan uit gaan dat, indien een classificatiemodel bijvoorbeeld bij 99% van de afbeeldingen de correcte categorie kan raden, het model daadwerkelijk begrepen heeft goed te classificeren. Immers zegt het percentage van 99% dat het model vrijwel altijd correct is, toch? In de praktijk ligt dit helaas net even anders. We toetsen immers enkel het geven van het correcte antwoord, maar controleren niet de methode die gebruikt wordt om tot het goede antwoord te komen.
Een perfect praktijkvoorbeeld was een onderzoek (paper: arXiv:1602.04938) waarbij getest werd om afbeeldingen van honden en wolven te onderscheiden. Het leerde niet de verschillen tussen honden en wolven, maar bleek in plaats daarvan naar de omgeving te kijken als onderscheidende factor; De wolven zaten vaak in de sneeuw en honden in het gras in de foto’s en dat was het onderscheidende kenmerk om de afbeeldingen “goed” te onderscheiden.
In veelgebruikte intent-classificatie met neurale netwerken in chatbots zien we hetzelfde gedrag -het kiezen van een makkelijkere maar verkeerde weg- ook regelmatig optreden. Een classificatie-algoritme probeert simpelweg zijn opgedragen doel te bereiken om de intents te onderscheiden en daardoor kan dit alsnog gebeuren op andere taalkundige kenmerken dan we als mensen bedoeld hadden. Misschien kwam in de ene zin wel een (voor ons minder belangrijk) woord of kenmerk voor wat de zin voor het algoritme wel onderscheidend maakte van de andere zinnen.
Dankzij ons onderzoek naar meer robuuste AI ontdekten we recentelijk een nieuwe methodiek om classificatie in chatbots een aanzienlijke boost te geven. Door een neuraal netwerk op een speciale manier extra traindoelen vanuit de linguïstiek te geven, kunnen we het netwerk opdragen tijdens de training rekening te houden met bepalende taalkundige kenmerken, denk bijvoorbeeld aan het lijdend voorwerp of een ontkenning in een zin. Hierbij trainen we de chatbot niet alleen op resultaat, maar ook op toegepaste methodiek. Het effect? Veel voorspelbaarder gedrag op niet eerder geziene vraagzinnen.
Benieuwd aan welke innovaties Cornelistools werkt en hoe we dit voor jouw organisatie kunnen inzetten? Neem gerust eens contact op!
