Edellisellä kerralla sovelsin mielipiteen louhintaa mielenosoituspäivän Twitter-feedin analysointiin ja luokitteluun. Koska menetelmä oli varsin hauska ja ongelmistaan huolimatta tuotti vähintään välttäviä tuloksia niin en millään malta olla käyttämättä sitä jälleen. Metodologisesti muutoksia edelliseen blogaukseen verrattuna on kaksi: ensinnäkin käänsin Hun ja Liun sanalistat suomeksi ja pyrin hieman manuaalisesti vielä korjaamaan niitä. Näin päästään eroon kääntämisen aiheuttamista epävarmuustekijöistä. Semminkin kuin sanalistan kääntäminen suomeksi ja minun vajavaisilla kielitieteellisillä taidoilla sörkkimäni korjaukset eivät pahentaneet ongelmaa. RKP.n kohdalla käytän kommentit edelleen Microsoftin käännöspalvelun kautta.
Toinen on lisäys raportointiin. Jo edellisellä kerralla mietin, että mikä luku kuvaisi parhaiten mielialan positiivisuutta tai negatiivisuutta. Pelkkien positiivisten kommenttien osuus kaikista kommenteista on varsin vajavainen mittari; se ei huomioi luokitellaanko ne loput neutraaleiksi vai negatiivisiksi. Tähän ongelmaan ratkaisuksi keksin positiivisuusindeksiksi dubbaamani yksinkertaisen laskukaavan: (positiiviset kommentit - negatiiviset kommentit) / kaikki kommentit. Näin saadaan luku, joka saa arvoja -1 ja 1 välissä. Eli jos kaikki kommentit ovat negatiivisia, saa indeksi arvon -1 ja jos kaikki ovat neutraaleja niin arvo on 0. Toki kritiikkiä voi esittää siitä, että jos 50 % kommenteista on positiivisia ja 50 % negatiivisia niin silloinkin lopputuloksena on 0. Lisäksi erotuksen luonteen vuoksi tulokset pakkautuvat luontaisesti nollan ympärille (vaikka kaksi kolmasosaa kommenteista olisi negatiivisia niin kolmasosan positiivisten osuus tiputtaa indeksin arvoksi -0.33) Siksi tarjoan indeksin lisäksi myös pylväskuvioita, joista näkee todellisen jakauman.
Mutta varoitetaan silti jo valmiiksi jos ette muista lähtökohtaista varovaisuuttani edellisestä viestistäni. Mielipiteen louhinta on vaikeaa. Se on erityisen vaikeaa suomeksi, koska pohjaa jonka päälle työni rakentaa ei oikeastaan ole (ainakaan julkisesti saatavilla) ja sijamuotoja on huomattavasti englantia enemmän. Sarkasmi, piilomerkitykset ja erityisslangi on erittäin vaikeaa huomioida. Sanalistapohjaisessa menetelmässä hävitään jo sijamuodoissa valtavasti. Jos "huono" esiintyy sanalistassa niin ei se lohduta kun kommentissa puhutaan "huonoa". Tiedän sanalistani olevan vaillinainen. Mutta voin aina lohduttautua sillä, että jos sanalistoissa on systemaattisia virheitä niin virheet varmaan ovat satunnaisesti jakautuneita ja pitkässä juoksussa tasoittuvat. Ehkä.
Pieni ihmisaivon suorittama laaduntarkistus koneaivon luokittelun tuloksiin näytti osoittavan, että ei tulokset hatusta revittyjä olleet ja tarpeeksi moni luokittelu osui aivan oikeaan. Mutta parantamisen varaakin jäi; nopean arvioinnin perusteella algoritmi näytti luokittelevan negatiivisen kommentin herkemmin positiiviseksi kuin toisinpäin eli ainakaan se virheiden satunnainen jakautuminen ei täysin toteutunut ja luokittelussa on pieni strukturaalinen, ei pelkästään satunnainen virhe. Toisaalta puolueiden välisessä vertailussa tällä ei ole niin väliä, sillä samat virheet toistuvat puolueesta toiseen. Isossa ja vertailevassa kuvassa tuloksissa onkin oikein riittävästi tarkkuutta ja oikeita eroja puolueiden sivuilla käydyn keskustelun välille löytyi.
Ja niin: eihän se oletus, että puolueen facebook-sivulla keskustelisi ainoastaan puolueen kannattajat ihan kestä vettä. Mutta yksinkertaistuksen vuoksi lähdetään siitä, mutta pidetään mielessä muidenkin kuin omien sananvapaus sosiaalisen median areenalla. Vaikka sosiaalinen kuplautuminen onkin kivaa ja "kupla" vuoden muotisana.
Ja sitten kun olen saanut teidät epäilemään kaikkea mitä seuraavaksi on tulossa niin onkin hyvä mennä tuloksiin. Tiedossa pylväskuvio- ja sanapilviähkyä.
Perussuomalaiset: positiivisuusindeksi -0.18
Perussuomalaisten sanapilvi
Vihreät: positiivisuusindeksi -0.09
Vihreiden sanapilvi
Kokoomus: positiivisuusindeksi 0
Kokoomuksen sanapilvi
SDP: positiivisuusindeksi -0.15
SDP:n sanapilvi
Keskusta: positiivisuusindeksi -0.08
Keskustan sanapilvi
Vasemmistoliitto: positiivisuusindeksi -0.07
Vasemmistoliiton sanapilvi
Kristillisdemokraatit: positiivisuusindeksi 0
Kristillisdemokraattien sanapilvi
RKP: positiivisuusindeksi 0.17
RKP:n sanapilvi
Selvisittekö tänne asti? Hyvä. Tehdään sitten muutamia poimintoja ja tulkintoja.
Perussuomalaisten facebook-sivulla keskustelu on hallituspuolueista selvästi negatiivisinta. Itse asiassa meno persujen sivuilla on vielä oppositiopuolueitakin mollivoittoisempaa. Toki perussuomalaiseen retoriikkaan kuuluu suorapuheisuus, jonka typerä koneaivo voi tulkita helposti negatiivisiksi tunteiksi. Mutta siltikin johtopäätös on selvä: persuissa tai ainakin heidän facebook-sivullaan kuohuu. Sitä tukee myös se fakta, että perussuomalaisten sivuilla käyty keskustelu on myös aktiivisuudessaan
aivan omilla tuhatluvuillaan verrattuna mihinkään muuhun puolueeseen.
Mistä perussuomalaisten huonot vibat sitten johtuvat? Mieleen tulee heti kaksi selitysmallia: hallitusvastuu ja pakolaiskriisi. Perussuomalaisten hallitustaival on ollut kaikea muuta kuin helppo. Kannattajakunnaltaan vahvasti duunaritaustainen puolue on hallituksessa, jonka talouspolitiikka on ollut todella oikeistolaista ja jonka leikkaukset ja ajamat työelämäreformit koskevat kipeästi puolueen ydinkannattajakuntaan. Toisaalta europolitiikkaan tai maahanmuuttopolitiikkaan perussuomalaiset eivät varmasti ole päässeet aivan haluamassaan laajuudessa vaikuttamaan, vaikka molemmissa puolueen kädenjälki on ollut nähtävissä.
Lisäksi perussuomalaiset ovat nähdäkseni puolueena hyvin mielenkiintoisessa vaiheessa. Eurooppalainen trendi on ollut, että oikeistopopulistiset puolueet ovat yrittää silottaa itseään "salonkikelpoiseksi". Mutta puolueille, joiden kantava moottori ja elinvoimaa antava eliksiiri on ollut poliittinen tyytymättömyys ja protestiliike, muutos ei ole helppo. Esimerkiksi Ranskassa Le Penin perheen valtataistelut ovat erinomainen esimerkki uuden ja vanhan oikeistopopulismin jännitteestä.
Nyt myös perussuomalaiset ovat vaiheessa, jossa tyytymättömyyttä kanavoiva populistipuolue on pakostakin muuttumassa "normaaliksi" puolueeksi. Puolueeksi, jota äänestetään ennemminkin sen ajaman aatteen ja asioiden vuoksi kuin keskisormen heilutteluna muille. Ja pakostakin se tyytymättömyyden tunne, joka ennen on ollut puolueelle sitä eteenpäin vievä voima alkaa kääntyä sitä vastaan. Tästä seuraa sisäisiä jännitteitä, jotka ovat jo manifestoituneet esimerkiksi kantasuomalaisena projektina. Niin, ja sitten ne pakolaiset. Niistä ei perussuomalaiset tykkää. Sen tietää Hakkarainen.
Mielenkiintoisesti "maahanmuutto" on perussuomalaisten facebook-keskustelussa positiivissävytteisten joukossa. Kyseessä lienee positiinen reaktio perussuomalaisten viimeaikaisiin ulostuloihin pakolaiskysymyksestä. Negatiivista diskurssi on odotetusti hallituksen eläkeläisiin ja köyhiin kohdistuvista leikkauksista käydyssä keskustelussa.
Vihreiden facebook-sivulla kokonaiskuva on myös negatiivinen. Vihreät ovat kritisoineet vahvasti hallituksen toimia, jotka varmasti aiheuttavat ahdistusta. Toisaalta Vihreät ja Ville Niinistö ovat ottaneet selkeän johtoroolin oppositiopolitiikassa, mikä näyttää myös saavan kiitosta, sen verran usein sana Ville mainitaan positiivissa kommenteissa.
Positiiviksi ja negatiiviksi luokitelluissa kommenteissa on molemmissa selkeänä teemana pakolaiset ja maahanmuutto. Näin näppituntumalta väittäisin, että positiivissävytteiset viestit ovat Vihreiden kannattajien tekemiä ja negatiiviset taas muiden puolueiden kannattajia, jotka ovat saapuneet Vihreiden facebook-sivulle keskustelemaan aiheesta. Lisäksi sanapilvestä voisi päätellä, että Vihreiden sivuilla puhutaan negatiiviseen sävyyn niistä suomalaisista, jotka vastustavat pakolaisten maahantuloa
Kokoomuksessa kokonaiskuva on tasaisen harmaa indeksin saadessa (pyöristetyksi) arvokseen pyöreän nollan. Hallituksen talouspolitiikka onkin ollut vahvasti kokoomuslaista kädenjälkeä, joten ei ole ihme, että kokoomuslaiset ovat hallituspuolueista positiivisimmin fiiliksin sosiaalisessa mediassa. Jos sanapilvestä voi tulkintoja tehdä niin hallituksen toimia pidetäänkin hyvinä. Lomapäivät eivät ainakaan julkisen sektorin työntekijöissä tällä hetkellä positiivista kaikua herätä, mutta Kokoomuksella sana löytyy positiivissävytteisten kommenttien joukosta. Negatiivisestä sanapilven kulmasta poimintana julkinen sektori, joka edelleenkään ei taida olla kokoomuslaisittain kuuminta hottia.
Demarit ovat oppositiopuolueista negatiivisimmalla tuulella ja lähes persujen tasolla syysmasiksessaan. Selkeästi ammattiliittojen kyykytys hallituksen toimesta sekä hallituksen kaavailemat muutokset sairauspäiviin ja lomarahoihin ovat pistäneet demarit vihaiseksi. Toisaalta puolueen oma toiminta vaikuttaa olevan hieman sekasortoisessa tilassa, eikä puheenjohtaja Antti Rinne ole missään vaiheessa esiintynyt varteenotettavana johtajana. Kuvaavaa onkin, että "Lauri" eli oletettavasti SAK:n ammattiliittopamppu Lauri Lyly, esiintyy jopa hieman useammin kuin "Rinne" demarien posiitiviseksi luokitelluissa kommenteissa.
Mutta ei juhlita pääministeripuolueenkaan facebook-sivuilla. Keskustan kenttä ei varmasti niele hallituksen työelämäuudistuksia tai pakolaisvirtaa täysin kyseenalaistamatta. Ja varmasti Sipilään henkilöityvä leikkauslinja kerää myös ei-kepulaisia diskuteeraamaan sivistyneesti Keskustan facebook-sivuille. Toisaalta sanapilvestä on selkeästi havaittavissa myös kiitosta Sipilälle vaalivoitosta. Eiköhän Keskustassa katsota nykymenoa varsin ristiriitaisissa merkeissä.
Vasemmistoliiton sivuilla keskustelu negatiivisuustasoltaan noin Vihreiden luokkaa. Vasemmistoliitolta olisi odottanut demareiden tavoin hyvin negatiivista suhtautumista hallituksen toimiin. Mutta demareiden kaaoksen tilalla Vasemmistoliitolla Aino-Kaisa Pekonen ja Li Andersson ovat nähtävästi saaneet paljon kiitosta. Puolue onkin ollut vasemmistopuolueista se hieman ärhäkämpi oppositiopolitiikassaan, mikä varmaan selittää eroa. Ärsytyksen aiheina esiintyy odotetusti sunnuntait, stubbit, soinit ja työaika. Lisäksi pakolaisdiskurssin ollessa positiivista näyttää vasemmistoliittolainen maahanmuuttokeskustelu taas liittyvän negatiivisiin sanoihin. Mielenkiintoista, jos pitää paikkaansa.
Kristillisdemokraatit ovat myös diskurssiltaan neutraalia sakkia. Jumala hyvä, työ (sen puute, siihen tulevat muutokset?) paha. Kristillisdemokraateilla on varmasti iloittavaa ainakin uudesta valovoimaisesta puheenjohtajasta Sari Essayahista (joka ei muuten ole Päivi Räsänen!) ja "aito avioliitto"-aloitteen saamasta allekirjoittajamäärästä. Lisäksi kristilliseen arvomaailmaan ei kuitenkaan porvarillinen talouspolitiikka ole aivan vierasta, vaikka heikompiosaisten puolella he väittävätkin olevansa.
Ja sitten on RKP, nuo positiivisten rantaruotsalaisten edunvalvovat. En tiedä johtuuko se Microsoftin tekemistä käännösvirheistä vaiko ruotsinkielisten luontaisesta positiivisuudesta, mutta RKP:n sivuilla näyttää olevan oikeinkin hyvät kekkerit ja positiivinen meno. Vaikka RKP onkin ensi kertaa oppositiossa miesmuistiin niin hallituksen politiikka onkin RKP:lle varsin läheistä. Lisäksi jos jokin puolue Suomessa ottaa pakolaiset ilomielin vastaan niin juuri RKP:llä on varmasti vähiten vastaansanomista, onhan puolueen ideologiassa hyvin vahvasti läsnä kulttuuri- ja kielivähemmistöjen suojelu.
Kuten tuli sanottua, puutteellinenkin menetelmä voi saada aikaan ihan järkeviä tuloksia. Kyllä minä itse voisin ainakin uskoa saatuihin tuloksiin, varsinkin kuultuani omat kootut selitykseni. Silmämääräinen luokittelun tarkastelu osoitti toisaalta algoritmin vahvuudet (positiiviset kommentit saatiin aika hyvin luokiteltua positiivisiksi) ja toisaalta heikkoudet (negatiivisten kommenttien luokittelu oikein tuotti enemmän vaikeuksia, toki aineistossa niitä olikin huomattavasti positiivisia enemmän). Näillä opeilla on hyvä lähteä jatkokehittämään menetelmiäni ja opinion lexiconiani.
Sanalistoihin perustuvan mielipiteen louhinnan lisäksi pyrin myös näiden oppien pohjalta kokeilla itseoppivaa koneoppimismenetelmää, "naive bayes classifieria". Siinä algoritmille annetaan esimerkkejä etukäteen positiiviseksi tai negatiiviseksi luokitelluista teksteistä ja sovelletaan näitä oppeja uuteen aineistoon. Toistaiseksi olen vältellyt sitä, koska se on sanalistaa huomattavasti kontekstisidonnaisempi: "pakolainen" tuo mieleen aivan eri asioita vihreälle ja perussuomalaiselle. Toisaalta päivän politiikan aiheiden jatkuva eläminen tarkoittaa, että jos opetan tämän hetkisellä kommenttidatalla algoritmia, jonka pitää luokitella kolmen kuukauden päästä tulevaa kommenttidataa niin ongelmia syntyy jos puheenaiheet ovat täysin erit. Uskoisin kuitenkin, että jos ja kun teen jokaiselle puolueelle oman harjoitteludatan niin uskoisin laadun paranevan minun geneeriseen sanalistaani verrattuna. Tämä näin pienenä ääneen pohdintana kahden sentiment analysis-menetelmän hyvistä ja huonoista puolista. Katsotaan joidenkin kuukausien päästä jos olen tämän toteuttanut.
Mutta kun blogipostauksen pituus on jo aikapäiviä sitten ohittanut "too long; did not read"-rajan niin ei voi muuta kuin todeta Niilo22:n sanoin: "ei siitä sitten sen enempää".
Ei kommentteja:
Lähetä kommentti