Johdatus kieliteknologiaan

Kimmo Koskenniemi

LUONNOS 3
KIELITEKNOLGIAN OPETUSMONISTEITA, NRO 1
Helsingin yliopiston yleisen kielitieteen laitos,


Sisältö


1. Johdanto

Kieliteknologia on kieleen liittyvää teknologiaa, erityisesti sellaisia menetelmiä, joilla kieltä voidaan tietokoneen avulla automaattisesti jäsentää, tuottaa tai tunnistaa tai mm. menetelmiä, joiden avulla ihminen voi kielensä avulla kommunikoida tietokoneen kanssa.

Ihmisellä ei luonnostaan ole intuitiivista kuvaa kielensä olemuksesta, ei sen monimutkaisuudesta eikä monitulkintaisuudesta. Päin vastoin, useimpien mielestä kieli on jokseenkin itsestään selvä ja ongelmaton. Tämä osoittautuu kuitenkin oitis virheelliseksi näkemykseksi, kun kielen toimintaa yritetään ohjelmoida tietokoneelle.

Kielen järjestelmä koostuu monenlaisista osista. Puhutun kielen äänteet ja kirjoitetun kielen kirjoitusmerkit ovat konkreettisia ja helposti hahmotettavia kielen osia, samoin sanat ja sanojen erilaiset taivutusmuodot. Lauseet ja virkkeet koostuvat sanoista, joiden välillä on erilaisia ns. määritesuhteita. Virkkeiden rakenteen tunnistaminen voisi muuten olla kohtuullisen helppoa, mutta tätä tehtävää vaikeuttaa sanojen ja rakenteiden moniselitteisyys. Virkkeiden merkitykset ovat niiden rakennettakin ongelmallisempia täsmentää, vaikka ihmisillä on se vaikutelma, että merkitykset olisivat itsestään selviä.

Puhuttu kieli on ensisijaisempaa kuin kirjoitettu, sillä ihmiset oppivat ensin puhumaan, eikä kaikissa kulttuureissa kirjoituksella ole tärkeää sijaa. Vaikka puhesignaalin tunnistaminen on ihmiselle helppoa, se osoittautuu hankalasti analysoitavaksi. Parhaatkaan signaalinkäsittelymenetelmät eivät voi erottaa yksittäisiä äänteitä (eikä myöskään kokonaisia sanoja) toisistaan yhtä hyvin kuin ihminen. Automaattinen puheentunnistus on silti tullut osittain mahdolliseksi ja sen menetelmät paranevat jatkuvasti.

Muidenkin kielten kuin äidinkielen oppiminen kuuluu olennaisena osana eurooppalaiseen yhteiskuntaan. Tietokoneen ja kieliteknologian avulla voisimme helpottaa vieraskielisten tekstien ymmärtämistä ja avustaa ihmisiä vieraan kielen oppimisessa. Tietokoneet kun ovat paremmin saatavilla ajasta ja paikasta riippumatta kuin ihmisopettajat. Monien mielestä tietokone on myös hienotunteinen opettajana, kun sille tehtyä virhettä ei tarvitse häpeillä. Kielenkääntämisessä kielteknologiasta on suuri apu ihmiselle, joka työkseen tai työssään kääntää tekstejä. Vammmaisten elämänlaatua voidaan parantaa kieliteknologian avulla,

Näihin päiviin saakka kieliteknologia (tai tietokonelingvistiikka) on ollut lähinnä tutkimuskohde, tosin varsin mielenkiintoinen kohde. Viime aikoina tietoverkkojen ja tietotekniikan läpilyönnin myötä ruvettu puhumaan tietoyhteiskunnasta, jossa uudet viestintävälineet ja erityisesti Internet koskettavat kaikkia kansalaisia ja saattavat ennennäkemättömät tietomäärät ja verkkopalvelut jokaisen ulottuville. Suuri osa näistä tiedoista on luonnollisen kielen muodossa ja moniin palveluihin olisi puhuttu (tai kirjoitettu) kieli luontevin lähestymiskeino. Mitenkä muuten kännykän kanssa pyyntöjänsä esittäisi kuin puhumalla ja millaisessa muodossa vastauksia niin pienellä laittella haluaisi saada. Harvojen harrastuksesta on siten hyvin lyhyessä ajassa tullut massojen päivittäistä elämää ja toimintaa koskettava teknologiaa, jonka tulevaa merkitystä vieläkin ilmeisesti aliarvioidaan.

Tämän oppikirjan tarkoituksena on johdattaa lukija ymmärtämään kielen olemusta kieliteknologian kannalta sekä auttaa tunnistamaan kieliteknologian merkitys ja mahdollisuudet erilaisissa nykyään jo yleisissä, mutta tulevaisuudessa vieläkin yleisemmissä tärkeissä sovelluksissa.


2. Kielen järjestelmä

Kieli ei ole pieni eikä yksinkertainen, vaikka sen koosta ja mutkikkuudesta meillä ei olekaan luontaista mielikuvaa. Päin vastoin, kieli on monella tavalla laaja tai ehkä ääretönkin. Tiedämme matematiikasta, että kokonaislukuja on äärettömän paljon, vaikka kukin luku koostuu jonosta numeromerkkejä, joita kymmenjärjestelmässämme on kymmenen erilaista: 0-9. Kielikin koostuu vastaavalla tavalla harvoista merkeistä: kirjoitettu kieli kirjaimista ja puhuttu kieli äänteistä. Jätämme tässä kutenkin hetkeksi puheen ja mutkikkaammat kirjoitusjärjestelmät syrjään ja käsittelemme suomen tapaista aakkosmerkeillä kirjoitettua kieltä.


2.1 Sanat ja sananmuodot

Kirjaimia tai äänteitä on kielissä muutama kymmenen erilaista ja niiden voidaan ajatella vastaavan numeromerkkejä. Kirjaimilla voidaan muodostaa sanoja, joskaan kaikki kirjainyhdistelmät eivät ole mahdollisia: talo ja sprii ovat mahdollisia, mutta kdpgv tuntuu mahdottomalta suomen kielessä. Kaikki mahdollisen tuntuisetkaan sanat kuten heuppo eivät kuulu kieleen. Sanoilla on myös rajallinen pituus, eikä minkään kielen sanavarasto ole loputon. Kielissä voi olla muutamia kymmeniä tuhansia sanoja tai vaikka miljoona sanaa, jotka on lueteltavissa sanakirjoissa. Vaikka sanojen määrä on tässä mielessä rajallinen, elävien kielten sanasto on avoinna pysyvämmin kieleen pyrkiville uudissanoille ja puhujien muodostamille tarpeeseen luoduille uusille sanoille, jotka saattavat unohtua käytön jälkeen.

Sanat eivät kuitenkaan ole kiinteitä yksiköitä, vaan useimmissa kielissä ne taipuvat, sanoista voi johtaa säännönmukaisesti toisia sanoja ja sanoja voi yhdistää yhdyssanoiksi. Tällainen sananmuodostus saattaa olla vain pieni lisä kielen sanavarastoon kuten englannin kielessä, tai sitten ratkaiseva tekijä kuten suomessa. Suomen kielessä nimittäin sanojen taipuminen on yllättävänkin monimuotoista. Jokainen substantiivi saa erilaisia muotoja

kahdessa luvussa (eli yksikössä ja monikossa)
yli kymmenessä sijamuodossa (nominatiivi, genetiivi, partitiivi, jne.)
omistusliitteen mukaan (yksikössä ja monikossa kolme persoonaa ja ilman liitettä) sekä
liitepartikkelin mukaan (-kin, -pa, -han, jne).
Yhteensä näiden yhdistelmät tuottavat noin 2000 erilaista sananmuotoa kustakin substantiivista. Adjektiivit taipuvat samaan tapaan kussakin kolmesta eri vertailuasteestaan (jotka ovat positiivi, komparatiivi, superlatiivi). Näin ollen kullekin adjektiiville tulee noin 6000 eri muotoa. Verbit yltävät vieläkin useampiin muotoihin, peräti noin 12000-18000 muotoon, joista pääosa tulee partisiipeista ja muista nominaalimuodoista, jotka taipuvat kuten substantiivit (juokse+minen) tai joillakin verbeillä kuten adjektiivit (katso+ttu).

Minkälaisiin suuruusluokkiin tämä johtaa? Jos oletamme suomen kielessä olevan esim. 100000 yksiosaista substantiivia, saamme näistä taivuttamalla 200 miljoonaa eri muotoa. Adjektiiveja on vähemmän, mutta niistä voinee tulla sata miljoonaa sananmuotoa. Verbejä on myös vähemmän, ja niistä voisi tulla vielä sata miljoonaa lisää.

Tässä lähes puolessa miljardissa sananmuodossa ei kuitenkaan ole koko totuus. Ensinnäkin voimme suomen kielessä johtaa verbeistä, adjektiiveista ja substantiiveista toisia sanoja, esim.: istua, istuskella, istuskeluttaa, istuttaa, istuutua, istuskeluttajamaisuus, jne. Tätä kautta saamme muotojen määrän ehkä yhtä kertalukua (eli kerrointa 10) suuremmaksi.

Kuva 2.1: Suomen kielen sananmuotojen määrien suuruusluokkia
\begin{figure}\begin{center}
\leavevmode
\sloppy
\begin{tabular}[h]{\vert p{4...
...,760 000 000 000 000 000 \\
\hline
\end{tabular} \end{center}\end{figure}

Isompi vaikutus on kuitenkin yhdyssanojen muodostamisella. Kahdesta substantiivista voi muodostaa yhdyssanan, esim. talo ja kirja yhdistyy sanaksi talokirja tai talonkirja. Kaksiosaisia yhdyssanoja voisi siis olla noin $2
\times 100 000^{2}$ ja niillä kullakin ne 2000 muotoa, eli yhteensä 40 biljoonaa (siis $40 \times 10^{12}$). Yhdyssanojen muodostaminen ei kuitenkaan rajoitu kaksiosaisiin, vaan esimerkiksi ruokaloissa näemme useinkin sellaisia sanoja kuten jauhelihamakaronilaatikko, savukirjolohisalaatti. Neliosaisten yhdyssanojen mutojen teoreettinen määrä kohoaakin jo kohtuuttoman suureksi: $100 000^{4} \times 2000$ eli 200000000000000000000000. Kun huomaamme, että yhdyssanan alkuosa voi olla joko nominatiivissa tai genetiivissä, saamme tästä helopsti vaikka lukumääriä $10^{24}$ eli kvadriljoonan. Luvut ovat hyvin keinotekoisia kahdellakin tavalla. Toisaalta juuri neljä yhdyssanan osaa on mielivaltainen, joskus voidaan tehdä pitempiäkin. Tärkeää on huomata, että monet näistä muodollisesti mahdollisista kombinaatioista ovat vailla sovittua merkitystä tai käyttöä, esim. äänikalaunenheikkous tai jääovipiirakannaula.

Kuitenkin jokainen suomen kielen taitaja eräässä mielessä hallitsee jokaikisen noista kvardiljoonasta sananmuodosta. Hän pystyy vaivattomasti tunnistamaan sellaisen osat ja taivutusmuodot, eli pystyy oitis todentamaan, onko muoto mahdollinen eli muodollisesti korrekti.

Sen lisäksi, että näitä suuria lukuja voi kummastella, näistä laskelmista voidaan tehdä eräs johtopäätös ihmisen kielikyvystä. Ei ole nimittäin uskottavaa, että kielenpuhujat oppisivat valmiita sananmuotoja siten, että heidän tulee ensin kuulla opittavana oleva sananmuto ennen, kuin se tulee opituksi. Sananmuotoja on nimittäin liikaa. Kvadriljoonan sananmuodon luettelemiseen sana per sekunti tarvittaisiin enemmän sekunteja kuin, mitä maapallo on ollut olemassa.

Pieni muistutus on tässä paikallaan. Esimerkki sananmuotojen runsaudesta oli suomen kielestä. Meillä on usein houkutus kuvitella, että oma kielemme olisi jollakin tavoin äärimmäinen. Maailman muutaman tuhannen kielen joukossa se on kuitenkin monella tavalla keskiverto. Toiset kielet ovat sananmuodostukseltaan suomea yksinkertaisempia, jotkut taas monimutkaisempia. Esimerkiksi eskimokielissä yksi sana vastaa rakenteeltaan lähestulkoon eurooppalaisten kielten lausetta. Sekä sanskritissa että klassillisessa arabiassa ovat sanojen rakenteet ja taipumisen tai sananjohdon yhteydessä tapahtuvat vaihtelut paljon mutkikkaampia kuin suomen kielessä.


2.2 Moniselitteisyys

Kielessä on paljon moniselitteisyyttä. Sanamuodot voivat olla moniselitteisiä, suomen kielessä esim. katosta voi olla katto-sanan elatiivi (katosta tippui vettä) tai katos-sanan partitiivi (hän rakensi katosta pellistä).

Koeta päätellä seuraavien sananmuotojen kaikki tulkinnat: (a) alusta, (b) koneista.

Suomen kielessä sanamuodot ovat kuitenkin aika harvoin moniselitteisiä. Esimerkiksi englannin kielessä moniselitteisyys on runsaampaa. Viattoman näköiset sanat kuten hand voivat olla joko substantiiveja (my hand was hurt) tai verbejä (we hand you the paper). Keskimäärin ehkä joka toinen sana englannissa on moniselitteinen.

Moniselitteisyys on aika petollista sikäli, että ihminen ei kovinkaan hyvin havaitse sitä. Ihminen arvaa sananmuotojen oikean tulkinnan melko hyvin merkityksen, asiayhteyden ja odotustensa perusteella. Esimerkiksi virkkeessä Ahdin luo pääsi kuusi alamaista jokainen sana on moniselitteinen, mutta sen havaitakseen täytyy virkettä katsoa aivan toisella silmällä.


2.3 Lauseiden rakenne

Sanoista muodostuu lauseita ja lauseista virkkeitä, mutta mitä lauseiden rakenne oikein on? Yksittäisten sanojen rooleja lauseessa voidaan kuvata esimerkiksi seuraavasti: genetiiviattribuutti, adjektiiviattribuutti, alistuskonjunktio, adverbiaali, tai toisaalta esim. subjekti, objekti, predikaatti. Tällainen kuvaustapa on ns. klassillisessa lauseenjäsennyksessä.

Kielitieteellisissä teorioissa ja sittemmin myös tietokoneen ohjelmointikielissä on käytetty nk. lausekerakennetta (phrase structure), jota kuvataan usein puurakenteella.

Kuva 2.2: Lauseen puurakenne
\begin{figure}\begin{center}
\leavevmode
\begin{bundle}{\raisebox{1.0mm}{S}}
...
...unk{Mary}
\end{bundle} }
\end{bundle} }
\end{bundle} \end{center}\end{figure}

Puurakenne on eräs tapa kuvata sanojen yhteenkuuluvuutta. Puun osa, ns. alipuu edustaa lauseketta, jonka osat kuuluvat läheisemmin toisiinsa kuin alipuun ulkopuolella oleviin sanoihin. Kuvan 2.2 rakenne ilmaisisi siten, että predikaatti loves ja objekti Mary kuuluvat tiukemmin yhteen kuin subjekti näihin kumpaankaan.

Kielissä on erilaisia keinoja lauseen rakenteen ilmaisemiseksi. Englannin kielessä sanan tai lausekkeen sijaintipaikka lauseessa on tärkeä keino, sillä irrallisista sanoista ei juurikaan näe, ovatko ne verbejä, substantiiveja vai adjektiiveja, esim.:

they paint the wall
this paint is wet

Paitsi yksittäisten sanojen sanaluokka, englannissa lauseenjäsenten roolit riippuvat sanojen järjestyksestä, esim.:

the elephant killed the snake
the snake killed the elephant

Suomen kielessä puolestaan sanan sijainti lauseessa ei kerro kovinkaan paljon, mutta sanojen taivutuspäätteet sitäkin enemmän:

jänis söi porkkanat
porkkanat söi jänis

Näkyvä lauserakenne ei koodaa kaikkea, mikä tarvittaisiin merkityksen täsmällistä päättelemistä varten. Esimerkiksi ilmauksessa:

punainen tupa ja perunamaa

ei ole minkäänlaista kieliopillista tai lauseopillista näkyvää merkkiä siitä, olisiko kyseinen perunamaa punainen vai ei. Ei perunamaa luultavasti punainen ole, mutta se tieto ei tule tuosta ilmauksesta vaan siitä, mitä maailmassa olevista asioista muuten tiedämme. Jossakin toisessa lauseessa kuten seuraavassa:

ylväs ryhti ja käytös

voimme hyvin arvata, että on kyse myös ylväästä käytöksestä, vaikka tästäkään ei ole näkyvää merkintää.

Aina ei oikea tulkinta selviä, kieliopillisten kriteerien, sanakirjan tai edes meitä ympäröivän fysikaalisen maailman tavanomaisilla ominaisuuksilla. Joskus tarvitaan lisänä yhteiseksi oletettua tietoa historiasta ja kulttuurista kuten seuraavassa:

Sen hän teki hyvällä syyllä, sillä Cortesin nimi oli meidän päivinämme yhtä kuuluisa kuin Caesarin roomalaisten keskuudessa tai Hannibalin kartagolaisten parissa.

Caesarin nimi oli kuuluisa roomalaisten keskuudessa, mutta Cortesin nimi ei voinut olla kuuluisa Caesarin roomalaisten keskuudessa. Seuraavan virkkeen tulkinta olisi vielä pulmallisempi:

Kun näemme surkeiden alkuasukkaiden veren punaaman käden kohoavan pyytämään taivaan siunausta asialle, tunnemme tämä teon yhteydessä jotakin inhon tapaista.

Irrallinen lause ei sisällä tarpeeksi tietoa yksiselitteistä tulkintaa varten. Ollaksemme varmoja, tarvitsisimme tietoa niiden tapahtumien kulusta, joihin virkkeen tekstissä viitataan. Tässä tapauksessa käsi oli konkistadorin käsi, jonka alkuasukasparkojen veri oli punannut, sulutuksen avulla ilmaistuna ((surkeiden alkuasukkaiden) veren) punaaman käden. Kielioppi ei tässä auta sulkemaan pois toista tulkintaa, jossa kohoava käsi olisi ollut alkuasukkaiden käsi, sulkujen avulla esitettynä (surkeiden alkuasukkaiden) (veren punaaman käden).


2.4 Merkitys

Sanat ovat monimerkityksisiä, kuten esimerkisi laskea, jota voidaan käyttää erilaisissa merkityksissä: päästää joku jonnekin, liukua jotakin alas, suorittaa aritmetiikkaa jne. Tämäkään moniselitteisyys, eli ns. polysemia ei ole kielen käyttäjälle kovin ilmeinen. Kussakin käyttöyhteydessä yleensä vain yksi näistä sanan alamerkityksistä tuntuu mahdolliselta, eivätkä muut tule edes mieleen, esim.: karja laskettiin laitumelle, hän laski jyrkän mäen alas yhdellä suksella, mutta pysyi pystyssä, laske nämä luvut yhteen.


2.5 Dialogi ja pragmatiikka

Ihmisten välisessä keskustelussa ei aina vastata esitettyyn kysymykseen suoraan, vaan voidaan antaa muuta asiaan kuuluvaa, esim.:

Virkailija: Minne haluaisitte matkustaa?
Asiakas: Minun pitäisi päästä huomenna Lontooseen.
Virkailija: Milloin haluaisitte lähteä?
Asiakas: Minun pitäisi olla perillä kaupungissa kello 11 ja haluaisin palata jo seuraavana aamuna varhain.

Asiakas vastasi ensimmäisessä repliikissään kysymykseen, jota ei vielä ollut esitetty. Jälkimmäisessä repliikissä hän vastasi ensin eri kysymykseen kuin, minkä virkailija esitti, ja sen lisäksi antoi muutakin lentolipun kirjoittamisen kannalta tärkeää tietoa. Ihmisten välisessä dialogissa lienee tällainen vaihtelevuus ja epätahtisuus tavallista. Sitä voidaan pitää pikemminkin pikemmin vahvuutena kuin heikkoutena. Keskustelu voi edetä lähes optimaalisesti, vaikka selvään kysymykseen ei saadakaan suoraa vastausta. (Toki ihmisten välinen keskustelu voi harhautua pois varsinaisesta asiasta ja olla muutenkin tehotonta, eli epätahtisuus ei tietenkään takaa optimaalisuutta.)

Keskustelua voidaan käydä olennaisesti eri syvyisenä. Yllä ollut esimerkki oli melko yksinkertaisesta asetelmasta, jossa keskustelun tarkoituksena molemmin puolin oli matkan järjestäminen ja lipun varaaminen. Monet muutkin keskustelut ovat yhtä yksinkertaisia. Tällaista keskustelua voidaan hyvin pyrkiä toteuttamaan kieliteknologian keinoin.

Joskus keskustelun tavoitteena on oppia jotakin uutta, ei vain faktoja vaan ajatusrakennelmia, joihin liittyy oivallustakin ja alustavasti omaksuttujen uskomusten muuttamista. Dialogin osapuolet eivät silloin vain kysele faktoja ja anna niitä, vaan ovat ikään kuin oppilaita ja opettajia samanaikaisesti. Tällainen ymmärrys toisten ja ehkä omien uskomuksista ei kai ole perusolemukseltaan lingvististä.

Voi perustellusti epäillä, että kovin yleisesti oppimista sisältävää dialogia on vaikea mallintaa. Tietokoneen ohjelmointi oppivaksi ja uusia ajatusrakennelmia omaksuvaksi keskustelijaksi on ilmeisen vaikeaa. Vaikeaa on myös tietokoneen ohjelmoiminen keskustelijaksi, joka ohjaa ihmistä omaksumaan uusia ajatusrakennelmia, vaikka rajoitetulla keskustelun alueella tähän haasteeseen on helpompi tarttua kuin yleisellä tasolla.

Vaikka lauseilla on tietty perusmerkityksensä, ei repliikkejä kuitenkaan aina käytetä tämän perusmerkityksensä mukaisesti. Moni kysymys on itse asiassa pyyntö tai kehotus, esimerkiksi sanomalla Onko sinulla tulta? pyydetään toista sytyttämään oma savuke.


2.6 Kielikyky eli kompetenssi

Kieli ei ole tarkkarajainen kohde, jonka ihmiset oppisivat pala palalta sellaisenaan, kunnes kielen kaikki sanat ja kieliopin säännöt on opittu. Ihmisillä on myös kyky luoda kielen puitteissa uusia ilmauksia, vaikka eivät tietoisesti tunnistaisi itse kieliopin sääntöjä tai säännönmukaisuuksia. Tämä siis vastaa sitä, että osaamme ajaa polkupyörällä ja kääntyä sillä tarvittaessa oikealle tai vasemmalle. Kääntyminen sujuu oikein, vaikka emme tiedostaisikaan sitä fysikaalista tosiasiaa, että aloistamme varsinaisen käännöksen kääntämällä ohjaustankoa päinvastaiseen suuntaan, jotta pyörä ensin kallistuisi kääntymisen suuntaan. Siitä eteenpäin käännös sujuu itsestään, kun vaistonvaraisesti ohjaamalla pidämme pyörää pystyssä. Osaamme siis pyöräillä, vaikka emme tiedosta tällaisia säännönmukaisuuksia.

Esimerkkinä suomen kielestä otamme kaksitavuiset a-loppuiset susbstantiivit. Osaamme taivuttaa niitä, esim.:

koira -- koiria
kana -- kanoja
usva -- usvia
kerma - kermoja

Näissä sanoissa havaitaan monikossa vartalonloppuisen a-äänteen joko katoavan tai muuttuvan o-äänteeksi. Useimmat meistä eivät kuitenkaan tunne sitä säännönmukaisuutta, jonka perusteella voidaan päätellä kummalla tavalla sanoja pitäisi taivuttaa.

Jos keksimme sellaisia kaksitavuisia a-loppuisia sanoja, joita emme entuudestaan tunne, kuten leema tai ruula osaamme kuitenkin taivuttaa tällaisia. Luultavasti lukijakin muodostaisi monikkomuodot leemoja ja ruulia (eikä leemiä tai ruuuloja).

Jos suorittaisimme näitä taivutuksen kokeiluja peilin edessä ja tarkkailisimme huulten asentoa niissä sanoissa, joista a häviää, huomaisimme hyvinkin sen, että aivan ensimmäisen vokaalin kohdalla suu olisi supussa, eli sanan ääntämystä kuvaavilla termeillä ensivokaali on ns. pyöreä vokaali (joita ovat suomessa o, ö. u ja y).


2.7 Murteet ja puhekieli

Puhuttu kieli on vaihtelevampaa kuin kirjoitettu. Kirjoitetulla kielellä on yleensä varsin tarkat normit, jotka usein nimenomaisesti määräävät yhden tavan kirjoittaa sana yhden tavan ilmaista tietty asia ainoaksi oikeaksi. Puhekielellä on itse asiassa oma kielioppinsa, hieman eri lailla painotettu sanastonsa. Lauseopillisesti puhekieli on erilaista, mutta useimpien kielten kohdalla vain kirjoitetun kielen kieliopit on laadittu tähän mennessä.

Puhutussa kielessä käytetään helpommin paikallisia murrepohjaisia muotoja tai sanojakin sekä vaihdellaan mielialan ja tilanteen mukaan tyyliä ja huolittelun astetta. Nopeasti puhuttaessa tietyt kohdat yksinkertaistuvat ja joitakin osia voi pudota pois.

Osa puhutun kielen murrepuhjaisista yksittäisten puhujien puheen eroista on tiedostamattomia. Usein puhuja luulee tietoisesti välttävänsä kaikkia kotimurteestaan muistuttavia piirteitä, muttei siinä täysin onnistu. Vain harjaantunut kuulija pystyy tunnistamaan tällaiset erot.

On siis odotettavissa, että puheen avulla tapahtuvassa vuorovaikutuksessa tietokoneen kanssa tarvitaan monenlaista uutta tietoa, myös itse puhekielen lingvististä kuvaamista.


2.8 Puhe äänenä

Puhe, jota tuotamme ja aistimme, on ääntä eli ilman värähtelyä. Värähtelyä vastaa käyrä tai aikasarja, joka tarkoin kuvaa äänen. Äänentoistolaitteilla tästä aikasarjasta saadaan hyvin tarkalleen alkuperäisen kaltainen ääni. Puhe voidaan toistaa varsin luonnonmukaisena tällä tavoin. Fysikaalisesti katsottuna puhe olisi siis varsin ongelmaton ja helposti hallittava ilmiö. Aivan näin yksinkertaisesta ilmiöstä ei kuitenkaan ole kyse.

Ihmisen korva (tai aivojen prosessointi) erottaa puheen äänestä vaivattomasti sanat ja koko puheen viestin. Jos kielen kirjoitusjärjestelmä on äänteenmukainen eli foneeminen, kuulija tuntee erottavansa varsin helposti myös sanojen äänteet mukaan lukien sen, milloin äänne on lyhyt ja milloin pitkä (tai kahdennettu). Illuusio äänteiden ja äänen välisestä suorasta vastaavuudesta on vahva.

Fysikaaliset laitteet ja menetelmät äänen tutkimiseksi ovat varsin monipuolisia ja nerokkaitakin. Äänestä voidaan spektrianalyysin avulla tehdä hajoitelma, jossa aiemmin mainittua aikasarjaa vastaa spektri, joka kuvaa missä määrin eri taajuuksia äänessä kunakin ajanhetkenä on. Voidaan sanoa, että äänestä saadaan kovin helposti kaivetuksi esille niin tyhjentäväntuntuinen valikoima fysikaalisia tunnuslukuja, että olisi kohtuullista odottaa, että näiden tunnuslukujen perusteella olisi lastenleikkiä tunnistaa puheessa olevat äänteet ja äänteiden kautta sanat ja virkkeet.

Spektriä tutkimalla on kauan sitten havaittu, että eri äänteillä on erilaisia karakteristisia piirteitä. Vokaalit erottuvat säännöllisemmän taajuusrakenteen puolesta konsonanteista, joissa on enemmän sekataajuuksia sisältävää hälyä. Vokaaleissa voidaan tunnistaatietyillä taajuuksilla selviä keskittymiä eli n.s. formantteja, jotka ovat tietyillä tavoilla tunnusomaisia kullekin vokaalille. Tarkempi tutkiskelu paljastaa kuitenkin tehtävän vaikeuden:

eräillä konsonanteilla ei ole selviä omia tuntomerkkejään, esim. klusiilit k, p ja t ovat itsessään vain jaksoja, joissa ei ole ääntä (joskin katkon päättymisen jälkeisessä vokaalin äänessä on joitakin klusiilista riippuvia eroja),

eri puhujilla ja samallakin puhujalla eri tilanteissa äänteiden laatu vaihtelee, eivätkä äänteet erotu toisistaan aina samoilla fysikaalisilla kriteereillä,

äänteet eivät ole keskenään kestoiltaan yhtä pitkiä, eivät edes saman äänteen kestot ole vakinaisia,

eikä sananrajojen tunnistaminen äänisignaalista ole itsestään selvää (sanojen välissä ei tarvitse olla taukoa, evätkä kaikki tauot ole sananrajoja, esim. kapakka-sana katkeaa kahdesti keskellä sanaa).

Puhe on muutakin kuin sarja peräkkäisiä äänteitä. Puheeseen liitty tauotusta, eli siellä täällä sanojen välissä on taukoja. Useimmat sanat kuitenkin äännetään yhteen ilman mitään taukoa, joka kuitenkin kirjoituksessa usein ilmaistaan. Asian mutkistamiseksi voidaan kuitenkin havaita, että sanojen sisällä olevat klusiilikonsonanteista johtuvat tauot voivat hyvikin olla pitempiä kuin sanojen välissä esiintyvät nimenomaiset tauot.

Tiettyjä kohtia virkkeistä painotetaan osoittaen niiden tärkeyttä. Virkkeen kuluessa puheen kurkunpäästä johtuva n.s. perustaajuus vaihtelee. Sen avulla merkitään virkkeen loppumista ja virkkeen sisällä olevaa rakennetta. Näitä ilmiöitä kutsutaan yhteisesti prosodiaksi. Prosodisilla keinoilla puhetta ikään kuin moduloidaan paremmaksi kuulijan havaita. Toisaalta prosodia itsessään aiheuttaa vielä lisää vaihtelua äänteiden fysikaalisiin ominaisuuksiin.


3. Kieliteknologian tehtäviä

Olemme eläneet muutosten vuosisataa. Kaikki aikakaudet, joiden ennustettiin tulevan, eivät kuitenkaan koskaan tulleet:

Atomiaika sellaisena, jossa ydinenergia olisi läsnä kaikkialla, kuten autojen ja lentokoneiden käyttövoimana, turvallisena räjähteenä suurissa maanrakennustöissä, sekä muutenkin maailman pääasiallisimpana (ja ongelmattomana) energianlähteenä.
Avaruusaika siten, että ihminen olisi suuressa mittakaavassa läsnä avaruudessa ja matkailisi sujuvasti ainakin aurinkokuntamme planeetoilla.
Yltäkylläisyyden aika, jolloin ruokaa ja perustarvikkeita on kaikille kylliksi.

Eräät toiset ilmiöt ovat tulleet ennustettuina, esimerikiksi tietokoneaika, kun tietokoneet ovat puolen vuosisadan aikanan kehittyneet jokseenkin tasaista tahtia tehokkaammiksi ja halvemmiksi.

Kaksi ilmiötä on tullut yllättäen ja valloittanut maailman hyvin totaalisesti. Nämä ovat tulleet ilman edeltävää ennustamista ja häkellyttävällä nopeudella:

Internet eli maailmanlaajuinen tietoverkko, jonka ansiosta saatavillamme on uskomaton määrä tietoa. Internet ilmaantui 1990-luvulla ja levisi vuoden tai parin kuluessa maailman kattavaksi.
Matkapuhelimet eli kännykät levisivät yleisön keskuuteen myös muutamassa vuodessa ja ovat saavuttaneet uskomattoman suuren suosion.

Kumpikin näistä ilmiöistä vaikuttaa ratkaisevasti kieliteknologian tärkeyteen ja ajankohtaisuuteen. Internetissä on tarjolla niin paljon tietoa, että sen hallinta edellyttää uudenlaisia menetelmiä. Kännykkä puolestaan korostaa puheteknologian merkitystä, koska erilaisia uusia palveluja pitäisi voida hyödyntää myös ilman näppäimistöä ja isoa kuvaruutua.

Kieliteknologian ydin muodostuu kielen järjestelmän osien tietokonemalleista sekä niistä teorioista, joiden avulla tällaisia malleja rakennetaan. Kieliteknologia laajassa mielessä koostuu näiden menetelmien soveltamisesta erilaisiin hyödyllisiin tarkoituksiin. Siinä mielessä kieliteknologia on luontaisesti monitieteistä, koska sovelluksiin tarvitaan erilaisia tietoja ihmisen toiminnasta tai menetelmiä optimaalisten arvausten tekemiseksi silloin, kun tietomme ovat vajavaisia ja suuntaa-antavia.

Aiemmin kieliteknolgoia tai tietokonelingvistiikka oli suuntautunut ensisijaisesti tutkimukseen siinä uskossa, että tutkimuksesta myöhemmin olisi käytännöllistäkin hyötyä. Viime vuosina on siirrytty selvästi uuteen vaiheeseen, jossa kieliteknologian sovellukset ovat tulleet ilmeiseksi ja taloudellisesti merkittäviksi.


3.1 Puheentunnistus ja puhesynteesi

Matkapuhelinten esiinmarssi nostaa puheteknologian erittäin tärkeäksi, sillä ihmiset ovat suuren ajan puheyhteyden vaan eivät näppäimistön ja täyskokoisen kuvaruudun ääressä. Monia palveluja voisi kuitenkin käyttää, jos palvelu ymmärtäisi puhekomentoja ja voisi tarjoilla tietojansa puheen muodossa.

Puheentunnistuksen tekniikat ovat kehittyneet vuosikymmenten kuluessa siten, että viime vuosina on ilmaantunut ensimmäsiä laajalti käyttökelpoisia puheentunnistusohjelmia. Tekniikan taso on sellainen, että voidaan:

joko tunnistaa suppeata komentosanojen valikoimaa puhujasta riippumattomasti tai
jatkuvaa laajan sanavaraston puhetta yksittäiseltä puhujalta, jonka puheelle järjestelmä on automaattisesti viritetty puhenäytteiden avulla.

Kumpikaan tehtävä ei onnistu täysin virheettömästi, vaan tietyllä prosentilla, joka riittää moniin sovelluksiin. Laajan sanavaraston järjestelmää voidaan käyttää sanelujärjestelmänä, mutta tunnistuksen tulos on joko tarkistettava jälkeenpäin tai puhelun kuluessa, jolloin sopivilla puhekomennoilla tekstiä voidaan samantien oikoa.

Suppean sanaston järjestelmällä voisi vaikka komentaa matkapuhelinta soittamaan tietylle henkilölle tai valitsemaan numero numerolta sanellun puhelinnumeron. Vastaavasti puhekäyttöliittymän komennoilla voisi ehkä hoitaa pankkipalveluja, kysellä aikataulutietoja, kenties tilata teatteri- tai lentolipun. Virhemahdollisuuksien minimoiseksi tulee järjestelmien varmentaa ja tarkistaa tunnistusta koskevia arvauksiaan.

Puhesynteesi liittyy läheisesti kaikkiin sovelluksiin, joissa kommunikoidaan puheen välityksellä. Yksittäisiä sanoja pystytään syntetisoimaan verraten luontevasti, mutta toistaiseksi jatkuvan tekstin syntetisointi on vielä kömpelöä. Luonteva synteesi edellyttäisi lauseiden oikeaa tauotusta, painotusta ja sävelkulkua. Nämä määräytyisivät ensi sijassa lauseen rakenteen perusteella, mutta tekstin kokonaisuus, juonen käänteet ja keskustelussa myös monet muut seikat vaikuttavat tähän nk. prosodiaan. Keskustelussa tarvitaan toki monia ulottuvuuksia: rohkaisu, palaute ymmärtämisestä, epävarmuus, epäusko, hämmästys jne. jotka luontevimmin välitettäisiin osiltaan prosodian keinoin.


3.2 Keskustelu ihmisen ja koneen välillä

Tietokoneiden käyttö oli yli kolmekymmentä vuotta vain ammattilaisten käsissä, eikä suuri yleisö ja tavalliset ihmiset joutuneet juurikaan tietojärjestelmien kanssa tekemisiin. Tietokoneohjelmat olivat varsin vaikeita ja epähavainnollisia käyttää, eikä muiden kuin asianmukaisesti koulutettujen annettu koskea niihin. Henkilökohtaisten tietokoneiden myötä 1980-luvulla tietotekniikka rupesi koskettamaan massoja, jolloin helppokäyttöisyydelle tuli aivan uudenlaisia vaatimuksia.

Komentorivin ohelle nousi graafinen käyttöliittymä valikkoineen ja hiirineen. Monet tavallisista ohjelmien käytössä tarvittavista komennoista voidaankin helposti toteuttaa näillä keinoin. Kahdessa tapauksessa voidaan perustella luonnollisen kielen käyttämistä nykyään vakiintuneen graafisen käyttöliittymän sijaan:

kun emme ole työpöytämme ääressä, meillä ei ole näppäimistöä, hiirtä eikä riittävänkokoista näyttöruutua saatavilla, tai
kun vuorovaikutus tietojärjestelmän kanssa on monimutkaisempaa, kuin mihin valikot luontevasti soveltuvat.

Edelliset johtavat puhekäyttöliittymän käyttöön ja jälkimmäiset koskevat esimerkiksi tilanteita, joissa sovellus ei muistuta nappeja painelemalla ohjattavaa yksinkertaista laitetta, vaan vuorosanoja voidaan joko valita laajemman sanavaraston pohjalta tai mutkikkaampina yhdistelminä.

Pyrkimykset luonnollisen kielen (joka usein on englanti) käyttämiseksi tietokoneen komentamiseksi ovat itse asiassa vanhoja. Vuoden 1965 vaiheilla Daniel Bobrow laati STUDENT-nimisen ohjelman, jolle annettiin aritmeettisia tehtäviä englannin kielellä. Ohjelma muutti lauseet sisäisesti yhtälöiksi tai yhtälöryhmiksi, jotka se sitten ratkaisi.

Pian Yhdysvaltain ensimmäisten Apollo-lentojen jälkeen pidetyssä kuukiviä käsittelevässä konferenssissa demonstroitiin William Woodsin laatimaa LUNAR-nimistä ohjelmaa, jolle saatettiin esittää kivien kemiallista koostumusta koskevia kysymyksiä englanniksi. Ohjelma analysoi kysymykset, muutti ne eräänlaisiksi tietokantahauiksi ja antoi vastauksen ohjelman käytössä olevan kuukiviä koskevan tiedoston (tietokannan) perusteella. Kysymykset saattoivat olla sentapaisia kuin: ''monessako näytteessä esiintyy nikkeliä enemmän kuin rautaa?'' tai ''missä näytteissä on wolframia enemmän kuin iridiumia?''. Vastaukset olivat siten joko ehdon täyttävien näytteiden lukumääriä tai luetteloita niiden näytteiden numeroista, jotka täyttivät ehdon.

Myös 1970-luvun alusta on Terry Winogradin ns. palikkamaailma eli SHRDLU-niminen ohjelma. Siinä oli virtuaalinen pöydänpinta, jolla oli eri värisiä ja eri muototoisia palikoita, kuutioita, pyramideja, kartioita jne. Ohjelmalle saattoi esittää kysymyksiä ja komentoja englanniksi. Ohjelma suoritti pyyntöjen mukaan toimenpiteitä, esim. siirsi palikoita toivottuihin paikkoihin. Uutta oli se, että ohjelma osasi päätellä, mitä kaikkea piti tehdä, jotta pyyntö olisi voitu toteuttaa. Kenties jotakin piti siirtää ensin pois tieltä tai pois sen palikan päältä, johon oli tarkoitus tarttua. Erityistä kuitenkin oli se, että keskustelu jäljitteli ihmiskeskustelua sikäli, että pronominien avulla saatettin viitata äsken puheena olleisiin esineisiin tai operaatioihin.


3.3 Suurten tekstitietomäärien hallinta

Tietoja verkossa ja erilaisissa tietojärjestelmissä on nykyään enemmän kuin tarpeeksi. Aikoihin ei yleisimpänä pullonkaulana ole ollut se, ettei tietoa ole olemassa, vaan vaikeutena on oikean tiedon löytyminen. Tiedonhaku kohdistettuna kielen muotoiseen tietoon (yleensä tekstiin) lähestyy tätä ongelmaa eri tavoin. Verkossa on erilaisia hakupalveluita (www.altavista.com/, Yahoo, ...). Jotkut tarjoilevat etukäteen laaditun luokituksen mukaan viitteitä, jotkut etsivät viitteitä eri puolilta verkkoa kerättyjen sivujen sisältämien sanojen perusteella.

Dokumentin sisältämien sanojen perusteella hakeminen perustuu hakurobottiin eli ohjelmaan, joka etsii verkosta sivuja ja löydettyään sivuja jatkaa etsimistä sivujen sisältämien uusien linkkien perusteella. Löydetyistä verkkosivuista sitten eristetään haun pohjaksi esimerkiksi siinä esiintyvät sananmuodot. Kaikista sananmuodoista kerätään suuri hakemisto, jonka perusteella voidaan päätellä, millä verkkosivuilla esiintyy tiettyjä sananmuotoja. Yhdistelemällä tätä tietoa voidaan erilaisten ns. Boolen lausekkeiden avulla laadittujen kriteerien avulla löytää (toivottavasti kohtuullisen kokoinen) joukko dokumentteja, joiden joukossa (toivon mukaan) pääosa halutuista verkkosivuista on. Näihin suhteisiin liittyy kaksi tärkeää käsitettä, jotka ovat:

saanti (engl. recall), joka kuvaa sitä prosenttiosuutta relevanteista (eli halutuista) dokumenteista, joka kaikista relevanteista dokumenteista tuli esille haun avulla ja
tarkkuus (engl. precision), joka kuvaa sitä kuinka suuri prosenttiosuus haun esille tuomista dokumenteista oli relevantteja.

Tiedonhakujärjestelmissä käytetään yleisesti erilaisia tilastollisia kriteerejä hakutulosten asettamiseksi paremmuusjärjestykseen, siten että listan kärjessä olisivat ne dokumentit, joiden arvioidaan olevan lähinnä sitä, mitä etsijä hakee.

Toinen samantapainen tehtävä on dokumenttien automaattinen luokitus sisältönsä perusteella. Yleensä tässä tyydytään arvioimaan sisältöä vain tekstissä olevien sanojen frekvenssien perusteella. Tiettyjen sanojen esiintyminen lisää todennäköisyyttä kuulua tiettyihin luokkiin. Kun käytettävissä on kielen kaikki sisältöä kantavat sanat, voidaan saada kohtuullisen hyviä automaattisia luokituksia aikaan. Dokumentin tai saapuvan viestin luokitusta voidaan tarvita erilaisissa yhteyksissä, esim. uutistoimisto tai sanomalehden toimitus voisi ohjata uutissähkeiden virrasta sopivat viestit kullekin toimittajalle.

Dokumentin indeksointi eli hakemiston laatiminen on tavanomaisista kirjoista tuttu asia. Tekstistä pitäisi tunnistaa sisällön kannalta tärkeät termit ja erityisesti ottaa huomioon ne kohdat tekstistä, joissa termiin liittyvästä asiasta puhutaan intensiivisesti, esim. määritellään vastaava käsite. Tiedämme kokemuksesta, että kirjojen takana olevien hakemistojen tekeminen on ilmeisen vaikeaa, koskapa monissa kirjoissa nämä hakemistot ovat kovin puutteellisia. Automaattisilla menetelmillä voitaisiin ehkä päästä keskimääräistä käsintehtyä hakemistoa parempaankin laatuun.

Automaattinen tiivistelmän tekeminen dokumentista on ilmeisen tarpeellinen ja haluttu operaatio. Pitkästä dokumentista haluttaisiin saada useinkin summittainen tieto siitä, mitä dokumentti pääasiassa käsittelee. Tämä tapahtuu useinkin siten, että dokumentin tekstistä eristetään sellainen osa, joka kriteerien mukaan sisältää todennäköisesti dokumentin tärkeintä asiaa. Voisi hyvin ajatella, että nyt yleistyvissä WAP-matkapuhelimissa tiivistäminen saisi tärkeän sijan, koska laitteessa on pieni näyttö, jolla ei voi kohtuullisesti selata suurempaa tekstimäärää.

Nämä kaikki menetelmät perustuvat suunnilleen samantapaisiin perustekniikoihin ja niistä voidaan helposti johtaa muita toimintoja, esim. hypertekstin automaattista tai puoliautomaattista linkitystä tms.

Edellä sanottu on kösitelty paljolti englannintapaisen kielen kannalta, jossa sanojen tunnistaminen ei juuri ole ongelma, koska sanat ovat jokseenkin taipumattomia tai taipuvat vain vähän. Suomen kielen kohdalla tulee paljonkin ongelmia, kun sama sana saattoi esiintyä tuhansissa eri muodoissa taivutusmuodon mukaan. Silloin tarvitaan kieliteknologiaa palauttamaan saman sanan eri muodot yhteen perusmuotoon, jotta hakijan pyynnöllä tavoitettaisiin halutut dokumentit ja tilastomenetelmät taas toimisivat. Kieliteknologia siis neutraloi kielen tuottaman vaihtelun.

Toinen peruste kieliteknologian käyttämiseen on saada oikeammin osuvia lähtötietoja tilastomenetelmille. Esimerkiksi raaka tilastomenetelmä tyytyisi laskemaan substantiivin esiintymiskertoja, kun kieliteknologian kanssa tähän voitaisiin liittää esim. tieto siitä, että sana esiintyy lauseessaan esim. objektina. Tällä tavalla kieliteknologia voi antaa tilastomenetelmille paremmin erottelevia lähtömuuttujia.


3.4 Kielenkääntäminen

Ensimmäinen varsinainen tietokone valmistui vuonna 1945 ja valjastettiin tiettävästi laskemaan tykinammusten ballistisia ratoja. Kieleen liittyvät tehtävät olivat kuitenkin jo varhain mukana kuvioissa. Itse asiassa releohjattuja tietokoneiden edeltäjiä käytettiin toisen maailmansodan aikana Britanniassa saksalaisten Enigma-salakirjoitusten koodin murtamiseen. Tietokoneiden alkuaikana, vuonna 1950 kuitenkin jo tehtiin esityksiä tietokoneen avulla tapahtuvaksi automaattiseksi kielenkääntämiseksi. Siivittäjänä oli tuolloinen kylmä sota ja amerikkalaisten yleinen kielitaidottomuus -- ja haluttomuus opiskella vieraita kieliä. Erityisesti oli tarvis tietää, mitä Neuvostoliitossa oli tekeillä.

1950-luvun aikana automaattista kääntämistä tutkittiin enenevässä määrin ja 1960-luvun alkupuolen ajan siihen panostettiin hyvin runsaasti. Kun käännösjärjestelmät eivät kuitenkaan näyttäneet valmistuvan lyhyellä tähtäyksellä, katkaistiin rahoitus ns. ALPAC-nimisen komitean selvityksen perusteella.

Vaikka tuota konekääntämisen alkuaikaa yleisesti pidetään epäonnistuneena, on eräs tämän päivän menestyneimmistä käännösjärjestelmistä peräisin juuri tuon ajanjakson työstä, nimittäin Systran, jota esimerkiksi Euroopan unioni varsin laajasti käyttää. Unionin käännöstarve onkin valtava: tuhatkunta kääntäjää palvelee komissiota ja parlamenttia. Kääntäminen onkin EU:n hallinnon suurin yksittäinen menoerä.

Automaattinen kielenkääntö onkin eräs nimenomainen sovelllus, jolle on ollut hyvin vahva tilaus. Jokainen ymmärtää, että automaattiselle (varsinkin korkealaatuiselle) kielenkäännölle on jatkuva ja loputon tarvis. Eri asia on sitten se, että tehtävä on paljon vaikeampi, kuin yleisesti ymmärretään.

Kielenkääntöohjelmille voidaan asettaa eritasoisia tavotteita:

  1. Selvittää, onko dokumentti kiinnostava ja kannattaisi kenties antaa kääntäjälle käännettäväksi tarkempaa selvittämistä varten. Tähän riittää melko vaatimaton käännöksen laatu. Vaikka huonosta käännöksestä ei saakaan selvää mitä tekstissä sanotaan, siitä voi hyvinkin selvitä mistä tekstissä puhutaan. Tällaisesta käy esimerkiksi Altavista-palvelun yhteydessä oleva käännös. Kokeile vaikka kääntää joitakin saksankielisiä verkkosivuja englanniksi, ks. osoite: http://www.altavista.com/.

  2. Tuottaa raakakäännös, jonka ihmiskääntäjä tarkistaa ja korjailee lopulliseksi versioksi. Raakakäännöksen pitää olla aika hyvä, jotta sen korjailu olisi joutuisampaa kuin tyhjästä aloittaminen. Tällaisesta järjestelmästä on esimerkkinä Kielikone Oy:n TranSmart, joka kääntää asiatekstiä suomesta englanniksi. Demoversio (jonka käyttö tosin ei enää ole ilmaista) on osoitteessa http://www.kielikone.fi/. Syötä kuitenkin ohjelmalle jostakin raportista kotoisin olevaa asiatekstiä, jotta saat arvion ohjelman hyödyllisyydestä.
  3. Tuottaa lopullinen käännös, joka menee käyttöön, ja jota ei enää erikseen tarkisteta tai korjailla. Tällainen on nykyisellä tekniikalla mahdollista vain suppeilla alueilla kuten säänennustuksessa tai käytettäessä kontrolloitua tietylle sovellusalueelle räätälöityä typistekieltä.

Eräs laajalti käytetty käännösohjelmien tekniikka on käännösmuisti, joka perustuu siihen, että samanlaiset lauseet tai jaksot käännetään toistamiseen esiintyessään samalla tavalla. Parhaimmillaan tällaiset toimivat, kun dokumentista käännetään vain vähän muuttuneita uusia versioita. Karkeimmat käännösmuistiin perustuvat sovellukset eivät juuri tunnista kielen rakenteita, vaan soveltavat yleisempiä merkkijonojen summittaisen samanlaisuuden kriteerejä etsiessään aiempaa mallia käännökselle. Sofistikoidumpi tekniikka pystyisi soveltamaan aiemman mallin eri aikamuotoon ja muutenkin vaihteleviin ympäristöihin.

Terminologia on olennainen osa käännöstyötä. Laadukkaan käännösken aikaansaamiseksi kääntäjä yleensä perehtyy lähdetekstiin määritelläkseen siinä käytetyt termit. Tässä voidaan käyttää apuna kieliteknologisia työkaluja, jotka esimerkiksi tunnistavat tekstin substantiivilausekkeet tiettyjen kriteerien perusteella. Tällainen mekaanisesti tehty lista voi vielä olla järjestetynä arvioidun termimäisyyden perusteella, jolloin listan yläpäässä on enimmäkseen todellisia ja käytettyjä termejä. Listan hännillä on vastaavasti epävarmimmat termiehdokkaat.

Sähköiset sanakirjat helpottavat osaltaankääntäjän työtä, varsinkin jos ne selviävät sanojen taipumisen ongelmista ja löytävät sanakirjasta tekstistä osoitetun sanan vastineita, vaikka sana olisi muussa kuin perusmuodossaan.


3.5 Kirjoittajan apuvälineet

Tekstinkäsittelyyn liittyy erinäsiä toimintoja, joilla voidaan helpottaa kirjoittajan työtä ja nopeuttaa laadukkaan dokumentin syntymistä. Toiset työvälineet ovat suunnattuja auttamaan kirjoittajan tahattomien lyöntivirheiden korjaamista, toiset auttamaan käytetyn kielen virheettömässä käytössä ja toiset auttamaan lopullisen tekstin saattamisessa siistiksi julkaisuksi.

Oikeinkirjoituksen tarkistus auttaa löytämään vahingossa väärin kirjoitettuja sanoja, esim. sellaisia, joissa sormi on erehtynyt ja yksittäinen kirjain on pudonntu pois, vääristynyt tai ilmaantunut liikaa. Yksinkertaisin korjausmenetelmä perustuu olettamukseen, että useimmat tällä tavoin virheellisesti kirjoitetuista sanoista eivät ole käytetyn kielen sanoja lainkaan, ja olisivat tunnistettavissa juuri tämän ominaisuuden perusteella. Jos meillä on tietokoneohjelma, joka tunnistaa tekstiin kirjoitettuja sananmuotoja annetun sanakirjan ja kielen taivutussääntöjen mukaan, tunnistamatta jäävät sanat merkataan käyttäjälle tarkistusta ja mahdollista korjausta varten.

Hyvin tehtynä tällaiset ohjelmat ovat käyttökelpoisia, ja ovat levinneet laajalle. Tunnistamatta jäävät sananmuodot eivät välttämättä ole virheitä, jolloin niitä voidaan käyttäjän valinnan mukaan lisätä järjestelmään, jolloin esim. oman organisaation ja asiakkaiden nimet ja lyhenteet eivät jatkuvasti vaadi huomiota.

Toisaalta tietty osa lyöntivirheistä tuottaa muodollisesti oikean mutta asiayhteydessä väärän sanan, joka ei yllä mainitulla menetelmällä paljastu. Myös tekstinpätkiä siirrellessä syntyvät epäjohdonmukaisuudet jäävät paljastumatta.

Kieliopintarkistusohjelmalla on tehtävänä löytää joko tällaisia epäjohdonmukaisuuksia, jotka ovat syntyneet tekstinosia siirreltäesä tai sitten auttaa esim. vajavaisesti vierasta kieltä osaavaa kirjoittajaa tuottamaan virheettömämpää tekstiä. Tällaiset ohjelmat voivat sisältää toisaalta nimenomaista tietoa tavallisista virhetyypeistä ja ilmoittaa hahmoista, jotka näyttäisivät olevan näiden tyyppivirheiden esiintymiä. Toisaalta ohjelmat voivat pyrkiä jäsentämään tekstiä kieliopillisesti (usein pintapuolisen syntaksin mukaisesti).

Synonyymisanastolla voidaan joskus elävöittää tekstiä tai poistaa tautofonisia ilmauksia korvaamalla toisto sanan jollakin synonyymillä. Osa synonyymisanastoista osaa löytää syötesanansa myös taivutusmuotoisena ja tarjoaa synonyymit vastaavassa muodossa, jolloin ne sopivat sellaisenaan tekstiin siirrettäväksi, esim. sananmuodolle kaupassa voisi ohjelma tarjota vaihtoehtoja puodissa, myymälässä jne.

Tekstin jakaminen riveille edellyttää tunnetusti joskus sanojen jakamista eli tavutusohjelmaa, jotta palstoista saadaan tasaisia. Useimpien kielten kohdalla tällaiselle ns. tavutukselle on olemassa selviä normeja, kuinka se pitää tehdä. Normit pyrkivät ohjaamaan jakoa sellaiseksi, että lukija pystyisi mahdollisimman hyvin hahmottamaan jaetun sanan oikein. Joissakin kielissä, kuten englannissa on erityisiä tavutussanakirjoja, jotka määräävät sovinnaiset tai hyvnän pidetyt jakokohdat. Joissakin kielissä, kuten suomessa on pikemminkin joukko sääntöjä, joita tulee noudattaa:

Yhdyssanat jaetaan ensisijaisesti sananrajan kohdalta, esim. kansan-edustaja.
Yksiosaisissa sanoissa tai yhdyssanan osissa noudatetaan ääntämyksenmukaisia tavurajoja, esim.: huo-les-tut-ta-vis-sa-kaan. Suomenkielisissä sanoissa tavuraja sijaitsee yleensä CV-jakson edellä (C=konsonantti, V=vokaali). Tietyt vokaaliyhtymät muodostavat (pitkiä vokaaleja tai) diftongeja, joita ei jaeta. Muiden vokaalien välistä voidaan jakaa (vaikkakin vokaalilla alkavaa jälkiosaa pidetään rumana jakona).
Tavuun tarvitaan ainakin yksi vokaali, ei siis: st-roganoff.
Sanan alusta tai lopusta ei saa erottaa yhden kirjaimen mittaista osaa, vaikka se olisi ääntämisessä tavu, ei siis: valti-o. Muutenkin yhdestä vokaalista koostuvan tavun edeltä suoritettu jako ei ole hyvä, esim. ei: radi-ota.
Vierasperäisissä sanoissa ei saa rikkoa yhtä äännettä tarkoittavaa useamman kirjaimen yhdistelmää, ei siis esim.: Ric-hard.


3.6 Kielenoppimisen avustaminen

Eurooppa on sitoutunut monikielisyyteen. Monikielisyys tarkoittaa toisaalta sitä, että eri maissa puhutaan eri kieliä, joita tarvittaessa kääntäjät kääntävät toisille eutooppalaislle kielille ja toisaalta sitä, että yksittäiset ihmiset osaavat ja käyttävät ajoittain muitakin kieliä kuin äidinkieltään.

Nykyiset tietokoneet toteuttavat helposti multimediaa eli tekstiä, kuvaa liikkuvana ja paikallaan olevana sekä ääntä. Monet tietokoneavusteisen kielenopiskelun ohjelmat hyödyntävätkin näitä ominaisuuksia. Silti voidaan sanoa, että pelkkä multimedia ei tee vieraan kielenopiskelusta tuloksellist ja mielekästä. Meidän kannaltamme on tärkeää otta esille se, että kieliteknologian avulla tietokone voidaan saada enenevässä määrin ymmärtämään ainakin kielen rakennetta ja sääntöjä ja tätä tulisi voida käyttää kielenopiskeluohjelmissa hyödyksi. Järjestelmän tulisi voida antaa rakentavaa ja oikein kohdennettua palautetta, ei ainoastaan ''oikein tai väärin''. Järjestelmän tulisi tunnistaa esimerkiksi, mitä sääntöjä opiskelija jo hallitsee ja missä hän tarvitsee vielä lisää harjoitusta. Oppilaan osin oikeista mutta osin virheellisistä tuotoksista pitäisi tunnistaa, mitä oppilas aikoo ja neuvoa tarpeen mukaan valikoiden. Jos esim. ulkomaalainen opiskellessaan suomea tuottaisi taivutusmuodon:

kaupaissa

kun tarkoitus olisi tuottaa kaupoissa, voisi ohelma todeta, että oppilas osannee inessiivin ja astevaihtelun, mutta a-loppuisen substantiivin vartalonlopun vokaalivaihtelu tarvitsee vielä selitystä ja harjoitusta. Sopivilla kieliteknologian malleilla tällaista analyysiä voidaan tehdä melko yleisesti ilman, että oppimateriaalin laatijan pitäisi yrittää luetella etukäteen mahdollisia virhetuotoksia selityksineen.


4. Kieliteknologian työkaluja

Kieliteknologia on monitieteinen ala, jolla hyödynnetään monien tieteiden teorioita ja työkalluja. Kielen kuvaamisen mallit ovat usein lähtöisin yleisen kielitieteen asetelmista, mutta teknisenä formalismina voi olla tietojenkäsittelytieteestä, matematiikasta tai tilastomenetelmistä peräisin oleva teoria.


4.1 Unixin vakiotyökalut ja Beta

Unix-järjestelmään liittyy joukko sinänsä yksinkertaisia vakio-ohjelmia, joilla voi kullakin tehdä jonkin yksinkertaisen asian. Ohjelmilla on lyhyitä nimiä kuten tr, sort, sed jne. Niistä saa käyttöohjeen (eli ns. manuaalisivun) käyttöönsä komennolla man, jonka jälkeen laitetaan sen ohjelman nimi, jonka ohje halutaan, esim. man man kun haluaa tietää, kuinka man-ohjelmaa käytetään.

Esimerkiksi ohjelmalla less voi selata tiedostoa tai toisen ohjelman tulostutst näyttöruudulla hallitusti siten, että tulostus pysähtyy aina ruudun täyttyessä, ja jatkuu seuraavalle ruudulliselle välilyönnillä. Tämä ohjelma on sikäli mukava, että sillä voi selata jo kerran katsottua uudelleen. (Tästäkin ohjelmasta saa käyttöohjeen man less -komennolla ja lyhyen ohjeen ohjelman toimiessa komennolla h.)

Ohjelmalla tr voidaan muuttaa merkkejä toisiksi merkeiksi, esim. seuraava lukisi tiedoston kirja.txt ja tekisi siitä kopion kirja-cap.txt, jossa kaikki tekstissä esiintyvät pienet kirjaimet on muutettu vastaaviksi isoiksi kirjaimiksi:

  tr 'a-zåäö' 'A-ZÅÄÖ' < kirja.txt > kirja-cap.txt

Laadittaessa uutta ohjelmaa tai komentosarjaa, on itse asiassa kätevää yhdistää kokeiltavan komennon tai komentosarjan tulostus viimeisenä less, siis.:

  tr 'a-zåäö' 'A-ZÅÄÖ' < kirja.txt | less

Pystyviiva komentojen välissä tarkoittaa sitä, että ohjelmia ajetaan samanaikaisesti ja että jälkimmäinen ohjelma saa syöttötiedoikseen edellisen ohjelman tulostusta sitä mukaa, kun tulostusta syntyy.

Näillä eväillä voimme näytteeksi konstruoida komentosarjan, joka laskee annetusta tekstitiedostosta erilaisten sanamuotojen esiintymiskerrat eli frekvenssit. Aloitamme poistamalla tekstistä tämän listan kannalta tarpeettomat merkit komennolla tr -d (lähinnä välimerkit), jonka jälkeen muutamme isot kirjaimet pieniksi. Sen jälkeen muutamme sanojen välissä olevat välilyönnit rivinvaihtomerkeiksi, siis pilkomme rivejä siten, että kunin sana on omalla rivillään. Lopuksi lajittelemme täten saadut rivit (sort) ja yhdistelemme lajittelusta peräkkäin tulevat samanlaiset rivit yhdeksi ja varustamme ne samanlaisten määrällä (uniq -c):

  tr -d '0-9.,:;()=/"!+?<>©'\' < kirja.txt |
    tr 'A-ZÅÄÖ' 'a-zåäö' |
    tr -s ' \t' '\012' |
    sort |
    uniq -c | less

Tämä komentosarja tuottaa tulokseksi listan tiedoston erilaisista sananmuodoista ja kunkin esiintymiskerroista. Listassa voisi olla seuraavanlainen jakso:

        ...
    420 alkaa
      1 alkaahan
      1 alkaakaan
      7 alkaakin
      8 alkaako
        ...

Tämä muutaman vakiokomennon yhdistelmä on varsin nopea ja tehokas. Itse asiassa se on luultavasti nopeampikin kuin, mihin keskimääräinen ohjelmoija pääsisi ohjelmoimalla tehtävää varten oman erityisen ohjelman. Näin siksi, että Unixin työkaluohjelmiin on yleensä valittu teoreettisesti hyvät ratkaisut ja nopeimmat saatavilla olevat algoritmit.

Perustyökaluja käyttäen voi tehdä monenlaisia asioita. Edellä olevilla keinoilla tehdystä sanamutojen frekvenssilistasta voisi esim. egrep-ohjelmalla poimia tietyn kriteerin täyttäviä sanoja (eli rivejä). Tälle ohjelmalle annetaan säännöllinen lauseke, joka toimii ehtona. Ehdon täyttävät rivit kopioidaan syötteestä tulosteeseen, muut rivit jätetään kopioimatta. Jos haluamme esille kyseisestä listasta sanat, jotkä päättyvät han tai hän, laatisimme komennot:

egrep 'h[aä]n$' kirja.frekv | less

Säännöllinen lauseke h[aä]n$ koostuu neljästä osasta, joista ensimmäinen ja kolmas edustavat kirjaimia (h ja n) itseään, toinen [aä] on kahden merkin muodostama merkkijoukko, joka siis vastaa yhtä kirjainta, jola voi olla joko a tai ä. Neljäs eli $ edustaa rivin loppua. (Säännöllisten lausekkeiden muodostamisen formalismi on selitetty esim. egrep-ohjelman manulaalisivulla).

Otamme vielä yhden esimerkin siitä, miten kielen kannalta mielekkäitä kysymyksiä voidaan ilmaista tämäntapaisilla työkaluilla. Olettakaamme, että tutkimme kielen fonotaksika eli sitä, miten äänteet voivat seurata toisiaan ja esiintyä yhdessä. Oletamme vielä, että kirjoitus on riittävässä määrin äänteenmukaista, kuten suomessa on asian laita. Ensimmäinen kysymys olisi, millaisia vokaalisekvenssejä ja millaisia konsonanttisekvenssejä kielessä itse asiassa esiintyy (ja miten runsaasti mitäkin).

Tukholmalaisen tietokonelingvistin Benny Broddan kehittämä Beta-ohjelma on myös osoittautunut hyödylliseksi työkaluksi toteutettaessa tietokoneella kieliteknologisia sovelluksia. Beta-ohjelma toteuttaa toisinkirjoitussäännöstöjä, siis korvaa merkkijonoja toisilla merkkijonoilla. Betan avulla on tehty säännöstöjä mm. tavutusalforitmeiksi, sanojen taivuttamiseksi haluttuihin taivutusmuotoihin jne. Säännöstö koostuu merkkijoukkojen ja tilajoukkojen määrittelyistä ja toisinkirjoitussäännöistä. Säännöt voivat olla ehdollisia siten, että niiden soveltaminen riippuu korvattavaa merkkijonoa edeltävästä ja sitä seuraavasta merkistä ynnä tilasta. Esimerkiksi suomen kielen tavutussäännöstöä voisi lähteä rakentamaan seuraavanlaisen säännöstön pohjalta.

CHARACTER-SETS
 V: a e i o u y å ä ö
RULES
b; -b;       0  V
c; -c;
d; -d;
f; -f;
g; -g;
h; -h;
j; -j;
...

Tämä säännöstö toteuttaisi ns. CV-säännön eli asettaisi konsonantin eteen tavuviivan, jos sen perässä on vokaali. Säännöstö kaipaa runsaasti täydennystä, jotta se toteuttaisi muitakin sivulla [*] kohdassa 3.5 mainittuja tavutuskohtien edellytyksiä.

Betan säännöt ovat varsin konkreettisia sikäli, että vain korvattavaa osaa edeltävän ja seuraavan merkkin kohdalla voidaan käyttää yleistyksenä joukkoja. Beta-ohjelma ja sen käyttö on selostettu mm. kirjasessa: F. Karlsson ja K. Koskenniemi, BETA-ohjelma kielentutkijan apuvälineenä, (Yliopistopaino, 1990).


4.2 Korpusten hyödyntäminen ja testikorpusten merkitys

Perinteisesti ja edelleen tekstikorpuksia käytetään kielellisten esimerkkien poimimiseen. Mm. sanakirjojen tuottamisessa korpuksilla on tärkeä asema, mutta tällainen käyttö on hyödyllistä hyvin monenlaisessa kielitieteellisessä tutkimuksessa. Tärkeitä korpuksia on saatavilla toisaalta opetusministeriön CSC -- Tieteellinen laskenta Oy:n kielipankissa (www.csc.fi/kielipankki) ja Helsingin yliopiston yleisen kielitieteen laitoksella (www.ling.helsinki.fi).

Monien kieliteknologisten menetelmien testauksessa käytetään testikorpuksia, joihin on kokonaan tai osittain manuaalisesti laadittu se rakenne tai kooditus, joka automaattisella analyysiohjelmalla on tarkoitus tuottaa. Testikorpus toimii silloin vertailutyökaluna siten, että jäsentimen sääntöjä kehitetään ja korjaillaan, kunnes tulos on riittävän lähellä tämän testikorpuksen kooditusta.

Enemmän merkitystä testikorpus voi saada, jos sitä käytetään eräänlaisenan kieliopin määrittelykorpuksena, joka tehdään samalla kun suunnitellaan itse esitysmuotoa ja koodivalikoimaa, joka jäsentimellä ja sen käyttämällä sanakirjalla halutaan toteuttaa. Tällainen määrittelykorpus voi nimittäin olla teoreettisesti merkityksellinen, sääntöformalismista riippumaton tapa määritellä kielen kuvaus. Se toimii apuvälineenä, jonka avulla voidaan laatia säännöstöjä, myös erilaisilla jäsennysformalismeilla toimivia säännöstöjä.


4.3 Tekstin esikäsittely

Teksti on yleensä muotoiltu palstoiksi ja kappaleiksi. Kriteerinä ja merkinöjen perustana on lähinnä ulkoasu eli se, että teksti näyttää painoteknisesti siistiltä. Jos haluamme tarkastella samaa tekstiä kielenä, haluaisimme useinkin erottaa tekstistä kielen mukaisia virkkeitä pikemmin kuin esimerkiksi rivejä tai kappaleita. Joka tapauksessa, jos aiomme suorittaa tekstille lauseopillista analyysiä, olisi eduksi, jos teksti olisi valmiiksi ryhmiteltynä virkkeiksi.

Kielioppien mukaan virkkeet erotetaan toisistaan ns. ison välimerkin, eli pisteen, huutomerkin tai kysymysmerkin avulla. Kaikki pisteet eivät kuitenkaan erota virkkeitä, vaan jotkut niistä kuuluvat virkkeen sisällä oleviin sananmuotoihin tai esim. päivämääriin, järjestyslukuihin tai kellonaikoihin, Eniten hankaluutta tuottaa se, että lyhenteitä merkitään pisteillä.

Virkkeiksi jakaminen on tyypillinen esimerkki kieliteknologian tehtävästä, joka voidaan ratkaista suhteellisen tarkasti, muttei kuitenkaan aivan sataprosenttisesti. Seuraavassa olennaisimmat säännöt, joilla suomen, (mutta myös monen muun kielen) tekstiä voidaan jakaa virkkeiksi:

  1. Tunnistetaan sekvenssi: pieni kirjain -- iso välimerkki -- sananväli -- iso kirjain. Tässä saa väleissä olla sulkumerkkejä tai lainausmerkkejä. Sanavälin kohdalle oletamme virkkeen lopun. Tämä on siis pääsääntö, johon on poikkeuksena seuraava.
  2. Jos pistettä edeltää jokin sellaisista lyhenteistä, joka edellyttää virkkeen jatkuvan, virkerajaa ei olekaan. Tällaisia lyhenteitä ovat kaikki tittelit (kers., luutn., leht., prof. ym.) sekä sellaiset lyhenteet, joiden jälkeen tulee väistämättä vielä jotakin (synt., esim., mm., o.s., s.).

Ensimmäisen eli pääsäännön ideana on pitää erillään etunimen alkukirjaimet, jotka ovat isoja kirjaimia, ja joiden jälkeen tukee kuitenkin isolla alkukirjaimella alkava sana, eli sukunimi. Sama sääntö pitää toki myös huolen siitä, että useimmat keskellä virkettä olevat lyhenteet eivät katkaise virkettä, koska lyhennettä seuraava sana alkaa tavallisimmin pienellä kirjaimella.

Jos kuitenkin käy niin, että keskellä virkettä olevaa lyhennettä seuraava sana sattuu olemaan erisnimi, on vaara että tehdään virhe. Eräissä tapauksissa virhe voidaan välttää, nimittäin silloin, kun lyhenne edustaa titteliä tai muuta sanaa, jonka perässä välttämättä seuraa saman virkkeen sana. Kaikki lyhenteet eivät kuitenkaan ole tällaisia, (jne., yms., Runebergink.). Näiden muiden lyhenteiden kohdalla ei ole apua siitä, että tunnistaa lyhenteen lyhenteeksi, koska tämä ei juurikaan vaikuta siihen, onko sillä kohtaa virkkeen raja vai ei.

Numeroiden perässä voi olla piste osoittamassa järjestyslukua. Näiden kohdalla näyttää paras arvaus olevan, että niitä käsitellään kuten pieniä kirjaimia eli annetaan seuraavan sanan ensimmäisen kirjaimen ratkaista.


4.4 Kielen arvaaminen

Usein voi tulla käsiteltäväksi tekstejä, jotka ova milloin minkäkinkielisiä. Tällöin olisi hyödyllistä tietää, mistä kielestä on kulloinkin kyse. Kielen arvaaminen (tai päätteleminen) onnistuu itse asiassa hämmästytävän lyhyestä näytteestä, ehkä noi viidestä sanasta. Kriteerejä tässä voivat olla (a) tietyt aakkoset, jotka voivat esiintyä tietyissä kielissä, mutta eivät toisissa (esim. å lähinnä ruotsissa, ø lähinnä tanskassa ja norjassa), (b) tietyt sanat, jotka ovat tietyille kielille tyypillisiä ja yleisiä (c) onnistuuko näytteen sanojen analysointi kohteena olevan kielen morfologisella analysaattorilla, (d) kirjainten yleisyyssuhteet jne.


4.5 Äärelliset automaatit

Kieliteknologin työkalupakista löytyvät myös äärellisten automaattien menetelmät ja ohjelmat. Äärellinen automaatti (engl. finite state automaton) on äärimmäisen yksinkertainen abstrakti eli kuviteltu laite, jossa on tiloja ja siirtymiä tilasta toiseen. Äärellinen automaatti perusmuodossaan ottaa syöttötietona vastaan yksittäisiä merkkejä ja suorittaa tilasiirtymiä näiden merkkien perusteella. Automaatti alkaa tietystä alkutilasta ja valitsee senhetkisestä tilasta kutakin syöttömerkkiä vastaavan siirtymän.

Perimmäisesti äärellinen automaatti joko hyväksyy tai hylkää syötettävän merkkijonojen sarjan. Hyväksytyksi tulee merkkijono, jonka jokaiselle merkille on automaatissa mahdollinen siirtymä ja merkkijonon loputtua automaatti on jossakin lopputilaksi nimetyistä tiloistaan. Hylätyksi merkkijono voi tulla kahdella tavalla: joko se päätyy tilaan, joka ei ole lopputila tai sitten jossakin vaiheessa automaatilla ei senhetkisestä tilasta ole vuorossa olevalle syöttömerkille määriteltynä mitään siirtymää.

Äärelliset automaatit ovat matemaattisesti mukavia ja käyttökelpoisia. Niille muodostuu oma algebransa, joka vastaa joukko-oppia, sillä automaatteja voidaan yhdistää unionin ja leikkauksen tapaan sekä peräkkäin asettelemalla. Erityinen ominaisuus on se, että äärellisiä automaatteja voidaan optimoida minimoimalla eli voidaan löytää ekvivalentti tilojensa määrältä mahdollisimman pieni automaatti, joka hyväksyy täsmälleen samat merkkijonot kuin alkuperäinenkin.

Äärelliset automaatit vastaavat läheisesti säännöllisiä lausekkeita, joista oli puhe Unix-työkalujen kohdalla. Jokainen puhdas, eli peräkkäinasetteluun, toistoon ja vaihtoehtoisuuteen perustuva säännöllinen lauseke voidaan toteuttaa äärellisenä automaattina ja päinvastoin.

Äärelliset transduktorit ovat hieman pystyvämpiä muunnoksia äärellisistä automaateista. Samalla kuin ne hyväksyvät merkkejä, ne myös tulostavat samoja tai toisia merkkejä. Siten transduktori siis muuntaa yhden merkkijonon toiseksi sen lisäksi, että transduktori voi myös hylätä syötteen samoilla perusteilla kuin tavanomainenkin automaatti.

Äärellisiä automaatteja ja transduktoreita voidaan käyttää monella tavalla kielen osa-alueiden kuvaamisessa ja kieliteknologisissa sovelluksissa. Esimerkiksi sanaluettelot ja sanakirjat voidaan helposti kuvata tilasiirtyminä. Monet morfofonologiaan kuuluvat ilmiöt ovat luonteeltaan äärellisten tilojen menetelmille soveliata.

Äärellisiä automaatteja ja transduktoreita käsitellään yksityiskohtaisemmin myöhemmillä kursseilla, erityisesti kieliteknologian menetelmäkurssilla, jolla harjoitellaan perusteellisemmin niiden käyttöä.


4.6 Sanojen taipumisen mallit

Useissa kielissä sanat taipuvat, sanoista voidaan (enemmän tai vähemmän säännöllisesti) johtaa toisia sanoja, ja kenties muodostaa yhdyssanoja. Sanojen vartalot ja taivutusliitteet ja johtimet ovat ns. morfeemeja eli pienimpiä merkitystä kantavia kielen yksiköitä. Näitä yhdisteltäessä tapahtuu usein muutakin kuin vakiopalasten liimaamista peräkkäin. Vartaloiden ja liitteiden äänteet mukautuvat tavalla tai toisella toisten osasten läsnäollessa. Morfologisen prosessorin tulee toisaalta hallita osasten (eli morfeemien) yhdistelymahdollisuudet ja toisaalta yhdistelyssä toteutuvat äännevaihtelut.

Perinteisesti yleisessä kielitieteessä on käytetty muutamaa erilaista kuvaustyyliä:

  1. Item and Process, IP, jossa morfeemeille valitaan yksi perusasu ja säännöstöllä tehdään tarvittavat muutokset, jotka aiheutuvat siitä, että äänteet joutuvat peräkkäinasettelussa erilaisiin ympäristöihin.

  2. Item and Arrangement, IA, jossa kaikki yhteenliitettävät palaset ovat valmiiksi oikeanasuisia, mutta vastaavasti palasia ajatellaan olevaksi tarjolla samalle morfeemille niin monta erilaista kuin on tarvis. Kielioppi koostuu säännöistä, jotka ohjaavat oikeiden vaihtoehtojen valintaa sanoja muodostettaessa. On tavallista, että vartaloihin ja liitteisiin kytketään piirteitä, joiden avulla ehtoja muotoillaan.

  3. Word and Paradigm, WP, jossa taivutusmuotojen ja johdosten tekeminen kuvataan morfologisina operaatioina. Operaatioilla on rajoitusehdot, joiden vallitessa niitä voidaan soveltaa. Sääntö saattaa esim. muuttaa vartalon loppua ja lisätä siihen päätteen.

Kunkin kuvaustyylin pohjalta voidaan tehdä morfologisia analysaattoreita. Riippuu kielestä, miten eri mallit soveltuvat.

Morfologisen analyysiohjelman perustehtävä on tunnistaa asiayhteydestään irrotettuja sananmuotoja. Tunnistaminen tarkoittaa yleensä perusmuodon ja taivutusmuodon päättelemistä, esim.:


 		 syöte: kaupassa 

tulostus: ''kauppa'' N INE SG

Tässä tapauksessa taivutusmuoto on kuvattu koodeilla: sanaluokka N (substantiivi, engl. noun), sijamuoto INE (inessiivi) ja luku SG (yksikkö, singular).

Monitulkintaisesta sananmuodosta analyysin tulee antaa kustakin mahdollisuudesta vastaavat tiedot, esim.:


 		 syöte: katosta 

tulostus: ''katto'' N ELA SG
''katos'' N PTV SG

Suoriutuakseen perustehtävästään, tulee morfologisella analyysiohjelmalla olla ainakin leksikko eli sanakirja, joka luettelee kieleen kuuluvat sanojen juuret (tai sanat). Joka leksikkoon kuuluvana tai siitä erillisenä tarvitaan yleensä tiedot (a) siitä, mitä etuliitteitä tai päätteitä kielessä on sekä (b) miten ja missä järjestyksessä nämä liitteet ja sanojen juuret voivat esiintyä. Näiden lisäksi voidaan tarvita (c) sääntöjä äännevaihteluista, joita sananmuodostuksen kuluessa esiintyy.

Sanojen taipuminen on ilmiönä kohtuullisen säännöllinen. Teknisesti on tarjolla erilaisia toteutusmahdollisuuksia. Yleistämiskelpoiseksi ratkaisuksi on osoittautunut äärellisten automaattien käyttö. Niiden avulla voidaan kuvata toisaalta englannin kielen tapaiset kielet, joissa on hyvin vähän taivutusta, mutta myös suomentapaiset kielet, joissa on runsaammin muotoja ja vaihteluita. Jotenkin lohdullista on se, että kielen laatu ei kovinkaan paljon vaikuta syntyvän analyysiohjelman kokoon tai nopeuteen -- eihän suomalaiselta ihmiseltä mene monituhatkertaista aikaa sanojen tunnistamiseen verrattuna englanninkieliseen.


4.7 Todennäköisyyksiin ja tilastomenetelmiin perustuvat työkalut

Tilastollisia menetelmiä voidaan käyttää epävarmuuden hallitsemiseen eli ne tarjoavat mahdollisuuden käsitellä satunnaisesti vaihtelevia mittauksia yhteismitallisella tavalla. Todennäköisyyksiin perustuvien menetelmien toinen käyttö on optimaalinen arvaaminen silloin, kun varmaa tietoa ei ole saatavilla. Silloin, kun kielen käsittelemisessä joudutaan arvaamaan, se kai pitäisi tehdä taidolla ja systemaattisesti.

4.7.1 Tilastollinen testaaminen

Yksi tilastotieteen perustavanlaatuisista tehtävistä on arvioida samankaltaisuuksia ja eroja yhteismitallisilla ja systemaattisilla keinoilla. Voisimme tarkastella esimerkkinä kahta joukkoa: (A) 20-vuotiaita suomalaisia ja (B) 40-vuotiaita suomalaisia. Kysymme esim. ovatko joukon $A$ ihmiset keskimäärin pitempiä kuin joukon $B$ ihmiset ja pyrimme vastaamaan sillä perusteella, että meillä on otos kummastakin joukosta, esim. 100 henkeä, joiden pituudet mittaamme.

Ajatusleikissä voimme epäillä, että näiden otosten perusteella emme voi sanoa varmasti, että koko joukossa $A$ keskipituus on suurempi kuin koko joukossa $B$ siksi, että ero olisi liian pieni tullakseen mittauksissamme esille. Suuremmassa otoksessa pääsisimme tarkempaan tulokseen ja voisimme kenties päätyä siihen, että väite erosta on todennäköisesti oikea.

Tilastolliset testit yleensä rakennetaan siten, että oletetaan kummankin joukon koostuvan samalla tavalla vaihtelevasta materiaalista. Kun otoksen tunnusluvut vaihtelevat sen mukaan mitä yksilöitä kulloinkin sattuu mukaan, voimme nyt mitatuista keskiarvoista kysyä: Olettaen, että $A$ ja $B$ koostuvat keskimäärin yhtä pitkistä ihmisistä, olisiko nyt havaittu keskipituuksien ero hämmästyttävän suuri vai itse asiassa tavanomainen. Ainoastaan siinä tapauksessa, että testi vastaa, että havaittu mittausten ero olisi hämmästyttävän harvinainen, voimme päätyä selvään johtopäätökseen. Esim., jos harvemmin kuin kerran tuhannesta saisimme mittauksessa näinkin suuren eron, voimme puhua erittäin merkitsevästä erosta.

Päinvastaisessa tapauksessa, siis milloin testi ei osoita eroa, voimme vain todeta, että kenties eroja on, mutta homogeenisestakin massasta saisimme (tämänkokoisella näytteillä) aika usein tällaisen (siis satunnaisen) eron.

Tilastollisessa testissä on usein siis kyse testin merkitsevyydestä eli siitä, onko valittu otos riittävän laaja, jotta voimme uskoa eron todellisuuteen. Aivan eri asia on se, että erot voivat olla suuria tai pieniä. Voisimme uskoa siihen, että 20-vuotiaat ovat keskimäärin hieman pitempiä kuin 40-vuotiaat, mutta samalla olla yhtä mieltä siitä, ettei ero ole kovin suuri. Sen sijaan, jos olisimme jakaneet esim. 20-vuotiaat suomalaiset toisella tavalla: miehiin ja naisiin, sanoisimme herkemmin, että miehet on keskimäärin pitempiä kuin naiset, ja että ero on aika suuri.

Tämän ajatusmallin mukaisia kysymyksiä esitetään esim. silloin, kun halutaan löytää jollekin vanhalle teokselle sen oikea kirjoittaja. Joskus teoksista ei varmuudella tiedetä niiden tekijää ja joskus tietyn kirjailijan kirjoittamana pidetyn teoksen väitetään olevan itse asiassa jonkun toisen kirjoittama. Voimme ehkä laskea joitakin tunnuslukuja, joiden voi olettaa olevan samanlaisia yhden kirjailijan eri teoksissa, mutta kuitenkin ominaisia kullekin kirjailijalle, eli siis yleensä erilaisia eri kirjailijoilla. Monien sanojen (kuten nimien ja tekstissä käsiteltyä aihepiiriä koskevien sanojen) frekvenssit ovat tässä suhteessa huonoja. Parhaita lienevät muut kuin sisältösanat, siis erilaiset pikkusanat, joiden käyttöä ei kirjailijan katsota tietoisesti harkitsevan tai tiedostavan.

Tällä tavoin voitaisiin laskea arvioita siitä, kuinka epätodennäköistä olisi, että tietty kirjailija, jonka muu tuotanto on tunnettua, olisi kirjoittanut kyseisen kiistellyn teoksen. Testit ovat kovinkin helposti sovellettavissa ja laskettavissa. Parhaimmillaan voitaisiin siis näillä perusteilla väittää tiettyä kirjailijaa hyvin epätodennäköiseksi teoksen kirjoittajaksi. Tähän päättelyyn jää kuitenkin epäilys testin edellyttämien olettamusten pitävyydestä, eli voimmeko uskoa siihen, että yksi kirjailija tekstissään jatkuvasti noudattaa samaa profiilia sanojen käytössä. Tyylin muuntelu voi toki olla tietoista ja tarkoituksellista, joten menetelmillä on rajoiutksensa.


4.7.2 Markovin piilomalli (HMM)

Kielen käsittelyssä on useinkin epävarmuuksia, joita kieliteknologisen ohjelman on pakko arvata. Puheentunnistuksessa signaalinprosessoinnin menetelmillä voidaan tuottaa äänestä tunnusomaisia suureita, jotka viestivät tietyillä todennäköisyyksillä allaolevasta äänteestä olematta kuinkaan varmoja merkkejä. Vastaavia ongelmia esiintyy muuallakin kielenkäsittelyn parissa, esimerkiksi sananmuotojen analyysien yksiselitteistämisessä.

Todennäköisyyslaskennassa tunnetaan ns. Markovin malli tai Markovin prosessi, jossa on tiloja. Prosessi pysyy tiloissa tai vaihtaa tilasta toiseen annettujen kiinteiden todennäköisyyksien mukaan. Siirtymisen todennäköisyydet eivät siinä mallissa riipu lainkaan historiasta eli siitä, miten prosessi on tilaansa joutunut, vaan ainoastaan tilasta, jossa se sillä hetkellä on.

Markovin piilomalli (Hidden Markov Model, HMM) on tavallisesta Markovin mallista johdettu laajennus, jossa on alla tavallinen Markovin prosessin tiloineen ja siitymineen, mutta jonka ajatellaan olevan piilossa. Haluaisimme kyllä tietää juuri tämän alla olevan automaatin tilojen vaihtelut, mutta näiden sijasta havaitsemme näkyviä symboleita, joita malli tulostaa kussakin tilassa. Kullakin tilalla on ominaiset todennäköisyydet, joilla siinä tilassa eri merkit voivat tulostua, ja tämän perusteella voimme päätellä jotakin alla olevista tiloita.

HMM-malleihin liittyy kaksi tehtävää:

  1. Annetussa HMM-verkossa pitäisi havaitulle symbolijonolle päätellä todennäköisin reitti, jota allaolevassa verkossa on kuljettu. Sama tulostusjono olisi voinut tulla erilaisilla reiteillä. Koska siirtymätodennäköisyydet eri reiteillä vaihtelevat, toisistaan poikkeavien kokonaisten reittien todennäköisyys on erilainen. Tehtävänä on siis löytää vähiten epätodennäköinen reitti, joka olisi voinut tuottaa havaitun jonon.
  2. Olisi pääteltävä, millaiset siirtymien todennäköisyydet mallin tilojen välillä ovat ja millaisia merkkien tulostustodennäköisyyksiä pitäisi kuhunkin tilaan asettaa. Käytettävissä oletetaan olevaksi harjoitusmateriaalia, jossa on sekä näkyvä merkki että allaoleva todellinen tila tiedossa. Tehtävänä on siten rakentaa kokonainen ja optimaalinen HMM-malli harjoitusmateriaalista.

Yksinkertainen esimerkki piilomerkeistä ja näkyvistä merkeistä olisi HMM:n käyttö morfologisen analyysin tulosten yksiselitteistämisessä. Voimme valita näkyviksi merkeiksi sen, mitä morfologinen analyysi suoraan antaa, eli esim. tiedon, että sana voisi olla verbi tai substantiivi, siis esim. koodi V-N. Piilossa olevat tilat vastaisivat suoraan yksiselitteisiä sanaluokkia, siis olisi erikseen tila V ja tila N. Mallin piilo-osa siis kulkeen virkkeen sanojen todellisten sanaluokkien mukaisia tiloja myöten ja tulostaa näkyville ne yhdistelmämerkit, jotka morfologisesta analyysistä olemme jo saaneet. Yllä esitetty tehtävä 1 antaa siis suoraan ratkaisunaan todennäköisimmän ehdotuksen virkkeen sanojen sanaluokista.

Tällaisen mallin harjoitusaineistona voisimme käyttää käsin yksiselitteistettyä materiaalia, jossa on morfologisesti analysoitua tekstiä ja kustakin sananmuodosta merkittynä erilleen kyseisen sanan oikea sanaluokkatulkinta.

4.7.3 Ryhmittely ja havainnollistaminen

Monia kieleen liittyviä ilmiöitä on tarpeen tiivistää ja havainnollistaa. Tilastollisia menetelmiä voidaan käyttää näihinkin tarkoituksiin. Voimme esimerkiksi tarkastella kielen äänteitä sen perusteella, miten usein ne seuraavat toisia äänteitä. Ääntämykseltään samantapaiset äänteet kombinoituvat usein samansuuntaisesti, esimerkiksi vokaalit herkästi eri konsonanttien kanssa -- ja kaikki vokaalit tässä suhteessa suunnilleen samalla tavalla. Konsonatit taas kombinoituvat melko harvojen toisten konsonanttien kanssa. Tällaista siis tiedämme kielistä kokemuksemme perusteella.

Voimme saada tämänlaatuisia ilmiöitä esille myös mekaanisesti, esim. tilastollisilla menetelmillä. Jos kuvaamme kutakin äännettä luvuilla, jotka perustuvat tämän äänteen ja muiden äänteiden parittaiseen esiintymiseen saamme ensin varsin moniulotteisen kuvailun äänteille. Tilastotietelijän vakiokalustoon kuuluvilla ohjelmilla voimme esim. ryhmitellä tällaisia yksiköitä, jolloin voimme toivoa samanlaisten äänteiden joutuvan keskenään samoihin ryhmiin.

Voimme myös käyttää ns. monidimensioista skaalausta (multidimensional scaling) ja kuvata äänteet kaksiulotteisena karttana paperilla. Itse asiassa tällainen kartta toistaa varsin hyvin ennakkokäsityksiämme siitä, että vokaalit muodostavat konsonanteista selvästi erottuvan luokkansa ja että tietyt samantyyppiset äänteet piirtyvät lähelle toisiaan. Tämän ongelman ratkaisemiseksi emme siis tarvinneet aidosti näitä menetelmiä, mutta tällainen kokeilu auttaa ymmärtämään menetelmien arvoa, kun niitä sovelletaan uusiin tehtäviin, joissa meillä ei ole yhtä selkeää ennakko-odutusta tuloksista.

4.7.4 Tietämyksen muodostaminen (data mining)

Data mining -nimiset menetelmät on tarkoitettu suurten tietomäärien seulomiseen toistuvien säännönmukaisuuksien löytämiseksi. Tavoitteena ei ole suinkaan kuvata koko tietomäärää tai sen vaihteluita, vaan löytää joitakin tietyntyyppisiä aineistolle tyypillisiä hahmoja. Data mining -kirjallisuudessa käytetään usein seuraavaa esimerkkiä havainnollistamaan sitä, mistä menetelmissä on kyse.

''Ajatellaan valintamyymälää, jonka kassoilla rekisteröidään, mitä kukin asiakas ostoskoriinsa on kerännyt. Myymäläketjua kiinnostaa, yksittäisten korien sisältö, koska sen perusteella voitaiin kenties tavaroita sijoitella myymälään tarkoituksenmukaisemmin. Tavoitteena oli löytää säännönmukaisuuksia, jotka sanoisivat, että jos asiakas ostaa tuotetta A, niin hän suurella todennäköisyydellä ostaa myös tuotetta B. Data mining -menetelmillä saatiin esille riippuvuus, että jos asiakas ostaa vauvanvaippoja, niin hän ostaa todennäköisesti myös olutta.''

Löydöksessä oli kuulemma kyse perheenisistä, joille oli töihin soitettu, että heidän pitäisi tuoda kotiin vauvanvaippoja, jotka olivat vähissä. Samalla kauppaan lähetetyt isät sitten ostivat itselleen oluttakin.

Tällainen säännönmukaisuus ei helposti tule esiin tavanomaisilla tilastomenetelmillä, sillä keskimäärät ja muut tunnusluvut eivät välttämättä paljasta tällaisia riippuvuuksia, joihin puolestaan data mining on erikoistunut. Ehtona voi olla useampiakin kuin yksi suure, ja kuten esimerkissäkin, riippuvuus voi olla toispuoleinen. Oluenostajista ehkä vain pieni osa osti vauvanvaippoja.


4.8 Neuraalilaskenta eli hermoverkkomallit

Ihmisaivojen ja kai eläintenkin aivot koostuvat neuroneista eli tietynlaisista hermosoluista, jotka ovat vuorovaikutuksessa toistensa kanssa. Neuronilla on kahdenlaisia haarakkeita, toiset ovat dendroneja, joita voi olla monta, ja näiden lisäksi on yksi aksoni. Solun dendronit voivat olla kytkettyinä joidenkin toisten neuronien aksoniin, jolloin solu saa tietoa näiden toisten solujen tilasta näiden kytkentöjen eli synapsien kautta. Olennaista on se, että kukin neuroni voi virittyä ja laueta, jolloin sen aksonin kautta leviää tieto niihin neuroneihin, jotka ovat kytkeytyneitä synapseillaan tähän.

Kunkin solun toiminta perustuu suunnilleen siihen, että se summaa tietyillä painokertoimilla dendroniensa kautta tulevia signaaleja. Jos summataso ylittää tietyn rajan, solu laukeaa. Kertoimet voivat olla negatiivisiakin eli estäviä.

Jos ihmisen aivojen solut ovat tällaisia, niin aivojen tehokkuus kai perustuu siihen, että tällaisia yksinkertaisia soluja on paljon ja siihen, että aivoihin on oppimisen kuluessa muodostunut riittävän monimutkaisia synapsikytkentöjä ja soluille sopivia painokertoimia ohjaamaan niiden toimintaa.

Neuraalilaskenta on tiettävästi lähtenyt liikkeelle tämän hermosoluanalogian innoittamana, mutta sittemmin ottanut etäisyyttä biologiseen lähtökohtaansa. Nykyään neuraalilaskenta onkin erillinen tieteenalansa, joka ei sinänsä tavoittele elävien hermosolujen tai aivojen mallintamista.

Lähtökohtana hermoverkkomalleille voitaneen pitää sellaisia verkkoja, jotka on varta vasten laadittu kytkennöiltään ja painokertoimiltaan sopiviksi. Kovin mutkikkaita verkkoja ei ole helppo laatia näin. Eräs esimerkki on kuitenkin Anneli Tikkalan väitöskirjaan sisältyvässä artikkelissa, jossa hän toteuttaa pienen osan suomen kielen morfofonologiaa tällaisen verkon avulla. Eräs verkko toteuttaa muutaman sanan eräiden taivutusmuotojen tuottamisen siten, että astevaihtelu toteutuu oikeni ja toinen verkko tuottamisen siten, että vokaalisointu toteutuu oikein.

Useimmiten neuraalilaskennassa kuitenkin pyritään ns. oppiviin verkkoihin, jotka harjaantuvat automaattisesti suorittamaan haluttua tehtäväänsä, kunhan saavat aluksi sopivaa syötettä ja palautetta oikeista tulosteista. Useimmiten käytetään hyväksi havaittuja laskennallisten neuronien hierarkkisia rakenteita, jolloin verkolle jää opittavaksi lähinnä painokertoimet.

Eräs mielenkiintoinen hermoverkkojen laji ovat ns. itseorganisoituvat kartat (self organsing map, SOM), jotka prof. Teuvo Kohonen on keksinyt. Itseorganisoituvien karttojen tavoitteena on luokitella ilmiöitä kaksiulotteiseksi kartaksi siten, että samantapaiset ilmiöt ovat kartassa lähellä toisiaan. Tällainen kartta pitää siis ensi järjestää, mikä saattaa olla laskennallisesti raskas operaatio. Valmista karttaa voidaan sitten käyttää tehokkaasti luokittelemaan uusia tapauksia, jolloin ne sijoittuvat kartalle sopiviin paikkoihinsa.

Itseorganisoituja karttoja on käytetty mm. puheentunnistuksessa luokittelemaan raa'an signaalinprosessoinnin tuottamia hienojakoisia signaalinviipaleiden luokkia esimerkiksi foneemeiksi aiemmin tehdyn kartan mukaan. Toinen mielenkiintoinen sovellus on verkon uutisryhmissä olevien viestien luokitus aiheenmukaiseen karttaan (ns. WEBSOM-hanke).


4.9 Yksiselitteistäminen eli disambiguointi

Sananmuotojen automaattinen analysointi voi tuottaa erilaatuisia moniselitteisiä tuloksia. Toinen laji on sellainen, jossa eri tulkinnat ovat tavallaan odotettuja ja ''tervetulleita'', kuten englannin kielessä sanalla run tiedetään olevaksi sekä substantiivi- että verbitulkinta. Vasta lauseympäristö voi ratkaista, kumpi on oikea (tai todennäköisempi).

Moniselitteisyyden toista lajia voi esiintyä kielissä, joissa sananmuodostus on niin avoin, ettei sitä voi aivan tarkkaan luetella. Tällaisten kielten (esim. suomen, ruotsin, saksan) kattavassa kuvaamisessa tarvitaan sääntöjä ennen kaikkea yhdyssanojen muodostamiseksi, mutta osin myös sananjohtoa varten.

Yhdyssanojen kanssa on ongelma. Voidaksemme kattaa teksteissä vastaan tulevat satunnaisesti käytetyt yhdyssanat, tarvitsemme vapaamielisä sääntöjä, jotka sallivat lähes mielivaltaisten substantiivien yhdistämisen yhdyssanaksi. Suuri osa näistä on merkitykseltään aika mahdottomia, mutta mielekkäiden salliminen ja epämielekkäiden estäminen on nykykeinoilla ylivoimaisen tuntuinen tehtävä. Sen vuoksi yhdyssanamekanismi pakostakin sallii hassuntuntuisia tulkintoja, esim.


 		 syöte: ´frukosten 

tulostus: ´frukost
´fru+kost
´fru+ko+sten

Näiden vaihtoehtoisten tulkintojen kesken voidaan itse asiassa tehdä melko varmoja arvauksia. Osoittautuu, että rakenteeltaan yksinkertaisempi tulkinta (frukost) on lähes aina oikea valinta ja useammasta yhdyssanan osasta koostuvat vääriä. (Joitakin poikkeuksia läytyy, esim. suomessa kuutamo+ilta.)

Lauseyhteyteen eli kontekstiin perustuvat yksiselitteistämisen menetelmät voivat perustua joko sääntöihin tai automaattisesti tuotettuihin tilastollisiin (tai sensukuisiin) menetelmiin. Edellä oli puhetta HMM-malleista ja niiden käytöstä morfologisen analyysin tulosten yksiselitteistämiseksi. Vastaavalla tavalla mekaanisen luonteinen on Brillin sanaluokkajäsennin (Brill Tagger), joka perustuu siihen, että kullekin englannin kielen sananmuodolle annetaa aluksi sille tekstiaineistoista laskettu todennäköisin tulkinta. Tätä yleistä arvausta korjataan sitten edelleen tekstiaineistoista lasketuilla useamman sanan mittaisilla jaksoilla, jotka parantavat mahdollisimman paljon näitä yksinkertaisia arvauksia.

Sääntöpohjaiset yksiselitteistämisohjelmat perustuvat yleensä kielitieteilijän laatimiin kielioppiin perustuviin sääntöihin. Kielioppien tieto ja tekstejä tutkimalla saadut täydentävät havainnot koodataan eksplisiittisiksi väittämiksi siitä, millaisia kielen mukaiset rakenteet ovat -- tai vastaavasti millaiset rakenteet eivät ainakaan ole kielen mukaisia.

Constraint Grammar (CG), koostuu melko yksinkertaisista säännöistä, jotka tyypillisesti poistavat sananmuodoilta niiden epäkieliopillisia tulkintoja. Poistoja tehdään vaiheittain, sillä sääntöjen soveltaminen tekee toisten sääntöjen ymäristöistä yksiselitteisempiä ja auttaa siten niiden riittävien ehtojen toteutumista.


4.10 Nimien, päivämäärien, termien ym. tunnistaminen

Moniin tarkoituksiin on tarpeen tunnistaa tekstistä tietyntyyppisiä yksiköitä, vaikka muutoin ei ole tarvetta (tai mahdollisuutta) tekstien täydellisempään syntaktiseen analyysiin. Kieliteknologian tehtäväksi voidaan hyvin lukea esim. tunnistaa annetussa dokumentissa esiintyvät henkilöiden, firmojen tai paikkojen nimet.

Morfologisesti analysoidusta (ja disambiguoidusta) tekstistä voidaan poimia tietynlaisia tiettyjen hahmojen mukaan sanoja tai sanojen ryhmiä. Lisäkriteerinä poiminnassa voi olla esim. sananmuotojen iso alkukirjain tms. Tällaisten menetelmien pohjana on usein laajoja luetteloita etu- ja sukunimistä, paikannimistä jne. Tunnistamisen runkona on varsin yksinkertaisia kuvailuja etsittävien lausekkeiden mahdollisisita rakenteista ja niiden läheisyydessä esiintyvistä sanoista (esim. tittelit, lyhenne Oy jne).

Indeksitermien tunnistaminen on tavallaan jatkoa tällaisille menetelmielle. Indeksitermejä ovat esim. perinteisen kirjan takana olevan asiahakiemiston termit, joiden katsotaan olevan kirjan sisällön kannalta tärkeitä. Indeksitermillä on toisaalta lausekkeena tietynlainen rakenne, mutta pelkkä rakenne ei riitä tekemään lausekkeesta indeksitermiä. Sopivan usein esiintyminen, esiintymien keskittyminen ja termien osallistumien tietynlaisiin konstruktioihin vaikuttaa termien kelvollisuuteen. Menetelmät indeksitermien tunnistamiseksi voivatkin yhdistellä syntaktisen analyysin ja tilastollisten menetelmien tuottamia tuloksia.


4.11 Lauserakenteiden tunnistus

Kielitieteessä esiintyneen kielioppiteoriat tai lauseopillisen analyysin käytännöt määrittelevät aika erilaisia syntaktisia rakenteita. Lauseopin kuvausten tavoitetasot eroavat toisistaan kunnianhimoisuutensa tai vaatimattomuutensa suhteen. Kieliteknologian kannalta kunnianhimoiset teoriat ovat ongelmallisia. Kunnianhimoisella tarkoitetaan tässä esim. sellaisia, joissa lauseopillisen rakenteen edellytetään riittävän sellaisenaan lauseen semanttisen tulkinnan pohjaksi. Tällainen vaatimus johtaa joko siihen, että suuri osa todellisissa teksteissä esiintyvistä virkkeistä tulisi hylätyksi tai sitten sitä, että useille virkkeille tulee kohtuuttoman monta erilaista lauserakenteen tulkintaa.

Tähän ongelmaan on ratkaisuja kahdella suunnalla: suppeaan aihepiiriin rajoittuvalle kielelle voitaneen tehdä varsin huoliteltu ja merkityksen suhteen onnistunut analyysi, mutta aihepiiriltään rajoittamattomille teksteille on viisainta tyytyä tavoitetasoltaan vaatimattomampaan, ns. pintasyntaktiseen analyysiin.


4.12 Jäsennysmenetelmät

Algoritmit ja menetlmät, joilla jäsennystä voidaan tehdä ovat moninaiset. Eräs yksinkertainen viitekehys on se, että esim. kullakin sanalla on aluksi kaikki sen mahdolliset roolit lauseessa. Säännöt sitten poistavat sanoilta vähitellen näitä tulkintoja. Koko virkkeen kannalta tämä merkitsee sitä, että jäljellä olevien mahdollisuuksien kaikki yhdistelmät ovat periaatteessa jäsennyksen sallimia. Fred Karlssonin kehittämä ns. Constraint Grammar (CG) toimii tällaisen viitekehyksen pohjalta.

Lausekerakennekielioppi perustuu puurakenteeseen, jossa vierekkäisistä sanoista tai lausekkeista muodostetaan isompia lausekkeita, kunnes lausekkeet vihdoin yhdistyvät koko lauseeksi. Kuvaustapana tämä siis asettaa nimenomaisia rajoituksia lauseen tärkeiden osien yhtäjaksoisuudelle, joka toteutuu paremmin joissakin kielissä ja huonommin toisissa. Yhteydestä riippumattomat (context-free) kieliopit ovat tietojenkäsittelyssäkin paljon käytettyjä. Niille on olemassa erilaisia jäsennysalgoritmeja:

Lausekerakennekielioppien ohella on ns. dependenssikielioppieja ja niille rakennettuja jäsentimiä. Näissä ei rakenneta puukuvaimia vaan lähdetään lauseen tärkeimmästä jäsenestä eli verbistä, johon linkitetään siitä riippuvien jäsenten pääsanat. Näihin puolestaan linkitetään niiden määritteet jne. Kielikone Oy:n suomesta englantiin kääntävä ohjelma perustuu suomen kielen dependenssijäsentimeen. Helsingin yliopiston yleisen kielitieteen laitoksella ovat Pasi Tapanainen ja Timo Järvinen kehittäneet uudenlaisen dependenssijäsentimen ja sille englannin kielen säännöstön.

Eräs menestykselliseksi mainittu dependenssijäsennin on Michael McCordin ns. Slot Grammar, joka on kehitetty IBM:n piirissä. Tämä jäsennin ei kuitenkaan ole täysin puhdasoppinen, koska se tiettävästi edellyttää yhtäjaksoisia lausekkeita.


4.13 Puhesynteesi

Puhe on ääntä ja ääni on värähtelyä. Ääntä voidaan muuttaa numeroiksi eli digitalisoida, ja tämä on nykyisellä elektroniikalla sekä helppoa että yleistä, kuten tiedämme esim. CD-soittimista. Hyvin luonnonmukaista ääntä saadaan tallennetuksi noin 44000 näytteellä sekunnissa ja puhelinlaatuista ääntä noin viidesosalla tästä. Ihmispuheen tallentaminen digitaalisena ei siten ole kovinkaan suuri ongelma, vaikka digitaalinen puhe vie toki noin tuhat kertaa enemmän tilaa kuin tekstin muodossa oleva.

Keinotekoisen puheen tuottaminen varastoidusta ihmisen puheesta on eräässä suhteessa edullista, nimittäin kokonaiset virkkeet tai muut repliikit ovat tällä tavoin luonnollisen kuuloisia. Erinäisillä tavoilla voidaan leikattuja ja liimattuja osia vaihdella repliikeistä. Tällaisia (valmiiksi nauhoitettuja kuulutuksia) käytetään esimerkiksi joidenkin kaupunkien liikennelaitoksissa busseissa ja raitiovaunuissa, joissa kullakin pysäkillä kerrotaan vaihtomahdollisuuksista tai aikatauluista. Mitä enemmän leikataan ja liimataan erilaisia yhdistelmiä, sitä enemmän toki on vaaraa saumakohtien epäjatkuvuuksista.

Yleisessä kielitieteessä ja fonetiikassa opetetaan jo vasta-alkajille, että sanat koostuvat foneemeista. Foneemien leikkaaminen ja liimaaminen ei kuitenkaan toimi toivotulla tavalla. Jos otamme esimerkisi suomen sanat kala ja pata. Jos leikkaamme äänisignaalista kummastakin sanasta ensimmäisen konsonantin ja vaihdamme ne keskenään, saamme yllätykseksemme tuloksen, joka kuulostaa sanoilta kala ja pata, ei siis pala ja kata, kuten olisi kohtuullista odottaa. Näin siksi, että siinä kohdassa, jossa mielestämme äännämme alkukonsonantteja k tai p, on äänisignaalissa vain taukoa. Kuulemme erilaiset konsonantit tässä tapauksessa enemmänkin siitä, että a-vokaalit ääntyvät edeltävän konsonantin vaikutuksesta eri tavalla.

Tämän johdosta onkin tapana käyttää ns. difoneja eli kahden vierekkäiesen äänteen yhdistelmää, jossa on edellisen äänteen loppuosa ja seuraavan äänteen alkuosa yhtenä yksikkönä, siis sana kala olsi difoneina $\bullet$k ka al la a$\bullet$. (Huomattakoon, että ennen kirjainkirjoitusta käytetty nuolenpääkirjoitus käytti osin tällaista käytäntöä.) Difonien sijasta voidaan käyttää pidempiäkin palasia tarpeen mukaan.

Leikkaa ja liimaa -menetelmässä voitetaan usein syntetisoidun puheen luonnollisuudessa ja voitetaan sitä enemmän, mitä laajempia valmiita yksiköitä käytetään. Vastaavasti siinä menetelmässä on vaikea sovittaa puhetta noudattamaan luonnollisen puheen prosodiaa kaikilta osin. Puheen tauotusta ja intensiteettiä voidaan kyllä sovittaa tarpeen mukaan tietyissä rajoisa, mutta puheen sävelkulun sovittaminen luonnollisten virkkeiden tai repliikkien mukaiseksi muodostuu ongelmaksi, koska on sekä vaivalloista että vaikeaa saada riittävän laajaa näytevalikoimaa yhdeltä ja samalta puhujalta synteesin pohjaksi.

Toinen lähestymistapa puhesynteesiin perustuu siihen, että puheääni koostuu kunakin ajanhetkenä tietyistä taajuuksista, jotka voidaan signaalinprosessoinnin menetelmillä myös kuvata kohtuullisella tarkkuudella. Menetelmien mukaisen äänen karakterisoinnin voi helposti kääntää toiseen suuntaan, eli tuottaa ääntä täysin synteettisesti sen parametrien mukaisesti. Tällainen synteesi antaa selvästikin vapaat mahdollisuudet varioida puheen nuottia ja kaikkia muitakin ominaisuuksia. Vastaavasti kuitenkin yksittäisten sanojen ääntämistä on vaikeampaa saada luontevaksi kuin leikkaa ja liimaa -menetelmillä.

Näiden menetelmien yhdisteleminen on myös mahdollista. Valmiita ääninäytteitä on mahdollistä manipuloida signaalinkäsittelymenetelmillä eri karakteristikoiden suhteen.

Puhesynteesin problematiikka ei kuitenkaan ole aivan niin yksinkertainen, kuin mitä edellä olevan peruseella voisi olettaa. Äänteiden kesto on itsessään ongelmallinen. Se mitä ihminen kokoee lyhyeksi tai yhdeksi vokaaliksi tai vastaavasti pitkäksi (tai kaksoisvokaaliksi) onkin petollista. Tietyssä asemassa oleva lyhyeksi koettu vokaali voi olla pitempi kuin toisessa asemassa pitkäksi koettu vokaali. Ilmiö selittyy osaksi vokaalin painollisuudella tai painottomuudella, mutta vain osaksi.

Puhesynteesin tavoitteet voivat olla erilaisia. Esimerkiksi näkövammainen saattaa kokea hiemankin liiallisen ilmeikkyyden hyvin kiusallisena. Hänelle luettu tai syntetisoitu teksti on samassa asemassa kuin kirjoitettu teksti näkevälle, siis hyvinkin neutraali lähtökohta omalle tulkinnalle. Ilmeikkyys ei kuitenkaan ole aina yhdentekevää. Voimme olettaa, että vaikkapa puhelinyhteydellä käytetyn tietokonepohjaisen palvelun pitäisi voida tarvittaessa ilmentää hämmästystä (epätavallisen vastauksen kohdalla) ja tyytyväisyyttä tai närkästystä toisissa tilanteissa.


4.14 Puheentunnistus

Puheentunnistus samoin kuin puhesynteesikin joutuu kohtaamaan ne ongelmat, jotka liittyvät puhesignaalin vaihteluun ja monimuotoisuuteen. Äänisignaalissa koodataan normalisoidun ja kirjoitetun kielen ilmauksia hyvin ei-triviaalilla tavalla. Äänteiden (tai äänneyhtymien) kestot ja taajuusjakautumat eivät ole ihannetapauksessakaan riippumattomia niitä ympäröivästä sanasta tai lauseyhteydestä. Tämän lisäksi puheentunnistuksen erityisenä ongelmana on melkoinen satunnainen vaihtelu saman puhujan eri tuotosten välillä ja eri puhujien väliset systemaattiset erot, jotka ovat huomattavia.

Puhetta tunnistetavan järjestelmän tehtävä ymmärretään usein siten, että meillä on suppeampi tai laajempi eksplisiittinen kielimalli, jonka sallimia tai määrittelemiä ilmauksia äänisignaalista pitäisi tunnistaa. Selkeä esimerkki tästä on tiettyihin kiinteisiin komentosanoihin perustuvat järjestelmät, joilla ohjataan jotakin laitetta tai palvelua. Käypä esimerkki tästä on itselle saapuneen sähköpostin selaaminen puhelimen välityksellä. Järjestelmän puheentunnistusosa tarvitsee lähinnä komennot navigointia varten siten että ''seuraava viesti'' tai ''lue viesti'' jne. ohjaavat liikkumista saapuneiden s-postiviestien joukossa.

Loogisesti tunnistustehtävä on tällaisessa asetelmassa se, että puhesignaalin digitalisoitu osa (tauosta taukoon) pitäisi liittää johonkin annettuun komentosanaan. Yksinkertaistaen kyse on etäisyydestä, siis siitä mikä järjestelmän odottamista komentosanoista olisi lähinnä juuri vastaanotettua puhesignaalin osaa. Vertailun suorittamiseksi on loogisesti ja matemaattisesti olemassa erilaisia menetelmiä, myös sellaisia, jotka eivät yritäkään tunnistaa puheesta äänteitä tai difoneja vaan vertailevat signaaleja kokonaisvaltaisemmin tai yrittävät lievillä venytyksillä tai tiivistyksillä kohdistaa sinaaleja siten, että läheisyys tulee paremmin mitattavaksi.

Komentosanoja voidaan tunnistaa myös samantapaisilla menettelyillä kuin vapaampaa puhetta. Silloin puhesignaaleista pyritään tunnistamaan esim. difoneja, joiden mahdollisille yhdistelmille on etukäteen laadittu sanakirja, esimerkiksi äärellisen automaatin muotoisena tilasiirtymäverkkona. Komentosanoille tämä verkko on suppeampi ja hyvin valikoiva, mutta esimerkiksi vapaan tekstin saneluohjelmalle hyvinkin laaja ja avoin. Kummassakin tapauksessa verkko toimii kielimallina.

Itse puheentunnistuksessa on alkuvaiheita, joilla äänisignaalin nopeita paineenvaihteluita kuvaavaa numerosarjaa tiivistetään siten, että äänteitä hyvin erottelevaa tietoa jää jäljelle. Signaalinkäsittelyyn kuuluu tavanomaisesti ns. Fourier-muunnos, jolla lyhyen ääninäytteen jakson värähtelykäyrä muunnetaan taajuusjakautumaksi. Näiden muunnosten sinänsä melko vaativan matematiikan mukaan värähtelykäyrässä ja taajuusjakautumassa on mukana sama tieto, niin että toisesta voidaan tuottaa toinen, kumpaankin suuntaan. Taajuusjakautuma on kuitenkin käyttökelpoisempi erottamaan äänteitä toisistaan, sillä eri vokaaleilla on keskenäisiltä suhteiltaan tunnusomaiset resonanssitaajuudet. Foneetikot ovat kauan tutkineet puheen ominaisuuksia näiden spektrogrammien avulla ja kuvanneet esim. eri kielten vokaalien laatuja näiden resonanssitaajuuksien eli formanttien avulla.

Näiden taajuusjakautumien tiivistämiseen käytetään usein ns. cepstrejä, joiden laskemiseksi logaritmiasteikkoisesta spektristä tehdään uudessa vaiheessa vielä Fourier-muunnos, jonka tiedosta vain osaa hyödynnetään. Cepstrit ovat sinänsä melko keinotekoisia suureita, mutta kuitenkin hyödylliseksi osoittautuneita.

Tunnistusprosessi voidaan sovittaa aiemmin kohdassa 4.7.2 (s. [*]) mainittuun Markovin piilomalliin (HMM), jos pakotamme alkuvaiheen signaalinkäsittelyn tulokset johonkin aakkostoon, vaikkakin tavanomaista laajempaan. Tällaista, esimerkiksi noin 1000 äänteenosan kokoelmaa kutstuaan usein koodikirjaksi.

HMM-mallia voidaan siten ajatella todellisiä äänteitä (tai difoneja) kuvaavana verkkona, jossa tiloista tulostuu tietyillä todennäköisyyksillä koodikirjan symboleita, jotka siis signaalinprosessoinnin kautta havaitsemme. Tehtävänämme on ratkaista, mikä on kutakin koodikirjan mukaista symbolisarjaa vastaava todennäköisin piilotasolla oleva reitti, joka on siis yhtä kuin tunnistettava sana. Tähän liittyvät matemaattiset tehtävät ovat juuri niitä, joita HMM-mallissa yleisestikin tarvitaan. Sekä painokertoimien laskemiseksi ja virittämiseksi etukäteen, että optimireitin löytämiseksi tunnistustilanteessa on tunnettuja ja tehokkaita menetelmiä.

Käytännön sovelluksissa ei ole pakko mennä aivan erillisiin koodikirjan yksiköihin, vaan HMM-malli voidaan sovittaa jatkuvalla asteikolla ilmaistuille äänteenpalasille. HMM-mallin sijasta voidaan käyttää muitakin menetelmiä signaalin redusoimiseksi koodikirjantapaisesta laajan valikoiman symbolijonosta tiiviimmäksi äänteitä tai difoneja vastaavaksi jonoksi. Yhtenä mahdollisuutena tähän on sovellettu hermoverkkoja, erityisesti itseorganisoituvia karttoja (SOM).

Olivat puheentunnistuksen matemaattiset ja algoritmiset menetelmät mitä tahansa, nykytilanteessa tiedon ja taidon taso on sellainen, että puhujasta riippumattomia tunnistusjärjestelmiä voidaan tehdä rajoitetulle sanastolle ja vastaavasti yhdelle puhujalle viritettävissä olevia järjestelmiä, joissa voidaan sanella vapaata tietyn kielen tekstiä. Nämä sanelusovellukset edellyttävät erityistä sopeutusvaihetta, jossa puhuja harjoittaa järjestelmää omalle puheelleen.

Kummassakin lajissa on tyydyttävä tiettyyn onnistumistarkkuuteen.


4.15 Sanakirjat ja termistöt

Kieliteknologiassa digitaalisessa muodossa oleva sanakirja voi olla eri rooleissa. Moneen tarkoitukseen, esimerkiksi morfologisen tai syntaktisen analyysiohjelmaan tarvitaan kielen sanaston riittävän hyvin kattava sanakirja. Jasentämisessä tarvittavat sanakirjat ovat yleensä erityisen muotoisia ja sisältävät sellaistakin tietoa, jota painetuissa sanakirjoissa ei ole. Silti sähköiseen muotoon saatetusta tavanomaisesta sanakirjasta saattaa olla erinomaista apua.

Tavanomainen sanakirja muutettuna digitaaliseen muotoon ja varustettuna hakumekanismilla muodostaa käyttökelpoisen vaihtoehdon paperille painetulle sanakirjalle. Sanakirjaohjelmalle tulee silloin joko osoittamalla tai tarvittaessa osoitetusta sanasta muokkaamalla antaa haettavan sanan perusmuoto.

Taivuttavaksi sanakirjaksi voidaan kutsua morfologiseen analyysi ja generointiohjelmaan yhdistettyä järjestelmää, jolle voidaan antaa hakuavaimeksi myös lähtökielen taivutettu sananmuoto juuri sellaisena kuin se tekstissä sattuu olemaan. Taivuttava sanakirja antaa käännökset joko perusmuotoisina tai lähtökielen muotoa lähinnä vastaavassa muodossa.

Yhdistettynä rajoitettua syntaktista analyysiä suorittavaan ohjelmaan saadaan taivuttavasta sanakirjasta vieläkin hyödyllisempi siten, että käännösvastineet voidaan järjestää lauseyhteyteen sopimisen mukaiseen paremmuusjärjestykseen. Näin käyttäjä saisi usein ensimmäisenä vaihtoehtona tarjolle sen käännöksen, joka kyseisessä kohdassa on osuvin.

Sähköinen sanakirja voi olla käyttäjän omalla pöytätietokoneella toimiva ohjelma. Nykyään sanakirjoja voidaan tarjota myös Internetin kautta (usein maksullisena) verkkopalveluna. Näiden lisäksi sanakirjan tiedot voidaan pakata ja tallentaa mikropiirille taskulaskimen kaltaiseen sanakirjalaitteeseen, jota käyttäjä voi kantaan helposti mukanaan.

Sähköinen sanakirja on eräässä mielessä kaksipalstainen luettelo, jossa lähtökielen sana olisi vasemmassa palstassa ja tuloskielen sana oikeassa. Käytännön sovelluksissa tarvitaan nopeampia menetelmiä sanojen löytämiseksi. Tietokannoista ja hajautusalgoritmeista tunnettujen menetelmien lisäksi sanakirjan tiedot voidaan helposti esittää äärellisen automaatin tekniikalla verkkorakenteena. Tällaisia voidaan toisaalta minimoida ja pakata mahdollisimman pieniksi ja toisaalta samalla valita rakenteet sellaisiksi, että sekä lähtökielen sanan löytäminen kirjain kirjaimelta että tuloskielen tuottaminen esimerkiksi sanannumeron perusteella on tehokasta.


4.16 Mikromaailmojen kieliteknologia

Logiikkaohjelmointi, jota voidaan harrastaa mm. Prolog-kielellä on erityslaatuista ohjelmointia. Siinä ohjelmoija tallettaa toisaalta tosiasioita eli faktoja ns. tietokantaan ja toisaalta kirjoittaa ohjelmaa ns. sääntöinä. Logiikkaohjelma näyttää enemmänkin toivomuksilta siitä, mitä ohjelman pitäisi löytää kuin algoritmilta, joka on sommiteltu suorittamaan tarpeelliset operaatiot oikeassa järjestyksessä ratkaisun löytämiseksi.

Prologin perusratkaisu on siinä, että näiden sääntöjen tai ohjelmoijan esittämien toivomusten ratkaisemiseksi on järjestelmässä tietty aivan täsmällisesti määritelty hakumenetelmä, jota Prolog noudattaa. Yksinkertaisten tehtävien ratkaisemiseksi ohjelmoija voikin kirjoittaa toivomuksensa niin tai näin ilman, että tältä vakioalgoritmilta kuluisi kohtuuttomasti aikaa ratkaisun löytämiseen.

Vaativampien tehtävien ratkaisemisessa joutuu ohjelmoija kiinnittämään paljonkin huomiota Prologin ratkaisualgoritmin toimintaan saadakseen ohjelman riittävän nopeaksi.

Prologin maailma sisältää tietyn yksinkertaisen tullkinnan todelle ja epätodelle. Kaikki se, mikä on faktana tallennettu tietokantaan on totta, samoin kaikki se, mikä voidaan näistä faktoista johtaa annetuilla säännöillä (äärellisellä määrällä askelia). Kaikki muu onkin sitten epätotta.

Prologin avulla on erityisen helppoa laatia kielen jäsentämiseen sopivia jäsennysalgoritmeja. Laatiminen on helppoa, mutta algoritmit eivät välttämättä ole niin tehokkaita, kuin esimerkiksi C-kielellä ohjelmoituna. Prolog on siten parhaimmillaan tällaisten menetelmien kehittämisessä ja uusien algoritmien kokeilemisessa.

Toinen hyvä syy käyttää logiikkaohjelmointia on se, että sen avulla voidaan melko helposti yhdistää lauseiden lingvistinen rakenne faktojen tietokantaan. Löydettyjen ratkaisujen perusteella voidaan helposti antaa vastauksia esitettyihin kysymyksiin. Esim. kysymys monenko maan kanssa Italialla on yhteinen maaraja? voitaisiin muokata Prolog-lausekkeeksi, joka palauttaa kysymyksen suoraviivaisesti niiden (eri) alkioiden määräksi jotka täyttävät kriteerin yhteinen_maaraja(italia,Y).


5. Kieliteknologian haasteita


5.1 Turingin testi


5.2 Maailmantiedon mallintaminen


5.3 Varsinainen ymmärtäminen


5.4 Korkeatasoiset sovellukset


Hakemisto

aivot
4.8
aksoni
4.8
ALPAC-komitea
3.4
Altavista
3.3 | 3.4
Apollo-kuulennot
3.2
Beta-ohjelma
4.1
Bobrow, Daniel
3.2
bottom-up
see jäsennys, algoritmi, kokoava
Brillin sanaluokkajäsennin
4.9
Brodda, Benny
4.1
cepstrit
4.14
Constraint Grammar (CG)
4.9 | 4.12
context-free grammar
see kielioppi, yhteydestä riippumaton
CSC -- tieteellinen laskenta Oy
4.2
data mining
4.7.4
dendroni
4.8
dialogi
2.5
ihmisen ja koneen välillä
3.2
difoni
4.13
disambiguointi
see yksiselitteistäminen
ennustaminen
tulevaisuuden
3.
formantit
4.14
Fourier-muunnos
4.14
hakemisto
kirjan asiahakemisto
3.3
hakurobotti
3.3
hermoverkkomallit
see neuraalilaskenta
Hidden Markov Model (HMM)
see Markovin piilomalli
IBM
4.12
ihmisaivot
4.8
indeksitermi
tunnistaminen tekstistä
4.10
indeksointi
3.3
Internet
3.
Item and Arrangement (IA)
4.6
Item and Process (IP)
4.6
itseorganisoituva kartta
4.8
Järvinen, Timo
4.12
jäsennys
algoritmi
4.12
Cocke-Younger-Kazami
4.12
Earley
4.12
kokoava
4.12
LR
4.12
produsoiva
4.12
Tomita
4.12
menetelmä
4.12
Karlsson, Fred
4.12
kielenopetus
3.6
kielenoppiminen
3.6
kieli
arvaaminen
4.4
intuitiivinen käsitys kielestä
1.
kirjoitettu
1.
kääntäminen
3.4
puhuttu
1.
vaihtelu
2.7
Kielikone Oy
3.4 | 4.12
kielikyky
2.6
kielimalli
4.14
kieliopintarkistus
3.5
kielioppi
dependenssi
4.12
slot grammar
4.12
yhteydestä riippumaton
4.12
kielipankki
4.2
kieliteknologia
merkittävyys
3.
määritelmä
1. | 3.
kirjoittajan apuvälineet
3.5
kirjoittajan tunnistaminen
4.7.1
Kohonen, Teuvo
4.8
konekäännös
3.4
historia
3.4
koodikirja
4.14
korpus
4.2
käyttöliittymä
3.2
graafinen
3.2
puhekäyttöliittymä
3.2
käännösmuisti
3.4
kääntäminen
3.4
lause
lauseiden rakenne
2.3
lausekerakenne
2.3
leksikko
4.6
less-komento
4.1
logiikkaohjelmointi
4.16
LUNAR-ohjelma
3.2
Markovin piilomalli (HMM)
4.7.2
puheentunnistuksessa
4.14
sanaluokan päättelyssä
4.9
matkapuhelin
3.
McCord, Michael
4.12
merkitys
2.4
monidimensioinen skaalaus
4.7.3
moniselitteisyys
lauserakenteessa
2.3
merkityksen
2.4
sananmuodon
4.6 | 4.9
sananmuotojen
2.2
yhdyssanan
4.9
morfologinen analyysi
automaattinen
4.6
multidimensional scaling
see monidimensioinen skaalaus
murteet
2.7
neuraalilaskenta
4.8
neuroni
4.8
nimi
firman
4.10
henkilön
4.10
paikan
4.10
tunnistaminen tekstistä
4.10
oikeinkirjoituksen tarkistus
3.5
painotus
2.8
palikkamaailma
3.2
pintasyntaksi
4.11
pragmatiikka
2.5
precision
see tarkkuus
Prolog
4.16
prosodia
2.8
puheentunnistus
4.8 | 4.14
komentosanojen
4.14
tarkkuus
3.1 | 4.14
puhesignaali
2.8
puhesynteesi
4.13
ilmeikkyys
4.13
leikkaa ja liimaa
4.13
puheteknologia
4.13
difoni
4.13
sovellukset
3.1
puurakenne
2.3
päivämäärät
tunnistaminen tekstistä
4.10
recall
see saanti
ryhmittelyanalyysi
4.7.3
saanti
3.3
sana
taipuminen
2.1
taipumisen mallit
4.6
yhdyssana
2.1
sanakirja
laite
4.15
sähköinen
4.15
taivuttava
4.15
äärellisenä automaattina
4.15
sanakirjat
sähköiset
3.4
sananmuoto
lukumäärä
2.1
mahdollinen
2.1
mahdoton
2.1
moniselitteisyys
2.2
SHRDLU-ohjelma
3.2
slot grammar
4.12
SOM
4.8
spekrti
4.14
spektri
äänen
2.8
STUDENT-ohjelma
3.2
suomi
suhteessa muihin kieliin
2.1
synapsi
4.8
synonyymisanasto
3.5
syntaksi
lausekerakenne
2.3
pintasyntaksi
4.11
syntaktinen analyysi
4.11
SYSTRAN
3.4
sävelkulku
2.8
taipuminen
tuntemattoman sanan
2.6
Tapanainen, Pasi
4.12
tarkkuus
3.3
tauotus
2.8
tavutus
ohjelma
3.5 | 4.1
säännöt
3.5
tekstikorpus
4.2
termi
see indeksitermi
terminologia
3.4
tesaurus
see synonyymisanasto
tiedonhaku
3.3
tietämyksen muodostaminen
4.7.4
tiivistelmä
automaattinen tekeminen
3.3
Tikkala, Anneli
4.8
tilastollien
testaaminen
4.7.1
tilastollinen
ero
4.7.1
menetelmä
4.7
merkitsevyys
4.7.1
ryhmittely
4.7.3
todennäköisyyslaskenta
4.7
top-down
see jäsennys, algoritmi, produsoiva
TranSmart
3.4
Unix-järjestelmä
4.1
virkkeiden rajat
automaattinen tunnistaminen
4.3
WEBSOM
4.8
Winograd, Terry
3.2
Woods, William
3.2
Word and Paradigm (WP)
4.6
Yahoo
3.3
yksiselitteistäminen
4.9
yhdyssanan
4.9
äärellinen automaatti
4.5
sähköisessä sanakirjassa
4.15

Tästä dokumentista ...

Johdatus kieliteknologiaan

Tämä dokumentti tehtiin ohjelmistolla LaTeX2HTML translator Version 99.2beta6 (1.42)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, Ross Moore, Mathematics Department, Macquarie University, Sydney.

Komentoriviargumentit olivat:
latex2html -split 0 -html_version 3.2,table -no_navigation -show_section_numbers -t 'Ctl190: kurssimoniste' kielitekn-johdanto.tex.

Komennon ajoi Kimmo Koskenniemi 2002-05-24


Kimmo Koskenniemi 2002-05-24