Sosiaalisen median analysoiminen R-ohjelmointikielen avulla

Tuomas Patrikainen

Tuomas Patrikainen
Tietovarastokehittäjä

Joillekin R on vain kirjain aakkosten joukossa, toisille se on analytiikan paras kaveri. R on avointa lähdekoodia hyödyntävä ohjelmointikieli tilastolliseen laskentaan ja mallintamiseen. Avoimen lähdekoodin ansiosta kuka tahansa R-kielen osaaja voi kehittää ja luoda omia kirjastoja. Kirjastot sisältävät erilaisia laskentafunktioita ja muita ominaisuuksia datan käsittelyyn, analysointiin ja visualisointiin, joita kaikki käyttäjät voivat hyödyntää. Laajojen kirjastojen ansiosta R sopii hyvin moneen, myös vaativaan, makuun. R:n avulla voidaan toteuttaa esimerkiksi koneoppimista (machine learning), tekstin prosessointia (text mining) tai tunnepohjaista analysointia (sentiment analysis).

Ohjelmointirajapintojen (Application programming interfaces, API) avulla voidaan vaihtaa tietoja eri ohjelmien välillä, esimerkiksi Twitter API mahdollistaa tiedonvaihdon Twitterin ja muiden ohjelmien välillä, myös R-kielen. TwitteR on yksi R-kielen lukuisista kirjastoista. Sen avulla saadaan muodostettua yhteys Twitteriin, josta voidaan imuroida twiittejä R:ään. Twiittejä voidaan kerätä hakusanan tai käyttäjänimen perusteella. Voidaan esimerkiksi kerätä ja analysoida Donald Trumpin mielenkiintoisia ja maailmaa järisyttäviä twiittejä. Myös muista sosiaalisista medioista voidaan kerätä käyttäjien kirjoituksia R:ään analysoitavaksi, tästä esimerkkejä ovat Rfacebook ja Rlinkedin.

Sosiaalisen median analysointi

Kun halutut twiitit on imuroitu R:ään, rakenteettoman datan muokkaus voidaan aloittaa datan puhdistamisella. Mitä enemmän aikaa ja työtä käytetään datan puhdistamisvaiheeseen, sitä luotettavampia tuloksia ja päätelmiä voidaan esittää. R:stä löytyy erittäin hyödyllisiä kirjastoja rakenteettoman datan puhdistamiseen ja tekstin käsittelyyn, tästä esimerkkeinä tm- ja stringr-kirjastot, joista löytyy monipuolisia funktioita. Twiittien puhdistamisen jälkeen teksteistä jäävät jäljelle vain tärkeimmät sanat, jotka tietokone tunnistaa analysointivaiheessa joko positiivisiksi, neutraaleiksi tai negatiivisiksi. Twiiteistä poistetaan siis kaikki sidos- ja muut täytesanat, jotka eivät oikeastaan ilmaise mitään tunteita tai anna R:lle analysoitavaa materiaalia. Käyttäjien viesteistä ja twiiteistä poistetaan myös välimerkit, hymiöt ja html-osoitteet.

Twiiteistä jää jäljelle aineisto, joka sisältää yksittäisiä sanoja. Ne eivät sellaisenaan anna enää mielekästä merkitystä ihmiselle, mutta niitä voidaan analysoida R:n avulla. Datassa olevia sanoja verrataan erillisiin positiivisiin ja negatiivisiin sanalistoihin. Analyysin algoritmi voidaan toteuttaa niin, että se laskee kokonaislukuja tietyltä lukuväliltä yksittäisille sanoille, jossa esimerkiksi positiivinen luku merkitsee myönteistä twiittiä ja vastaavasti negatiivinen luku kielteistä twiittiä. Näin saadaan muutettua tekstipohjainen informaatio numeeriseksi ja sitä voidaan analysoida tilastollisilla menetelmillä. R tarjoaa analysointiin myös valmiita kirjastoja, kuten rsentiment-kirjasto. Kun kaikki twiitit on pisteytetty, voidaan laskea twiittien kokonaispistemäärä tai kuvata aineisto histogrammin avulla ja tutkia sen jakaumaa. Näin voidaan selvittää, puhuvatko ihmiset sosiaalisessa mediassa jostakin aiheesta keskimäärin positiivisesti vai negatiivisesti. Sanoista voidaan myös etsiä korrelaatioita, esimerkiksi tutkimalla mitkä sanat esiintyvät usein yhdessä twiiteissä.

sosiaalisen median

Datan siivoamisen ja analysoinnin jälkeen aineistoa voidaan vielä visualisoida näyttävästi. R:stä löytyy mainioita kirjastoja myös datan visualisointiin, kuten ggplot2, jonka avulla voidaan toteuttaa laadukkaita ja havainnollistavia kuvaajia. Käyttäjien twiiteistä voidaan erikseen erottaa analysointivaiheessa keskeisiä tunnetiloja sekä jakaa twiitit selkeästi tiettyihin tunnetiloihin, kuten vihaisiin, iloisiin, surullisiin ja pelokkaisiin twiitteihin. R:n wordcloud-kirjaston avulla voidaan keskeiset sanat esittää myös sanapilvenä, josta voidaan helposti silmämääräisesti havaita, mitkä sanat toistuvat twiiteissä useimmin.

Sosiaalisen median analysoinnin avulla voidaan saavuttaa monenlaisia hyötyjä. Esimerkiksi voidaan selvittää suhteellisen luotettavasti ihmisten mielipiteitä yleisesti yrityksistä ja niiden tuotteista sekä kerätä palautetta asiakastyytyväisyydestä. Lisäksi voidaan selvittää ihmisten mielipiteitä esimerkiksi vaaliehdokkaista ja ennustaa vaalituloksia. Kun analysoidaan samaan aikaan kahta jalkapallojoukkuetta, voidaan päätellä vain kommenttien analysoinnin perusteella, kumpi joukkue voitti pelatun ottelun. Mahdollisuudet ovat rajattomat, kunhan päästetään vain mielikuvitus valloilleen!

Webinaari: Parempiin markkinointituloksiin analytiikan avulla

Ota yhteyttä

Jaa blogiteksti: