{"id":2014,"date":"2026-07-08T17:00:00","date_gmt":"2026-07-08T17:00:00","guid":{"rendered":"https:\/\/blogit.sasky.fi\/ruohomaki\/?p=2014"},"modified":"2026-08-22T16:08:43","modified_gmt":"2026-08-22T16:08:43","slug":"sanaston-synty-osa-4","status":"publish","type":"post","link":"https:\/\/blogit.sasky.fi\/ruohomaki\/2026\/07\/08\/sanaston-synty-osa-4\/","title":{"rendered":"Sanaston synty (Osa 4)"},"content":{"rendered":"\n<p class=\"has-medium-font-size wp-block-paragraph\">T\u00e4m\u00e4 luku kertoo sanastogeneraattorin rakentamisen vaiheista, ongelmista ja ratkaisuista. Siit\u00e4, miten hanke muuttui oppimateriaalin tuottamisesta ohjelmoinniksi luonnollisella kielell\u00e4. T\u00e4m\u00e4 on suunnattu erityisesti teko\u00e4lyn aktiivisille k\u00e4ytt\u00e4jille. Kielenopettajaa saattaa kiinnostaa lopun liitteen\u00e4 oleva sanojen luokitus, mutta kielenopiskelijan kannattaa ihan oikeasti j\u00e4tt\u00e4\u00e4 t\u00e4m\u00e4 luku v\u00e4liin.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Versiohistoriaa<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Spesifikaatio kasvoi aluksi nopeasti, mutta my\u00f6hemmin sit\u00e4 my\u00f6s yksinkertaistaa. Tarkoituksena oli erottaa toisistaan dokumentointiin, tiedostonhallintaan ja varsinaiseen sanaston muodostamiseen liittyv\u00e4t teht\u00e4v\u00e4t. Uusimmissa versioissa painopiste siirtyi pedagogisiin ja kielellisiin ratkaisuihin. Seuraava taulukko antaa yleiskuvan versiokehityksest\u00e4:<\/p>\n\n\n\n<figure class=\"wp-block-table has-small-font-size\"><table><thead><tr><th>Versio<\/th><th class=\"has-text-align-left\" data-align=\"left\">P\u00e4\u00e4osioita \/ alakohtia<\/th><th class=\"has-text-align-left\" data-align=\"left\">T\u00e4rkeimm\u00e4t muutokset<\/th><th>Toimivuus<\/th><\/tr><\/thead><tbody><tr><td>0.1<\/td><td class=\"has-text-align-left\" data-align=\"left\">1 \/ 6<\/td><td class=\"has-text-align-left\" data-align=\"left\">Sanastoentryn rakenne,  kolmen merkitystason selitys, selitett\u00e4v\u00e4 sana perusmuodossa<\/td><td>testi<\/td><\/tr><tr><td>0.2<\/td><td class=\"has-text-align-left\" data-align=\"left\">4 \/ 15<\/td><td class=\"has-text-align-left\" data-align=\"left\">ulkoasun muotoiluja, lyric form ja taivutukset<\/td><td>testi<\/td><\/tr><tr><td><strong>0.3<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>4 \/ 18<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Tuotti kokonaisen sanaston. Dokumentin muoto ja rakenne vakiintuvat, mallina painetut sanakirjat.<\/td><td>toimiva ja hidas<\/td><\/tr><tr><td><strong>0.5<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>7 \/ 30<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Mukaan How to Use, tulostus docx-tiedostoon, tiedoston nime\u00e4minen ja metadata.<\/td><td>ep\u00e4vakaa<\/td><\/tr><tr><td><strong>0.6<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>8 \/ 34<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Generation Assurance Rules lis\u00e4t\u00e4\u00e4n. Pitkien ajojen ja keskeytysten hallinta.<\/td><td>ep\u00e4vakaa<\/td><\/tr><tr><td><strong>0.7<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>9 \/ 38<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Ihmisohjeet poistuvat. Sis\u00e4lt\u00f6s\u00e4\u00e4nn\u00f6t tarkentuvat, mutta Assurance s\u00e4ilyy.<\/td><td>ep\u00e4vakaa<\/td><\/tr><tr><td><strong>0.8<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>9 \/ 39<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Lyric Glossary Spec nimettiin uudelleen Glossary Generation Speciksi, sill\u00e4 ei ole k\u00e4yt\u00e4nn\u00f6n syyt\u00e4 rajoittaa k\u00e4ytt\u00f6\u00e4 pelkkiin laululyriikoihin.<\/td><td>vakaa ja hidas<\/td><\/tr><tr><td><strong>0.81<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>5 \/ 39<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">S\u00e4\u00e4nn\u00f6t ryhmitell\u00e4\u00e4n (Formatting, Content, Heading, Metadata&#8230;). Dokumenttirakenne selkeytyy.<\/td><td>vakaa ja hidas<\/td><\/tr><tr><td><strong>0.82<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>13 \/ 32<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Suuri pelkistys. Completeness Check, automaattinen regenerointi ja AI-keskeinen prosessi.<\/td><td>vakaa ja hidas<\/td><\/tr><tr><td><strong>0.83<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>14 \/ 34<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Output Header, Final Section ja Excluded-lista. Konjugaatios\u00e4\u00e4nt\u00f6 tarkentuu.<\/td><td>vakaa ja hidas<\/td><\/tr><tr><td><strong>0.84<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>14 \/ 34<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Semanttiset kerrokset ja prosessi hioutuvat, rakenne vakiintuu.<\/td><td>vakaa ja hidas<\/td><\/tr><tr><td><strong>0.85<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>14 \/ 35<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Romanisointi ja kielikohtaiset s\u00e4\u00e4nn\u00f6t tarkentuvat.<\/td><td>vakaa ja hidas<\/td><\/tr><tr><td><strong>0.86<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>14 \/ 36<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Lyric Form muuttuu ehdolliseksi. Romanisointi (macronit) vakiintuu.<\/td><td>vakaa ja hidas<\/td><\/tr><tr><td><strong>0.87<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>15 \/ 38<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Quality Principle, GD-ajattelu, Ignore Metadata ja tuotannon tilastointi.<\/td><td>vakaa<\/td><\/tr><tr><td><strong>0.90<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>14 \/ 31<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Content Word Glossary. Partikkelit ja funktiosanat poistuvat, fraasit erotellaan.<\/td><td>vakaa<\/td><\/tr><tr><td><strong>0.91<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>15 \/ 33<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Word Boundary Rule.<\/td><td>vakaa<\/td><\/tr><tr><td><strong>0.92<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>15 \/ 35<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Sanaluokittelua tarkennetaan (mm. laskusanat, prefiksit, suffiksit).<\/td><td>vakaa<\/td><\/tr><tr><td><strong>0.93<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>15 \/ 38<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Merkityskerrokset nimet\u00e4\u00e4n (literal \/ abstract \/ poetic), Lyric Form uudistuu.<\/td><td>vakaa<\/td><\/tr><tr><td><strong>0.94<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>15 \/ 38<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Lyric Form yksinkertaistuu nykyiseen muotoon, glossary-entryjen puhtaus varmistetaan.<\/td><td>vakaa ja nopea<\/td><\/tr><tr><td><strong>0.95<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>17 \/ 50<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Luovuttiin vaatimasta ylitarkkoja sana- ja alaluokkia, Otettiin k\u00e4ytt\u00f6\u00f6n pehme\u00e4reunainen nelj\u00e4n ish-korin malli.<\/td><td>vakaa ja nopea<\/td><\/tr><tr><td>0.96<\/td><td class=\"has-text-align-left\" data-align=\"left\">17 \/ 50<\/td><td class=\"has-text-align-left\" data-align=\"left\">Lis\u00e4ttiin sanaston yl\u00e4tunnistetiedot<\/td><td>vakaa ja nopea<\/td><\/tr><tr><td>0.97<\/td><td class=\"has-text-align-left\" data-align=\"left\">17 \/ 50<\/td><td class=\"has-text-align-left\" data-align=\"left\">Development Release<\/td><td>vakaa ja nopea<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Hankkeessa oli my\u00f6s\u00a0kriisivaihe, kun\u00a0sanastojen luominen\u00a0muuttui ep\u00e4vakaaksi. Jouduin umpikujaan, sill\u00e4 en halunnut menett\u00e4\u00e4 tehty\u00e4 ty\u00f6t\u00e4 ja\u00a0uskoin\u00a0teko\u00e4lyn ehdotuksiin \u00a0lis\u00e4s\u00e4\u00e4nt\u00f6jen hy\u00f6dyst\u00e4. Laitoin hankkeen\u00a0tauolle\u00a0maaliskuussa,\u00a0enk\u00e4 tiennyt miten jatkaa.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Loppukev\u00e4\u00e4n\u00a0ty\u00f6ruuhkan\u00a0vuoksi\u00a0p\u00e4\u00e4sin\u00a0palaamaan\u00a0hankkeeseen\u00a0vasta kes\u00e4ll\u00e4.\u00a0Puolen vuoden hanke oli siis\u00a0tauolla\u00a0l\u00e4hes nelj\u00e4\u00a0kuukautta.\u00a0Tauon aikana aloin ymm\u00e4rt\u00e4\u00e4, ett\u00e4\u00a0teko\u00e4lyyn\u00a0t\u00e4ytyy alkaa suhtautua aiempaa kriittisemmin.\u00a0<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Kehitt\u00e4minen muutti tasapainoiluksi ominaisuuksien lis\u00e4\u00e4misen ja yksinkertaistamisen v\u00e4lill\u00e4. Osa s\u00e4\u00e4nn\u00f6ist\u00e4 poistui kokonaan, osa yhdistettiin ja osa korvattiin my\u00f6hemmin tarkemmilla periaatteilla. Lopputuloksena syntyi yksinkertaisempi mutta samalla k\u00e4sitteellisesti vahvempi spesifikaatio.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Version 0.95 suuri alakohtien m\u00e4\u00e4r\u00e4 (50 kpl) selittyy sill\u00e4, ett\u00e4 m\u00e4\u00e4rityksess\u00e4 piti luetella ne 17 mahdollista sana- ja alauokkaa, joita luokiteltiin lempe\u00e4mmin nelj\u00e4\u00e4n koriin. Esim. &#8221;<em>nounish<\/em>&#8221; = substantiivit ja substantiivin tapaan k\u00e4ytt\u00e4ytyv\u00e4t.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">Lis\u00e4tietoa versiokehityksest\u00e4 <a href=\"https:\/\/blogit.sasky.fi\/ruohomaki\/wp-content\/uploads\/sites\/24\/2026\/07\/GGS-versiohistoria.pdf\">ggs-versiohistoria<\/a> (pdf, 2 s. CC BY 4.0, 2026-07-28)<\/li>\n\n\n\n<li class=\"has-medium-font-size\">Maksimaalista kielin\u00f6rtteily\u00e4 sanaluokista <a href=\"https:\/\/blogit.sasky.fi\/ruohomaki\/wp-content\/uploads\/sites\/24\/2026\/07\/ggs_sanojen_luokitus.pdf\">ggs-sanaluokitus<\/a> (pdf 2 s. CC BY 4.0)<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Ongelmia ja ratkaisuja<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Testattaessa havaittiin, ett\u00e4 teko\u00e4ly on altis monenlaisille toimintah\u00e4iri\u00f6ille.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">Teko\u00e4ly tuottaa pienen n\u00e4ytteen ja kysyy, halutaanko k\u00e4sitell\u00e4 koko aineisto. Vaikka siihen vastaa my\u00f6nt\u00e4v\u00e4sti, teko\u00e4ly j\u00e4\u00e4 jumiin.<\/li>\n\n\n\n<li class=\"has-medium-font-size\">Teko\u00e4ly tuottaa muutaman GE:n ja ilmoittaa, ett\u00e4 teht\u00e4v\u00e4 on suoritettu. Sill\u00e4 ei n\u00e4yt\u00e4 olevan aavistustakaan, ett\u00e4 teht\u00e4v\u00e4 j\u00e4i kesken.<\/li>\n\n\n\n<li class=\"has-medium-font-size\">Teko\u00e4ly alkaa keskeytt\u00e4\u00e4 generoimista varmistaakseen k\u00e4ytt\u00e4j\u00e4lt\u00e4, kummalla tavalla toimitaan. T\u00e4m\u00e4 h\u00e4iri\u00f6 on helppo j\u00e4ljitt\u00e4\u00e4 monitulkintaisiin s\u00e4\u00e4nt\u00f6ihin<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Teko\u00e4ly voi ep\u00e4onnistua teht\u00e4v\u00e4n suorittamisessa:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">jos teko\u00e4lylle annettava l\u00e4hdeteksti sis\u00e4lt\u00e4\u00e4 jotain yll\u00e4tt\u00e4v\u00e4\u00e4, mit\u00e4 ei ole otettu huomioon.<\/li>\n\n\n\n<li class=\"has-medium-font-size\">jos teht\u00e4v\u00e4\u00e4n kuuluu teko\u00e4lyn mielest\u00e4 liikaa aikaa<\/li>\n\n\n\n<li class=\"has-medium-font-size\">jos s\u00e4\u00e4nt\u00f6j\u00e4 on liikaa, ne ovat monimutkaisia tai ovat ehdottomia<\/li>\n\n\n\n<li class=\"has-medium-font-size\">jos teko\u00e4ly suorittaa yht\u00e4 aikaa erilaisia, monivaiheista ja raskasta teht\u00e4vi\u00e4<\/li>\n\n\n\n<li class=\"has-medium-font-size\">jos sanastosta on tulossa niin laaja, ett\u00e4 se ylitt\u00e4isi teko\u00e4lylle asetetun ruudulle tuotettavan vastauksen pituusrajan<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Yritett\u00e4ess\u00e4 ratkaista versio 0.5:n keskeytymisongelmia, kysyttiin siit\u00e4 my\u00f6s teko\u00e4lylt\u00e4. T\u00e4m\u00e4 oli suuri virhe, sill\u00e4 teko\u00e4ly on hyv\u00e4 generoimaan uusia s\u00e4\u00e4nt\u00f6j\u00e4, mutta kovin huono arvioimaan, ovatko s\u00e4\u00e4nn\u00f6t ja teht\u00e4v\u00e4t sille liian monimutkaisia.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Yksi kehitt\u00e4misty\u00f6n perusongelma on, ett\u00e4 teko\u00e4ly ei anna selkeit\u00e4 virheilmoituksia. Jos silt\u00e4 kysyy, mik\u00e4 meni pieleen, se alkaa generoida mahdollisia selityksi\u00e4. Vaikuttaa silt\u00e4, ett\u00e4 se ei tied\u00e4 itsek\u00e4\u00e4n. Olen kohdannut t\u00e4m\u00e4n useasti.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Fraasit <\/strong>ovat sanaston kannalta hankalia: Fraasin merkitys on erilainen kuin sen osien summa. Ongelma ratkaistiin ohittamalla fraasit sanastosta ja luomalla niiden k\u00e4\u00e4nt\u00e4minen erillisen ty\u00f6kalun teht\u00e4v\u00e4ksi. T\u00e4st\u00e4 tarkemmin <a href=\"https:\/\/blogit.sasky.fi\/ruohomaki\/2026\/07\/26\/sanaston-synty-osa-7\/\">seitsem\u00e4nness\u00e4 luvussa<\/a>.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">On hyv\u00e4 huomata, ett\u00e4 speksin laatu ja generoinnin vakaus ovat eri asioita. Hyv\u00e4kin m\u00e4\u00e4ritys voi ep\u00e4onnistua yksitt\u00e4isess\u00e4 ajossa. Ja toisin p\u00e4in: heikkokin m\u00e4\u00e4ritys saattaa toimia vakaasti.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Parhaat opit<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Nyt kun j\u00e4lkik\u00e4teen palauttaa mieleen GGS:n kehitt\u00e4misest\u00e4 saatuja kokemuksia, ymm\u00e4rt\u00e4\u00e4 aiempaa paremmin teko\u00e4lyn tuotantok\u00e4yt\u00f6n rajoituksia ja ylip\u00e4\u00e4ns\u00e4 sit\u00e4, miten nykyiset keskustelubotit toimivat. Esimerkiksi s\u00e4\u00e4nt\u00f6jen kohdalla on l\u00f6ydett\u00e4v\u00e4 tarkka tasapaino:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">Jos t\u00e4rkeit\u00e4 s\u00e4\u00e4nt\u00f6j\u00e4 puuttuu, teko\u00e4ly joutuu p\u00e4\u00e4ttelem\u00e4\u00e4n, mit\u00e4 pit\u00e4\u00e4 tehd\u00e4. Paljon toistuvassa silmukassa t\u00e4m\u00e4 hidastaa teht\u00e4v\u00e4n suoritusta ja kuluttaa turhaan laskentatehoa,<\/li>\n\n\n\n<li class=\"has-medium-font-size\">Jos s\u00e4\u00e4nn\u00f6t ovat tulkinnanvaraisia, teko\u00e4ly saattaa tuottaa tuloksia, jotka eiv\u00e4t ole sis\u00e4ll\u00f6lt\u00e4\u00e4n sit\u00e4 tai siin\u00e4 muodossa kuin k\u00e4ytt\u00e4j\u00e4 ne olisi halunnut.<\/li>\n\n\n\n<li class=\"has-medium-font-size\">Jos s\u00e4\u00e4nt\u00f6j\u00e4 on liikaa, teht\u00e4v\u00e4n suoritus hidastuu ja saattaa jumiutua.<\/li>\n\n\n\n<li class=\"has-medium-font-size\">Jos s\u00e4\u00e4nn\u00f6t ovat ehdottomia, normaalista poikkeava l\u00e4hdeteksti keskeytt\u00e4\u00e4 teht\u00e4v\u00e4n suorituksen<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Teko\u00e4ly ei kerro, milloin k\u00e4ytett\u00e4viss\u00e4 oleva kapasiteetti ylittyy. En v\u00e4lit\u00e4, onko h\u00e4iri\u00f6n syy token-budjetti vai hetkellinen k\u00e4ytt\u00e4j\u00e4kuorma, mutta yritys-ja-erehdys-periaatteella tapahtuvalta kehitt\u00e4misty\u00f6lt\u00e4 puuttuu laskentapohja. Se on kuin l\u00e4htisi viel\u00e4 huhtikuussa pilkille ja toivoisi, ett\u00e4 j\u00e4\u00e4t edelleen kantavat.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">T\u00e4rkein oppi: teko\u00e4ly\u00e4 ei kannata yritt\u00e4\u00e4 laittaa tekem\u00e4\u00e4n kaikkea ihmisen puolesta. Parempi ty\u00f6njako on kolmikohtainen:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">Teko\u00e4lylle annetaan yksi selke\u00e4 teht\u00e4v\u00e4, jossa se on hyv\u00e4: tuottaa sanaston sis\u00e4lt\u00f6tekstit. <\/li>\n\n\n\n<li class=\"has-medium-font-size\">Ihminen hoitaa teht\u00e4v\u00e4t, jotka vaativat harkintaa. Sanaston viimeistely julkaisukuntoon. sis\u00e4lt\u00f6tekstin siivoaminen, merkkien ja kappaleiden muotoileminen, linkin ja metadatan lis\u00e4\u00e4minen, pdf-viennin tekeminen ja tiedoston nime\u00e4minen<\/li>\n\n\n\n<li class=\"has-medium-font-size\">P\u00e4\u00e4teht\u00e4v\u00e4st\u00e4 irrotettiin osateht\u00e4vi\u00e4, joita teko\u00e4ly suorittaa vain pyydett\u00e4ess\u00e4. T\u00e4llaisia ovat sanaston tarkastaminen ja fraasien k\u00e4\u00e4nt\u00e4minen.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><em>Juttusarjan seuraavan, eli <a href=\"https:\/\/blogit.sasky.fi\/ruohomaki\/2026\/07\/13\/sanaston-synty-osa-5\/\">viidennen osan<\/a> aiheita ovat sanaston generoiminen k\u00e4yt\u00e4nn\u00f6ss\u00e4, muokkaaminen dokumenttitiedostoksi ja sanastojen tiedonhallinta.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e4m\u00e4 luku kertoo sanastogeneraattorin rakentamisen vaiheista, ongelmista ja ratkaisuista. Siit\u00e4, miten hanke muuttui oppimateriaalin tuottamisesta ohjelmoinniksi luonnollisella kielell\u00e4. T\u00e4m\u00e4 on suunnattu erityisesti teko\u00e4lyn aktiivisille k\u00e4ytt\u00e4jille. Kielenopettajaa saattaa kiinnostaa lopun liitteen\u00e4 oleva sanojen luokitus, mutta kielenopiskelijan kannattaa ihan oikeasti j\u00e4tt\u00e4\u00e4 t\u00e4m\u00e4 luku v\u00e4liin. Versiohistoriaa Spesifikaatio kasvoi aluksi nopeasti, mutta my\u00f6hemmin sit\u00e4 my\u00f6s yksinkertaistaa. Tarkoituksena oli erottaa [&hellip;]<\/p>\n","protected":false},"author":96,"featured_media":2124,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[17,14,13,7],"class_list":["post-2014","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blogi","tag-oppimateriaali","tag-petajaopisto","tag-sasky","tag-tekoaly"],"_links":{"self":[{"href":"https:\/\/blogit.sasky.fi\/ruohomaki\/wp-json\/wp\/v2\/posts\/2014","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogit.sasky.fi\/ruohomaki\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogit.sasky.fi\/ruohomaki\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogit.sasky.fi\/ruohomaki\/wp-json\/wp\/v2\/users\/96"}],"replies":[{"embeddable":true,"href":"https:\/\/blogit.sasky.fi\/ruohomaki\/wp-json\/wp\/v2\/comments?post=2014"}],"version-history":[{"count":85,"href":"https:\/\/blogit.sasky.fi\/ruohomaki\/wp-json\/wp\/v2\/posts\/2014\/revisions"}],"predecessor-version":[{"id":2970,"href":"https:\/\/blogit.sasky.fi\/ruohomaki\/wp-json\/wp\/v2\/posts\/2014\/revisions\/2970"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogit.sasky.fi\/ruohomaki\/wp-json\/wp\/v2\/media\/2124"}],"wp:attachment":[{"href":"https:\/\/blogit.sasky.fi\/ruohomaki\/wp-json\/wp\/v2\/media?parent=2014"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogit.sasky.fi\/ruohomaki\/wp-json\/wp\/v2\/categories?post=2014"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogit.sasky.fi\/ruohomaki\/wp-json\/wp\/v2\/tags?post=2014"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}