#TheaterShooting: applying Big Data Analytics to Social Media Dr. ir. Fabian Jansen, ir. Ruben Logjes, dr. Sipho van der Putten, drs. Maarten Hoekstra en dr. Jan Amoraal 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 Dr. ir. F.M. Jansen
Ir. R.P.M. Logjes
Dr. S. van der Putten
[email protected]
[email protected]
[email protected]
is adviseur bij KPMG Management Consulting, IT Advisory.
is adviseur bij KPMG Management Consulting, IT Advisory.
Drs. M. Hoekstra
Dr. J.M. Amoraal
[email protected]
[email protected]
is junior adviseur bij KPMG Management Consulting, IT Advisory.
22
is manager bij KPMG Management Consulting, IT Advisory.
is adviseur bij KPMG Management Consulting, IT Advisory.
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 reageer den massaal op een uitdaging tot publieksparticipatie via social media.1 Dit is een leuk feitje, maar het geeft ook aan hoe massaal de gegevensstroom uit social media kan zijn. Het gemid delde 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 informa tie ligt voor het oprapen voor eenieder die wil luisteren.
Twitter-gebruikers produceren gemiddeld zo’n 700 gigabyte aan tekst en metadata per dag Qua gebruikers worden de ca. 500 miljoen twit teraars nog eens overstemd door een miljard Facebookgebruikers, 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 tek sten, 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 over heidskeuzes, om maar een paar voorbeelden te noemen. Het is zelfs aangetoond dat het mogelijk is beurskoers voorspellingen te doen aan de hand van het sentiment op Twitter. Echter, met de massale datastromen komt ook de uitda ging om deze te verwerken. Twitter-gebruikers produce ren 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 onge bruikelijke, 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.
Compact_ 2012 4
Social media
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 infor matie 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 infor matie eveneens totaal verschillend; ideologische sites, fan sites, virtuele marktplaatsen, designblogs, gezondheids forums 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 infor matie exponentieel te groeien. Met behulp van Big Data-analyses kan uit deze uiteenlo pende 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 vergro ten van de rekenkracht, deze ook zo optimaal mogelijk te gebruiken door slimme algoritmes te ontwikkelen waar mee informatie naar boven gehaald kan worden. Zoals eerder genoemd kan Big Data-analyse gebruikt worden om informatie te destilleren uit de alsmaar groei ende berg data. Dit proces van analyseren kan achteraf gebeuren om iets te beschrijven, maar het kan ook realtime 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 infor matieve content zonder dat alle persoonlijke berichten uit de tweets worden weergegeven. Dit slimme overzicht wordt dagelijks aangeboden en de gebruiker kan een aan tal ‘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
23
Big Data-achtergrondinformatie Soorten Big Data Big Data, zoals de naam al impliceert, wordt getypeerd door de grootte van data. Echter, niet alleen het data volume komt hierbij kijken, ook de grootte van data stroom 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 data basecomplexiteit, schaling- en redundancyproblemen en bovendien hoge kosten. •• Velocity Data die continu met hoge snelheid binnenkomt. Dit kan gespecialiseerde ontwerpkeuzes van verwerkings methoden 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 zich verhoudt ten opzichte van ander nieuws. Deze func tionaliteit is een gecompliceerdere variant van de simpele feed-viewer Flipboard, omdat daadwerkelijk alle Twitterberichten 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
24
#TheaterShooting: applying Big Data Analytics to Social Media
afhankelijkheden tussen berichten worden verdiscon teerd, 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-documen ten), data zonder garanties wat betreft inhoud of van veranderlijke inhoud (bijvoorbeeld website content), data die moeilijk of onzeker is te classificeren (bij voorbeeld 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 diep gaande datamodellering vergen, vervolgens specialis tische 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 tegenstrij dig. Enerzijds brengt meer data meer potentieel met zich mee: meer vormen van informatie, (statistisch) nauw keurigere informatie en snellere informatie. Anderzijds geven de drie V’s ook juist de knelpunten aan als het gaat om Big Data-verwerking en -analyse.
of beurskoersen te voorspellen. Hiervoor wordt sentiment analyse 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 gecorre leerd werden aan de beurskoersen. Hiermee kon met een nauwkeurigheid van 87,6% bepaald worden wat de op- en neerwaartse veranderingen zouden zijn van de sluitings waarden van de beurskoersen op de Dow Jones Industrial Average (DJIA). Het toepassen van een Self-Organising Fuzzy Neural Network kan de nauwkeurigheid van boven staande 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 uit drukking is vaak dubbelzinnig en doorspekt met culturele invloeden, waardoor mensen het onderling al vaak oneens
Het is zelfs mogelijk om op basis van Twitter-berichten filmopbrengsten, boekverkopen, nationale verkiezingen of beurskoersen te voorspellen
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:
•• •• ••
http://www.sentiment140.com http://twitrratr.com/ http://twendz.waggeneredstrom.com/
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 hoeveel heden data worden verdeeld over vele, mogelijk duizen den, nodes waarop een analyse parallel over de data kan worden uitgevoerd. Dit is ideaal voor het doorzoeken van ongestructureerde data, maar ook voor grote hoe veelheden 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 Sys teem (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 hoeveel heid data en verdelen die over verschillende nodes; in technische termen maakt de mapper een lijst van keyvalue pairs. Vervolgens wordt de data per classificatie verzameld en doorgegeven aan de reducers. Deze voeren per classificatie specifieke bewerkingen uit en produ ceren het gewenste antwoord. Het is aan de data-analist om de exacte inhoud van de mapper, de reducer en de classificaties in te richten.
Compact_ 2012 4
Social media
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 softwaretoepas singen voor de analyse van Big Data. Door middel van een Proof of Concept kan op een inter actieve 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-streams2 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 vertaal slag zijn de resultaten gevisualiseerd om de informatie inzichtelijk te maken. In de volgende twee voorbeelden is A
B
Mapper
a
1
b
C
D
Mapper
c
2
3
c
E
F
Mapper
Mapper
a
6
5
c
b
2
7
c
8
Shuffle and sort Aggregate values by keys a
1
Reducer
X
5
5
b
2
7
Reducer
Y
7
c 2
9 8
Reducer
Z
9
Figuur 1. In het MapReduce-algoritme wordt data parallel geclassificeerd (de mappers) en vervolgens verwerkt (de reducers).
25
450
Aantal tweets #batman + #darkknightrises
400
#theatershooting + #theat...
350 300 250 200
#theatershooting
150 100 50
21:00 GMT Europese première Batman ‘The Dark Knight Rises’
07:52 GMT Eerste tweet #theatershooting
06:39 GMT Schietpartij Colorado iets na middernacht plaatselijke tijd
14
:45
:22 09
jul i 03 ’12 :59
22
:36
17: 13
11: 50
09:17 GMT Artikel nu.nl
21
19
20
jul i 01 ’12 :03 06 :27
:40 19
:17
14
jul i 08 ’12 :54
0
18:14 GMT Beurskoersen 06:39 GMT 24u na schietpartij gedaald (12u na schietpartij)
Figuur 2. Het voorkomen van #theatershooting op Twitter naar aanleiding van het schietincident op 20 juli 2012 in Denver, Colorado.
Stage 4 Wisdom Decisions
Predictions
Visualization
Reporting
Stage 2 Information retrieval Statistics
Analysis
Query
Stage 1 Data collection & storage ETL Billing system
Mobile devices
Customer information
Customer programs
Affiliate data
Data fusion Sensor signals
Likes, Twitter
Social media
Data integration Web logs
Regulations
Private data
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 #thea tershooting te zien. Het aantal tweets met deze hashtag bereikt na de schietpartij een top van zo’n 50.000 tweets per uur3. 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. 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 corre latie 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 verrij ken. Dit is een iteratief proces waarmee het mogelijk is om telkens weer tot waardevolle conclusies te komen.
Stage 3 Knowledge generation
Communications
Pricing information
Competition Public data
Figuur 3. Maslow-piramide: de waarden van Big Data-analyse.
26
gebruikgemaakt van peak-finding van hashtags, de cor relatie tussen bepaalde hashtags en relevantie met overige informatie.
#TheaterShooting: applying Big Data Analytics to Social Media
Conclusie Social media als een Big Data-bron schept grote verwach tingen. Voor bedrijven is het mogelijk om eigen bedrijfs data 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.
[SMI12] Social Media Influence, 31 juli 2012, http://socialmedia influence.com/2012/07/31/mining-sentiment-for-the-next-pro duct-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-idUSBRE 86J0L120120720
Over de auteurs 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 aspec ten (IT, data-analyse) als de organisatorische en strategi sche aspecten zijn ingericht om snel van data tot wijsheid te komen.
Noten 1 De uitdaging bestond uit het posten van het woord ‘balse’ tij dens een kritiek moment in de film waarop de hoofdrolspelers Sheeta en Pazu dit magische woord uitspreken om de bad guy te verslaan. 2 De ‘sample stream’ bevat maximaal 1% van de totale Twitterstream, is afhankelijk van de bandbreedte en kan een grillig verloop hebben, waardoor de resultaten uit de sample indicatief zijn. 3 Figuur 2 is op basis van de Twitter ‘sample stream’, die zo’n 1% van de totale Twitter-stream bevat.
Bronnen [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-beurs handel.html [Grov12] R, Grover, Reuters, 20 juli 2012, http://www.reuters. com/article/2012/07/20/us-usa-shooting-shares-idUSBRE 86J15U20120720
Dr. ir. F.M. Jansen is adviseur bij KPMG Management Consulting, IT Advisory. Zijn achtergrond ligt in de fysica en hij is vanuit zijn studie en promotieonderzoek aan het CERN vertrouwd met het omgaan met grote hoeveelheden data. Zijn passie ligt in het modelleren en analyseren van complexe data en in het extrahe ren van gewenste informatie door middel van zelf ontwikkelde software. Ir. R.P.M. Logjes is adviseur bij KPMG Management Consulting, IT Advisory. Hij heeft zich in de afgelopen vier jaar kunnen ontwikkelen als expert op het gebied van web/iPad-applicaties gericht op nieuwe interactieve media. Door een combinatie van technische kennis, usability ervaring en commercieel inzicht kan hij een waardevolle functie vervullen bij het ontwikkelen van nieuwe websites en applicaties. Dr. S. van der Putten is manager bij KPMG Management Consulting, IT Advisory. Hij is gepromoveerd in de experimen tele deeltjesfysica. Tijdens zijn promotie heeft hij onder andere onderzoek gedaan naar signaalanalyse en patroonherkenning. Door het combineren van state-of-the-art technische kennis met geavanceerde analytische vaardigheden heeft hij zich ontwik keld tot een expert op het gebied van Big Data-analyse. Drs. M. Hoekstra is junior adviseur bij KPMG Management Consulting, IT Advisory. Hij is afgestudeerd in Software Engineering met een focus op softwarekwaliteit. Naast zijn brede technische kennis hebben zijn werkzaamheden hem in staat gesteld specialistische kennis op te doen over cloud com puting en Big Data-analyse. Dr. J.M. Amoraal is adviseur bij KPMG Management Consulting, IT Advisory. Hij is gepromoveerd bij het LHCb-experiment op CERN en heeft hiervoor veelvuldig zeer complexe data-analyses uitgevoerd, waarvoor hij ook de nodige software heeft ontwik keld. Zijn werkzaamheden richten zich momenteel voorname lijk op Software Quality.
[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/onder zoek-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.searchenginejour nal.com/analyze-sentiment-of-brand-social-mentions/18478/
Compact_ 2012 4
Social media
27