Tekoäly muodosti hallituksen


2019-04-12, 11:43 Kirjoittanut Mikko Kursula, Tomi Asp ja Antti Hahto

Päivitys artikkeliin 18.4: tarkan vaalituloksen selvittyä laskenta on ajettu uudelleen. Tekoälyn ennuste ei ole muuttunut. Tulemme tekemään jälkipuinnin hallituksen muodostamisen jälkeen, seuraa tiedotustamme.

Cybercomin tiimi analysoi YLE:n vaalikoneen avoimen datan ja teki johtopäätöksiä ehdokasvastausten perusteella. Kerromme tässä artikkelissa, miten leikkimielisesti kehittämämme tekoäly tehtiin muodostamaan automaattisesti hallituskokoonpanoja ja mitkä lopulta olivat tekoälyn ehdotukset. Päivitämme juttua uudella datalla vaalituloksen selvittyä.

Avoimessa yhteiskunnassa avoin data sekä myös datan perusteella syntyneiden päätelmien läpinäkyvyys (käytetyt menetelmät) tulee olemaan entistä tärkeämpää. Sen lisäksi, että teemme datan perusteella elämäämme vaikuttavia päätöksiä, meitä myös ohjataan toimimaan tiettyyn suuntaan tulkitsemalla tai painottaen dataa puolestamme. Algoritmi voi suosittaa tiettyä puoluetta, mutta algoritmin ovat tehneet tai ainakin laittaneet tuotantoon, ihan oikeat ihmiset.

Voisinko tehdä tekoälyn, joka äänestäisi puolestani? 

Kunnon Internet-kansalaisena, olet ehkä jopa kokeillut jotakin lukuisista vaalikoneista: antamiesi tietojen perusteella järjestelmä antaa suosituksen, jonka parhaiten pitäisi vastata omia arvojasi ja tavoitteitasi. Vielä toistaiseksi, algoritmi yleensä on hyvin yksinkertainen: se ehdokas, jolla on eniten yhteisiä vastauksia kanssasi, ajatellaan olevan sinulle se sopivin. Mikäli äänestät vaalikoneen antaman suosituksen perusteella, omaksi rooliksesi jää käytännössä antaa algoritmille lähtötiedot ja vaivautua fyysisesti äänestyspaikalle toteuttamaan koneen kylmää tahtoa.

Algoritmi voi suosittaa tiettyä puoluetta,
mutta algoritmin ovat tehneet tai ainakin laittaneet tuotantoon,
ihan oikeat ihmiset.

Onko yllä kuvattu algoritmi absoluuttisesti paras mahdollinen valitsemaan strategian, jonka kansalainen hyväksyy hoitamaan omia asioitaan (kirjoittamalla strategian jalkauttajan numeron vaalilappuun)? Mikäli ehdokkaan vaalikiireessä täyttämät 30 vastausta ovat suurin piirtein sinnepäin kuin omasi, onko tässä todella paras mahdollinen henkilö, kaikista mahdollisista vaihtoehdoista, hoitamaan sekä itsesi, läheistesi että yhteiskunnan asioita kokonaisvaltaisesti seuraavaksi neljäksi vuodeksi? Laitamme aika paljon luottoa yhdelle algoritmille.

Nykyisissä toteutuksissa on kuitenkin etunsa: kuka tahansa voi ymmärtää, mihin koneen antama päätös perustuu. Kun halutaan laadukkaampia automaattisia suosituksia, monimutkaistaa se järjestelmää väistämättä ja jossakin vaiheessa, konepellin alle kurkittaessa, tarvitaan jo asiansa osaavaa mekaanikkoa. Ja autojen toiminta on verrattain yksinkertaista, ainakin kokonaisen valtion asioiden hoitoon verrattuna.

Tekoälyn mielipide hallituskokoonpanosta 

Tekoäly valitsi automaattisesti hallituskokoonpanon avoimen datan perusteella. Koska vaalitulos ei ole vielä selvillä, esitämme seuraavassa erilaisia vaihtoehtoisia skenaarioita puolueittain.

Hallitusvaihtoehdot, rivin alussa vaalivoittaja ja sen jälkeen läheisimmät kumppanipuolueet:

SDP, Keskusta, Vasemmistoliitto, Kristillisdemokraatit, Kokoomus

Perussuomalaiset, Sininen tulevaisuus, Kristillisdemokraatit, Keskusta, RKP, Kokoomus

Vihreät, Vasemmistoliitto, SDP, Kokoomus

Kokoomus, Keskusta, Kristillisdemokraatit, SDP

Keskusta, Kristillisdemokraatit, SDP, Kokoomus

Tulosten luotettavuus tiivistyy kahteen kohtaan: kuinka totuudenmukaisesti ja huolella yksittäiset ehdokkaat ovat vaalikoneen tiedot täyttäneet ja kuinka hyvin tietoja hyödyntävä algoritmi toimii. Mikäli annettu lähtödata on kehnoa, on koneen päätös todennäköisesti kehno ja tämä pätee kaikkeen tekoälyyn.

Tarkalleen sama lähtödata vaikuttaa periaatteessa omiin päätöksiisi, mikäli olet vaalikonetta käyttänyt. Ihmispäätöksenteko perustuu kuitenkin, tutkitusti, pitkälti tunteisiin - etukäteen valittuun kantaan, jota aivot yrittävät jälkikäteen rationalisoida sitä tukevilla faktoilla. Mikäli tiedon luotettavuus ei ole hyvä, kyseinen päätöksentekostrategia voi hyvinkin toimia.

 

Näin analyysi tehtiin:

Oheisessa kuvassa näkyy puolueiden laskennallinen ”yhteensopivuus” hallitusta muodostettaessa.

Alla on kuvattu, kuinka informaatio muodostettiin ja reunaolettamukset johtopäätöksissä.

puolueiden laskennallinen yhteensopivuus

 

Datan analysointi lähti liikkeelle datan lataamisesta Pythonilla Pandas DataFrameen. Ensimmäisenä tutkittiin visuaalisesti datan rakenteet ja päätettiin keskittää analyysi osioihin, jotka ovat yhteisiä kaikkien vaalipiirien ehdokkaille, saattaen tulokset keskenään vertailukelpoisiksi.

Datasta poistettiin sellaiset ehdokkaat, jotka eivät olleet vastanneet ollenkaan vaalikoneen kysymyksiin tai joilla suurin osa vastauksista puuttui. Tällaisia oli yhteensä 174 ehdokasta. Seuraavaksi datasta valittiin numerovastausten sarakkeet, joista muodostettiin ehdokaskohtaiset piirrevektorit. Mahdolliset puuttuvat vastaukset korvattiin vastausvaihtoehtojen keskiarvolla. Piirrevektoreille tehtiin pääkomponenttianalyysi (Principal Component Analysis, PCA), jolla piirrevektorien dimensiot saatiin vähennettyä kahteen, mikä mahdollisti datan olennaisten piirteiden visuaalisen tutkimisen.

Visuaalisessa tutkinnassa havaittiin eri puolueiden vastausjakaumien olevan suurelta osin päällekkäisiä (kuva 1), joten tarkemman vertailun mahdollistamiseksi puolueille laskettiin niiden kaikkien ehdokkaiden vastausten mediaanipisteet (kuva 2).  Puolueiden mediaanipisteiden väliset euklidiset etäisyydet laskettiin ja skaalattiin välille [0, 1] suhteessa kaikista etäisimpien puolueiden väliseen etäisyyteen.

Tekstimuotoinen data valittiin sarakkeista 31 - 80. Jokaisen ehdokkaan kaikki tekstivastaukset niputettiin yhdeksi dokumentiksi ja ehdokaskohtaiset dokumentit vektoroitiin TFIDF-algoritmilla (term frequency–inverse document frequency). Näin saadut tekstisisällön piirrevektorit käsiteltiin pääkomponenttianalyysillä ja vektorien dimensiot vähennettiin kahteen. Visuaalisesti voitiin havaita, että tekstivastausten piirrevektorit eivät muodosta selkeästi erottuvia klustereita tai rakenteita (kuva 3), joten niistä laskettiin puoluekohtaiset mediaanipisteet (kuva 4), joita käytettiin puolueiden vertailussa. Puoluekohtaisten mediaanipisteiden euklidiset etäisyydet laskettiin ja skaalattiin välille [0, 1], kuten numerovastausten kohdalla.

Puolueiden etäisyydet ovat välillä nollasta kahteen,
jossa nollaetäisyys tarkoittaa mahdollisimman läheistä puoluetta
ja teoreettinen maksimietäisyys 2 tarkoittaa
mahdollisimman erilaista puoluekumppania.

Ehdokkaiden numerovastauksista ja tekstivastauksista lasketut puolueiden etäisyydet summattiin yhteen, jolloin puolueiden etäisyydet ovat välillä nollasta kahteen, jossa nollaetäisyys tarkoittaa mahdollisimman läheistä puoluetta ja teoreettinen maksimietäisyys 2 tarkoittaa mahdollisimman erilaista puoluekumppania.

Numero- ja tekstivastauksissa puolueiden etäisyydet vaihtelivat ja voitiin havaita numerovastausten perusteella läheisten puolueiden olevan tekstivastausten perusteella etäisempiä. Numero- ja tekstivastausten etäisimmät puolueet olivat eri puolueita, joten tuloksissa yhteenlaskettujen etäisyyksien maksimi on pienempi kuin kaksi.

Eduskunnan paikkajako arvioitiin viimeisimpien galluptulosten (Ylen, HS:n ja Aamulehden galluptiedot 11. huhtikuuta 2019) keskiarvona, jota muokattiin niin, että eri vaalivoittajavaihtoehdoissa voittajapuolue saa 40 paikkaa ja muut puolueet noin galluptulosten mukaisen osuuden. Hallituksen kokoonpanot arvioitiin algoritmilla, joka valitsee vaalivoittajapuolueen hallituskumppaniksi puolueita laskennallisen läheisyyden järjestyksessä, kunnes hallituspuolueiden paikkamäärä eduskunnassa on vähintään 101.

Kuva 1: Ehdokkaiden numerovastaukset

Kuva1

Kuva 2: Numerovastausten mediaanipisteet puolueittain

kuva 2

Kuva 3: Ehdokkaiden tesktivastaukset

kuva 3

Kuva 4: Tekstivastausten mediaanipisteet puolueittain

kuva 4

 

 


comments powered by Disqus

Ota yhteyttä
tekoälyhankkeissa

Jussi Laakso

Sales Executive

Näytä puhelinnumero
Näytä sähköpostiosoite