paulvanderlaken.com

Data Science, Machine Learning & Visualization

Text Mining: Topics, Sentiment, and Opinions

Text mining, ook wel text analytics genoemd, omvat het structureren, ontleden, transformeren, en ten slotte evalueren en interpreteren van tekstgegevens. In onze huidige samenleving wordt er steeds meer van dit soort ongestructureerde data verzameld, denk bijvoorbeeld aan webpagina’s, posts op social media, audiobestanden of open vragen in vragenlijsten. Hoewel machines nog moeite hebben met het detecteren van sarcasme en complexe emoties, kan de interpratie van textuele gegevens steeds beter geautomatiseerd worden. 


Open text surveys

Bij een producent van consumer goods werden traingsevaluaties al gedurende lange tijd verzameld door middel van open vragen. Duizenden medewerkers per jaar gaven vrije feedback op vragen als “Wat was het meest waardevol in deze training?” en “Hoe zou deze training verbeterd kunnen worden?”. Helaas kostte het doorspitten van deze ongestructureerde data enorm veel tijd en waren binnen de L&D functie niet de capabiliteiten aanwezig om dit proces te automatiseren. Samen met hen heb ik zodoende een algoritme geschreven dat per cursus de belangrijkste thema’s uit de text data extraheerde. Met dit algoritme kon het L&D team nu real-time zien wat de belangrijkste suggesteerde verbeterpunten per training waren en hoe deze veranderden over tijd.


Sentiment in een woordennetwerk

Begin 2017 had ik het idee opgevat zelf een sentimentwoordenboek te creëren. Niet alleen zijn Nederlandse sentiment lexicons schaars, maar tevens is er naar mijn weet nog geen enkele gegenereerd met behulp van webscraping en netwerkanalyse (red: toch wel). Zodoende heb ik een algoritme geschreven welke systematisch trefwoorden van bekende woordenboekwebsites trekt, evenals de synoniemen en antoniemen van deze trefwoorden. Wat onstaat is een enorm woordennetwerk, waarin ieder woord bepaalde relaties (positief of negatief) heeft tot andere woorden in het netwerk. Vervolgens is het mij mogelijk om, door een handvol woorden in het netwerk een al dan niet vaste lading te geven (e.g. +2 voor leuk, -5 voor afschuwelijk), het gehele netwerk van een sentiment of emotie-waarde te voorzien door het domino- of watervaleffect dat onstaat. Afhankelijk van je input kun je zo een lexicon voorzien van de sentiment of emotiescores die passen bij een specifieke (organisatie)cultuur.


#Trump

Eind 2016 lekte de Washinton Post een videofragment uit waarin Donald Trump, presidentskandidaat op dat moment, vrij oneerbiedige sprak over verschillende bevolkingsgroepen. Rond die tijd was ik aan het experimenteren met de Twitter API en heb ik 10000 tweets met #Trump gedownload, waarvan de helft voor het incident en de andere helft erna. Deze tweets heb ik vervolgens geanalyseerd met behulp van een sentiment lexicon (Hu & Liu, 2004) om te achterhalen in hoeverre het sentiment van het twitterende publiek was aangedaan door de lek. Inderdaad was er in toenemende mate sprake van negatief sentiment, maar minder dan ik persoonlijk had verwacht. Limitaties zijn dat ik slechts unigrams heb gebruikt en de sample van tweets wellicht niet representatief was.

results
Drie visualisaties van het sentiment omtrent #Trump

#WIDM?

Begin januari 2017 begon het 17e seizoen van de Nederlandse televisie spelshow Wie is de Mol?. Over de loop van het seizoen heb ik met de Twitter API alle tweets gedownload die #WIDM bevatten. Vervolgens heb ik met deze tienduizenden berichtjes gekeken in hoeverre de populariteit van de 10 deelnemers veranderde over de loop van de tijd. Hierin waren duidelijke trends zichtbaar, zeker wanneer je inzoomde op de frequentie waarmee specifieke woorden werden gebruikt om deelnemer te omschrijven (e.g., mol of verdacht). De analyses zijn gepubliceerd in een serie blogs op LinkedIn, waarvan je hier de eerste kunt vindt.

e2_correlation_words_mentions
Een visualisatie uit de tweede blog over het #WIDM project


Harry Plotter

Precies twintig jaar na de release van het eerste Harry Potter boek begon ik een text mining en analytics project om te laten zien hoe het tidyverse en de tools die op haar principes voortborduren het krijgen van inzichten uit data met de programmeer-taal R hebben versimpeld. De analyses hebben zijn door honderden websites gedeeld, maar uiteraard hier op mijn website te vinden.

 

Een visualisatie van het positieve/negatieve sentiment door de Harry Potter boeken heen.

 

%d bloggers like this: