Zo herkennen computers emoties in berichten op sociale media

Yoeri Nijs  | Deel:  
Artikel-plaatje

Beeld: Unsplash/Gabriel Matula.

Eén van de meest sprekende vormen van kunstmatige intelligentie is misschien wel sentimentanalyse. Hiermee is het voor computers mogelijk om op basis van teksten te 'begrijpen' hoe mensen zich voelen. Zo kunnen ze hierop reageren. Maar hoe doen ze dit?

Rellen in Haren
Nederland stond in 2012 op zijn kop toen het Groningse villadorp Haren in puin lag. Aanleiding was een uitnodiging op Facebook voor de verjaardag van een zestienjarige meisje. De uitnodiging bleek tegen beter weten in zichtbaar voor iedereen op het sociale netwerk. Drie- tot vijfduizend ‘genodigden’ kwamen er naar schatting op het feest af. Het doel was om te rellen.

Er ontstond chaos. De straten lagen vol met bakstenen, fietsen en andere rommel. Ruiten sneuvelden en etalages van winkels werden leeggehaald. De ME voerde charges uit, een oudere man kreeg een stoeptegel naar zijn hoofd geslingerd. Hij brak zijn kaak en liep een lichte hersenbloeding op. Een agent kreeg glas in zijn oog en een ander brak zijn voet.

 

Tientallen gewonden, veel schade
De cijfers liegen er niet om. In totaal raakten 26 mensen gewond. De politie arresteerde tijdens het ‘feest’ zelf 34 relschoppers, en hield later nog meer mensen aan dankzij camerabeelden. Er vielen 15 gewonden bij de politie. De totale schade bleek uiteindelijk bijna 1 miljoen euro.

Voor en tijdens het uitbreken van de rellen in Haren, gingen er op Twitter berichten over het zogenoemde ‘Project X’ rond. Datawetenschapper Thomas Boeschoten deed hier onderzoek naar. Hij publiceerde een aantal jaar terug deze interessante YouTube-video over de verspreiding van de tweets.

 

 

'Niets te doen'
Tegen de NOS zei Boeschoten vijf jaar later dat Project X mede zo uit de hand liep, omdat jongeren doelloos rondliepen in Haren. "Er was daar niks te doen. Veel jongeren waren zelfs in de veronderstelling dat het feest door de gemeente werd georganiseerd, dat er een artiest zou komen", zo vertelde hij.

Het feit dat jongeren niets te doen hadden en berichten op Twitter plaatsten, doet een interessante vraag rijzen: hadden de autoriteiten voortijdig kunnen ingrijpen als ze de emotionele lading achter de berichten - dat er niets te doen was en dat jongeren zich dus verveelden - hadden kunnen vaststellen?

Geautomatiseerd controleren
De autoriteiten konden natuurlijk de berichten handmatig controleren, en dat deden ze ook. Het probleem is echter dat, als het om gigantische aantallen gaat zoals in Haren, het handwerk bijna niet meer is uit te voeren. In zo’n situatie kan kunstmatige intelligentie helpen.

Binnen de kunstmatige intelligentie bestaat een onderzoeksgebied dat zich bezighoudt met tekstanalyse, waar ook sentimentanalyse bij hoort. In de kern bestaat sentimentanalyse uit het ‘classificeren’ van het sentiment van berichten. Simpel gezegd: is iemand, als hij iets plaatst op sociale media, vrolijk of neerslachtig, vriendelijk of vijandelijk, individualistisch of juist betrokken?

Kunstmatige intelligentie kan, aan de hand van een zogenoemd neuraal netwerk, emoties in sociale-mediaberichten herkennen. Maar dat gaat niet zomaar: eerst moet de software begrijpen welke woorden passen bij een bepaalde emotie. Het woord ‘goed’ duidt bijvoorbeeld op een positief bericht, terwijl het woord ‘slecht’ het tegenovergestelde betekent.

LEES OOK: Neuraal netwerk: de basis van kunstmatige intelligentie

Algoritme trainen
Om kunstmatige intelligentie emoties te laten begrijpen, laten wetenschappers eerst allerlei data aan hun algoritme zien die ze zelf al hebben geclassificeerd. De bedoeling is dat de kunstmatige intelligentie aan de hand van die classificaties zelf ‘leert’ wat goed is en wat fout door te kijken naar features. Dit leerproces noemen ze in vakjargon ook wel ‘supervised machine learning’, wat betekent dat kunstmatige intelligentie niet zelf kan leren, maar de hulp van mensen nodig heeft. De software moet dus worden ‘getraind’.

LEES OOK: Feature: bouwblok waarmee software leert

Hieronder zijn wat Twitterberichten te zien. Deze berichten hebben door mensen een classificatie gekregen; mensen hebben dus zelf een oordeel gegeven. Met hun oordeel voeden ze het algoritme. Het feit dat mensen hun mening geven om een algoritme te helpen leren, kan ertoe leiden dat kunstmatige intelligentie ongewenst gedrag vertoont. De intelligentie neemt namelijk bij ‘supervised learning’ de mening over van zijn menselijke ‘leraar’.

Bij ‘unsupervised learning’ - waarbij een algoritme zelf moet ontdekken hoe hij moet leren - speelt het overnemen van ongewenste voorkeuren vanuit voorbeelddata niet. Desalniettemin kan een algoritme uit zichzelf bepalen om ongewenst gedrag als normaal te zien. Zo vertoonde een bot van Microsoft op Twitter binnen 24 uur nazigedrag, omdat hij had geleerd dat dit normaal was.

Bericht Classificatie
Makelaars met een missie, leerzaam programma,wat een stelletje prutsers dus nooit een aankoop makelaar,zoek zelf wel pfff Negatief
Makelaars op een missie... Vrouw wilt huizen bezoeken met haar honden. Jaaaa daaag! Negatief
Voor de Bosschenaren, huizenzoekers en makelaars. Heel de week is het RTL5 programma 'Makelaars met een missie' in my hometown; 's-Hertogenbosch. Ontzettend leuk om zo mijn stad te zien. Een soort Funda, maar dan op tv ;-). RTL5 19:32 Makelaars met een missie Positief
Het is weer maandag en dus kun je vanavond genieten van gloednieuwe afleveringen van Makelaars met een Missie, deze week in Den Bosch! #MakelaarsmeteenMissie Positief

Figuur 1. Voorbeelddata van hoe Twitterberichten kunnen worden geclassificeerd.

Naive Bayes
Met de voorbeelddata heeft de kunstmatige intelligentie een basis om op terug te vallen. Om ook daadwerkelijk te leren wat goed en fout is, gebruikt hij een zogenoemde classifier. Dit is een wiskundige formule die helpt om waarde te geven aan bijvoorbeeld een stukje tekst dat iemand laat zien. Een veelgebruikt algoritme heet Naive Bayes, die werkt op basis van de stelling van Bayes.

De stelling van Bayes is een kansberekening en eigenlijk heel eenvoudig. Bij de stelling wordt gekeken naar hoe groot de kans is dat er iets gebeurt, op basis van hoe vaak iets al is voorgekomen. Hier komt vaak een getal uit tussen de 0 en 1, waarbij 0.2 bijvoorbeeld betekent dat iets ‘zeer onwaarschijnlijk’ is, terwijl 0.8 kan inhouden dat iets ‘zeer waarschijnlijk’ is. De Naive Bayes-classifier helpt dus bij het antwoord geven op de vraag hoe groot de waarschijnlijkheid is dat er iets gaat gebeuren.

Stel je voor: op basis van onze voorbeelddata hebben we onze kunstmatige intelligentie laten leren. Vervolgens laten we onze software een nieuw bericht zien: ‘Ik heb mijn huis op Funda gezet.’ De Naive Bayes-classifier, die onze software gebruikt, maakt vervolgens een kansberekening. Wat blijkt nu? Omdat het woord ‘Funda’ al is genoemd in een bericht dat eerder als positief is aangemerkt (het derde bericht van de voorbeelddata), zal het nieuwe bericht ook ‘positief’ worden gemarkeerd.

 

Een gedetailleerde uitleg over hoe Naive Bayes werkt.

Big data
Natuurlijk, op basis van onze vier berichten zal kunstmatige intelligentie nooit een goede inschatting kunnen maken over emoties op sociale-media. Daarom is het van belang om zoveel mogelijk berichten te laten zien als voorbeelddata en ze te markeren als positief of negatief. Des te meer berichten de Naive Bayes-classifier kan gebruiken in zijn formule, des te nauwkeuriger de uitkomst wordt.

‘Big data’ is een term die je vaak hoort in combinatie met kunstmatige intelligentie, en dat is niet voor niets. Big data heeft betrekking op een gigantische hoeveelheid ruwe data. Die data kunnen worden opgeschoond en worden geclassificeerd. Deze data, die in opgeschoonde vorm ‘informatie’ heten, kunnen een Naive Bayes-classifier gebruiken voor een nauwkeurigere classificatie.

In de praktijk
De talloze tweets die tijdens de rellen in Haren de wereld in werden gestuurd, zijn feitelijk ook big data. Door die te classificeren en te voeden aan een algoritme, kan software worden gemaakt die voortaan kan herkennen of een bericht op sociale media positief of negatief is. Dit algoritme kan bijvoorbeeld door de autoriteiten worden gebruikt om te controleren wat emoties bij een bepaalde gebeurtenis zijn.

Het classificeren van emoties in sociale-mediaberichten kan handig zijn bij feesten als Project X, maar ook bij een voetbalwedstrijd, Koningsdag, een reclame van een bedrijf en meer. Bedrijven als Twitter en Facebook gebruiken zulke algoritmes bijvoorbeeld om gewelddadige berichten te herkennen en automatisch door hun software te laten verwijderen.




Wil je deelnemen aan dit gesprek? Log in of meld je aan.