Kerron tässä juttusarjan neljännessä osassa sanastogeneraattorin kehitysvaiheista, ongelmista, niiden ratkaisemisesta ja mitä kaikkea kehitystyö opetti. Tästä löytyy jotain muillekin kuin japania opiskeleville, etenkin tekoälyn aktiivisille käyttäville.
Sanaston ulkoasu ja sisältö alkoivat vakiintua GGS:n versiossa 0.3. Aloin sen jälkeen lisätä seuraaviin versioihin uusia tehtäviä ja sääntöjä, jotta tuottaisivat lähempänä julkaisukelpoisia sanastoja. Tavoitteena oli vähentää käyttäjän manuaalisesti tehtävän muokkaamisen tarvetta. Versiokehitysestä on tiivistetty seuraavaan taulukkoon.
| versio | sääntöjä | tärkeimmät muutokset | toimivuus |
| 0.3 | 18 | lisätty lähdetekstin taivutusmuoto selityksineen | vakaa |
| 0.5 | 31 | lisätty ylätunnisteen, tiedoston ja metadatan määritykset ja säännöt | hidas ja epävakaa |
| 0.6 | 35 | lisätty generoimisen keskeytystä estävät säännöt lisätty käyttöohjeet | epäluotettava |
| 0.7 | 35 | poistettu käyttäjän ohje | epäluotettava |
| 0.85 | 23 | poistettu tiedoston luomiseen, metadataan ja ylätunnisteeseen liittyvät määritykset ja säännöt, Lisätty esimerkki sanaston layoutista | vakaa, mutta ohittaa sanoja |
| 0.92 | 11 pääsääntöä, 40 alakohtaa | rajattiin tuotettavasta sanastosta pois metadata, muut kielet partikkelit, pronominit, jälkiliitteet.sekä monisanaiset fraasit | vakaa |
Version 0.8 myötä täsmentyi myös hankkeen tavoite: annettu tehtävä suoritetaan kerralla, kokonaan ja täysin itsenäisesti. Sanaston muotoilu, tiedonhallinta ja laadunvarmistus ovat tämän jälkeen erillisiä tehtäviä.
Versio 0.90 toimii jo vakaasti, mutta ohittaa moniosaisia ilmauksia, kuten fraaseja ja kanji+kana-taivutusmuotoja. Fraasien kohdalla sana kerrallaan kääntäminen ei ole paras tapa oppia tekstin merkitystä, sillä ne avautuvat lukijalle vain, kun ne ymmärtää kokonaisuutena.
Version 0.91 kohdalla siivottiin lähdekoodista aiemmat ylisäänelyn jäänteet, suodatetaan paljon käsiteltäviä apusanoja, kuten etu- ja jälkiliitteet. Päätettiin luoda erillinen työkalu fraasien tunnistamiseen ja kääntämiseen.
Versiossa 0.92 parannettiin sanaluokkien erottelua: verbit, verbinomaiset substantiivit (suru noun) ja substantiivit ovat nyt kaikki omiaan. Tämä vähensi rajatapausten tulkitnakuormaa ja tarkastusraportin vääriä hälytyksiä. Samalla todettiin, että tässä liikutaan aloittelevan oppijan kannalta jo aivan tarpeettoman syvissä vesissä.
Esimerkki fraasin kääntämisestä: yoroshiku onegaishimasu (よろしくお願いします) 1. Lierallly ”Please treat me favorably.” 2. A social phrase meaning anything from ”Nice to meet you” and ”Please take care of this” to ”I look forward to working with you.”
Ongelmia ja ratkaisuja
Testattaessa havaittiin, että tekoäly on altis monenlaisille toimintahäiriöille.
- Tekoäly tuotti pienen näytteen ja kysyi, halutaanko käsitellä koko aineisto. Vaikka siihen vastasi myöntävästi, tekoäly jäi jumiin. Tehtävän suorittaminen keskeytettiin puolen tunnin jälkeen.
- Tekoäly tuotti vain muutaman GE:n, muodosti tiedoston ja ilmoitti iloisesti, että tehtävä on suoritettu. Vaikuttaa siltä, ettei sillä ole aavistustakaan siitä, että tehtävä jäi kesken.
- Tekoäly alkoi keskeyttää sanaston generoimista varmistaakseen käyttäjältä, kummalla tavalla toimitaan. Tämä häiriö on helppo jäljittää monitulkintaisiin sääntöihin, mutta on ristiriidassa single-pass -tehtävän suorittamistavoitteen kanssa.
Tekoäly voi epäonnistua tehtävän suorittamisessa:
- jos tehtävään kuuluu tekoälyn mielestä liikaa aikaa
- jos sääntöjä on liikaa, ne ovat monimutkaisia tai ovat ehdottomia
- jos tekoäly suorittaa yhtä aikaa erilaisia, monivaiheista ja raskasta tehtäviä
- jos sanastosta on tulossa niin laaja, että se ylittäisi tekoälylle asetetun ruudulle tuotettavan vastauksen pitussrajan
Yritettäessä ratkaista GGS 0.5:n ongelmia kysyttiin keskeytymisongelman ratkaisua tekoälyltä. Tekoäly osaa hyvin generoida lisää sääntöjä ja tarkistuksia, mutta ei arvioida itse, että tehtävä käy sille liian monimutkaiseksi.
GGS 0.6:n tuotoksista näkee, että tekoäly yritti toteuttaa myös GGS:än kirjattuja ihmiskäyttäjälle tarkoitettuja käyttöohjeita.
Versiosta 0.8 poistettiin ladattavan tiedoston muodostamissäännöt, sanaston ylätunnisteen muotoilusäännöt sekä metadatan lisäyssäännöt. Koko GGS annettiin lisäksi tekoälyn analysoitavaksi, jotta se poistaisi siitä tulkinnanvaraisuuden.
Tekoäly ei anna selkeitä virheilmoituksia. Jos siltä kysyy, mikä meni pieleen, se alkaa generoida mahdollisia selityksiä. Vaikuttaa siltä, että se ei tiedä itsekään. Olen kohdannut tämän useasti.
Parhaat opit
Nyt kun jälkikäteen palauttaa mieleen GGS:n kehittämisestä saatuja kokemuksia, ymmärtää aiempaa paremmin tekoälyn tuotantokäytön rajoituksia ja ylipäänsä sitä, miten nykyiset keskustelubotit toimivat.
Sääntöjen kohdalla on löydettävä tarkkka tasapaino:
- Jos tärkeitä sääntöjä puuttuu, tekoäly joutuu päättelemään, mitä pitää tehdä. Paljon toistuvassa silmukassa tämä hidastaa tehtävän suoritusta ja kuluttaa turhaan laskentaresursseja,
- Jos säännöt ovat tulkinnanvaraisia, tekoäly saattaa tuottaa tuloksia, jotka eivät ole sisällötään sitä tai siinä muodossa kuin käyttäjä ne olisi halunnut.
- Jos sääntöjä on liikaa, tehtävän suoritus hidastuu ja saattaa jumiutua.
- Jos säännöt ovat ehdottomia, tekoäly ei tuota vastauksia vähänkään normaalista poikkeavasata lähdetekstistä.
Tekoäly ei kerro käytettävissä olevasta kapasiteetistaan eikä siitä, milloin se ylittyy. En välitä siitä, onko kyseessä konteksti-ikkunan koko tai käyttäjälle annettu laskentateho, mutta yritys-ja-erehdys -periaatteella tapahtuvalta kehittämistyöltä puuttuu luotettava pohja. Se on kuin lähtisi vielä huhtikuussa pilkille ja toivoisi, että jäät edelleen kantavat.
Tärkein oppi ei ollut yrittää saada tekoälyä tekemään kaikkea ihmisen puolesta. Parempi työnjako on kolmikohtainen:
- Tekoälylle annetaan yksi selkeä tehtävä, jossa se on hyvä: tuottaa sanaston sisältötekstit.
- Ihminen ottaa tehtäväkseen viimeistellä sanastot julkaisukuntoon. Tämä sisältää tekstimuotoilut, metadatan, pdf-viennin, tiedostonimet ym.
- Päätehtävästä irrotettiin osatehtäviä, joita tekoäly suorittaa vain pyydettäessä. Tällaisia ovat sanaston tarkastaminen ja fraasien etsiminen ja kääntäminen.
Lopuksi transkriptio tekoälyn kanssa käymästäni keskustelusta. Keskeistä ei ole sisältö, vaan se, että keskustelu on menetelmä viedä hanketta eteenpäin.
convo-2026-07-13.pdf (14 s. CC BY 4.0)
Juttusarjan seuraavan, eli viidennen osan aiheita ovat sanaston generoiminen käytännössä, muokkaaminen dokumenttitiedostokksi ja sanastojen tiedonhallinta.
