Liiketoimintalähtöinen koneoppija Google Cloudin avulla: monikielinen asiakaspalauteluokittelija viikossa
Author: Jari Rinta-aho, Codento
Olemme Codentossa vauhdilla laajentaneet palveluitamme datan ja koneoppimisen vaativiin toteutuksiin ja palveluihin. Asiakkaidemme kanssa keskustellessa seuraavat liiketoiminnalliset tavoitteet ja odotukset ovat nousseet usein keskiöön:
- Dataan piilotettujen säännönmukaisuuksien paljastaminen
- Analysoinnin automatisointi
- Inhimillisten virheiden minimointi
- Uudet liiketoimintamallit ja -mahdollisuudet
- Kilpailukyvyn parantaminen ja turvaaminen
- Moniulotteisen ja monipuolisen data-aineiston jalostaminen
Tässä blogikirjoituksessa käyn läpi oppeja tuoreesta asiakascasestamme.
Asiakaspalautteen syväymmärtämisestä kilpailuetua
Eräällä suomalaisella B-to-C -toimijalla nousi tänä keväänä esiin hyvin konkreettinen liiketoimintatarve: asiakaspalautedataa tulee valtavat määrät, mutta miten hyödyntää palaute älykkäästi päätöksenteossa oikeiden liiketoimintapäätösten tekemiseksi.
Codento suositteli koneoppimisen hyödyntämistä
Codenton suositus oli hyödyntää haasteseen sopivia koneoppimisen lähestymistapaa ja Google Cloud valmisominaisuuksia, jotta asiakaspalautteiden luokittelija olisi valmiina toivotusti viikossa.
Tavoitteena oli luokitella lyhyitä asiakaspalautteita automaattisesti kolmeen koriin: Positiivisiin, neutraaleihin ja negatiivisiin. Asiakaspalautteet olivat pääosin lyhyehköjä suomenkielisiä tekstejä. Joukossa oli tosin myös muutamia tekstejä kirjoitettuna ruotsiksi ja englanniksi. Luokittelijan piti siis pystyä tunnistamaan myös lähdetekstin kieli automaattisesti.
Voiko tuloksia oikeasti odottaa viikossa?
Projekti oli yhtäaikaisesti aikataulultaan tiukka ja kunnianhimoltaan kova. Projektissa ei ollut yhtään aikaa hukattavaksi, vaan tulokset oli käytännössä saatava ensimmäisellä yrittämällä. Codento päättikin hyödyntää mahdollisimman paljon valmiita kognitiivisia palveluita.
Google Cloud avainasemassa
Luokittelija päätettiin toteuttaa yhdistämällä kaksi Google Cloud Platformista löytyvää valmista työkalua: Translate API ja Natural Language API. Tarkoituksena oli kääntää tekstit koneellisesti englanniksi ja määrittää niiden sävy. Koska Translate API kykenee tunnistamaan lähdekielen automaattisesti noin sadan eri kielen joukosta, työkalu ainakin paperilla täytti asetetut vaatimukset.
Oliko tuloksista hyötyä?
Tulosten validoinnissa hyödynnettiin satunnaisotantaa ja käsityötä. Käytössä olleesta aineistosta valittiin satunnaisotannalla 150 tekstiä luokittelijan validointia varten. Ensin nämä tekstit lajiteltiin käsityönä kolmeen luokkaan: positiivisiin, neutraaleihin ja negatiivisiin. Tämän jälkeen sama luokittelu tehtiin kehittämällämme työkalulla. Lopulta työkalun ja käsityön tuloksia verrattiin toisiinsa.
Mitä saavutettiin?
Työkalu ja analysoija olivat samaa mieltä noin 80 %:ssa palautteista. Yhtään päinvastaista näkemystä ei ollut. Validoinnin tulokset koottiin yhteen confusion -matriisiksi
Kuvan confusion -matriisin lävistäjällä olevat luvut 18, 30 ja 75 kuvaavat palautteita, joissa validoija ja työkalu olivat samaa mieltä palautteen sävystä. Yhteensä 11 palautetta oli sellaisia, joissa validoija piti sävyä positiivisena, mutta työkalu neutraalina.
Merkittävin tekijä, joka selittää työkalun tekemää erilaista tulkintaa on asiakaspalautteen sanamuotojen kulttuurisidonnaisuus, ja kun suomalainen sanoo “Ei valittamista”, hän kehuu.
Yhdysvaltalaisen suusta kuultuna tämä on neutraali palaute. Tämä kulttuuriero riittää yksin selittämään, miksi suurin yksittäinen virheryhmä oli “validoijan mielestä positiivinen, työkalun mielestä neutraali.” Muutoin virhe selittyy vaikeudella tehdä eroja rajatapauksista. On mahdotonta sanoa yksiselitteisesti, milloin lievästi positiivinen palaute muuttuu neutraaliksi ja päin vastoin.
Ratkaisun hyödyntäminen liiketoiminnassa
Datan perusteella validoitu lähestymistapa soveltui hyvin haasteen ratkaisemiseksi ja tästä on erinomaiset lähtökohdat jatkossa ymmärtää palautteen luonne, kehittää jatkomalleja tarkempaan analyysiin, nopeuttaa analyysia ja vähentää manuaalista työtä. Ratkaisua voi soveltaa myös hyvin moneen vastaavaan tilanteeseen ja tarpeeseen muissa prosesseissa tai toimialoilla.
Artikkelin kirjoittaja on Jari Rinta-aho, Senior Data Scientist & Consultant, Codento. Jari on koneoppimisesta ja matematiikasta kiinnostunut konsultti ja fyysikko, jolla on laaja kokemus koneoppimisen hyödyntämisestä mm. ydin- ja lääketeknologioiden parissa. Hän on myös opettanut yliopistossa fysiikkaa sekä johtanut kansainvälisiä tutkimusprojekteja.