Tässä artikkelissa kuvataan ensin Microsoft Azuren tarjoamia tekoälyratkaisuja sekä tekoälyn ja koneoppimisen käsitteitä. Lopuksi esitellään LAB:n vaihto-opiskelijoiden tekemä pilottiprojekti, jossa käytettiin Microsoft Azuren AI-palveluja.

Kirjoittaja: Reko Juntto

Microsoft pyrkii kehittymään tekoälyn SaaS (Software as a Service)-markkinoilla ja Microsoft onkin laajentanut pilvipalveluidensa tekoäly- ja koneoppimistyökalujaan viime aikoina, joita kutsutaan Azure cognitive services -palveluiksi. Näitä palveluja ovat seuraavat:

  • Azuren kognitiiviset palvelut ml. erilaiset kieleen ja kielenkäsittelyyn liittyvät palvelut kuten: puheentunnistus, puheenmuodostus, käännökset, tekstintunnistus sekä kuvien ja merkkien tunnistus. Palveluita voidaan käyttää esimerkiksi erilaisissa bot-pohjaisissa ratkaisuissa.
  • Azuren machine learning -palvelut, jotka voivat hyödyntää olemassa olevia tekoäly- ja koneoppimisalgoritmeja tietojen käsittelyyn ja analysointiin eri tavoin.
  • Custom vision on Azuren tekoälypohjainen uusi kuvien luokittelutuote, jonka avulla kehittäjät voivat kouluttaa omia reaaliaikaisia ​​kuvienluokittelun malleja ja saada ne toimimaan IOS:ssä, Androidissa ja muissakin älylaitteissa. (Microsoft Azure 2023)

 

Tekoälyn ja koneoppimisen käsitteet

Tekoälylle ja koneoppimiselle löytyy kirjallisuudesta useita määritelmiä ja ne eivät ole täysin yksiselitteisiä. Koneoppiminen on tekoälyn osa-alue. Merilehdon (2018, 18) mukaan tekoälyllä tarkoitetaan useimmiten koneen suorittamaa toimintaa, joka ihmisen tekemänä olisi älykästä. Eräs tapa määritellä tekoäly on luetella sille tyypillisiä ominaisuuksia, joita ovat autonomisuus ja adaptiivisuus. Autonomisuudella tarkoitetaan kykyä suorittaa tehtäviä monimutkaisessa ympäristössä ilman jatkuvaa käyttäjän ohjausta. Adaptiivisuus taas on kyky parantaa suorituskykyä oppimalla kokemuksesta. (Helsingin yliopisto & Reaktor Innovations 2021.) Tekoälyn avulla suoritettuja toimintoja ovat muun muassa päättely, oppiminen, ennakointi, päätöksenteko, näkeminen ja kuuleminen. Koneoppimisella tarkoitetaan useissa lähteissä algoritmien kykyä oppia yleistettäviä malleja niin, että niitä ei ole sitä varten erikseen ohjelmoitu. Näitä malleja voidaan käyttää ennustamiseen, tietojen luokittelemiseen ja kuvailemiseen. (Merilehto 2018, 19; Microsoft 2023.) Koneoppiminen on järjestelmien kykyä parantaa suorituskykyään tietyssä tehtävässä sitä mukaa kuin lisää kokemusta tai dataa kertyy (Helsingin yliopisto & Reaktor Innovations 2021). Koneet oppivat siten ympäristöstään ja pystyvät tekemään itsenäisesti parempia ratkaisuja kuin pelkällä etukäteen tehdyllä ohjelmoinnilla (Collin & Saarelainen 2016, 210). Tekoälyn edelläkävijän Arthur Lee Samuelin 1950-luvulla antaman klassisen määritelmän mukaan koneoppiminen on joukko menetelmiä, jotka antavat tietokoneille kyvyn oppia ilman, että niitä on erityisesti ohjelmoitu (Samuel 2000). Koneoppimisalgoritmi siis löytää ja muodostaa toimintaperiaatteensa suuresta joukosta dataa. Siten algoritmi voi perustella ominaisuuksia datasta. Näitä matemaattisesti muodostettuja periaatteita kutsutaan malliksi. (Kaspersky Lab 2020, 3.)

Asiakkaan ongelma ja ratkaisut

LAB:n Robogrowth-hanke (LAB) tapasi syksyllä 2022 paikallisen kiinteistötekniikan alalla toimivan asiakasyrityksen ja konsortion, jolla oli tarve analysoida ja käsitellä loppuasiakkaalta saatuja palvelupyyntöjä. Palvelupyynnöt saadaan vapaamuotoisina ongelmakuvauksia sähköpostin välityksellä, jotka analysoidaan ja kirjataan ensin asiakkaan Jira-tehtävänhallintajärjestelmään (Jira 2022) ja sieltä oikealle alan asiantuntijayritykselle tehtäväksi. Nykyisin tämä toiminta on vaatinut asiakkaalta jatkuvaa sähköpostien seurantaa ja analysointia, joka on kuormittanut asiakkaan henkilöstöä. Loppuasiakkaalle tarjottu palvelu on tuotettu eri toimialojen yrityksen kautta, joille on ohjattu loppuasiakkaan tehtävät perustuen ongelman luokitteluun, kiireellisyyteen ja aiheeseen ja luokittelu on tehty seuraaviin kategorioihin: automaatio, vesi-ja viemäröinti, kylmätekniikka, sähkö ja ilmastointi.
Asiakastarvetta varten löytyi LAB:sta innokas ja osaava opiskelijatiimi, joka lähti ennakkoluulottomasti ratkaisemaan asiakkaan ongelmia. Projektin tavoitteena oli pyrkiä kehittämään ratkaisu, jolla sähköpostien analysointi, luokittelu ja tehtävien kirjaamien asiakkaan Jira-järjestelmään voitaisiin tehdä mahdollisimman automaattisesti tekoälyn avulla. Sähköpostit oli tarkoitus jakaa ja luokitella viiden eri yritystoimialan mukaisesti ja valita kaikille soveltuvin yritys ja mikäli varmuutta ei saada ne voitaisiin pitää edelleen manuaalikäsittelyssä. Projektin toteutusvälineeksi valikoitui MS Azuren palvelut, koska ne tukevat jo melko hyvin suomenkieltä. Vaihtoehtona tutkittiin myös Googlen Cloud-palvelua mutta asiakas päätyi käyttämään Microsoftin Azuren palveluja.

Toteutettu sovellus tarkistaa ensin asiakkaan Outlook-sähköpostiohjelmaan saapuvien uusien sähköpostien varalta. Jos on tullut uusi saapuva sähköposti, se laukaisee ohjelmistossa API (Application programming interface)-kutsun, joka ensin luokittelee sähköpostin johonkin kuudesta kategoriasta ja luokasta. Viisi kuudesta luokasta vastaavat kukin eri tehtäviä käsitteleviä eri yrityksiä: automaatio, vesi-ja viemäröinti, jäähdytystekniikka, sähkö ja ilmastointi. Kuudes luokka on oletusluokka, jota käytetään, jos luokitus ei palauta tulosta tai tuloksena on luokka, joka on hyvin epävarma. Tehdyn luokituksen jälkeen käytetään vielä toista API-kutsua, joka määrittää vielä ongelman vakavuustason. Projektitiimi päätti käyttää toteutukseen Microsoftin Azure cognitive aervices -palveluita koneoppimisen mallin luomiseen ja loi mallin, joka määrittelee ongelman luokan ja vakavuuden ennustamisen. Tämä ratkaisu valittiin, koska tämä palvelu käsittelee Suomen kieltä hyvin muihin vastaaviin palveluihin verrattuna. Luokittelun ja vakavuustason määrittämisen jälkeen seuraavana on tehtävä ongelman vieminen asiakkaan Jira-järjestelmään. Tätä varten Jira tarjoaa REST API:n joka tunnetaan myös nimellä RESTful API, joka mahdollistaa ensin tehtävän luomisen Jiraan ja päivittää sinne sen kuvauksen. Ensin ongelma luodaan kaikilla tarvittavilla tiedoilla ja sitten valittu yritys päivitetään ensimmäisen vaiheen aikana määritetyn luokituksen mukaan. Kun tämä on tehty on Jirassa on luotu uusi numero ja tehtävä ja se osoitetaan sille yritykselle, joka hoitaa tällaisia tehtäviä.

Tämä sovellus hoitaa ne asiakkaan käyttötapaukset ja ongelmat, jotka asiakas halusi ratkaista tällä projektilla. Sellaisessa käyttötapauksessa, jos sovellus ei pysty ratkaisemaan tätä tehtävää riittävän nopeasti ja varmuudella niin tässä tapauksessa voidaan tehdä tarvittaessa myös automaattinen puhelu asiantuntijalle asian ratkaisemiseksi, mikäli asialla on kova kiire ja se on luokiteltu kiireelliseksi. Sovellus toimitettiin asiakkaalle Outlook-sähköpostin laajennuksena ja sen dokumentaatio tehtiin Github:iin (Github 2022).

Yhteenveto

Kokonaisuutena opiskelijatiimi pystyi ratkaisemaan asiakkaan ongelmat ja käyttötapaukset melko kattavasti käyttäen Microsoft Azuren palveluja. Toteutettu sovellus pystyi jo melko luotettavasti analysoimaan sähköpostit ja valitsemaan oikean kategorian loppuasiakkaan ongelman tarpeita vastaavasti. Sovelluksen tarkkuutta joudutaan kuitenkin vielä kehittämään lisäämällä malliin lisää data-aineistoa, jolloin sen luotettavuus vielä paranee ennen sen käyttöönottoa. Kuitenkin projektissa päästiin jo melko hyvään luotettavuuteen ja oikeellisuuteen, jota voidaan pitää merkittävänä kehitysaskeleena verrattuna aiempaan täysin manuaaliseen käsittelyyn ja sähköpostien analysointiin, joka vei asiakkaalta paljon aikaa.

Tässä projektissa tuli hyvin esiin, että tekoälyn ja koneoppimisen teknologiat ja alustat kehittyvät nopeasti ja suomenkieltäkin osaavia ja hallitsevia ratkaisuja löytyy jo merkkinoilta, joka on ollut aiemmin rajoittava tekijä. Tämän tyyppisiä ja vastaavia tarpeita voidaan olettaa olevan monissa asiakaspalvelun organisaatiossa ja projektin tuloksista voi olla hyötyä myös muillekin organisaatiolle.

Lähteet

Collin, J. & Saarelainen, A. 2016. Teollinen internet. Helsinki: Talentum.

Github. Viitattu 15.12.2022. Saatavissa https://github.com/

Helsingin yliopisto & Reaktor Innovations. 2021. Elements of AI -verkkokurssi. Saatavissa https://course.elementsofai.com/fi

Jira. Atlassian tehtävienhallinnan tietojärjestelmä. Viitattu 16.12.2022. Saatavissa https://www.atlassian.com/software/jira

Kaspersky Lab. 2020. Machine Learning Methods for Malware Detection. White Paper. Viitattu 15.12.2022. Saatavissa https://media.kaspersky.com/en/enterprise-security/Kaspersky-Lab-Whitepaper-Machine-Learning.pdf

LAB. RoboGrowth – Prosessilouhinnalla ja RPA-prototyypeillä osaaminen kasvuun. Viitattu 31.5.2022. Saatavissa https://lab.fi/fi/projekti/robogrowth-prosessilouhinnalla-ja-rpa-prototyypeilla-osaaminen-kasvuun

Merilehto, A. 2018. Tekoäly – Matkaopas johtajalle. Helsinki: Alma Talent Oy.

Microsoft Azure 2022.  Viitattu 17.12.2022. Saatavissa https://azure.microsoft.com

Microsoft 2023. Machine learning algorithms – An introduction to the math and logic behind machine learning. Viitattu 12.5.2023. Saatavissa https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-are-machine-learning-algorithms/#overview

Samuel, A. L. Some studies in machine learning using the game of checkers. IBM Journal of Research and Development. Vol. 44, Iss. 1/2 (Jan/Mar 2000), 206–226.

Kirjoittaja

Reko Juntto toimii LAB-ammattikorkeakoulussa digitaalisen liiketoiminnan lehtorina ja Robogrowth-hankkeen asiantuntijana.

Artikkelikuva: https://www.pexels.com/fi-fi/kuva/valaistu-futuristinen-ai-vaalea-tausta-373543/ (CC0)

Julkaistu 31.5.2023

Viittausohje

Juntto, R. 2023. Tekoälyn pilottiprojekti Microsoft Azurella. LAB Pro. Viitattu pvm. Saatavissa https://www.labopen.fi/lab-pro/tekoalyn-pilottiprojekti-microsoft-azurella/