Helsingin sanomat julkaisi kesäkuussa 2015 köyhyyskyselyn, jolla kartoitettiin suomalaisten ajatuksia köyhyydestä. Kyselyn laativat hyvinvointisosiologian professori Juho Saari ja ryhmä suomalaisia tutkijoita. Se sisälsi useita monivalintakysymyksiä, joitakin taustoittavia kysymyksiä ja kaksi avointa kysymystä köyhyydestä. Näistä ensimmäinen oli “Kuvaile millainen ihminen on Suomessa sinun mielestäsi köyhä; mistä tunnistat köyhän ihmisen?” ja toinen “Millaiseen elintasoon köyhän tulisi mielestäsi Suomessa tyytyä; millaiseen elämään hänellä tulisi olla mahdollisuus?”
Saman vuoden joulukuussa julkaistiin kyselyn tuloksia läpikäyvä artikkeli, jossa todettiin, että “mitä varakkaampia ihmiset ovat, sitä enemmän he näkevät köyhyyden köyhän omaksi syyksi. Köyhät näkevät, että myös yhteiskunnan rakenteilla on vaikutusta.” Artikkelin mukaan prof. Saari piti huolestuttavana sitä, että “hyvässä asemassa olevista niin suuri osa näkee köyhyyden johtuvan yksilöllisistä syistä“. Artikkeli toteaa, että tällainen “asenne näkyy myös päättäjien tekemissä ratkaisuissa, joissa on korostettu ihmisen aktivointia ja omaa panosta. Liian vähän kiinnitetään huomiota köyhyyttä aiheuttaviin rakenteellisiin seikkoihin.“
Koneoppimisen ja luonnollisen kielen käsittelyn näkökulmasta kiinnostavin asia artikkelissa oli kuitenkin koe, jossa aineistosta poimittiin erilleen 125 suurituloisimman ja 125 köyhimmän vastaukset. Ensimmäisessä joukossa perheiden tulot olivat 15 500–250 000 euroa kuukaudessa, toisessa alle 500 euroa kuukaudessa. Vastaukset annettiin luettavaksi sosiologiasta opinnäytetyötään tekevälle opiskelijalle niin, ettei kerrottu, mitkä niistä ovat köyhien ja mitkä rikkaiden vastauksia. Hän sitten lajitteli vastaukset sisällön mukaan ja pystyi arvaamaan tulotason oikein 65 prosentissa tapauksista.
Kuinka hyvä opiskelijan lajittelutarkkuus oli? Kuinka lähelle 65 % lajittelutarkkuutta luonnollisen kielen tilastollisella analyysillä ja koneoppimismenetelmillä on mahdollista päästä? Mitkä tekijät avoimissa tekstivastauksissa vaikuttavat eniten menetelmien tarkkuuteen? Nämä ovat kiinnostavia kysymyksiä ja niiden tutkiminen saattaa paljastaa jotakin paitsi teksteistä itsestään myös käytetyistä menetelmistä. Ensin tarvitaan kuitenkin sopiva koeasetelma ja luokittelumenetelmä.
Koeasetelma
Tekstivastausten luokittelemiseen käytetään tukivektorikonetta, koska ne pärjäävät lajitteluongelmissa yleensä verrattain hyvin. Tekstidataa esikäsitellään eri tavoilla ja luokitteluun sovelletaan erilaisia kerneleitä, jotta voidaan tutkia, mikä toimii hyvin kyseisessä tapauksessa ja mahdollisesti myös muissa samankaltaisissa tapauksissa.
Artikkelissa mainitussa kokeessa opiskelijalle annettiin kaikkein suuri- ja pienituloisimpien vastaukset, mutta tässä kokeessa valitaan tekstit vastaajan oman aseman mukaan niin, että vain kaikkein hyvä- ja huono-osaisimpien vastaukset ovat mukana. Molemmista joukoista on mukana n. 300 vastausta. Artikkelin kokeen kuvauksessa ei mainittu, annettiinko opiskelijalle tekstivastaus vain toisesta kysymyksestä vai molemmista ja siksi luokittelua kokeillaan molemmilla tavoilla.
Aineistoa silmämääräisesti läpikäydessä vaikuttaa siltä, että kielioppi ja välimerkkien käyttö ovat samankaltaisia vastaajan kategoriasta eli asemasta riippumatta. Itseään hyväosaisina pitävät tuntuvat vastaavan lyhyemmin ja käyttävän ilmaisuja, jotka viittaavat korkean koulutuksen ja sivistyksen tasoon. Tarkempi testi paljastaa, että vastauksen pituus ja oma asema eivät korreloi juuri lainkaan (rho = 0.03). Silmäily antaa myös vaikutelman, että huono-osaiset kirjoittavat pääasiassa köyhien tarpeista ja arjen ongelmista, kun taas hyväosaiset kirjoittavat asioista, joita heillä on ja köyhilläkin pitäisi olla.
Vaikuttaa siis siltä, että parhaiten tekstin kirjoittajan asemaa määrittävät yksittäisten sanojen tai lyhyiden ilmaisujen käyttö. Kielioppi, sanajärjestys, taivutusmuodot ja muut tekstin yksityiskohdat eivät vaikuta merkityksellisiltä. Tällaisessa tilanteessa n-gram mallit ja yksittäisiä n-grameja toisiinsa vertailevat kernelit toimivat erinomaisesti.
Koemenetelmät
Tekstiä esikäsitellään monin tavoin ennen varsinaista luokittelua. Ensiksi kaikki numerot poistetaan. Sen jälkeen välimerkit kuten /, \, &, ? ja ! korvataan sopivilla termeillä. Tällä tavoin pystytään sisällyttämään esim. huudahdusten käyttö tekstianalyysiin tai laskemaan kerneleissä, montako toteavaa lausetta vastauksessa on. Lopuksi kaikki muut erikoismerkit poistetaan ja kaikki isot kirjaimet muutetaan pieniksi.
Luokittelutarkkuutta mitataan sekä ns. “stop-sanojen” kanssa että ilman niitä. Stop-sanoja ovat monet konjunktiot ja jotkin pronominit. Stop-sanojen poiston yhteydessä jäljelle jäävät sanoille suoritetaan stemmaus eli typistys.
N-grameista tutkitaan mono-, bi- ja tri-grameja, koska ne todennäköisesti mallintavat tekstien tärkeimmät ilmaisut. Tukivektorikoneessa käytetään bag-of-words, termirelevanssi, termiläheisyys ja semanttista kerneliä eri “slack cost” eli C-parametrin arvoilla.
Tekstivastauksien esikäsittely, n-gramien muodostaminen ja kernelien laskeminen suoritetaan R-kielen ja erityisesti tm-kirjaston avulla. Itse tukivektorikoneiden laskenta suoritetaan MATLABissa libsvm-kirjastoa hyväksikäyttäen, koska siinä on tuki itse lasketuille kerneleille.
Tulokset
Parhaat tulokset saatiin käyttämällä data molemmista kysymyksistä. Stop-sanojen poistaminen ja typistys eivät juurikaan vaikuttaneet luokittelutarkkuuteen, mutta lyhensivät kyllä laskenta-aikaa. Mitä pidempiä ilmaisuja luokittelussa käytettiin, sitä heikompi lopputulos oli. Toisin sanoen mono-gramit eli yksittäiset sanat johtivat parhaaseen luokittelutarkkuuteen kahden tai kolmen sanan mittaisten ilmaisujen sijaan. Lisäksi välimerkkien sisällyttäminen luokitteluun sopivina termeinä paransi luokittelutarkkuutta 2-4 %-yksikköä.
Lopullinen out-of-sample luokittelutarkkuus oli n. 60-70 % riippuen hieman siitä, miten 600 tekstinäytettä jakautuvat tukivektorikoneen koulutus- ja testijoukkoihin. Kerneleistä parhaiten toimi termiläheisyys-kerneli, jonka tarkkuus oli tyypillisesti 1-3 %-yksikköä muita kerneleitä parempi. Myös termirelevanssi- ja semanttinen kerneli pärjäsivät usein hyvin, riippuen aineistosta. Paras tarkkuus saavutettiin yleensä C-parametrin arvoilla 4-8 muilla paitsi semanttisella kernelillä, jolla toimivin C-parametrin arvo oli lähempänä 0,4:ää.
Kaiken kaikkiaan voitaneen sanoa, että kohtuullinen luokittelutarkkuus on saavutettavissa kernelistä riippumatta. Näin pienellä aineistolla merkittävin tarkkuuteen vaikuttava tekijä on sattuma ja paras luokittelija saattaisikin siksi olla eri kernelien yhdistelmä yksittäisen kernelin sijaan.
Yhteenveto tuloksista
Koneoppimismenetelmillä päästiin keskimäärin ihmistasoiseen luokittelutarkkuuteen ainakin kyseisen sosiologian opiskelijan kohdalla. Aineisto oli pieni ja vertailun lähtökohdat epäreilut, koska ihmisellä on paljon enemmän tietoa käytettävissään yhteiskunnasta, taloudesta, elämästä ja kielestä. Tukivektorikoneen piti aloittaa tyhjältä pöydältä ja muodostaa mielipiteensä ilman mitään kontekstia eli ymmärrystä ympäröivästä maailmasta. Sen käyttämä aineisto tosin oli yli kaksi kertaa suurempi kuin ihmisverrokilla (600 tekstiä vs. 250).
Kaikesta huolimatta tulokset ovat rohkaisevia. Luonnollisen kielen analysointi ja tulosten hyödyntäminen tutkimuksessa tai liiketoiminnassa ei edellytä välttämättä edes sanojen välisten suhteiden prosessointia puhumattakaan merkityksen ymmärtämisestä tai kyvystä havaita sarkasmia. Suoraviivaisella sanojen esiintymismäärien laskemisella pääsee jo pitkälle. Kohtalaisen pienillä panostuksilla voi siis saada vuosien aikana kertyneestä tekstidatasta hyötyä irti.
Loppusanat
Sosiologian opiskelija tai tukivektorikone eivät lopulta pystyneet arvaamaan kovin hyvin vastaajan talouden tuloja tai omaa asemaa siitä, miten vastaaja kirjoitti köyhistä ja köyhyydestä. Noin 65 % luokittelutarkkuus asettuu lähemmäs puoliväliä kuin ääripäitä: jos luokittelu olisi ollut mahdotonta, hyvä- ja huono-osaiset olisivat kirjoittaneet köyhistä ja köyhyydestä samalla tavalla ja tarkkuus olisi ollut n. 50 %. Jos luokittelu olisi ollut helppoa, olisivat vastaukset olleet kuin yö ja päivä ja tarkkuus n. 100 %.
Saatujen tulosten valossa voitaneen vetää johtopäätös, että Suomessa sekä rikkaat että köyhät ovat melko valveutuneita köyhistä ja köyhyydestä. Tuloerot eivät ole ainakaan vielä johtaneet täydelliseen asenteiden ja elinpiirien eriytymiseen. Parantamisen varaa kuitenkin on. Pitäisikö ennen kaikkea hyväosaisia ja rikkaita kouluttaa köyhän arjesta ja köyhyyden syistä ja seurauksista enemmän, ettei asia olisi esim. päättävässä asemassa oleville liian tuntematon ja etäinen?
Kiitokset
Erityiskiitokset Juho Saarelle köyhyyskyselydatan jakamisesta ja kehitysideoista.
Alkuperäinen kirjoitus julkaistiin LinkedIn-palvelussa.