Luonnollisella kielellä keskustelevat järjestelmät Jussi Lepistö (jussi.lepisto@cs.helsinki.fi) Helsingin Yliopisto Tieteellisen kirjoittamisen kurssi
Johdanto Esittelen luonnollisella kielellä keskustelevien järjestelmien toimintaa. Jaottelen aluksi järjestelmät kahteen luokkaan: keskustelusimulaattoreihin ja dialogijärjestelmiin. Annan sitten muutaman esimerkin molemmista ja kuvailen hieman kunkin järjestelmän toimintaa. Lopuksi yhteenveto ja lyhyttä pohdintaa.
Järjestelmien jaottelu Luonnollisella kielellä keskustelevat järjestelmät voidaan jakaa kahteen luokkaan: Yleiset, (teoriassa) mistä tahansa aiheesta keskustelevat keskustelusimulaattorit, ja Kapeaan aiheeseen rajautuvat dialogijärjestelmät. Myös esimerkiksi tietokannan luonnollisella kielellä toimiva käyttöliittymä voidaan ajatella dialogijärjestelmäksi.
Keskustelusimulaattorit Keskustelusimulaattorit siis keskustelevat yleensä mistä tahansa aiheesta. Keskustelusimulaattorien kehitys keskittyy nykyään Loebner Prize -kilpailuun, joka perustuu Turingin testiin. Turing esitteli vuonna 1950 älykkään käyttäytymisen testin, jonka avulla voitaisiin selvittää, onko tietokone älykäs. Tuomari keskustelee tekstiterminaalilla ihmisen ja tietokoneen kanssa ja yrittää arvata kumpi on kone.
ELIZA ELIZA (1966) oli ensimmäinen tunnettu keskustelusimulaattori. Se mallinsi psykiatria. Sitä erehdyttiin aikoinaan jopa luulemaan ihmiseksi, muutenkin sitä yliarvioitiin. ELIZA perustui hyvin yksinkertaiseen avainsanojen tunnistukseen. ELIZA käytti paljon nykyisiinkin keskustelusimulaattoreihin periytyneitä kikkoja käyttäjän hämäämiseen.
ELIZA (2) ELIZA toisti usein käyttäjän syötteen tai osia siitä sellaisenaan vaihtaen samalla pronominien persoonat. Tähän saatettiin sitten lisätä ennaltamäärätty lause. Esim: Käyttäjä: It's true, I'm unhappy. ELIZA: Do you think coming here will help you not to be unhappy?
MegaHAL MegaHAL (1998) poikkeaa kilpailun tyypillisistä osallistujista radikaalisti. Se ei käytä minkäänlaista hahmontunnistusta ja on aidosti oppiva järjestelmä. Se käyttää kielen mallintamiseen kahta 4. asteen Markovin mallia. Markovin malleja käytetään yleisesti luonnollisen kielen mallintamisessa.
MegaHAL (2) MegaHAL toimii poimimalla ensin käyttäjän syötteestä yhden sanan avainsanaksi. Avainsanasta se muodostaa kielimalliensa perusteella satoja ehdokkaita lauseen alku- ja loppuosiksi. Tämän takia kaksi kielimallia. Seuraavalla kalvolla esimerkki. Osista valitaan ne, joissa avainsanan informaatio on suurin. Informaatio määritellään tässä muutoksena, jonka sana aiheuttaa kielimallissa.
MegaHAL (esimerkki) ALKUOSA AVAINSANA LOPPUOSA I don't making sense we cakes you start taking the can it to it make will rain
CONVERSE CONVERSE (1997) on ensimmäisiä kilpailuun osallistuneita simulaattoreita, joka ei perustunut pelkkiin kikkoihin ja ad hoc -ratkaisuihin. Se käytti hyväkseen kaupallisen tason jäsennintä, suuria lingvistisiä tietokantoja ja laajaa englanninkielistä keskustelukorpusta. Sen esikuvana oli PARRY, vuonna 1973 tehty ELIZAa muistuttava keskustelusimulaattori, joka matki paranoidia ihmistä.
CONVERSE (2) CONVERSEssa on useampia moduuleita, jotka yrittävät ymmärtää käyttäjän viestin ja vastata siihen. Kukin moduuli arvioi vastauksensa luotettavuuden. Vastauksista valitaan se, joka on arvioitu luotettavimmaksi. Kaikki moduulit myös päivittävät tietokantaa, jossa on keskustelun aikana selvinneitä faktoja ja muuta keskusteluun liittyvää tietoa.
Keskustelusimulaattorit nyt... Keskustelusimulaattorit eivät ole juuri kehittyneet ELIZAn jälkeen. Loebner Prize -kilpailun osallistujat ovat olleet lähinnä harrastelijoita. Kilpailun ulkopuolella tilanne tuntuu olevan vielä huonompi. Teoreettinen tutkimus on toki edistynyt, mutta tulokset eivät ole näkyneet keskustelusimulaattoreissa.
...ja huomenna Yleisiä, keskustelusimulaattorien opettamiseen sopivia keskustelukorpuksia on vasta kehitteillä. Vuoden 1997 voittaja CONVERSE tuntui lupaavan paljon, käyttäen hyväkseen aikansa uusimpia tutkimustuloksia......mutta vuosien 2000 ja 2001 voittaja A.L.I.C.E. perustuu vain lähes ELIZAn tasoiseen hahmontunnistukseen ja kikkoihin. Todennäköisesti Turingin testiä ei lähitulevaisuudessa läpäistä.
Dialogijärjestelmät Dialogijärjestelmät ovat huomattavasti kehittyneempiä (eli siis paremmin toimivia) kuin keskustelusimulaattorit. Dialogijärjestelmät voidaan edelleen jakaa kahtia: Tiedonhakujärjestelmät, jotka ovat yleensä käyttöliittymiä johonkin tietokantaan. Suunnittelu- ja ohjausjärjestelmät, jotka auttavat käyttäjää jonkin ongelman ratkaisemisessa.
Jupiter Jupiter on MIT:n Spoken Languages Groupissa kehitetty, puhelimen välityksellä toimiva sääpalvelu. Se on siis oikeassa käytössä. Ensimmäinen prototyyppi valmistui vuonna 1997. Järjestelmää kehitetään edelleen. Jupiterin TINA-jäsennin perustuu tilakaavioiksi muutettuihin kontekstittomiin kielioppeihin, joissa kaariin liittyy todennäköisyys. Jupiter kerää säätiedot tavallisilta www-sivuilta, joten sen pitää ymmärtää luonnollista kieltä myös niitä tulkittaessa.
TRIPS TRIPS (1998) on tekoälyavustettu suunnittelujärjestelmä, joka käyttää puhetta käyttäjän kanssa kommunikointiin. Se simuloi pyörremyrskyuhan alla olevaa saarta, jolta pitää evakuoida asukkaat erilaisia ajoneuvoja käyttäen. TRIPS avustaa käyttäjää tekemään evakuointisuunnitelman. Puheen lisäksi se näyttää käyttäjälle saaren kartan ja erilaisia kaavioita esim. ajoneuvojen tilasta.
TRIPS (arkkitehtuuri)
EXACT EXACT on luonnollisella kielellä toimiva kodinkoneiden ohjausjärjestelmä. Siitä valmistui vuonna 2003 puhelinvastaajaa ohjaava prototyyppi. Järjestelmän suunnittelussa keskeisin tavoite on ollut ehdoton luotettavuus: kodinkoneita ohjatessa ei voi tehdä arvauksia, joiden toteuttaminen voisi tuottaa peruuttamatonta vahinkoa (esim. poistaa kaikki vastaajan viestit).
EXACT (2) EXACT käyttää hyväkseen Precise-nimistä tietokantoja varten kehitettyä luonnollisen kielen käyttöliittymää. Tietokantajärjestelmiä on kehitetty huomattavasti pidemmälle kuin varsinaisia ohjausjärjestelmiä. Käyttäjän komento muutetaan ensin SQLkyselyksi Precisen avulla. Kysely muutetaan sitten suunnitteluongelmaksi. Suunnitteluongelma ratkaistaan sarjaksi laitteille annettavia konkreettisia komentoja.
Yhteenvetoa Keskustelusimulaattorien tilanne ei näytä lupaavalta, eikä Turingin testiä todennäköisesti läpäistä lähitulevaisuudessa. Keskustelusimulaattorit perustuvatkin yleensä vain hyvin yksinkertaiseen hahmontunnistukseen. Dialogijärjestelmiä sen sijaan on jo oikeassa käytössä ja ne toimivat suhteellisen luotettavasti. Dialogijärjestelmillä on paljon yhteisiä piirteitä ja menetelmiä. Kielitieteen ja tekoälyn menetelmiä on yhdistetty hyvin tuloksin.
Yhteenvetoa (2) Voidaan heittää villi ennustus, että dialogijärjestelmien kehittyessä niiden aihealueet alkavat laajeta ja lopulta ne keskustelevat mistä tahansa aiheesta.
Linkkejä A.L.I.C.E.: http://www.alicebot.org/ ELIZA-klooni: http://www-ai.ijs.si/eliza/eliza.html Jupiter: http://www.sls.lcs.mit.edu/jupiter MegaHAL: http://megahal.sourceforge.net/