Blogi

Tietovaraston geepeeteestäminen

Kirjoittanut Loihde Advance | 19.09.2023

Tämä on jatkoa edelliselle blogikirjoitukselleni, jossa esitin kielimallia hyödyntävää sovellusta, joka osaisi kääntää käyttäjän sanallisen kyselyn tietokannan ymmärtämään muotoon. Tässä artikkelissa keskityn hahmottelemaan työvaiheita, joita tietovaraston alistaminen kielimallille edellyttää.

Jo yksinkertainen kysymys ’Mitä olivatkaan kolme viimekuun myydyintä tuoteryhmää’, osoittaa kohdattavat haasteet. Jotta kysymykseen osattaisiin vastata oikein, joka tässä tapauksessa on tietokantakysely, jolla lopullinen vastaus luetaan, pitää määrittää mikä on kuluva kuukausi ja mistä löytyvät tuoteryhmät ja miten tuoteryhmien tuotekohtaiset myynnit saadaan summattua.

Perinteisessä tietovarastototeutuksessa käytetään tietokantojen ympärille kehitettyjä työkaluja, joilla tuotetaan liiketoimintavaatimukset toteuttavat tietokannat. Kannat koostuvat tauluista, liitoksista, oikeellisuussäännöistä, proseduureista ja niin edelleen. Uusi lähestymistapa eroaa tästä radikaalisti, sillä kielimalleille annettavat ohjeet ovat sanallisia eivätkä sisällä perinteistä käskyttämistä. Tietovaraston sisältö kuvataan sanallisesti, esimerkiksi antamalla esimerkkejä datan sisällöstä, kertomalla miten taulut liittyvät toisiinsa sekä määrittämällä asiakkaan käyttämä käsitteet ja sanasto. Keskeinen muutos on se, että perinteisen tietovaraston rakenteellinen lähestymistapa vaihtuu sisällön sanalliseen ilmaisuun, joka vaatii erilaista ajattelutapaa ja työskentelytapoja. Oman erikoishaasteensa näyttää muodostavan se, että käsitteiden määrän lisääntyessä, kielimallien loogisen päättelykyvyn rajallisuus käy ilmeiseksi. Päättelykyky tehostunee tulevien uusien mallien myötä.

Mikäli sanoitus tehdään olemassa olevan tietovaraston päälle, on selkeintä että sille alistettavat rakenteet tuodaan omaan ympäristöönsä. Tämä tukee sanoitusprosessin vaiheittaista etenemistä. Se myös mahdollistaa tietovaraston julkaisukerroksen sekä sanoittavan osuuden erilaiset toteutukset. Tyypillisessä tietovarastossa taulujen määrä on suuri, kun taas kielimallin rajallinen päättelykyky edellyttää, että taulujen määrää karsitaan ja rakenteita yksinkertaistetaan.

Tietovaraston sanoitusprosessi alkaa käsitemallinnuksesta. Se tuottaa tietovaraston objektien rakenteet ja semanttiset sisällöt. Käytettävän sanaston määritys kuuluu osana käsitelmallinnusta. Mikäli asiakontekstissa on muodostunut omaa erityissanastoa, pitää nämä termit avata ymmärrettävään muotoon – hiiri voi kontekstin perusteella olla nisäkäs tai lisälaite. Käsitemallinnus jatkuu loogisen tietomallinnuksen kautta tietovaraston rakenteiden toteutukseen. Nämä ovat tekijöille tuttuja työvaiheita, joiden sisältö säilyy samankaltaisina myös jatkossa. Looginen tietomallinnus tarjoaa pohjan tietovaraston rakenteelle ja tietokantatauluille, kun taas sanoitukseen tähtäävä käyttö keskittyy enemmän tiedon sanalliseen muotoiluun ja ymmärtämiseen.

Tietovaraston sanoittamiseen ja kielimallien väliseen tulkintavirheen tutkinta poikkeaa perinteisestä ohjelmointiprosessin vianjäljityksestä. Koska komennot puuttuvat, ei ole aina ilmeistä mikä sanoituksen sisällön osa aiheuttaa väärän päätelmän. Siksi on selkeintä edetä käsite kerrallaan ja testata tuloksen toimivuus jokaisessa vaiheessa. Käsitteiden käyttöönottossa voidaan soveltaa automaattista yksikköstestausta, joka mahdollistaa myös kielimallien välisen vertailun.

Haasteina sanoitusprosessissa ovat kielimallien uutuus ja nopea kehitys, tietovaraston sisältämä hiljainen tieto sekä tarve ottaa huomioon loppukäyttäjien tarpeet ja konteksti. Näiden haasteiden voittaminen vaatii jatkuvaa perehtymistä ja sopeutumista uuden tekniikan vaatimuksiin. Sanoittaminen on uudenlainen tapa lähestyä suoritettavaa tehtävää ja vaatii kokeilua, jotta sanoittamisen oikeat muodot löytyvät.