Big Data-analyse leent zich bij uitstek voor het verwerken en genereren van informatie uit social-mediabronnen. Deze nieuwe technologie staat nog in de kinderschoenen en het potentieel om binnen de verschillende sectoren waarde toe te voegen is enorm. Via sentimentanalyse is het bijvoorbeeld mogelijk om filmopbrengsten, boekverkopen, nationale verkiezingen of beurskoersen te voorspellen. Met Proofs of Concept is het mogelijk om in een korte tijd aan te tonen hoe succesvol een nieuw te ontwikkelen toepassing kan zijn voor een willekeurig onderwerp.
Introductie
Het record van Twitter staat op ca. 25.000 tweets per seconde. Dit gebeurde op 9 december 2011 toen de Japanse animatiefilm Castle in the Sky (1986, regisseur Hayao Miyazaki) op tv werd herhaald. Kijkers in Japan reageerden massaal op een uitdaging tot publieksparticipatie via social media.[De uitdaging bestond uit het posten van het woord ‘balse’ tijdens een kritiek moment in de film waarop de hoofdrolspelers Sheeta en Pazu dit magische woord uitspreken om de bad guy te verslaan.]
Dit is een leuk feitje, maar het geeft ook aan hoe massaal de gegevensstroom uit social media kan zijn. Het gemiddelde voor Twitter ligt op zo’n 340 miljoen tweets per dag (4000 per seconde) en is niet minder indrukwekkend; dagelijks 340 miljoen berichten met de meningen en ideeën van een wereldbevolking. Deze schat aan informatie ligt voor het oprapen voor eenieder die wil luisteren.
Qua gebruikers worden de ca. 500 miljoen twitteraars nog eens overstemd door een miljard Facebook-gebruikers, die dagelijks hun luide stem laten klinken met zo’n 250 miljoen foto-uploads, 500 miljoen gedeelde links en bijna drie miljard ‘likes’.
Verborgen in al deze social-media-interacties, in de teksten, links, likes, locaties, tijdstippen en een groeiend aantal andere attributen, liggen gebeurtenissen, trends, gedrag, oorzaak, gevolg, wat kan, moet of ooit zal zijn. Bedoeld of onbedoeld is social media een stem van de gebruiker en zijn Facebook en Twitter de talen die hij spreekt.
De informatie die hoorbaar is lijkt alleen beperkt door de fantasie van de luisteraar: trending topics, de kwaliteit van producten, de waardering van diensten, het succes van (online) campagnes, vrede en onvrede met bedrijfs- of overheidskeuzes, om maar een paar voorbeelden te noemen. Het is zelfs aangetoond dat het mogelijk is beurskoersvoorspellingen te doen aan de hand van het sentiment op Twitter.
Echter, met de massale datastromen komt ook de uitdaging om deze te verwerken. Twitter-gebruikers produceren gemiddeld zo’n 700 gigabyte aan tekst en metadata per dag, wat overeenkomt met zo’n 350 miljoen A4’tjes! Facebook-gebruikers verdrievoudigen deze hoeveelheid data nog eens. Wie dit thuis wil opslaan mag dagelijks zo’n 3 terrabyte aan opslag klaar hebben staan, ofwel een flinke harde schijf per dag.
Hier komt bij dat social-mediadata zich niet triviaal laat omzetten in de informatie die gewenst is. De data is ongestructureerd, dynamisch van formaat en met weinig garanties wat betreft de attributen die aanwezig en gevuld zijn. De informatie is vaak gevat in tekst, links en plaatjes, die zich moeilijk laten kwantificeren. Bovendien is de data vaak bijzonder contextafhankelijk, wat het isoleren van de juiste info bemoeilijkt.
De grootte en snelheid vergen nieuwe technieken om de enorme datastromen real-time te kunnen verwerken. Daarnaast vergt de ongestructureerdheid van de data ongebruikelijke, interactieve en iteratieve analysetechnieken. In dit artikel zullen we verder ingaan op zulke nieuwe Big Data-technieken en we zullen laten zien wat er allemaal mogelijk is als deze technieken toegepast worden op de datastromen.
Big Data-achtergrondinformatie
Soorten Big Data
Big Data, zoals de naam al impliceert, wordt getypeerd door de grootte van data. Echter, niet alleen het datavolume komt hierbij kijken, ook de grootte van datastroom en van datavariëteit typeert Big Data.
Volume, Velocity en Variety zijn de drie V’s die Big Data kenmerken.
- Volume
Een hoeveelheid data die zich niet eenvoudig laat opslaan en/of bevragen in een conventionele database of bestandssysteem. Dit kan betekenen dat de benodigde database erg groot moet zijn om de data te bevatten. Dit kan leiden tot lange responstijden bij een uitvraag, ondoenlijk lang durende data-analyses, overmatige databasecomplexiteit, schaling- en redundancyproblemen en bovendien hoge kosten. - Velocity
Data die continu met hoge snelheid binnenkomt. Dit kan gespecialiseerde ontwerpkeuzes van verwerkingsmethoden vergen. Deze moeten snel genoeg zijn om de hoge datastroom te kunnen verwerken en toch goed genoeg om data te kunnen filteren of comprimeren. Wanneer een (near) real-timeverwerking nodig is, kan dit parallel worden opgezet, maar hierbij moeten afhankelijkheden tussen berichten worden verdisconteerd, wat niet altijd triviaal mogelijk is. Verwerking kan verder vaak worden geoptimaliseerd door een gelaagde filtering, waarbij snelle algoritmes de data eerst filteren, zodat langdurende algoritmes minder data te verwerken hebben. - Variety
Ongestructureerde data (bijvoorbeeld pdf-documenten), data zonder garanties wat betreft inhoud of van veranderlijke inhoud (bijvoorbeeld website content), data die moeilijk of onzeker is te classificeren (bijvoorbeeld tekstberichten), of simpelweg data uit verschillende bronnen met verschillende formaten. Denk bijvoorbeeld aan het analyseren van tekstdata (bijvoorbeeld Twitter), clickstromen (website clicks), sensordata (RFID-lezers), video (camera’s) en databases (prijsgegevens) om voor een willekeurige retailer het klantgedrag in kaart te brengen. Dit kan initieel diepgaande datamodellering vergen, vervolgens specialistische analyses en tot slot uitgebreide monitoring en evaluaties van de kwaliteit van data en analyse.
Big Data wordt dus gekenmerkt door datagrootte in de vorm van de drie V’s. Het resultaat hiervan is tegenstrijdig. Enerzijds brengt meer data meer potentieel met zich mee: meer vormen van informatie, (statistisch) nauwkeurigere informatie en snellere informatie. Anderzijds geven de drie V’s ook juist de knelpunten aan als het gaat om Big Data-verwerking en -analyse.
De kracht van social media
In tegenstelling tot traditionele media maken social media het voor iedereen mogelijk om informatie te delen en op te zoeken. Men plaatst allerlei verschillende soorten informatie op het internet zoals uitgebreide en korte berichten, foto’s, video’s, complete encyclopedieën, presentaties, muziek, recepten, etc. Daarnaast is het doel van deze informatie eveneens totaal verschillend; ideologische sites, fansites, virtuele marktplaatsen, designblogs, gezondheidsforums die vaak gericht zijn op het delen van relevante informatie met gelijkgestemden, vrienden of familie. Deze informatie kan statisch maar ook veranderlijk van aard zijn. Doordat eindgebruikers deze data (hoofdzakelijk) gratis op het web kunnen plaatsen, lijkt de berg aan informatie exponentieel te groeien.
Met behulp van Big Data-analyses kan uit deze uiteenlopende bronnen nuttige informatie worden geëxtraheerd. De kracht van Big Data-analyses is dat ongestructureerde data bewerkt kan worden met algoritmes waardoor het eveneens mogelijk wordt om heel snel bepaalde informatie op te vragen in vergelijking met traditionele databases. De hoeveelheid data in de wereld groeit dagelijks en hiermee de opslagcapaciteit en rekenkracht die nodig is voor het analyseren van deze data. De kunst is om naast het vergroten van de rekenkracht, deze ook zo optimaal mogelijk te gebruiken door slimme algoritmes te ontwikkelen waarmee informatie naar boven gehaald kan worden.
Zoals eerder genoemd kan Big Data-analyse gebruikt worden om informatie te destilleren uit de alsmaar groeiende berg data. Dit proces van analyseren kan achteraf gebeuren om iets te beschrijven, maar het kan ook real-time ingezet worden als waarschuwingsmechanisme of toegepast worden om toekomstvoorspellingen te doen. In de volgende alinea’s is voor elk van de drie genoemde mogelijkheden een voorbeeld uitgewerkt.
‘Paper.li’ is een praktisch voorbeeld gericht op het filteren van een Twitter-feed of -lijst. Op de Paper.li-website kan men allerlei streams automatisch laten filteren op informatieve content zonder dat alle persoonlijke berichten uit de tweets worden weergegeven. Dit slimme overzicht wordt dagelijks aangeboden en de gebruiker kan een aantal ‘Daily newspapers’ maken. Door deze handige manier van ‘web analytics’ wordt het belangrijkste nieuws naar voren gebracht op basis van een ‘feed’ en hoe dat nieuws zich verhoudt ten opzichte van ander nieuws. Deze functionaliteit is een gecompliceerdere variant van de simpele feed-viewer Flipboard, omdat daadwerkelijk alle Twitter-berichten doorzocht worden op inhoud. Deze inhoud moet worden geïndexeerd en gefilterd voordat deze op het scherm getoond kan worden.
Het tweede voorbeeld betreft het volgen en analyseren van social media voor commerciële doeleinden. WalmartLabs (van de Amerikaanse supermarktketen Walmart) heeft bijvoorbeeld effectief Twitter-berichten geanalyseerd en daardoor besloten het product ‘cake pops’ op te nemen in zijn assortiment. In bepaalde perioden van het jaar vliegt dit product nu als warme broodjes over de toonbank. Met dit soort tools kunnen bedrijven hun productportfolio aanpassen en trends ontdekken waar ze op in kunnen spelen ([SMI12]).
Het is zelfs mogelijk om op basis van Twitter-berichten filmopbrengsten, boekverkopen, nationale verkiezingen of beurskoersen te voorspellen. Hiervoor wordt sentimentanalyse toegepast (zie hierna). Een goed voorbeeld is het toepassen van een correlatie van beurskoersen met twee ‘mood tracking tools’ (OpinionFinder and Google-Profile of Mood States – GPOMS). Deze tools werden gebruikt om Twitter-berichten te indexeren, waarna ze gecorreleerd werden aan de beurskoersen. Hiermee kon met een nauwkeurigheid van 87,6% bepaald worden wat de op- en neerwaartse veranderingen zouden zijn van de sluitingswaarden van de beurskoersen op de Dow Jones Industrial Average (DJIA). Het toepassen van een Self-Organising Fuzzy Neural Network kan de nauwkeurigheid van bovenstaande resultaten zelfs nog verder verfijnen voor allerlei ‘toekomstvoorspellingen’ ([Boll10]).
Sentimentanalyse is misschien nog wel de meest lastige variant van Big Data-analyse ([Boll10], [Wiki12], [Kok11], [Esse10], [Beur11], [Smar10], [Hale09]). Een taalkundige uitdrukking is vaak dubbelzinnig en doorspekt met culturele invloeden, waardoor mensen het onderling al vaak oneens zijn over de uitleg van een stuk tekst. Het is voor een computer behoorlijk complex om sentiment te interpreteren. Hoe korter de tekst, des te lastiger het wordt om na te gaan welke emotie men probeert over te brengen. Via onderstaande websites is het mogelijk om een indruk te krijgen van sentimentanalyse op basis van een bepaalde Twitter-zoekterm:
Big Data-achtergrondinformatie
Big Data-techniek en -analysemethode
Als men denkt aan een platform om Big Data-opslag en -verwerking op uit te voeren, dan komt vaak Hadoop ter sprake. Het kernpunt van Hadoop is dat grote hoeveelheden data worden verdeeld over vele, mogelijk duizenden, nodes waarop een analyse parallel over de data kan worden uitgevoerd. Dit is ideaal voor het doorzoeken van ongestructureerde data, maar ook voor grote hoeveelheden gestructureerde data kan het voordeliger zijn om met duizenden nodes tegelijk brute force door data heen te zoeken, dan om een database uit te lezen.
Hadoop optimaliseert door de data-analyse uit te voeren daar waar de data is opgeslagen om zoveel mogelijk het kopiëren van data te minimaliseren. De analyse van data chunks wordt uitgevoerd op dezelfde nodes als waarin ze zijn opgeslagen, of zo dicht mogelijk erbij. Dit wordt bevorderd door de data meerdere malen op verschillende nodes op te slaan. Het Hadoop File Systeem (HDFS) is het gebruikelijke systeem om de data in op te slaan.
Data-analyse wordt uitgevoerd met behulp van het MapReduce-algoritme. Dit algoritme kent twee fasen, een mapper en een reducer. Mappers lezen een hoeveelheid data en verdelen die over verschillende nodes; in technische termen maakt de mapper een lijst van key-value pairs. Vervolgens wordt de data per classificatie verzameld en doorgegeven aan de reducers. Deze voeren per classificatie specifieke bewerkingen uit en produceren het gewenste antwoord. Het is aan de data-analist om de exacte inhoud van de mapper, de reducer en de classificaties in te richten.
Figuur 1. In het MapReduce-algoritme wordt data parallel geclassificeerd (de mappers) en vervolgens verwerkt (de reducers).
De Proof of Concept
Een Proof of Concept is vergelijkbaar met een prototype waarmee aangetoond kan worden wat de haalbaarheid is van een idee of een nieuwe techniek. In dit geval is de Proof of Concept gericht op hardware- en softwaretoepassingen voor de analyse van Big Data.
Door middel van een Proof of Concept kan op een interactieve manier, met aantrekkelijke visualisaties, getoond worden hoe innovatieve toepassingen geïmplementeerd kunnen worden. Social media is hiervoor zeer geschikt en raakt veel gebieden uit het dagelijkse leven, zowel zakelijk als privé, waarbij vaak sentiment een belangrijke factor is.
Als voorproefje zijn drie Twitter-streams[De ‘sample stream’ bevat maximaal 1% van de totale Twitter-stream, is afhankelijk van de bandbreedte en kan een grillig verloop hebben, waardoor de resultaten uit de sample indicatief zijn.] gebruikt om de kracht van Big Data te bewijzen. Deze streams zijn met behulp van het Hadoop-platform opgeslagen en zijn door middel van MapReduce geanalyseerd. Als laatste vertaalslag zijn de resultaten gevisualiseerd om de informatie inzichtelijk te maken. In de volgende twee voorbeelden is gebruikgemaakt van peak-finding van hashtags, de correlatie tussen bepaalde hashtags en relevantie met overige informatie.
#theatershooting
Wie herinnert zich niet de ‘Colorado’ shooting tijdens de première van de Batman-film The Dark Knight Rises? In figuur 2 is duidelijk het verloop van de hashtag #theatershooting te zien. Het aantal tweets met deze hashtag bereikt na de schietpartij een top van zo’n 50.000 tweets per uur[Figuur 2 is op basis van de Twitter ‘sample stream’, die zo’n 1% van de totale Twitter-stream bevat.]. De eerste tweet uit onze sample met deze hashtag werd ruim een uur later in de Twitter-data teruggevonden. Ter vergelijking, het eerste nieuwsbericht op NU.nl/ANP werd ongeveer tweeënhalf uur later geplaatst.
Figuur 2. Het voorkomen van #theatershooting op Twitter naar aanleiding van het schietincident op 20 juli 2012 in Denver, Colorado.
In dezelfde periode is te zien dat er over de film zelf minder getweet werd met de gecombineerde hashtags #batman en #thedarknightrises (in absolute getallen), wat daarnaast ook een minder hoge piek bereikte. Wel zijn er duidelijke pieken te zien voor de momenten rondom de premières. Deze vonden verspreid plaats over de hele wereld.
Hiermee is een eerste aanzet gegeven voor eventuele correlatie tussen deze hashtags. We weten dat de filmpremières in Europa en Amerika kort na elkaar plaatsvonden, maar wat zegt de grafiek van figuur 2 ons? Door combinatie met informatie van het web weten we bijvoorbeeld dat de beurskoersen van bepaalde bioscoopketens ook gedaald waren halverwege de dag waarop de schietpartij plaatsvond ([Zaba12], [Nu 12], [IMDb12], [Grov12]).
Voor een nauwkeurige voorspelling van bepaalde waarden is een juiste analyse van de data nodig om een correcte uitspraak te kunnen doen. De uitwerking van deze analyse kan steeds verder verfijnd en geautomatiseerd worden door naar andere informatie uit de Twitter-berichten te kijken (denk aan relevante woorden, hashtags en GPS-locaties). Het combineren met bijvoorbeeld beurskoersen en andere informatiebronnen kan de resultaten steeds meer verrijken. Dit is een iteratief proces waarmee het mogelijk is om telkens weer tot waardevolle conclusies te komen.
Conclusie
Social media als een Big Data-bron schept grote verwachtingen. Voor bedrijven is het mogelijk om eigen bedrijfsdata te correleren met tweets, beurskoersen, Open Data, enzovoorts; men kan het zo gek niet bedenken. Big Data maakt het mogelijk om te bepalen welke strategie gevolgd moet worden om verliezen te voorkomen en kansen in de markt te identificeren en uit te nutten.
Om waarde te kunnen halen uit Big Data is een holistische aanpak nodig die zich richt op de hele Big Data-stack (zie figuur 3). Dit houdt in dat zowel de technologische aspecten (IT, data-analyse) als de organisatorische en strategische aspecten zijn ingericht om snel van data tot wijsheid te komen.
Figuur 3. Maslow-piramide: de waarden van Big Data-analyse.
Literatuur
[Beur11] Beurs.com, 24 mei 2011, http://www.beurs.com/2011/05/24/sociale-media-voorspellen-beurskoersen/4109
[Boll10] J. Bollen, H. Mao, X. Zeng, ‘Twitter mood predicts the stock market’, 14 Oct 2010
[Esse10] L. Essers, 22 december 2010, http://webwereld.nl/nieuws/105158/twitter-sentiment-stuurt-automatische-beurshandel.html
[Grov12] R, Grover, Reuters, 20 juli 2012, http://www.reuters.com/article/2012/07/20/us-usa-shooting-shares-idUSBRE86J15U20120720
[Hale09] A. Halevy, P. Norvig, F. Pereira, Google, ‘The Unreasonable Effectiveness of Data’, 2009
[IMDb12] IMDb 2012, http://www.imdb.com/title/tt1345836/releaseinfo
[Kok11] B. Kok, 6 april 2011, http://twittermania.nl/2011/04/onderzoek-twitter-voor-beleggers-goud-waard/
[Nu12] Nu.nl, 20 juli 2012, http://www.nu.nl/buitenland/2863190/twaalf-doden-bij-schietpartij-batman-premiere-denver.html
[Smar10] A. Smarty, 11 maart 2010, http://www.searchenginejournal.com/analyze-sentiment-of-brand-social-mentions/18478/
[SMI12] Social Media Influence, 31 juli 2012, http://socialmediainfluence.com/2012/07/31/mining-sentiment-for-the-next-product-breakthrough-think-cake-pops/
[Wiki12] Wikipedia 28 Augustus 2012, http://en.wikipedia.org/wiki/Sentiment_analysis
[Zaba12] D. Zabarenko, Reuters, 20 juli 2012, http://www.reuters.com/article/2012/07/20/us-usa-shooting-denver-toll-idUSBRE86J0L120120720