Kielen ymmärtäminen kieliteknologian näkökulmasta Kimmo Koskenniemi täysinpalvellut kieliteknologian professori Helsingin yliopisto
Tietää vai ymmärtää? Ymmärtää eli saada järkensä avulla itselleen selväksi, hallita mielessään näin selville saatu, käsittää, oivaltaa, älytä, tajuta (Kielitoimiston sanakirja): ihminen voi ymmärtää, mitä toinen sanoo (käsittää), miten auton moottori toimii (toiminnan periaatteen), miten hänen olisi pitänyt kasvattaa lapsensa (elämänviisautta), ihminen voi ymmärtää vierasta kieltä (kyky, taito). Tietämisessä ihminen on passiivisempi osapuoli: ihminen voi tietää, kuka oli Suomen ensimmäinen presidentti tai milloin oli kolmikymmenvuotinen sota. Hän osoittaa ymmärtäneensä kysymyksen vastaamalla K. J. Ståhlberg tai 1618 1648. (Tai: Svinhufvud...)
Kieliteknologia Opettaa tietokonetta tunnistamaan, tuottamaan ja ehkä myös ymmärtämään ihmisten kieltä (tutkimustavoite). Mallintaa kieltä, sen rakennetta ja toimintaa tietojenkäsittelyn menetelmillä. Tuottaa sovelluksia, joiden avulla ihminen voi paremmin toimia laitteiden ja tietojärjestelmien kanssa (käytännön hyödyt): Oikeinkirjoituksen tarkistaminen ja korjaaminen Tiedonhaku, indeksointi, tiedon eristäminen Puhesynteesi ja puheentunnistus Kielten oppimisen ja -opetuksen tukeminen Kielen kääntämisen avustaminen tai konekäännös. Poistaa esteitä sille, että tietokone ymmärtäisi kieltä.
Ihmisten kieli on iso järjestelmä Montako suomen kielen sananmuotoa teistä jokainen pystyisi tunnistamaan tai tuottamaan (periaatteessa, jos aikaa olisi rajatta)? Mukaan luetaan: kaniineinenne, ymmärryskoneina, katonkelmuakaan tai jääovijuustolanheteissämme, jauhelihaspagettikastikkeena. Tunnistamme niiden osaset ja meille syntyy mielikuva siitä, mitä sanakummajaiset ehkä tarkoittaisivat. Käänteisesti, merkityksen selityksen perusteella voisimme tuottaa kyseiset sananmuodot. Mutta arvatkaa kuinka paljon tällaisia potentiaalisia sananmuotoja voisi olla! enemmän, enemmän, enemmän, Mutta tämä kaikki on tietokoneella helposti hallittavissa, eikä suomi ole erityisen hankala tässä suhteessa.
Miten niin tietokone ymmärtäisi ihmisten kieltä? Tekoälyksi kutsutaan sitä, kun tietokone tekee jotain, mitä ihmisen tekemänä pidetään älykkäänä. (Tämä voi muuttua ajan kuluessa.) Tietokone ymmärtää jos se tekee jotain, mikä ihmisen tekemänä pidettäisiin ymmärtämisenä. Ihminen kysyy tietokoneelta ja tietokone vastaa; jos vastaus on hyödyllinen, tietokone näyttää ymmärtävän. Ihminen komentaa tietokonetta; jos tietokone tekee sitä, mitä ihminen haluaa sen tekevän, tietokone näyttää ymmärtävän. Jos tietokone koostaa johtopäätöksiä suuresta määrästä tekstejä, tietokone näyttäisi suorittavan jotakin laajempaa ymmärtämistä.
Ymmärtää tai ei ymmärrä Ihmiset eivät useinkaan ymmärrä toisiaan, koska heillä on eri kulttuuritausta, erilainen koulutus tai kokemuspiiri. Kieli on monimerkityksistä, tai yksinkertaisesti kuullaan väärin. Eikä kuulija aina edes halua ymmärtää tai puhuja halua tulla ymmärretyksi oikein. Itse ymmärtämisen mekanismia ei osata hyvin määritellä eikä kuvata. Ymmärtämisen epäonnistumisen osatekijöitä tai esteitä on selvempää tunnistaa ja mallintaa.
Ymmärtämisen kielellisiä esteitä Kieli voidaan ymmärtää koodina, joka koostuu kieliopista ja sanastosta. Sanastoa, sanojen taipumista voidaan mallintaa tietokoneella, samoin niitä sääntöjä, joilla sanoja voidaan yhdistää virkkeiksi. Ilman tällaista kykyä tietokone ei voi juurikaan ymmärtää kielellisiä ilmauksia. Kieli koodaa asioita kuitenkin moniselitteisesti: sanoilla on monia merkityksiä (laskea), sananmuodot voisivat olla eri sanojen muotoja (alusta), lauseiden sanojen suhteet voidaan tulkita useammalla tavalla (punainen tupa ja perunamaa onko perunamaakin punainen?) Kieliteknologia poistaa tällaisia esteitä erilaisilla jäsentimillä ym. (tunnistaa sanojen eri muodot, lauserakenteet ja yksiselitteistää niitä).
Merkityksistä Suuret tekstikorpukset heijastavat ympäröivää maailmaa, josta kielellä puhutaan ja johon kielellä viitataan. (Minkälaisia asioita maailmassa on.) Tesaurukset suhteuttavat kielen sanoja toisiinsa (synonyymejä, ylä- ja alakäsitteitä, vastakohtia). (Yleistyksiin perustuvaa merkitystä.) Tiedon eristämisen (information extraction) menetelmillä voidaan tekstimassoista eristää ja tunnistaa henkilöiden tai organisaatioiden nimiä (Kekkonen ~ Urho Kaleva Kekkonen ~ tasavallan presidentti Kekkonen ~ Urkki ~...). Yksittäisten tietojen lisäksi voidaan eristää konstruktioita (Microsoft osti Nokian matkapuhelimet)
Tietokone ymmärtää? Avoimesti arkisista asioista keskusteleva tietokoneohjelma (Turingin testi). Kysymys-vastaus -järjestelmät (avoimia tai määrättyyn aihepiiriin rajattuja; vastaukset perustuvat digitaalisessa muodossa oleviin teksteihin). Tietyn aihealueen rakenteen hallitsevat luonnollista kieltä ymmärtävät järjestelmät (aihepiirin käsitteet ja käsitteiden väliset suhteet on huolellisesti määritelty etukäteen). Kielen automaattinen kääntäminen (oikein). (Bar-Hillel 1960: kone voi kääntää oikein vain sen, minkä se ymmärtää.)
Vapaasti keskustelevat ohjelmat Keskusteleva tietokoneohjelma, ajatellaan ymmärtävän, mitä sille sanotaan, jos se vastaa mielekkäästi ja luontevasti Alan Turingin artikkeli "Computing machinery and intelligence" vuodelta 1950 on hyvin tyhjentävä ja kaukonäköinen, ks. http://loebner. net/prizef/turingarticle.html Loebner Prizen, v. 2013 voittaja http://mitsuku.com/ toteuttaa kohtuullisesti Turingin "imitation gamen" eli sen kanssa keskustellessa ei voi olla 5 minuutin kuluessa kovin varma, onko toisessa päässä ihminen vai ohjelma.
Jeopardy! USA:ssa suosittu TV-ohjelma, jossa kilpailijoille esitetään vastauksia ja se, joka ensimmäisenä keksii vastaukseen sopivan kysymyksen, saa pisteitä. IBM laati Watson -nimisen tietokoneohjelman, jolla oli valtava määrä järjestettyä ja järjestämätöntä arkitietoa kaikista aihepiireistä. Kilpailuissa v. 2011 Watson päihitti USA:n parhaat Jepardy-pelaajat useaan otteeseen. Watson on tyypillinen kysymys vastaus-järjestelmä, jossa käytettävissä olevasta aineistosta eristetään etukäteen tietoa, kysymys analysoidaan ja mahdollisista vastauksista etsitään parhaiten sopiva.
Kysymys vastaus-järjestelmät Tietystä aihepiiristä, esim. tietokoneohjelman käytöstä voi olla käsikirja tai kansaneläkelaitoksen palveluista ja tuista ohjeet ja lait. Tiedon eristämisen keinoilla tällaisista teksteistä voidaan eristää etukäteen käsitteitä, joihin kysymykset voidaan yhdistää: kohtia, joissa määritellään käsitteitä tai joissa sanotaan, miten jokin asia tehdään. Ohjelma etsii tekstin kohdat, joiden ilmaukset ovat sen kaltaisia, että ne voisivat olla vastauksia esitettyyn kysymykseen. Ohjelma tulkitsee kysymyksen ja suhteuttaa sen saatavilla olevaan tietämykseen tämä on melkein ymmärtämistä Moniselitteisyyttä ratkaistaan tilastollisilla todennäköisyyksillä.
Suppean aihepiirin keskustelujärjestelmät Ontologialla voidaan kuvata rajallisen aihepiirin käsitteiden suhteet toisiinsa, esimerkiksi tietokoneen tulostimista, että niillä on tiettyjä osia, osilla toimintoja ja miten osat voivat aiheuttaa toimintahäiriöitä. Näin voidaan rakentaa mielekkäästi keskustelevia järjestelmiä, jotka ontologian avulla pystyvät paremmin arvaamaan, mitä käyttäjä kysyy ja mitä hänelle kannattaa vastata. Ontologia auttaa yksiselitteistämään moniselitteisiä kysymyksiä (usein vain yksi mahdollisista tulkinnoista sopii ontologiaan). Järjestelmä kysyy lisää, jos jää monia mahdollisia tulkintoja.
Kielen kääntäminen Googlen konekäännös on tilastollispohjainen, eikä pyri jäsentämään kieltä. Se toimii joskus hyvin, joskus erehtyy pahasti. Aarne Rannan Grammatical Framework (GF) perustuu ontologian kaltaiseen käsitemalliin ja pystyy melkoisella varmuudella kääntämään oikein sen, minkä se käsitemallinsa perusteella pystyy tunnistamaan. GF:n varhaisimmat versiot käänsivät matemaattisia todistuksia. Lähtökielen moniselitteisyydet ratkottiin sen perusteella, että teoreema oli mielekäs. Saatu looginen esitysmuoto voitiin sitten kääntää tarkasti kohdekielelle. GF:n voi sanoa ymmärtävän tekstiä, jonka se kääntää.
Kiitos!