<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1525762147722832&amp;ev=PageView&amp;noscript=1">
Tapio Linkosalo

“Mikä on kaikkein masentavin joululaulu?”

Tekoäly avuksi yksinkertaisen ongelman ratkaisussa

Kollegani kysyi, päivänä muutamana, voisiko tekoälyn avulla selvittää, mikä on kaikkein masentavin joululaulu. Hetken pohdittuani totesin, että tuon pitäisi kyllä onnistua. Kysymykseen vastaamiseksi tarvittava tekstin tunneanalyysi on itse asiassa nykyään tekoälysovelluksille ihan peruskauraa, joten varmastikin tekoälyä voisi soveltaa tähänkin tarkoitukseen. Hienosta nimestään huolimatta suurin osa tekoälystä on loppujen lopuksi aivan tavallista tilastollista mallintamista. Toki tekoälysovellukset ovat pitkälle automatisoituja ja soveltuvat siten suurienkin aineistojen käsittelyyn. Lisäksi ne kykenevät poimimaan aineistoista sellaisia hienopiirteisiä riippuvuuksia, joita ihminen ei helposti havaitse. Tässäpä siis mainio tilaisuus kokeilla tekoälyä sangen yksinkertaisen ongelman ratkaisuun!

Innofactor toimii Pohjoismaissa (Suomi, Ruotsi, Norja ja Tanska), joten päätimme saman tien vertailla joululauluja Pohjoismaiden välillä. Millä maalla on hilpeimmät joululaulut, kenellä taas synkimmät? Kollegani muuten oli sitä mieltä, että ”Tonttujen jouluyö” (”tip-tap”-laulu) on varmasti joululauluista hilpein.

Sanojen tunnetilojen analysointi IMDb:n elokuva-arvioiden ja twiittien avulla

Tuumasta toimeen. Aluksi keräsimme joukon suosituimpia joululauluja eri Pohjoismaista, jonka jälkeen etsimme niiden sanat ja käänsimme ne englanniksi Googlen kääntäjän avulla. Tunneanalyysi ei vielä toimi yhtäläisen hyvin kaikilla pohjoismaisilla kielillä.

Kokeilin ensiksi valmista tunneanalyysiohjelmistoa, mutta sille tuotti vaikeuksia saada kaikkia tekstejä analysoitua. Mahtaneeko joululaulujen sanasto olla hiukan liian outoa tavanomaiselle tekoälylle? Niinpä lähdin rakentamaan analytiikkaa pienemmistä palasista. Mallini perusajatus on hakea jokaiselle laulun sanalle sen tunnetila (positiivinen tai negatiivinen), ja koko laulun tunnetila on yksinkertaisesti sen sanojen tunnetilojen keskiarvo.

Tarvitsin vielä luettelon eri sanoista ja niiden tunnetiloista laskentaa varten. Tähänkin löytyi ratkaisu netistä, mistäpä muualtakaan. Tekstianalyysiä varten on julkaistu erilaisia avoimia tekstejä, jotka on myös arvotettu positiivisiksi tai negatiivisiksi. Käytin tässä sovelluksessa kahta sellaista, IMDb:n elokuva-arvosteluja ja joukkoa twiittejä, jotka siis oli luokiteltu. Näistä poimin sanat ja annoin kullekin elokuva-arvion tai twiitin sanalle positiivisen tai negatiivisen arvon koko tekstin arvion mukaisesti. Yhden yksittäisen sanan tulos yhden lähteen mukaan voi tällä tapaa olla odottamaton, saattaahan olla esimerkiksi niin, että joku goottikauhun ystävä on arvioinut elokuvan ”ihanan synkäksi”, ja siten sana ”synkkä” saa tuosta arviosta positiivisen tuloksen. Mutta kun arvosteluja on tuhansia, yhdelle yksittäiselle sanalle tulee lukuisia tuloksia, ja yhden sanan useiden tulosten keskiarvo vastannee hyvin sanan tyypillistä tunnearvoa.

Norjassa synkimmät joululaulut – ja Suomessa hilpeimmät

Eri Pohjoismaiden suhteen analyysini tulos on hieman yllättävä. Mallin mukaan keskimäärin hilpeimmät joululaulut löytyvät Suomesta. Pelkkää IMDb-luokitusta käyttäen Ruotsi kiilaa hienoisesti edelle. Kaikki laskentatavat ovat kuitenkin samaa mieltä siitä, että Norjassa on synkimmät joululaulut. Tekstin lopussa on luettelot synkimmistä ja hilpeimmistä joululauluista. Tuloksia voi tarkastella myös interaktiivisesti Power BI -raportilla.

Joululaulut_pylvasdiagrammi

Sekä synkkien että hilpeiden laulujen listojen kärkisijoja pitävät muiden Pohjoismaiden laulut, jotka ovat minulle outoja. Kotimaisista joululauluista synkin on mallin mukaan ”Tonttu”. Tiedättehän, ”Kattojen päällä on lunta, tonttu ei vain saa unta”. Onhan se toki aika alakuloinen. Listalla neljäntenä on hyvin yllättäen ”No onkos tullut kesä”, jota ei voine synkkänä joululauluna pitää. Ilmeisesti siinä sanoituksessa on joitain yksittäisiä sanoja, jotka (asiayhteydestään irrotettuna) vetävät suun sitruunalle. Käyttämäni tekoälymalli on yksinkertainen, ja luultavasti takertuu yksittäisten sanojen arvioihin kokonaisuuden sijaan. Siksi se ei osaa tunnistaa, jos sanoja käytetäänkin poikkeuksellisissa yhteyksissä. Mallia olisikin hyvä vielä kehittää tulkitsemaan sanojen kokonaisuuksia, ja lisäksi kappaleiden melodiat ja tempot voisivat tuoda lisäymmärrystä niiden tunnelman arviointiin.

Iloisimpien laulujen lista on vähemmän yllättävä. ”Tonttujen jouluyö” jakaa kärkisijaa yhdessä kappaleen ”En etsi valtaa loistoa” kanssa. Kollegani oli siis oikeassa!

 

Hilpeimmät ja synkimmät joululaulut

FI-Iloiset joululaulut-taulukko 

"Tulos" kertoo laulun tunnelman. Mitä suurempi lukuarvo, sitä iloisempi kappale, ja päinvastoin.

Kuuntele 20 hilpeintä joululaulua Spotifysta.

 

 FI-synkat-joululaulut-taulukko


Kuuntele 20 synkintä joululaulua Spotifysta.

 

Kiinnostaako ura Innofactorilla? Kurkkaa avoimet työpaikkamme!



Tapio Linkosalo

Tapio työskentelee Innofactorilla Data Scientist -roolissa.