Siirry sisältöön
Digitaalisuus
Python sopii sosiaalisen median datan analysointiin

Python on yleiskäyttöinen ohjelmointikieli. Se on erityisen suosittu tekoälyyn ja data-analyysiin liittyvissä sovelluksissa. Tekstianalytiikka on data-analyysin ja tekoälyn osa-alue, jonka merkittäviä käytännön sovelluksia ovat dokumenttien luokittelu aiheen mukaan ja dokumenttien tunneilmaisujen analysointi.

Kirjoittajat:

Lili Aunimo

yliopettaja
Haaga-Helia ammattikorkeakoulu

Ari Alamäki

yliopettaja, myynnin kehittäminen ja digitalisaatio
Haaga-Helia ammattikorkeakoulu

Julkaistu : 18.12.2023

Haaga-Helian AI Driver ja AI Forum -hankkeissa selvitimme, voisiko tekoälypohjaista tekstianalyysia hyödyntää helposti sosiaalisen median datan analysointiin. Sosiaalisen median dataksi valikoitui Twitter-data (nykyinen X) sen helpon saatavuuden ja automaattiseen analysointiin liittyvän runsaan tutkimuskirjallisuuden vuoksi.

Kirjallisuuden perusteella on tiedossa, että useat tutkimusryhmät ovat menestyksekkäästi hyödyntäneet Twitter-dataa ja tekoälyä niin aiheiden kuin tunnetilojen tunnistamisessa. Pool ym. (2019) selvittivät kansalaisten mielipidettä liittyen etälääkäripalveluihin sosiaalisen median datan avulla. Hallikainen ja Aunimo (2018) tutkivat automaattisen aiheluokittelun avulla, kuinka suomalaiset yritykset hyödyntävät Twitteriä. Vankka ym. (2019) analysoivat automaattisesti asiakaspalautteiden tunnetiloja.

Tekoälypohjaiset menetelmät eivät tuota lähimainkaan täydellisiä tuloksia, mutta analysoidut datamäärät ovat niin suuria, ettei niiden analysointi ihmisvoimin ole mahdollista tai taloudellisesti järkevää.

Python tarjoaa työkalut koko tekstianalyysiputkelle

Tutkimus-, kehittämis- ja innovaatiohankkeessa tehdyssä opinnäytetyössä (Bäcklund 2023) kokeiltiin Python-työkaluja tekstianalyysiputken (engl. text analytics pipeline) rakentamiseen. Aiheeksi valittiin kansalaismielipiteen tarkastelu liittyen terveydenhuollon digitaalisiin palveluihin. Tekstianalyysiputkessa käytettiin seuraavia Python-kirjastoja ja -moduuleja:

  • Snscrape: Kirjasto, jonka avulla voidaan ladata (engl. scrape) dataa tietyistä digitaalisista palveluista, kuten Twitteristä.
  • Spacy: Kirjasto, joka mahdollistaa luonnollisen kielen prosessoinnin mukaan lukien tekstin alkioinnin, perusmuotoistamisen sekä suodattamisen poistosanalistalla ja sanaluokkakoodeilla. Se on erittäin nopea algoritmien suorittamisessa ja sopiikin erityisen hyvin suurien aineistojen käsittelyyn.
  • Googletrans: Kirjasto, joka mahdollistaa Google Translate-kielenkäännösohjelman käytön Pythonin kautta. Google Translate on Googlen tarjoama ilmainen ohjelma, joka kykenee kääntämään tekstiä yli sadalle kielelle.y
  • NLTK: Kirjasto, joka mahdollistaa luonnollisen kielen prosessoinnin ja on ominaisuuksiltaan hyvin monipuolinen sisältäen tekstin luokittelun, alkioinnin, paloittelun, stemmauksen, perusmuotoistamisen sekä suodattamisen poistosanalistalla ja sanaluokkakoodeilla.
  • VADER (osa NLTK:ta): Moduuli, joka mahdollistaa tunneanalyysin suorittamisen VADER-tunnesanaston pohjalta. Sanasto sopii erityisen hyvin sosiaalisen median tekstien analysointiin, sillä se kykenee huomioimaan emojit ja lyhenteet tunneanalyysissa.
  • NMF-moduuli (osa Scikit-learn-kirjastoa): Moduuli, joka mahdollistaa aihemallinnuksen epänegatiivisella matriisifaktorisoinnilla. Menetelmä hyödyntää lineaarialgelbraa aiheiden tuottamisessa.

Yllä esiteltyjen Python-kirjastojen ja moduulien avulla opinnäytetyön yhteydessä rakennettiin dataputki, jossa haettiin data Twitteristä vuodesta 2009 alkaen 20.4.2023 saakka tiettyjen asiasanojen perusteella. Sen jälkeen data esikäsiteltiin. Tähän vaiheeseen kuului mm. poistosanojen poistaminen ja tekstuaalisen twiittikokoelman muuttaminen numeeriseksi matriisiksi.

Aiheet tunnistettiin käyttäen epänegatiivista matriisifaktorointia (NMF). Tunteet analysoitiin käyttäen englanninkielistä lyhyisiin sosiaalisen median teksteihin kehitettyä leksikkopohjaista VADER-moduulia. Twiitit käännettiin suomesta englanniksi Googlen Translate -palvelulla ennen tunneanalyysiä.

Kokeilu antoi arvokasta käytännön tietoa tekstianalyysiputken toteuttamisesta

Python-pohjainen tekstianalyysiputken toteuttaminen ei kuitenkaan ollut aivan yksinkertaista. Haastetta aiheutti tutkimukseen soveltuvien twiittien löytäminen. Toiveena nimittäin oli, että kerätyt twiitit sisältäisivät mahdollisimman suurelta osin yksityisten kansalaisten mielipiteitä terveydenhuollon digitaalisista palveluista.

Twiitteja tarkastelemalla voitiin havaita, että suuri osa niistä oli mainoksia, tiedonantoja tai terveysteknologian mahdollisuuksia käsitteleviä kirjoituksia. Usein niiden kirjoittajat olivat terveysalan ammatinharjoittajia tai organisaatioita. Tämänlaiset twiitit eivät ainoastaan ole vääränlaisia tutkimuksen tarkoituksen kannalta, vaan ne oletettavasti saavat tunneanalyysissa keskimäärin erilaisia arvoja kuin halutunlaiset twiitit. Tämä vinouttaa tuloksia, minkä vuoksi menetelmillä saaduista tuloksista ei voi tehdä luotettavia johtopäätöksiä.

Ongelman taustalla saattaa olla se, että suomalaiset eivät halua kertoa terveydenhuollon digipalveluihin liittyvistä kokemuksistaan julkisesti Twitterissä. Tämän vuoksi analysoitava tekstimassa jäi toivottua pienemmäksi.

Data-analyysin lisäksi toinen kokeilun tavoitteista oli menetelmällinen, ja siinä tulokset olivat erinomaiset. Toimeksiantajan mukaan kokeilu antaa sekä hankkeelle että kehittäjäyhteisölle arvokasta käytännön tietoa tekstianalyysiputken toteuttamisesta suomenkieliselle sosiaalisen median datalle.

Ajankohtainen esimerkki opetuksen ja TKI-hankkeen yhdistämisestä

AI Driver -hankkeen ja yleensäkin Haaga-Helian tekoälyosaamisen kehittämisen kannalta luonnollisen kielen analyysimenetelmien kokeileminen ja soveltaminen ovat arvokkaita osaprojekteja. Opiskelijat saavat ajankohtaisia ja konkreettisia työelämän kehittämiseen liittyviä aiheita opinnäytetöihinsä ja hankkeelle saadaan uutta tietoa tekoälyteknologioiden mahdollisuuksista.

Tässä osaprojektissa yhdistyi monta ajankohtaista tekoälyyn liittyvää teemaa. Ensinnäkin tilastollinen tekstianalytiikka on erittäin keskeinen verkossa tapahtuvan vuorovaikutuksen tutkimusmenetelmä, Python ohjelmointikielenä on ehkä keskeisin data-analyysien ohjelmointikieli R-kielen ohella ja terveyssektorin data-analytiikka nähdään yhtenä digitalisaation keskeisenä kehitystrendinä.

Lähteet

Hallikainen, H. & Aunimo, L. 2020. Adoption of digital collaborative networking platforms in companies: A study of twitter usage in Finland. In Boosting Collaborative Networks 4.0: 21st IFIP WG 5.5 Working Conference on Virtual Enterprises, PRO-VE 2020, Valencia, Spain, November 23–25, 2020, Proceedings 21 (pp. 98-110). Springer International Publishing.

Pool, J., Namvar, M., Akhlaghpour, S. & Fatehi, F. 2022. Exploring public opinion about telehealth during COVID-19 by social media analytics. Journal of Telemedicine and Telecare, 28(10), 718–725.

Vankka, J., Myllykoski, H., Peltonen, T. & Riippa, K. 2019. Sentiment Analysis of Finnish Customer Reviews. 2019 Sixth International Conference on Social Networks Analysis, Management and Security (SNAMS), 344–350.

Editointi: Marianne Wegmüller

Kuva: Shutterstock