Hvað í ósköpunum er þetta?
Textinn sem verður til hér að ofan er myndaður með því að velja hvern staf handahófskennt, en þó með tilteknum takmörkunum. Aðferðin sem er valin ræður svo því samhengi sem takmarkanirnar miðast við.
- Handahóf hefur ekkert samhengi. Hver stafur íslenska stafrófsins (auk stafabils) er jafn líklegur.
- Tíðni stafa velur stafi af handahófi eftir því hve algengir þeir eru í íslensku ritmáli. Þú færð fleiri a, r, n og bil; færri x og ý. Tíðni stafanna er rétt og lengd stafarunanna minnir e.t.v. á orð, en annað ekki.
- Tíðni 2-stafa para tekur mið af því hversu líklegur hver stafur er í kjölfar annars. Tvenndir eins og ra, að, og, nn — birtast strax.
- Tíðni 3-stafa og 4-stafa runa taka mið af því hversu líklegur hver stafur er í kjölfar þeirra tveggja eða þriggja sem á undan koma. Núna fer textinn að mynda eitthvað sem líkist íslenskum orðum og texta, án þess þó að vera það.
Ef haldið væri áfram í 5, 6 eða 7-stafa samhengi (almenn vísun í svona samsetningar er n-gram á ensku) yrði textinn enn meira sannfærandi, en strax þá yrði undirliggjandi gagnasafn orðið mjög stórt og að baki þyrfti að liggja gríðarlegt magn texta.
Hermirinn er íslensk útfærsla tilraunar sem Claude Shannon gerði með enskan texta árið 1948, en Claude lagði grunninn að upplýsingafræði (e. Information theory). Tilraunina - sem hann vann með einungis blað og blýant að vopni - er rakin í bókinni The Information eftir James Gleick. Það var lestur þeirrar bókar sem fékk mig til að prófa þetta á íslensku.
Aðferðafræðin, ástæðurnar fyrir hegðuninni sem við sjáum og tengsl þessarar einföldu aðferðafræði við gervigreindarlíkön nútímans eru rakin hér að neðan.
Óreiða og texti
Í framhaldi af stafarununni “hugmyn…” er nokkuð fyrirsjáanlegt að næsti stafur sé d. Það er lítil óvissa um hvað kemur á eftir. En þegar ný setning byrjar er óvissan miklu meiri, enda gæti fyrsti stafurinn verið næstum hver sem er.
Þennan mun á óvissu - þ.e. hve auðvelt er að spá fyrir um það sem á eftir kemur - kallaði Shannon óreiðu (e. entropy). Hreint handahóf jafngildir hámarksóreiðu, því hver stafur er jafn líklegur og hver annar og engar upplýsingar tiltækar til að spá fyrir um næsta staf. Allt sem hefur einhverja reglu - til dæmis íslenskt mál - hefur lægri óreiðu, þar sem reglurnar gera mögulegt að spá um næsta staf með meiri áreiðanleika en af hreinu handahófi.
Hver aðferð í herminum að ofan lækkar óreiðuna um eitt stig með því að nýta meira samhengi við valið á næsta staf. Förum yfir þær.
Hreint handahóf
Án nokkurs samhengis er hver einasti stafur jafn líklegur og annar, þar með talið stafabilið:
áumökæe kéírájabefhvkýþþöptþoðooedéuxslaasomeðeðpiólóúvðöýylöxft
Hér eru engin orð eða kunnuglegar samsetningar. Sumir stafir koma jú fyrir oftar en aðrir, en af tilviljun, ekki vegna þess að þeir séu algengari í íslensku.
Upphafspunkturinn er semsagt hámarksóreiða. Ekkert aðgreinir þessa runu frá niðurstöðum þess að kasta 33-hliða teningi ítrekað. Það er vonlaust að spá fyrir um næsta staf útfrá því sem á undan er komið.
Það var kannski augljóst að hreint handahófsval myndi ekki leiða af sér íslenskan texta, en hvert stig í aðferðafræðinni héðan í frá lækkar óreiðuna og færir textann nær því að líkjast íslensku máli.
Tíðni stafa
Stillum nú aðferðina á “Handahóf m.v. tíðni stafa”. Hver stafur er enn valinn handahófskennt, en líkurnar eru ekki lengur jafnar. Þær endurspegla hve algengur stafurinn er í íslensku ritmáli.
Þetta þýðir að a, r, n, i og stafabil koma oft fyrir, meðan x, ý og p koma sjaldan, rétt eins og í raunverulegum texta. Tíðnidreifingin er það eina sem aðferðin tekur tillit til.
Með þessari aðferð verður útkoman eitthvað á þessa leið:
hrú av nréþrrnnð gr uiigh ad am rfiil uávótáiv af n snulere i erae óóúhhitakoo á frsíaænrlmu g ísfgunön h nr
Stafirnir og orðalengdin eru á einhvern hátt “kunnuglegari” en í handahófsaðferðinni, en lítið fleira. Tvöföld stafabil koma oft fyrir hérna, einfaldlega vegna þess að stafabilið er algengasta táknið.
“Hitinn” ræður því hvernig stafur er valinn
Nú þegar líkindadreifing er komin inn í spilið kemur ný stilling til sögunnar: hiti (e. temperature). Hitinn ræður því hve nákvæmlega við eltum tíðnina þegar við veljum næsta staf.
- Hiti 1 velur staf nákvæmlega samkvæmt tíðninni: Ef stafurinn a er 10% allra stafa í gagnasafninu, eru líkur á því að hann verði fyrir valinu í 1 skipti af hverjum 10.
- Hiti 0 velur alltaf algengasta möguleikann. Engar tilviljanir, alltaf sami stafur.
- Hiti yfir 1 fletur dreifinguna út: fátíðari stafir fá aukið vægi og útkoman verður fjölbreyttari.
Þegar aðferðin er Tíðni stafa og hitinn 0 verður útkoman mjög einföld: Algengasti stafurinn er stafabilið (um 18% allra stafa) og það verður alltaf fyrir valinu.
Hækkum nú hitann í 2:
kfpamnbsfótanðs vijkali a hðae þéfrþ íinhrkiísedþ yeþkgpíaaný o druplð faðsbuo fvjeerdfjótagráhsreivonk mnlbða
Núna er dreifingin flatari. Sjaldgæfari stafir eins og þ, f og p koma fyrir oftar en tíðni þeirra segir til um. Útkoman líkist íslensku minna en þegar hitinn er nær 1.
Hitinn er sem sagt stilling á því hvernig við notum tíðni stafanna. Hlutverk hitastillingarinnar verður svo enn áhugaverðara þegar samhengi stafanna er tekið með í reikninginn.
Tíðni 2-stafa para
Nú breytist nálgunin. “Handahóf m.v. tíðni 2-stafa para” velur staf eftir því hvaða stafur kom á undan. Þetta er fyrsta stigið sem tekur tillit til samhengis.
Þetta er nóg til þess að við förum að sjá ýmislegt sem einkennir íslensku. Stafabil er líklegara til að koma á eftir ákveðnum stöfum. Tvenndir (e. bi-gram) á borð við er, að, og, nn og ar sjást strax, enda algengar í ritmáli.
Sýnishorn með hita 0,5:
hi ver m að þer stt þer við þa á það tið þer að í stalem m að sser þem fr er um á ar ver er fr ar hað fannng
Þetta eru ekki allt íslensk orð, en þó inn á milli og annað sem gætu verið orð - að, þer, ver, við og það. Og hver segir að stalem gæti ekki verið orð? Útkoman lítur að mestu leyti út fyrir að hún gæti verið texti. Það er helst að “orð” sem ekki innihalda neina sérhljóða eins og stt og m komi upp um okkur.
Hvað ef við hækkum hitann í 2:
þóróþrsjunnekar na væthvo orætí sssjyr ynetógeramykelora nurkgndrerað þamþýnalovoröggesesu ptaðrðirstæðhvætjóí
Dreifingin er flatari. Sjaldgæfari stafapör fá meira vægi. Útkoman færist nær handahófi og er alls ekki jafn íslenskuleg.
Og hvað með öfgarnar í hina áttina: hiti = 0:
st st st st st st st st st st st st st st st st st st st st st st st st st st st st st st st st st st st s
Hér velur módelið alltaf algengasta næsta staf. Bilið er algengast, svo strengurinn byrjar á því. Algengasti stafur eftir bil er s; á eftir s kemur oftast t; og á eftir t kemur oftast bil. Hringnum er lokað og módelið festist í lykkju.
Þetta sýnir vel hvers vegna hiti = 0 er ekki góð aðferð. Valið nær aldrei út fyrir fyrirsjáanlegasta næsta skref. Lægri hiti gefur kunnuglegri texta, en einsleitan; hærri hiti gefur fjölbreyttari texta en ókunnuglegal. Millivegurinn - stilling þar sem útkoman lítur út eins og fjölbreyttur íslenskur texti - er það sem við sækjumst eftir. Stillingar á bilinu 0,5 - 1,5 virðast virka best.
Tíðni 3-stafa runa
Veljum nú aðferð með stærra samhengi. Hér ræðst valið á næsta staf af þeim tveimur sem á undan koma. Samhengið er orðið nógu langt til þess að módelið “veit” t.d. að í kjölfar fy er r langlíklegasti stafurinn, og að á eftir st koma helst a, i, u eða bil. Þrjú n í röð munu aldrei koma fyrir hér.
Munurinn er strax augljós. Hér er sýnishorn með hita = 0,5:
hin fyrið fra fyrir num að var á fyrinnig er að fyrir allann haf sem til að var á þess ver ver að við þess að
Hér er fjöldi raunverulegra íslenskra orða: fyrir, að, var, á, sem, til, við, þess. Þau birtast án þess að módelið hafi nokkra hugmynd um hvað “orð” er. Íslensku þrenndirnar (e. tri-gram) gera þau einfaldlega svo líkleg að þau koma af sjálfu sér.
Hækkum hitann í 0,75:
sem ákvöldinn fraddi getur og ver með num sætti bauðsmeð ríkað að en gott afi hann sem ekkingslegir læki fyrir
Við fyrstu sýn lítur þetta næstum því út eins og íslenska. Stafarunurnar hafa íslenskan blæ og lengdin minnir á orð, en þegar maður reynir að lesa textann reynast mörg orðin hreinn uppspuni, en samt uppspuni sem gæti verið íslenska: “fraddi”, “ríkað”, “ekkingslegir”.
Hækkum hitann í 2:
þórdin góðhorum safð kálguðnæskaverbnump helandusmeð xin höfgo dabi anliteytigeðlifur bryðiv fréttum orted ekv
Þegar tilviljunin er of mikil brotnar mynstrið. Sjaldgæfari 3-stafa pör fá of mikið vægi og útkoman færist aftur í áttina að suði, en þó suði með íslenskum blæ.
Og loks hiti = 0:
sem að þess að þess að þess að þess að þess að þess að þess að þess að þess að þess að þess að þess að þess
Módelið festist í lykkju eins og með 2-stafa aðferðinni. Munurinn er sá að “hlekkirnir” eru raunveruleg íslensk orð: sem, að, þess. Algengasta 3-stafa samhengi sem byrjar á bili leiðir í sem; á eftir sem er líklegasta framhaldið að; og þaðan í þess sem leiðir aftur í að. Þetta er ekki tilviljun, þetta eru sum algengustu orð íslenskunnar og sett saman úr enn algengari stafarunum.
Ættum við að halda áfram?
Þrátt fyrir að 3-stafa aðferðin skili einhverju sem lítur út eins og íslenska, er textinn augljóslega bull. Í útfærslunni hér að ofan er einnig hægt að velja aðferð sem styðst við 4-stafa runur, velur sem sagt næsta staf m.v. þá þrjá sem á undan komu. Fljótt á litið ætti þetta að gefa enn meira sannfærandi útkomu, en því fylgir fórnarkostnaður.
Því stærra sem samhengið er, því færri tilvik liggja að baki hverri runu í tíðnitöflunni. Í 3-stafa rununum eru að jafnaði um 12 mismunandi möguleikar fyrir næsta staf í tíðnidreifingunni og einungis 7% runanna gefa aðeins einn möguleika á næsta staf. Í 4-stafa rununum eru valkostirnir að jafnaði aðeins 5 talsins í hverri dreifingu og 30% allra 3-stafa runa eiga sér aðeins einn mögulegan fjórða staf. Hitastillingin hefur ekkert að segja þegar valkosturinn er aðeins einn. Þá er módelið algerlega ákvarðandi (e. deterministic) um hvað kemur næst.
Útkoman á þessu stigi er því orðin “stífari”. Einsleit og föst í endurtekningum. Til að byggja áreiðanlega tíðnitöflu fyrir 4-stafa runur þyrfti miklu stærra gagnasafn, hvað þá fyrir enn lengri runur. Fjöldi mögulegra samsetninga vex í veldisvexti með hverjum staf sem bætist við rununa.
Annað sem rétt er að nefna er að stakir stafir í íslenska stafrófinu hafa enga merkingu í sjálfu sér, þannig að módel sem byggir á tíðni stafa er ólíklegt til að sýna nokkra “merkingarbæra” hegðun, jafnvel þó samhengið yrði margfalt stærra.
Til þess að taka næstu skref í áttina að sannfærandi íslenskum texta þarf sem sagt nálgun sem:
- Hugsar í stærri einingum en stökum stöfum, með miklu stærra samhengi og almennari mynd af tungumálinu. Þetta er einmitt það sem risamállíkön (Large Language Models, LLM) gera. Þau vinna með “tóka”. Tókar eru algengar og oft merkingarbærar stafarunur eða orðhlutar. Góðir tókar í íslensku væru t.d. að, mað, sam og urinn.
- Beitir margfalt flóknari tölfræðiaðferðum til að velja næsta tóka en það einfalda módel sem lýst er hér að ofan. Mállíkönin taka ekki aðeins tillit til samhengis sem telur örfáa stafi, heldur - í dag - jafnvel milljónir tóka.
Í grunninn má samt segja að um sömu aðferðafræði sé að ræða. Þegar þið ræðið við ChatGPT, eða fáið Claude til að forrita fyrir ykkur, er þetta allt og sumt: örlítið tilviljanakennt val á líklegu framhaldi af því sem þegar er komið!