Binnen de Pollinator Group werken we veel met data. Zo gebruiken we onder andere de data en visualisatiediensten van Gapminder.org in onze data analytics services om meer inzichten te bieden voor iedereen die daar geïnteresseerd in is. Daarnaast verrichten de Pollinators ook zelf data analyse diensten. We verzamelen gegevens via ons Twitter developer account, maar ook via webcrawlers en zelf gecreëerde datasets om zo additionele inzichten te geven en mensen te laten leren om met data om te gaan. Vaak komen er interessante conclusies uit, maar soms lukt het ook niet. Dit keer een artikel over een mislukt avontuur in machine learning en waarom dat eigenlijk helemaal niet erg is.
We wouden graag een sentiment analyse tool bouwen die op basis van tweets kon voorspellen of er bepaalde positieve of negatieve ontwikkelingen plaatsvonden. We gebruikten hiervoor R (studio) in combinatie met een beschikbare dataset van 1,6 miljoen geclassificeerde tweets uit de periode 2012-2015 en onze eigen API om ons algoritme te testen. We kozen ervoor om machine learning toe te passen, wat wil zeggen dat de computer zichzelf gaat leren om modellen en voorspellingen te maken op basis van de dataset van 1,6 miljoen tweets.
Na een uur trainen was de computer klaar en was er een algoritme gevormd die we konden gebruiken om twitter sentimenten te analyseren en te testen. Na wat succesvolle tests op generieke onderwerpen waren we benieuwd naar de uitkomsten op thema’s die pas na deze tijd werden geïntroduceerd. En toen ging het mis. We gebruikten MeToo om te kijken hoe het model om zou gaan met deze beweging die niet voorkwam in de training of test situaties in het model. De uitkomst was bijzonder:
Twitter sentiment analyse MeToo

De blauwe lijn geeft het gemiddelde sentiment aan over het sentiment rondom MeToo over een periode van een uur.
De blauwe lijn is wel heel erg positief voor de situatie. Bij nadere analyse op een steekproef van de tweets bleek het sentiment dan ook niet overeen te komen met de werkelijke inhoud. Maar hoe kan dat dachten we? We hebben uiteindelijk drie fouten gevonden die we graag met jullie delen om dezelfde problemen te voorkomen.
- Correlatie en causaliteit; Er is een verschil tussen correlatie en causaliteit. Correlatie kan bijvoorbeeld optreden tussen twee variabelen die weinig met elkaar te maken hebben. Hierdoor kan een algoritme denken dat het wel degelijk van belang is in een sentiment analyse terwijl dit niet zo is, maar ook andersom. Zo miste ons algoritme dus de context om de relatie te kunnen leggen voor de MeToo voorspelling. Doordat de computer zelf een algoritme bouwt is het lastiger om aan te tonen of de voorspelling daadwerkelijk accuraat is, omdat de totstandkoming van het algoritme beperkt inzichtelijk is. Kijk daarom altijd ook naar causaliteit.
- Data; We hadden diverse problemen met de data die we gebruikten. Zo was enerzijds de data vrij oud en hadden we te weinig nieuwe input om ons model te testen over tijd. Een ander probleem was de classificering van de sentimenten in de training set die het lastiger maakte om een juiste voorspelling te genereren. Het verzamelen en classificeren kan soms lastig zijn. Door van te voren hier over na te denken kan je veel problemen voorkomen.
- Juiste methode; Het kiezen van de juiste methode om de computer een algoritme te laten maken kan lastig zijn. Sommige manieren om algoritmes te maken werken beter dan andere. Wij kozen helaas een minder goede variant, waarvan we later lazen dat deze minder geschikt is voor deze situatie. Bekijk daarom altijd goed wat je doel is en wat je precies wilt doen en pas daar je training methodieken op aan. Er is genoeg informatie op het internet te vinden om je hierbij te helpen.
Wij hebben veel geleerd van onze fouten en controleren daarom altijd de algoritmes die we bouwen voor onze projecten en houden ook rekening met deze (en andere) punten in de trainingen die wij ontwikkelen rondom data analytics. Wil je jou verhalen over dataprojecten delen met ons of wil je graag onze hulp om succesvol gebruik te maken van data? Stuur dan je verhaal of vraag naar idee@pollinatorgroup.org.
1 Response
[…] Voor veel informatie in de wereld zijn algemene uitgangspunten en is er vaak maar 1 werkelijkheid. In de algemene regels voor wiskunde is 1+1=2 en is dat een uniform uitgangspunt. Mocht je deze uniforme uitgangspunten niet weten, dan kun je de informatie opzoeken of krijg je het gedeeld door de mensen om je heen. Toch zijn er diverse gevallen waaruit blijkt dat deze werkelijkheid niet door iedereen wordt gevolgd of begrepen. Om bijvoorbeeld te laten zien hoe het gaat met de wereld heeft Gapminder allerlei informatie verzameld uit datasets over allerlei sociale onderwerpen. Deze data is ook te vinden op deze site in een makkelijke tool. Waar ze bij Gapminder achter kwamen is dat als het bijvoorbeeld gaat om de status van de huidige samenleving, dat mensen hier slechter op scoren dan een aap. Op een toets van 12 vragen met elk drie antwoordmogelijkheden scoort meer dan 80% van de respondenten minder dan drie goede antwoorden. Wie een aap de test zou laten maken zou op basis van gokken gemiddeld 4 goede antwoorden hebben. Een mogelijke verklaring is dat de wereld is veranderd over tijd (of abrupt) en mensen nog met gedateerde informatie redeneren. Dit is vergelijkbaar met de zwarte zwanen en ook iets wat een keer bij de Pollinator Group is overkomen bij het schrijven van een algoritme. […]