Vesa Ollikainen, tieto- ja viestintätekniikan lehtori

Tekoäly ja tekniset ratkaisut

Lähtökohtia tekoälyn soveltamiselle

Tekoäly määritellään usein tietokoneen kykynä jäljitellä älyllisten olentojen toimintaa. Syrjäytymisvaarassa olevan nuoren kohtaamisessa tämä "älyllinen olento" on ihminen, joka opastaa ja ohjaa nuorta avun piiriin. Jotta ohjaaminen olisi tuloksellista, on älyllisen olennon tunnettava nuori ja hänen elämäntilanteensa, tunnettava palveluntarjoajat ja heidän tarjoamansa palvelut, löydettävä vastaavuus nuorten ja palveluntarjoajien välillä sekä motivoitava nuorta ottamaan yhteys palveluntarjoajaan.

PEILI-järjestelmän tekoäly ottaa hoitaakseen edellä mainitut tehtävät.

Lähtökohtia järjestelmän kehitykselle olivat:

  • Tekoälyn tuottaman hyödyn on päädyttävä kokonaisuudessaan loppukäyttäjille. Nuoret saavat tekoälyn räätälöimiä, heidän elämäntilanteeseensa sopivia palvelusuosituksia. Vastaavasti palveluntarjoajat saavat uuden kontaktikanavan kohderyhmäänsä. Tekoälyä ei käytetä kohdennettuun mainontaan tai muuhun toimintaan, jonka lisäarvo ei päädy käyttäjälle.

  • Nuori käyttäjä päättää itse omien tietojensa käytöstä. Datan käytön periaatteet ovat läpinäkyviä, ja tiedon käsittelyssä noudatetaan Euroopan Unionin yleisen tietosuoja-asetuksen (GDPR) vaatimuksia.

  • Nuori ei joudu automaattisen päätöksenteon kohteeksi. Toteutettava suosittelujärjestelmä nostaa esille tukijärjestöjä, joiden palvelut todennäköisesti soveltuvat nuoren elämäntilanteeseen. Nuori tekee itsenäisesti päätöksen siitä, ottaako hän yhteyden suositeltuun tukijärjestöön.


Järjestelmän kokonaiskuva

Alla oleva arkkitehtuurikaavio kuvaa PEILI-järjestelmän osat ja toiminnan. PEILI-järjestelmä koostuu taustapalvelusta tukijärjestelmineen sekä nuoren, palveluntarjoajan ja ylläpitäjän käyttöliittymästä.

Taustajärjestelmä toimii Amazon AWS -pilvipalvelussa. Taustajärjestelmä vastaa datapyyntöihin ohjelmointirajapinnan (API) kautta. Taustajärjestelmä sisältää myös tekoälysuosittelijan.

Taustajärjestelmä tallentaa tiedot pilvipohjaiseen MongoDB Atlas -tietokantapalveluun. Kyseessä on niin sanottu DBaaS-ratkaisu (Database as a Service), jossa tietokantapalvelimen ylläpito on ulkoistettu pilvipalvelun tarjoajalle. Tietosisällön muokaaminen tehdään API-pohjaisen Strapi-nimisen sisällönhallintatyökalun avulla.

Sovelluksen käyttöliittymät ovat selainpohjaisia. Nuoren käyttöliittymä on toteutettu progressiivisena web-sovelluksena (PWA), joka – toisin kuin tavalliset web-sovellukset – tarjoaa mahdollisuuden ilmoituksiin, sovelluskuvakkeeseen ja ilman Internet-yhteyttä tapahtuvaan tietojen käsittelyyn. Niinpä progressiivinen web-sovellus näyttää tavalliselta mobiilisovellukselta, mutta sitä ei tarvitse varsinaisesti asentaa puhelimeen. PWA-teknologiasta saa yleiskuvan esimerkiksi Googlen kehittäjäsivuilta.

Peili-järjestelmän arkkitehtuuri on kuvattu kokonaisuudessaan tässä artikkelissa.

Peili-järjestelmän arkkitehtuurikaavio. Kuva: Vesa Ollikainen

PEILI-mobiilisovellus

Nuoren käyttäjän käyttöliittymä eli PEILI-mobiilisovellus esittää käyttäjälle kolme keskeistä sisältökohdetta: etusivun syötevirran, järjestöluettelon sekä Elämän peilin.

  • Etusivun syötevirrasta käyttäjä näkee vaihtuvan päivittäisen haasteen sekä valikoituja sosiaali- ja terveysalan ammattilaisten tuottamia tehtäviä. Etusivu näyttää myös ajantasaisen palvelusuosituksen: luettelon sovelluksen poimimista nuoren elämäntilanteeseen sopivista tukijärjestöistä.

  • Järjestöluettelo näyttää kaikki palveluun syötetyt järjestöt palveluineen. Käyttäjä voi hakea järjestöjä nimen ja sijainnin perusteella.

  • Elämän peili on nuoren kojelauta, josta hän näkee elämäntilanteensa yhdellä vilkaisulla. Mukana on elämän keskeiset aihepiirit työstä ja opiskelusta ihmissuhteisiin. Elämän peili visualisoi tapahtuneen kehityksen: kuvasta näkyy paitsi tämänhetkinen myös viime viikon tilanne.

Sovelluksen etusivu.

Palveluntarjoajan käyttöliittymä

Palveluntarjoajan käyttöliittymässä tukijärjestön työntekijä voi kuvata koko järjestön tiedot sekä palvelukohtaiset tiedot. Palveluihin liitettävien avainsanojen ansiosta järjestelmä osaa suositella palveluita niistä hyötyville nuorille.

Palveluntarjoajan käyttöliittymä.

Ylläpitäjän ja sisällöntuottajan käyttöliittymä

Ylläpitäjän ja sisällöntuottajan käyttöliittymän kautta on mahdollista muokata kaikkea PEILI-järjestelmän käsittelemää tietoa, kuten tehtäviä, käyttäjätietoja ja viestejä.

Käyttöliittymä on toteutettu Strapi-julkaisujärjestelmän avulla.

Sisällöntuottoa Peili-sovellukseen.

Avainsanapohjainen suosittelija

PEILI-järjestelmän tekoälyn ydin on avainsanapohjainen suosittelija. Suosittelija yhdistää nuoren ja tukijärjestön yhteisten avainsanojen kautta.

Kyseessä on sisältöpohjainen suosittelija, jonka lähtökohtana on, että tukijärjestö kuvaa toimintansa avainsanojen kautta palveluun liittyessään. Avainsanat kuvaavat haasteita ja tarpeita, joihin järjestö tarjoaa ratkaisuja.

Jokaisella nuorella on henkilökohtainen painotettujen avainsanojen joukko. Uudella käyttäjällä tämä avainsanajoukko on aluksi tyhjä. Kun nuori tekee PEILI-sovelluksen esittämiä tehtäviä, uusia avainsanoja liitetään nuoren avainsanojen joukkoon. Kullakin avainsanalla on painoarvo, joka riippuu käyttäjän antamista vastauksista. Jos käyttäjän vastauksissa korostuu esimerkiksi päihteiden käyttö, kasvaa päihdeongelma-avainsanan painoarvo. Sen seurauksena tukijärjestöt, joiden palvelukuvauksessa esiintyy tuo sama avainsana, nousevat suosittelujärjestyksessä korkeammalle.

Uset markkinoilla olevat suosittelujärjestelmät perustuvat ns. yhteistoiminnalliseen suodattamiseen (collaborative filtering). Sen ajatuksena on, että suosittelija alkaa pikku hiljaa toimia yhä paremmin, kun se kerää tietoa siitä, mitä valintoja samankaltaiset käyttäjät ovat tehneet ja/tai mitkä valinnat ovat luonteeltaan samankaltaisia kuin käyttäjän tekemät valinnat.

Yhteistoiminnallisen suodattamiseen liittyy tunnettu kylmäkäynnistyksen ongelma: järjestelmä alkaa toimia tyydyttävästi vasta siinä vaiheessa, kun palautedataa on saatavilla riittävästi ja järjestelmä on kyennyt oppimaan toisten käyttäjien tekemistä valinnoista. Ongelmaa on tutkittu paljon, ja sen lievittämiseksi on kehitetty erilaisia ratkaisuja [ks. esim. 1]. PEILI-sovelluksen tapauksessa haaste voisi olla erityisen suuri: palautteen saaminen siitä, onko nuori saanut hyvän kokemuksen tukijärjestöstä, johon hän on ottanut yhteyttä, on liian hidas. Palvelun käyttöönottovaihetta väistämättä seuraava huonojen suositusten jakso tuottaisi huonoja käyttäjäkokemuksia ja voisi koitua palvelun tuhoksi.

Tästä syytä päädyttiin käsittelevään sisältöpohjaiseen suositteluun, joka perustuu palveluntarjoajien palvelukuvauksiin. Uskomme, että palveluntarjoaja osaa lähtökohtaisesti kuvata palvelunsa ja ne haasteet, joita palvelu ratkaisee. Vastaavasti PEILI-sovellus ei yritä arvailla, ketkä nuoret ovat samankaltaisia kuin sovellusta käyttävä nuori, vaan sovellus oppii tuntemaan nuoren esittämällä tälle nuoren elämäntilanteeseen ja tarpeisiin pohjautuvia tehtäviä.

Teknisesti ilmaistuna PEILI-sovelluksen suosittelija käyttää ns. kosinisamankaltaisuuteen perustuvaa suosittelua TF-IDF -muunnetuille avainsanafrekvensseille. Menetelmä kuvataan esimerkiksi julkaisussa [3], ja kyseessä on tunnettu ja hyväksi osoittautunut menetelmä sisältöpohjaisessa suosittelussa.


Suosittelijan käyttämiä avainsanoja. Kuva: Vesa Ollikainen

Palvelusuosituksia.

Tekoälyn tulevaisuuden näkymiä PEILI-sovelluksessa

Tekoälysovellus toimii entistä paremmin, kun se saa palautetta käyttäjiltään ja oppii virheistään. Käyttäjädatan kertyessä järjestösuosittelijaa voidaan parantaa palautesyklillä. Kun nuori ottaa sovelluksen kautta yhteyden tukijärjestöön, on kyseessä paitsi nuoren myös PEILI-järjestelmän näkökulmasta onnistuminen. Yhteydenotto kertoo siitä, että nuoren tarpeet ja järjestön tarjonta ovat kohdanneet. Tätä palautedataa ei järjestelmän käyttöönottovaiheessa ole käytettävissä, mutta sovelluksen seuraaviin kehitysaskeleisiin kuuluu mahdollisuus sen hyödyntämiseen.

Sovellus kerää dataa nuorten valinnoista ja heidän vastauksistaan. Tätä dataa voidaan käyttää kohderyhmäymmärryksen lisäämiseksi ja palvelun parantamiseksi. Ainakin seuraavat jatkokehitysideat ovat lähemmän tarkastelun arvoisia:

  • Käyttäjien klusterointi heidän vastaustensa perusteella. Käyttäjistä voidaan muodostaa klustereita eli ryppäitä sen perusteella, miten he ovat esimerkiksi vastanneet joukkoon kysymyksiä. Ryppäiden tunnistaminen auttaa löytämään käyttäjien alaryhmiä, jotka jakavat samoja haasteita tai mielenkiinnon kohteita. Näille alaryhmille voidaan kehittää heitä entistä paremmin palvelevaa sisältöä.

  • Assosiaatiosääntöjen etsiminen. Assosiaatiosäännöt ovat suunnattuja sääntöjä, jotka kuvaavat sitä, miten tapahtumien joukosta seuraa toinen tapahtumien joukko [ks. esim. 2]. Voidaan esimerkiksi selvittää, mitkä käyttäjän toiminnot johtavat siihen, että käyttäjä ottaa yhteyden tukijärjestöön tai lopettaa sovelluksen käytön.

  • Luonnollisen kielen käsittely. PEILI-sovelluksen käyttöliittymä on toteutettu toverillisena chatbot-hahmona. Nuori käyttäjä kommunikoi sovelluksen kanssa valitsemalla vastauksensa vaihtoehdoista tai joissain tapauksissa kirjoittamalla avointa tekstiä. Avointen tekstivastausten käsittelyä voidaan viedä huimasti nykyistä pidemmälle: ne mahdollistavat luonnollisen kielen käsittelyyn perustuvien tekoälyratkaisujen kehittämisen.

Lähteet

  1. Lam, X. N., Vu, T., Le, T. D. & Duong, A. D. 2008. Addressing cold-start problem in recommendation systems. Teoksessa Proceedings of the 2nd international conference on Ubiquitous information management and communication (ICUIMC '08). Association for Computing Machinery, New York, NY, USA, 208–211.

  2. Agrawal, R., Imielinski, T. & Swami, A. 1993. Mining Association Rules between Sets of Items in Large Databases. Teoksessa Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data. Washington DC, 2528 May 1993, Vol. 22 (2) of SIGMOD Records, 207216.

  3. Philip, S., Shola, P., & Ovye, A. (2014). Application of content-based approach in research paper recommendation system for a digital library. International Journal of Advanced Computer Science and Applications, 5(10).