Dataan laatua koneoppimisella

Kun nykyään uutisoidaan tekoälystä ja koneoppimisesta, niin eturintamaan nousee kuvien tunnistus, itseohjautuvat autot tai vaikkapa tekstin kääntäminen tai sen kontekstin ymmärtäminen. Näiden mediaseksikkäiden aiheiden taakse jää aihealueita, joissa tekoälyllä on paljon annettavaa, mutta uutiskynnys ei ylity. Yksi näistä aiheista on shutterstock_425909323erilaisten järjestelmien datan laadun parantaminen algoritmien avulla.

Ongelmia datan laadussa?

Datan laatuongelmat aiheuttavat erittäin suuria kustannuksia yrityksille vuosittain. Kustannuksia syntyy, kun dataa joudutaan parsimaan ja paikkailemaan erilaisissa järjestelmissä, integraatioissa, tietovarastoissa, jne. Lisäksi on huomioitava piilokustannukset, jotka syntyvät puutteellisen tai virheellisen datan perusteella tehdyistä vääristä päätöksistä tai päätösten lykkäämisestä. Ei ole tavatonta, että esimerkiksi tietovarastoprojektissa 10%:ia datan laatuongelmista aiheuttaa vaikka 50-70% kustannuksista. Itse muistan uraltani yhden projektin, jossa 95% datasta saatiin tietovarastoon nätisti 25 päivässä, mutta lopun 5%:n fiksaaminen sinne vei 120 päivää. Työmääräarviot eivät menneet ihan putkeen.

Miten koneoppiminen voisi sitten auttaa?

Case 1, puuttuvan datan paikkaus

Lukuisten tietojärjestelmien datoissa on puutteita, koska käyttäjät eivät syötä tietoja hyvistä ja sinnikkäistä ohjeistuksista huolimatta. Koneoppimista käyttämällä voi olla mahdollista täydentää nämä tiedot. Seuraavat esimerkit ovat oikeista tilanteista.

  • CRM-järjestelmästä puuttui merkittävästi tietoja, joiden kirjaamisesta asiakkaat olivat itse vastuussa (web-portaalin kautta). Koneoppimismalliin tuotiin CRM datat ja kaikkien asiakkaiden ostohistoriat. Ostohistoriadataa hyödyntämällä voitiin luoda ennustamalli, joka osasi varsin tarkasti ennustaa asiakkaan puuttuvat tiedot. Markkinoinnin kannalta tämä oli hyvä asia, koska kohdentaminen menisi nyt todennäköisemmin oikein kuin puuttuvia tietoja hyödyntämällä. Sellainenkin asia paljastui, että ostohistoriasta ennustetut asiakasmuuttujat taisivat olla jopa tarkempia kuin asiakkaan omat merkinnät. Nehän oli tehty joskus asiakkuuden alussa ja sittemmin vanhentuneet.
  • Eräässä tietojärjestelmässä oli puutteita erilaisten luokitusten (esim. tuoteryhmittelyt) merkinnässä. Käyttämällä järjestelmän muita tietoja koneoppimismalli pystyi erittäin tarkasti ennustamaan puuttuvan tiedon luokituksen.

Luulen että Facebook, Google ja muut vastaavat toimijat tekevät tätä aktiivisesti. Vaikket olisikaan antanut itsestäsi jotain tietoa, niin se on ennustettavissa web-käyttösi perusteella.

Case 2, virheellisen datan korjaus

Jälleen pari käytännön esimerkkiä.

  • Kanta-asiakasrekisteri, johon on sama asiakas kirjattu lukuisia kertoja – ehkä pienillä eroilla kirjoitusasussa. Koneoppimista käyttämällä voimme löytää tehokkaasti nämä dublikaattiasiakkaat, jonka jälkeen asiakasrekisterin korjaus käy käden käänteessä. Tosin eräässä mediatalossa oli päädytty excelissä läpikäyntiin, ja aikaa oli varattu puolisen vuotta.
  • Toinen esimerkki on myös asiakasrekisteristä, johon asiakkaan perustietoja on kirjoitettu väärin, esim. Matti Meikäläisestä on tullut Mati Meikälinen. Jälleen koneoppimisen keinoin voimme etsiä virheitä ja korjata niitä. Tässä tapauksessa malli voisi esimerkiksi ehdottaa, että oikea kirjoitusasu on ”Matti Meikäläinen 98%”, ”Matti Teikäläinen 93%”, … ”Matti Nykänen 4%”.  Lopun prosenttiluku viittaa mallin antamaan todennäköisyyteen oikeasta nimestä.
  • Poikkeavien havaintojen etsintä ja mahdollisesti korjaus. Järjestelmiin syntyy vahingossa typoja, esim. iäksi tulee 1983 vuotta tai alennusprosentiksi 120%. Tällaiset kummajaiset toki löytää sql-kyselyillä, mutta se vaatii istumalihaksia ja koodaamista. Ohjelmointia ja koneoppimista hyödyntämällä voidaan kirjoittaa koodi, joka haarukoi isoja datamassoja lävitse ja palauttaa arviot poikkeavista havainnoista, jolloin ihmiset voivat päättää mitä tehdä niille. Joissakin tilanteissa on myös mahdollista on laittaa algoritmi korjaamaan datan suoraan.

Case 3, data-integraatiot ja tietovarastolataukset

Näillä osa-alueilla liikutellaan merkittävästi dataa päivästä toiseen. Virhehallinta datan tarkkailun suhteen on kuitenkin verrattain jäykkää. Jos mitään dataa ei siirry vaikka tietoliikennekatkosten vuoksi, niin niistä saadaan virheilmoituksia. Samoin muista triviaaleista virheistä. Mutta jos dataa siirtyykin esim. 80% normaalivolyymista tai siirtyvän datan sisältö poikkeaa olennaisesti aiemmasta (esim. hinnastossa tulisi pelkkiä nollia), niin yleensä tällaisia virheitä ei saada kiinni. Joskus tällaisten puutteiden huomaaminen voi kestää kauankin, jolloin korjaaminen tulee kalliiksi tai jopa mahdottomaksi. Esimerkiksi eräässä projektissa kaikki varastosaldot eivät siirtyneet pariin viikkoon, eikä niitä ollut enää mistään saatavilla jälkikäteen.

Arvaatte varmaan, että tähänkin löytyy ratkaisuja koneoppimista hyödyntämällä! Eikä se ole edes vaikeaa tai kovin kallista.

Tällä hetkellä myös ohjelmistorobotiikka on erittäin suosittu aihe. Tämä kirjoitus liittyy myös läheisesti siihen, koska koneoppimismallit usein upotetaan ohjelmistojen sisään, jotka niitä sitten käyttävät.

Jos nämä aiheet kiinnostavat, niin ole yhteyksissä.

One comment on “Dataan laatua koneoppimisella

  1. Jussi Järveläinen on

    Totta turiset taas!

    Sote on erityisen tietointensiivinen toimiala ja asiakas- ja hoitotiedon laatu on oleellista sekä päivittäisessä operatiivisessa toiminnassa että tiedon toissijaisessa hyödyntämisessä, esim. tiedolla johtamisessa ja kustannuslaskennan lähtötietona. Ensin mainitussa käyttötapauksessa, kun yleensä toimitaan tiukasti sertifioitujen, testattujen ja hyvin integroitujen järjestelmien kanssa, ei laatuongelmia liene liikaa, emme lue päivittäin, että virheellisesti välittynyt laboratoriotulos johti hoitovirheeseen tai vaaratilanteeseen, mutta käytön laajentuessa ote voi lipsua pitkien integraatioketjujen ja hyvin monen järjestelmän tietoja integroitaessa. Sen sijaan raportointi –ja tietovarastohankkeissa tn. törmätään erilaisiin tiedon laatuongelmiin, valitettavan usein vasta tiedon hyödyntämisvaiheessa.

    Asiaan on koitettu puuttua myös kansallisissa uusissa sote-arkkitehtuureissa ja tietojärjestelmähahmotelmissa mutta yllättävän kevyesti. Tuntuu sisään leivotulta oletukselta, että tieto on laadukasta, kun se on sovitun rakenteen ja rajapintamäärittelyn mukaista (tietotyypit), muu ei kiinnosta eikä ole kontekstissa asiantuntemustakaan havaita kuin ehkä jäävuoden huippuja, joissa joihinkin kohtiin on ehkä kovakoodattuja yksittäisiä spottitarkastuksia, jotta ainakin joistain porteista ei pääse läpi synnyttäviä miehiä. Esimerkiksi KAJAKKI-loppuraportissa (STM muistioita ja raportteja 2016:28, Sosiaali- ja terveydenhuollon kokonaisarkkitehtuuri) asiaa vain raapaistaan melko kevyesti, taulukossa 5. todetaan että ”Arkistoituun tietoon liittyy usein laatuongelmia, joiden korjaaminen on haasteellista. Myös korjausten todentaminen on vaikeaa nykykäytännöin ja -järjestelmin. Usein puutteelliset korjaukset havaitaan vasta Omakannasta…”

    Nimenomaan arkistoidun tiedon arvo tulee kasvamaan. Tämä tieto on uutta öljyä, minkä saastuminen ei vain hankaloita vaan jopa estää uudenlaiset hyödyntämistavat. Edistynyt analytiikka ja simulointi eivät käy likaisella öljyllä, paitsi ehkä myyntidemoissa.

    Ratkaisut voivat olla kaksivaiheisia. Ensivaiheessa laatuongelmia voidaan havaita ja tietoja paikata koneoppimisella. Mustista laatikoista voimme ainakin osittain puristaa ulos selkeitä IF-THEN-ELSE-sääntöjä, jotka on helppo toteuttaa tarkastuspalveluna ja liittää esim. asiakastietojärjestelmiin tiedon syötön lähteelle sekä esim. ns. DRG-järjestelmiin (diagosis related grouping) ja niihin liitettyihin tarkastussääntöihin, jolloin virheelliset tiedot, myös ristiin tarkastettuina, jäävät tn. kiinni tietoja ladattaessa toissijaista käyttöä varten tietovarasto-, talous- ja toiminnanohjausjärjestelmiin.

    Vastaa

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

Yhteydenotto

Mikäli olet kiinnostunut yrityskohtaisista palveluista tai sinulla kysyttävää palvelujemme sisällöstä, niin ota yhteyttä oheisella lomakkeella tai soita Mikalle numeroon 040 845 8432.